Proof of Work
Proof of Work (PoW), o prueba de trabajo, es un mecanismo de consenso diseñado para validar y verificar transacciones y crear nuevos bloques en una blockchain, utilizado principalmente en Bitcoin y, por el momento, también en Ethereum. Un mecanismo de consenso es necesario ante la ausencia de un tercero imparcial que decida sobre qué información será aceptada y guardada en la blockchain.
PoW en Bitcoin
Si bien el concepto de PoW es preexistente a Bitcoin y a las criptomonedas, fue con la implementación específica de su creador, Satoshi Nakamoto, que el concepto de PoW fue popularizado, ya que es el caso más conocido y exitoso en el ecosistema crypto.
En esencia, el mecanismo descansa en la solución de problemas matemáticos de alta complejidad (algoritmo criptográfico denominado SHA-256) que requieren de hardware especializado (ASICs) que sea puesto a trabajar (work) para resolverlos, y así poder producir e introducir el próximo bloque en la cadena. La identificación del “ganador” de cada uno de estos problemas es fácil de verificar una vez descifrado, y se produce de una forma análoga a una lotería en un proceso de prueba y error, aunque también depende del poder de computación con el que se contribuya (hash rate). Lo que deben encontrar estos “mineros” es un número denominado nonce, que puede utilizarse una única vez en una comunicación criptográfica y que, junto con el número del bloque anterior, compone el hash o código de autentificación del nuevo bloque a ingresar a la cadena.
En este sistema, operan principalmente dos tipos de actores:
- Mineros: pueden ser identificados con cada CPU puesto a (tratar de) producir nuevos bloques. La recompensa para estos mineros es una recompensa específica en BTC (que disminuye a la mitad cada 4 años por el mecanismo de halving) más el cobro de los costos de transacción relacionados a las operaciones de ese bloque. Esta recompensa específica es el mecanismo de emisión monetaria de Bitcoin, que llegará a cero. Luego de que la oferta de BTC sea completamente emitida, los mineros solo cobrarán por las comisiones de operar en la red. Vale aclarar que ser minero implica incurrir en un costo de inversión en hardware que suele ser alto, pero que no requiere ningún tipo de permiso para comenzar a hacerlo (permissionless).
- Nodos completos: son clientes de software que validan transacciones y bloques en la red a través de pruebas criptográficas y reglas del consenso específico de Bitcoin, y son usualmente corridos por muchos de los usuarios y también por mineros.
En resumen, las nuevas transacciones son recibidas por todos los nodos, que las agrupan en nuevos bloques. Cada minero trabaja para resolver el algoritmo de prueba de trabajo de ese bloque, y cuando lo encuentra lo transmite a todos los nodos, quienes verifican la resolución del algoritmo y la validez de las transacciones del bloque (es decir, que no hayan sido aprobadas previamente, evitando el doble gasto). Una vez aceptan el bloque, pueden comenzar a trabajar en el próximo, lo cual queda demostrado al aceptar el hash del bloque recientemente trabajado y que se verá reflejado en el siguiente.
Características principales
- Seguridad: los mineros están incentivados para obrar honestamente dado que tener hardware dedicado a PoW implica un alto costo energético, por lo que actuar maliciosamente implicaría incurrir en dicho costo y, a su vez, dañaría la reputación de la red, produciendo probablemente una disminución en el valor de la recompensa o de los fondos malversados (el BTC recibido valdría menos) e impidiendo alcanzar un retorno por la inversión inicial. Incluso si se emprendiera esta acción maliciosa a pesar de los costos, se necesitaría involucrar al 51% del poder de cómputo para validar transacciones incorrectas, cantidad que, dadas las características de una blockchain descentralizada y el costo en el que debe incurrirse, es prácticamente imposible de reunir. Visto de otro modo, lo que los nodos deben buscar es la cadena más larga ya que es la que tiene invertido mayor poder computacional. Difícilmente, como se dijo, esa cadena más larga contenga transacciones inválidas. Por último, cabe mencionar que los bloques se generan cada 10 minutos aproximadamente, y la dificultad del minado se ajusta cuando incrementa el poder computacional para mantener este plazo de generación. Esto se debe a que 10 minutos es el plazo aproximado que lleva llegar a un consenso sobre las transacciones efectuadas y su validez, evitando el doble gasto.
- Descentralización: son los miles de nodos funcionando quienes aportan en mayor medida a la descentralización de la red, permitiendo que la blockchain funcione como un registro descentralizado o distribuido. Esta descentralización es un valor en sí mismo en tanto que también aporta a la seguridad (por las dificultades para coordinar un ataque y la resiliencia ante censura), pero no solo eso sino que a su vez brinda robustez a la blockchain, al operar sobre la misma un sistema de incentivos positivos que fomenta la participación honesta y la preocupación por el crecimiento de la red.
- Energía: el mecanismo de PoW es, como se dijo, intensivo en el uso de energía eléctrica necesaria para que los equipos de hardware de minería estén activos. Esto es visto por muchos como el punto débil del sistema, al punto que la segunda blockchain más importante, Ethereum, está por migrar al protocolo de PoS. Sin embargo, vale mencionar que existen argumentos en favor de este aspecto de PoW, ya que el hecho de ser costoso minar puede brindar mayor seguridad a la red al desincentivar ataques, y también porque deriva en la búsqueda de fuentes de energía más baratas, muchas veces relacionado al aprovechamiento de fuentes naturales de energía como ríos, luz solar, viento, etc. A su vez, puede aprovecharse energía que, de otro modo, sería desperdiciada, como es el exceso de gas natural en pozos de petróleo que si no es utilizado sería liberado a la atmósfera.
Referencias
Proof-ofs: Blockchain's biggest contribution
v1.0 - Escrito por Manuelgirbal, revisado por MRTN - 01-05-2022