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

Nos adentramos a las entrañas de la emisión de las criptomonedas

0
186
qué es proof of work

En el post anterior vimos que la minería es el centro del sistema de incentivos de blockchain, y que es el proceso que permite que cualquier persona pueda procesar transacciones de forma segura en estas redes. Hoy voy a abordar con más detalles la modalidad de Proof of Work, o prueba de trabajo.

Fuente: http://mimiandeunice.com/2011/11/09/careful-ii/

¿Cómo funciona y qué es Proof of Work?

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.

¿Cuáles son los recursos puestos en riesgo?

Cada programa que utilizamos en una computadora o en un celular requiere que se ejecuten una serie de procesos, y cada proceso tiene asociado un consumo de energía. En el uso personal esto no es tan relevante porque las cantidades son muy pequeñas, pero la minería es una actividad intensiva que requiere el uso permanente de toda la capacidad de procesamiento de la máquina.

Si quisieras minar bajo esta modalidad tendrías que comprar una máquina especializada (principalmente antminers o máquinas con tarjetas gráficas), así que además del consumo eléctrico, tendrías que hacer una inversión para adquirir las máquinas y la infraestructura necesaria para que puedan funcionar. Como referencia, un antminer S9 (para minar bitcoin) consume alrededor de 130 USD mensuales de electricidad (esta cantidad puede variar de acuerdo a la tarifa eléctrica).

¿Cómo es que esta competencia le da seguridad a la red?

Por una parte, las transacciones deben ser procesadas de forma transparente para que el minero pueda recibir la recompensa, si no lo hace de esta forma no va a recuperar los recursos puestos en riesgo, así que existe un incentivo para actuar de manera correcta.

Por la otra, si alguien quiere realizar transacciones fraudulentas en la red, necesita que estas sean procesadas por una máquina bajo su control, ya que de lo contrario serán rechazadas. La única forma de asegurar esto es teniendo el control de más poder informático que todo el resto de la red, lo cual se hace inviable económicamente. Esto se conoce como ataque del 51%.Si quieres saber más sobre los costos y la dificultad de hacer un ataque de este tipo puedes consultar este artículo (en inglés).

Por otra parte, como vimos en un post anterior, cada bloque de transacciones queda enlazado con el anterior, así que si se quiere alterar una transacción ocurrida en el pasado habría que modificar todos los bloques que ocurrieron después del que se quiere alterar, antes de que el siguiente bloque legítimo sea procesado por la red, lo cual es prácticamente imposible de lograr en redes sólidas.

¿Entonces este sistema es perfecto?

La minería por prueba de trabajo fue la primera que se puso en marcha, y es la más extendida y desarrollada. Actualmente está en uso por redes como Bitcoin, Litecoin y Ethereum, aunque esta última tiene planes de migrar en el futuro a un sistema de prueba de participación.

La seguridad de este sistema está probada, el valor de mercado de las 3 redes mencionadas es del orden de cientos de millones de dólares, y ninguna de ellas ha podido ser atacada jamás.

Sin embargo, tiene algunos puntos que son objeto de debate. Por una parte, el altísimo consumo eléctrico de estas redes atenta contra la necesidad de preservar los recursos naturales del planeta. Por otra parte, la industrialización y el desarrollo de hardware especializado están creando una tendencia a la centralización, con lo cual se pierde la naturaleza fundamental de esta tecnología. Finalmente, tiene dificultades para la escalabilidad, es decir, su velocidad para procesar transacciones es limitada, con lo cual se limita el crecimiento de las redes.

¿Estos problemas tienen solución?

Blockchain es una tecnología nueva, que está en desarrollo constante. Hay desarrolladores e investigadores brillantes que día a día trabajan buscando soluciones que la hagan más segura, más eficiente, más escalable y con mayores posibilidades. La modalidad de prueba de participación, de la que hablaremos en futuros posts, ataca algunos de los problemas comentados, y se han propuesto combinaciones o variaciones para mejorar los resultados.

Sin embargo, los cambios en el protocolo de minería son complejos, porque afectan directamente la seguridad de la red, más aún cuando se manejan activos que tienen valor monetario, por lo cual estos sistemas aún deben ser puestos a prueba a fin de conocer mejor su desempeño en las condiciones más desfavorables.

El progreso tecnológico es un proceso constante, en el cual día a día se retan y se superan los límites para lograr mejores resultados. Será interesante ver hacia dónde evoluciona la tecnología blockchain en los próximos años, y cuáles soluciones se implementan para que sea más eficiente y para aumentar su aporte a la humanidad.

DEJA UNA RESPUESTA

Please enter your comment!
Please enter your name here