¿Qué es la Prueba de Trabajo (PoW) en Blockchain?

0
171
prueba trabajo btc

La prueba de trabajo (PoW) es el algoritmo que asegura muchas criptomonedas, incluyendo Bitcoin y Ethereum. La mayoría de las monedas digitales tienen una entidad central o líder que lleva un registro de cada usuario y de cuánto dinero tienen. Pero no hay tal líder a cargo de criptomonedas como Bitcoin. La prueba de trabajo es necesaria para que una moneda en línea funcione sin una empresa o gobierno que la controle.

Es un mecanismo de consenso de blockchain que requiere un esfuerzo informático significativo de una red de dispositivos. El concepto fue adaptado de los tokens digitales por Hal Finney en 2004 a través de la idea de la “prueba de trabajo reutilizable” utilizando el algoritmo de hash seguro de 160 bits (SHA-1).

Después de su introducción en 2009, Bitcoin se convirtió en la primera aplicación ampliamente adoptada de la idea de PoW de Finney (Finney también fue el receptor de la primera transacción de bitcoin). La prueba de trabajo es también el mecanismo utilizado en muchas otras criptomonedas.

Más específicamente, la prueba de trabajo resuelve el “problema del doble gasto“, que es más complicado de resolver sin un líder a cargo. Si los usuarios pueden gastar sus monedas dos veces, esto infla la oferta total, devaluando las monedas de todos los demás y haciendo que la moneda sea impredecible y sin valor.

El doble gasto es un problema para las transacciones en línea porque las acciones digitales son muy fáciles de replicar, lo cual es lo que hace trivial copiar y pegar un archivo o enviar un correo electrónico a más de una persona.

La prueba de trabajo hace que duplicar dinero digital sea muy, muy difícil. Es, en esencia, una “prueba” de que alguien ha realizado una cantidad significativa de cálculos.

  • La prueba de trabajo (PoW) es un mecanismo de consenso descentralizado que requiere que los miembros de la red gasten esfuerzo en resolver un rompecabezas de cifrado.
  • La prueba de trabajo también se llama minería, en referencia a recibir una recompensa por el trabajo realizado.
  • La prueba de trabajo permite el procesamiento seguro de transacciones entre pares sin necesidad de un tercero de confianza.
  • La prueba de trabajo a gran escala requiere vastas cantidades de energía, lo cual solo aumenta a medida que más mineros se unen a la red.

prueba trabajo btc

¿Cómo funciona la prueba de trabajo?

La prueba de trabajo es un concepto utilizado en algunas blockchains públicas para demostrar que un programa realizó el trabajo necesario para proponer un nuevo bloque para la cadena. Comúnmente se le llama un mecanismo de consenso porque, eventualmente, se alcanza el consenso de la red después de que se demuestra que el trabajo se realizó de manera honesta (en este caso, “honesta” significa que no hubo intentos de alterar los datos).

La prueba de trabajo se proporciona enviando la información de un bloque a través de un algoritmo de hash, luego ajustando los campos variables hasta que se alcanza un número hexadecimal que tiene un valor inferior al objetivo de dificultad de la red. Esto sirve como prueba de que el programa invirtió el esfuerzo computacional para “hashear” el bloque hasta que se alcanzó una solución.

Bitcoin es una blockchain, que es un libro mayor compartido que contiene un historial de todas las transacciones de Bitcoin que han ocurrido. Esta blockchain, como su nombre lo sugiere, está compuesta de bloques. Cada bloque tiene las transacciones más recientes almacenadas en él.

La prueba de trabajo es una parte necesaria para agregar nuevos bloques a la blockchain de Bitcoin. Los bloques son traídos a la vida por los mineros, los participantes en el ecosistema que ejecutan la prueba de trabajo. Un nuevo bloque es aceptado por la red cada vez que un minero produce una nueva prueba de trabajo ganadora, lo cual ocurre aproximadamente cada 10 minutos.

Encontrar la prueba de trabajo ganadora es tan difícil que la única manera de generar el trabajo que los mineros necesitan para validar un bloque y ganar bitcoin es con computadoras especializadas y costosas muy potentes. Cuanto mayor sea la potencia de cálculo del minero, más probabilidades tienen de ganar bitcoin.

¿Qué cálculos realizan exactamente los mineros? En Bitcoin, los mineros generan lo que se llama “hash”, que convierte una entrada en una cadena de letras y números de apariencia aleatoria.

El objetivo de los mineros es crear un hash que coincida con el “objetivo” actual de Bitcoin. Deben crear un hash con suficientes ceros al frente. La probabilidad de obtener varios ceros seguidos es muy baja. Pero los mineros en todo el mundo están haciendo billones de estas computaciones por segundo, por lo que les toma aproximadamente 10 minutos en promedio alcanzar este objetivo.

Quien alcance el objetivo primero gana un lote de la criptomoneda bitcoin. A continuación, el protocolo de Bitcoin crea un nuevo valor que los mineros deben hashear, y los mineros comienzan de nuevo la carrera para encontrar la prueba de trabajo ganadora.

Prueba de trabajo y consenso

A continuación, mostramos un resumen rápido del proceso de prueba de trabajo en la blockchain de Bitcoin.

Primero, el trabajador, que se llama minero, crea un archivo temporal (un bloque). Si gana la competencia para resolver el hash ganador, este archivo se almacenará en la blockchain. El bloque tiene los siguientes cuatro campos:

  • Tamaño del bloque
  • Encabezado del bloque
  • Contador de transacciones
  • Transacciones

El encabezado del bloque contiene los siguientes campos:

  • Versión del software
  • Hash del bloque anterior
  • Raíz Merkle
  • Marca de tiempo
  • Objetivo de dificultad
  • Nonce

El programa de minería ensambla este bloque y coloca las transacciones que ha priorizado en el campo de transacciones. Ajusta continuamente el nonce y el extra nonce  y envía la información del bloque a través de un algoritmo de hash.

Repite este proceso hasta que encuentra una solución, que es un valor menor o igual al objetivo de dificultad. El objetivo de dificultad se establece para que se deban intentar una cierta cantidad de hashes por segundos antes de encontrar una solución. Por ejemplo, el 17 de mayo de 2024, el bloque 843,900 tenía un objetivo de dificultad de 83.148T, o 83.148 billones de intentos por segundo por minero.

El hash ganador para ese bloque fue: 000000000000000000033028b3c8296ed776653032030cd01290f4345f5a9b6e

Este hash proporcionó prueba a la red de que el minero hizo el trabajo. El bloque se agregó a la blockchain, y la red comenzó su proceso de alcanzar el consenso.

El consenso, el atributo más comúnmente asociado con las pruebas de blockchain, se alcanza después de que el bloque se cierra y se añade a la cadena. Mientras el sistema trabaja en proponer nuevos bloques y generar hashes ganadores, cada minero también valida cada nuevo bloque a medida que se añade. Cada minero transmite a la red que el bloque que confirmó es válido.

Los nuevos bloques utilizan el hash del encabezado del bloque anterior, creando una cadena de prueba, lo que lleva al consenso de la red. Por esto, estas pruebas se llaman mecanismos de consenso, porque forman la base de cómo se alcanza el consenso.

Prueba de Trabajo vs. Prueba de Participación

Los dos mecanismos de consenso más populares son la prueba de trabajo y la prueba de participación. El principal competidor de Bitcoin, Ethereum, utilizó prueba de trabajo en su blockchain hasta septiembre de 2022, cuando se realizó la esperada transición a prueba de participación. Aquí están algunas de las diferencias clave entre los dos.

Prueba de Trabajo:

  • La validación es realizada por una red de mineros
  • Bitcoin se paga como recompensa y para las tarifas de transacción
  • La naturaleza competitiva utiliza mucha energía y poder computacional

Prueba de Participación:

  • La validación es realizada por participantes que ofrecen ether como colateral
  • El ether se paga solo para las tarifas de transacción
  • Se utiliza menos poder computacional y energía
  • El consenso se alcanza más rápido porque no hay dificultad

La prueba de trabajo (PoW) requiere que los nodos en una red proporcionen evidencia de que han gastado poder computacional (es decir, trabajo) para alcanzar consenso de manera descentralizada y para prevenir que actores maliciosos tomen el control de la red. La prueba de participación (PoS) requiere colateral en forma de criptomoneda bloqueada para convertirse en un participante confiable.

¿Qué criptomonedas utilizan prueba de trabajo?

La mayoría de las criptomonedas utilizan prueba de trabajo, aunque algunas están experimentando con otras formas de asegurar sus redes. Las criptomonedas más populares que utilizan prueba de trabajo incluyen:

  • Bitcoin
  • Ethereum (aunque Ethereum recientemente comenzó el largo proceso de transición a Ethereum 2.0, una actualización que cambiará la criptomoneda a la prueba de participación potencialmente más ecológica).
  • Bitcoin Cash
  • Litecoin
  • Monero

¿Cuáles son las desventajas de la prueba de trabajo?

Entre los principales problemas que presenta la PoW podemos destacar los siguientes:

  • Uso elevado de energía: Bitcoin utiliza tanta energía como toda Suiza debido a la prueba de trabajo. Y su consumo de energía está aumentando a medida que más mineros se unen a la búsqueda de bitcoins, aunque parte de esto es impulsado por energía renovable.
  • Ataques del 51%: Si una entidad minera logra acumular el 51% de la tasa de hash de minería de Bitcoin, puede violar las reglas temporalmente, gastando monedas dos veces y bloqueando transacciones.
  • Centralización de la minería: La prueba de trabajo se basa en crear una moneda sin una única entidad a cargo. Dicho esto, en la práctica el sistema está algo centralizado, con solo tres pools de minería controlando casi el 50% del poder computacional de Bitcoin. Los desarrolladores están intentando al menos mitigar este problema.

Conclusión

La prueba de trabajo es un mecanismo de consenso utilizado por muchas criptomonedas para validar transacciones en sus blockchains y otorgar tokens por participar en la red. Es un proceso competitivo que utiliza información de transacciones públicamente disponible para intentar generar un número hexadecimal menor que el objetivo de la red para ese período de minería.


 

Raul Canessa

Leave a reply