Como parte de la serie de artículos explicativos sobre Metrópolis, la nueva fase de desarrollo de Ethereum, cuyo hardfork inicial, Byzantium, ya fue activado; explicaremos en esta última entrega cuáles son las diferencias fundamentales entre la Prueba de Trabajo (PoW) y Prueba de Participación (PoS), dos procesos de validación de transacciones muy diferentes. PoS será el futuro Ethereum.
Diferencias entre PoW y PoS
La Prueba de Trabajo (PoW) es el protocolo que la mayoría de las criptomonedas han implementado para procesar sus transacciones, tal como Bitcoin y Ethereum. Consiste en la resolución de problemas criptográficos por medio de un fuerte gasto de electricidad y la ejecución de difíciles cómputos gracias a la combinación de potentes piezas de hardware y software diseñados precisamente para realizar tal tarea.
En la Prueba de Participación (PoS), el proceso de minería dejará de tener que contar con costosos y complejos equipos electrónicos, pues se creará la figura del validador. El validador deberá contar con algunos de sus ethers como apuesta o garantía para el procesamiento de diferentes bloques, que, en este caso, evaluará utilizando zk-SNARKs para determinar la veracidad de los mismos. Una vez el bloque sea añadido a la cadena exitosamente, el validador recibirá una recompensa proporcional a la apuesta que realizó. En el caso contrario, si apostó por un bloque falso, perderá todos los ethers.
El contrato Casper
La prueba de participación será implementada en Ethereum con el algoritmo de consenso Casper, siendo en principio un sistema híbrido entre la prueba de trabajo y la prueba de participación. Cada 100 transacciones se realizará una prueba de participación, para así evaluar progresivamente el desempeño de estos parámetros de trabajo.
Como señala la guía de implementación del contrato Casper, creada por Vitalik Buterin, esta herramienta servirá a un pool de validadores de transacciones:
Un Contrato Casper será publicado en una dirección aleatoria CASPER_ADDR, y este contrato incluirá una función que permita a cualquiera depositar allí sus ethers, especificando un código de validación, pensado como una especie de llave pública, que utilizarán para firmar mensajes y volverse un validador. Una vez el usuario sea admitido en el grupo de validación, podrán enviar mensajes para participar en los procesos de consenso de Prueba de Participación. El ‘tamaño’ de un validador dentro del grupo se refiere a la cantidad de ethers que ha depositado.
Ethereum
Como un mecanismo para evitar la reversión maliciosa de las transacciones, el consenso en torno a la Prueba de Participación emitirá un punto de chequeo cada 100 bloques creados. Esta serie de bloques creados deberá ser ‘finalizada’ por medio de la firma que valide la veracidad de ese bloque checkpoint por parte de dos tercios de los participantes del pool de validadores. Una vez que esto suceda, no importará si el 99% de los mineros prestan su apoyo a una cadena que no incluye este bloque, pues los clientes podrán recibir la información de que ese bloque ha sido en efecto, finalizado.
La bomba de dificultad y la era de hielo
El concepto del aumento de la dificultad de minería fue desarrollado por Satoshi Nakamoto en el papel blanco de Bitcoin, donde se avisora la expansión y crecimiento de la red en base a la cantidad de mineros que participan de ella; lo que podría generar un descontrol que llevara a los mineros a emitir la totalidad de bitcoins posibles de crear en un espacio relativamente corto de tiempo.
El sistema ideado por Satoshi Nakamoto se basa en el ajuste de las probabilidades de respuesta para que los mineros den con un número aleatorio, que es la solución para añadir un nuevo bloque a la red. El problema está reflejado en la dirección hash de un bloque sobre el cuál el minero trabaja para resolver en el menor tiempo posible, con la menor cantidad de esfuerzo y tomando en cuenta también la recompensa por lograrlo. Si el número descubierto se encuentra entre las posibilidades de respuesta establecidas por la dificultad, el bloque será descifrado y añadido a la cadena.
Esto es similar en Ethereum, en donde se crea un bloque cada 29 segundos, como se aprecia en esta gráfica que demuestra que durante este año se ha incrementado la dificultad progresivamente.
Tal y cómo reflejan las declaraciones que diera Vitalik Buterin durante este año a un medio de comunicación, a blockchain podría tomarle dos años darle reemplazo a la plataforma de Visa. “Bitcoin está procesando un poco menos de tres transacciones por segundo. Ethereum lo hace cada 5 segundos. Uber presta 12 servicios de taxi por segundo. Tomará un par de años para que blockchain reemplace a Visa”, aseguró.
Para alcanzar esta meta, el uso de la Prueba de Trabajo en Ethereum llegará a su fin eventualmente. La implementación total del protocolo de Prueba de Participación, Casper, llegará en un aproximado de 2 años, durante la última fase de desarrollo de Ethereum, Serenity.
Para prevenir a su vez que la blockchain de Ethereum se divida en dos redes, los desarrolladores activarán una bomba de dificultad que dará inicio a una Era del Hielo de Ethereum. Este período consiste en un esquema que ajustará la dificultad del procesamiento por Prueba de Trabajo y que a su vez motivará a los mineros a migrar hacia la modalidad de Prueba de Participación.
En el momento en que la actualización sea ejecutada, la bomba de dificultad se desbloquea y poco a poco se hará imposible que los mineros se mantengan al corriente, hasta que llegue un momento de congelamiento de la red de Ethereum, donde ya no se procesarían transacciones por estos medios. Allí, se activará el procesamiento total por medio de Prueba de Participación.
Con respecto a los nuevos requerimientos técnicos para PoS, estos también cambiarán drásticamente, pues ya no se utilizarán tarjetas GPU, bandejas y procesadores de gran potencia, ni un alto consumo de energía. Las recomendaciones, según el usuario Arrow222 de Reddit, son contar con 4 GB de RAM, 30 GB mínimos de memoria para participar en un grupo de minería, o cerca de 250 GB si se minará independientemente y es necesario descargar toda la blockchain. Además, un procesador Pentium G4560 y, como sistema operativo, Linux.
De esta forma se va construyendo el futuro de Ethereum, que ya va dejando de lado, poco a poco, la Prueba de Trabajo y la minería tradicional. La implementación Byzantium retrasó la activación de la bomba de dificultad a un año, pero redujo la recompensa de bloque de 5 a 3 ethers. Así comienza el viaje de la Prueba de Participación en esta blockchain.