¿ Qué es Proof of Work? – Entendiendo la minería en blockchain

En esta modalidad, los mineros deben codificar la información de las transacciones que aún no han sido verificadas con una función hash, que produce como resultado una cadena de un número fijo de caracteres que no es predecible.

Los mineros deben lograr que el resultado de la función cumpla con unas condiciones definidas por la red, y para esto deben agregar un número aleatorio (llamado nonce) a la información de las transacciones. Como el resultado de la función hash no es predecible, los mineros deben repetir muchas veces la operación cambiando cada vez el nonce, hasta conseguir un resultado que cumpla las condiciones exigidas por la red. El primer minero que lo logra gana el derecho de escribir las transacciones en la red y genera una recompensa para si mismo.

Este proceso se repite constantemente, con un periodo definido en cada blockchain (unos 10 minutos en el caso de Bitcoin y unos 14 segundos en el caso de Ethereum). Este periodo se denomina tiempo de bloque.

En la medida que la red de mineros crece (acumulando mayor poder informático), toma cada vez menos tiempo encontrar la solución y el tiempo de bloque se reduce, con lo cual el cronograma de emisión de la moneda se altera (porque cada vez que se procesa un bloque se emiten monedas para recompensar al minero). Por otra parte, si la red pierde poder informáticoel tiempo de bloque se hace más largo, y esto afecta la estabilidad de la red porque las transacciones tardan más en procesarse.

Para evitar esto, las redes ajustan periódicamente las condiciones que debe cumplir la función hash, a fin de que el tiempo de bloque se mantenga constante. En otras palabras, la red hace ajustes de dificultad para mantener el tiempo de bloque constante ante el posible crecimiento o decrecimiento de la red de mineros.

Share This Post
Have your say!
0 0

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>