Con ETH 2.0 a la vuelta de la esquina, ahora es un buen momento como cualquier otro para analizar una de las actualizaciones más críticas que trae consigo: prueba de participación (PoS). En este artículo, veremos por qué el sistema actual de prueba de trabajo (PoW) no está lo suficientemente refinado para las necesidades de escalabilidad futuras y luego veremos cómo eth 2.0 busca integrar PoS.
¿Qué es la prueba de trabajo?
Al igual que Bitcoin, Ethereum también utiliza un protocolo de consenso de prueba de trabajo (PoW). El principio básico de PoW funciona así:
- Los nodos especializados de la red denominados “mineros” poseen equipos de minería denominados “ASIC”.
- El minero toma transacciones del mempool para formar un bloque y luego aplica un hash a su contenido.
- Luego agregan un valor aleatorio llamado “nonce” en el frente del hash y luego hash el valor general nuevamente.
- Ahora el minero comparará el valor del hash con la dificultad de la red. La dificultad es una métrica decidida por la red, que se ajusta según la facilidad con la que los mineros están minando bloques en la red.
- El valor total de hash debe ser menor que la dificultad. Si no es así, entonces todo el proceso se repite hasta que lo sea.
Desventajas de PoW
Ethereum planea pasar de PoW debido a sus varios problemas:
- PoW consume muchos recursos innecesarios. Los mineros consumen mucho poder en su intento de resolver ecuaciones complejas. Esto hace que todo el proceso sea altamente ineficaz y no deseable.
- Las organizaciones ricas pueden permitirse comprar ASIC costosos, lo que les da una ventaja injusta sobre la competencia.
- Debido a esta centralización de la riqueza y los recursos, estas organizaciones suelen tener la mayor parte del hashrate de la red y tienden a producir los bloques con más frecuencia.
- Al momento de escribir, los 3 principales grupos de minería poseen más del 50% del hashrate de la red. Teóricamente hablando, estos ti pueden unir fuerzas y lanzar un ataque del 51% en la red.
- Bitcoin consumió más energía que todo el país de Suiza en 2019.
- PoW no puede proporcionar una finalidad instantánea. Dado que se necesita tiempo para extraer un bloque (alrededor de 25 segundos en Ethereum). Como tal, una transacción realizada en un sistema PoW no es, de ninguna manera, final.
¿Qué es Ethereum Proof-of-Stake?
Proof of Stake (PoS) ya se ha convertido en uno de los protocolos de consenso más buscados en el espacio. La idea es sencilla. Bloquea una parte de tus tokens en el sistema y conviértete en un validador en la red. A continuación, así es como funcionará el proceso:
- Los validadores comenzarán a validar los bloques al firmarlos.
- Cuando se aprueba el bloqueo, reciben una recompensa proporcional a su participación.
- Una vez que un validador acepta apostar sus tokens, la apuesta se bloquea.
- La cantidad de veces que puede validar un bloque es directamente proporcional a su apuesta. Alguien que apueste el 1% del valor total total podrá validar el 1% de todos los bloques.
La mayor debilidad de Proof-of-Stakes: nada en juego
El mayor problema con PoS es el problema de “nada en juego”. Para entender lo que queremos decir con eso, considere el siguiente tema:
Así que considere la situación que tenemos arriba. Hay una cadena dominante principal (azul) y una cadena secundaria (rosa) que se ramifica a partir de ella. Por lo general, un minero / validador honesto debería agregar bloques a la cadena más larga. Sin embargo, ¿qué pasa si una minera maliciosa Alice elige minar en el bloque rojo y sobrescribir el historial de transacciones escrito en los bloques B, C y D?
En PoW, los altos costos involucrados pueden mitigar rápidamente esta situación. Dado que el minero tiene que gastar gran parte de sus recursos solo para extraer un bloque, no tiene ningún incentivo para ir en contra del resto del sistema. Después de todo, no quieren hacer todo ese trabajo por nada, ¿verdad?
Sin embargo, PoS es una historia diferente.
En PoS, un validador puede simplemente hacer una apuesta tanto en la cadena azul como en la rosa. Cualquiera que sea la cadena que obtenga una adición exitosa, la recompensa del bloque debería ser suficiente para compensar sus pérdidas. En este caso, estamos ante una situación en la que, sin importar lo que haga el atacante, seguirá estando en una posición ventajosa.
Este es el mayor problema con PoS, el problema de “Nada en juego”. Para asegurarse de que el atacante no se mueva libremente por las cadenas, Ethereum utilizará el Protocolo de Casper.
Protocolo de Casper – Mecanismo de consenso Eth 2.0
Casper cambia el juego de PoS al incorporar un factor de castigo para mantener honestos a todos los validadores. Para entender cómo funciona esto, veamos el sistema estándar de PoS y observemos cómo Casper cambia las cosas.
- Los validadores pueden apostar una parte de su participación en la red Ethereum.
- Luego validan los bloques que creen que se convertirán en parte de la cadena de bloques principal.
- Si validan el bloque incorrecto, su participación se reducirá por completo.
- Sin embargo, si actúan en interés del sistema, obtendrán la recompensa de bloque adecuada.
Como puede ver, Casper actúa en interés de toda la red alineando los objetivos individuales con los objetivos de toda la red. Dado que los validadores maliciosos tienen mucho que perder (es decir, su participación) se ven obligados a actuar con honestidad. Junto con esto, los validadores también deberán tener mucho cuidado con la disponibilidad de sus nodos. Si no están disponibles a tiempo para validar sus bloques, se arriesgarán a perder su participación por completo.
Casper, el gadget de finalización amistoso contra Casper, corrección por construcción
En realidad, Casper consta de dos algoritmos diferentes. El primero se llama “Casper the Friendly Finality Gadget” o Casper FFG y el otro es “Casper Correct-by-Construction” (Casper CBC). Por lo tanto, pongamos cada uno de estos en el centro de atención y veamos de qué se tratan.
Casper FFG
Casper FFG ha sido trabajado por el propio fundador de Ethereum, Vitalik Buterin. FFG será un mecanismo de consenso híbrido de PoW / PoS que hará que la transición de PoW a PoS sea extremadamente suave. La idea detrás de esto es bastante simple:
- El consenso subyacente seguirá siendo el tradicional PoW.
- Cada bloque 50 será un punto de control finalizado para la cadena de puntos de venta. Una vez que una cuadra ha cruzado el punto de control, no habrá vuelta atrás.
La forma en que logra esto es colocando el protocolo PoS en la parte superior del protocolo ethash PoW.
¿Qué significa Finalidad?
La finalidad es una cualidad en la que una operación, una vez ejecutada, queda grabada para siempre en la historia. Nada de lo que pueda hacer lo borrará o revertirá. Cuando se trata de asuntos monetarios, la finalidad es una necesidad absoluta. Por ejemplo, todos sus fondos mutuos deben tener plena finalidad. Imagínese si mañana, debido a un error de software, pierde todos sus fondos. La inversión en fondos mutuos, como ocurre con todas las interacciones monetarias, debe tener una finalidad completa. Según algunos, PoW es la única forma de lograr el 100% de finalidad. Sin embargo, como sabemos, el proceso es un desperdicio enorme.
Casper FFG afirma que puede proporcionar una finalidad completa, siempre que 2/3 de todos los validadores hagan apuestas en los bloques finalizados. Al igual que con cualquier sistema bizantino tolerante a fallas, Casper asume que menos de 2/3 de los nodos en una red serán maliciosos. Para ilustrar cómo Casper FFG ayudará a ETH 2.0 a lograr una finalidad más sólida, veamos un ejemplo:
- Imagina que hay una red con tres nodos A, B y C.
- B es un nodo malicioso.
- A y B firman un reclamo, mientras que B y C firman el otro.
- Como puede ver, pase lo que pase, ya sea A o C, es decir, los dos honestos pueden perder bastante si la afirmación del otro se hace realidad.
- Es por eso que los validadores no tienen ninguna razón para coludir y actuar maliciosamente.
- Si tenemos una situación de doble finalidad en el más raro de los casos, entonces la reivindicación que obtiene el máximo de votos se convierte automáticamente en la cadena dominante.
Esta característica de FFG se conoce como finalidad económica total. Como dice Vlad Zamfir, “Imagine una versión de la prueba de trabajo en la que si participa en un ataque del 51%, su hardware de minería se quema”. En otras palabras, hay poco o ningún incentivo económico para que los validadores vayan en contra del sistema.
Prevención de horquillas en FFG
Casper FFG también tiene mecanismos para la prevención de horquillas. En lugar de elegir a ciegas la cadena más larga, FFG sigue y rastrea el punto de control justificado de la mayor altura. Para comprender lo que queremos decir con eso, consulte el siguiente diagrama.
Como es evidente en el diagrama, la cadena correcta es r-> b1-> b2-> b3.
Casper CBC
Para comprender en qué se diferencia un protocolo correcto por construcción del diseño de protocolo estándar, primero examinemos cómo funciona este último.
- Primero especifica un protocolo y define las propiedades que debe satisfacer.
- Demuestre cómo el protocolo satisface completamente las propiedades.
Como puede ver, este es un protocolo bastante definido estáticamente. Ahora, veamos cómo funciona un protocolo CBC:
- Los desarrolladores realizaron parte del trabajo inicial y especificaron parcialmente el protocolo.
- El desarrollador luego especifica las propiedades.
- El protocolo luego se deriva a sí mismo de acuerdo con las propiedades.
Entonces, si lo piensa, CBC permite que el protocolo se derive dinámicamente, y una de las formas en que lo hace es declarando un “adversario ideal”. Un adversario ideal es una métrica que:
- Enumera todas las fallas que pueden ocurrirle al protocolo.
- Ajuste continuamente el protocolo hasta que esté completo.
ETH 2.0: protocolo LMD Ghost
La elección de la horquilla LMD Ghost le permite elegir la cadena más óptima en lugar de la más larga. Para comprender cómo funciona, eche un vistazo al siguiente diagrama:
- Casper inspecciona el árbol de bloques del bloque génesis y asciende en la jerarquía del árbol.
- En cada paso, el protocolo toma una decisión dependiendo de cuánto soporte tenga un bloque en particular.
- El diagrama anterior muestra cinco validadores: A, B, C, D y E. Cada uno de ellos ha creado un bloque durante diferentes períodos de tiempo.
- En el diagrama, tenemos dos caminos para que tome la cadena de bloques -> A-B-D o A-B-C-E.
- El apoyo comandado por el último bloque determina el camino correcto. Aprendemos el curso de este camino observando las posiciones jerárquicas de los bloques.
El proceso de replanteo
Como puede ver, hemos dividido todo el estado en 7 posiciones.
- Posición 1: El bloque aquí ha sido creado por A. Ha sido validado por ABCDE, por lo que el peso del nodo es 5.
- Posición 2: El bloque aquí fue creado por B y ha sido validado por todos. Por tanto, el peso es 5.
- Posición 3: Aquí es donde las cosas se ponen interesantes. Tenemos una bifurcación ya que hay dos bloques creados por C y D. El bloque D ha sido validado solo por D por lo que su peso es 1. El bloque C tiene un peso de 4 ya que ha sido validado por ABCE.
Por tanto, podemos deducir que el camino correcto aquí es A, B, C, E.
Otra parte interesante de este protocolo es que una minoría de la red nunca puede vencer a la mayoría. Una vez más, considere la imagen de arriba, traigámosla aquí:
Si el validador D continúa validando bloques en la ruta A-B-D a una velocidad que es más rápida que la de la otra cadena, seguirá siendo inútil, ya que Ethereum 2.0 solo considerará el peso del bloque como una métrica válida.
ETH 2.0 – Características del protocolo Casper
- Un nodo debe apostar al menos 32 ETH para participar en el mecanismo de consenso.
- En un sistema PoS, puede participar con una simple computadora portátil o computadora.
- Cada vez que se propone un bloque, el protocolo elige automáticamente entre 4 y 64 comités aleatorios de 128 nodos válidos.
- Esto hace que el protocolo sea demostrablemente seguro, ya que garantiza que haya menos de un billón de posibilidades de que 1/3 de los validadores maliciosos se apoderen de la red.
- Se ha calculado que la tasa de rendimiento de Casper oscila entre el 4% y el 10%.
¿Cuándo se lanzará el protocolo Ethereum Casper?
La primera iteración de Casper se lanzará en 2020 con la Fase 0 de Ethereum 2.0. La primera instancia de esta transición será en forma de cadena de balizas, que gestionará el registro de los validadores. El primer bloque de la baliza se lanzará solo si se cumplen las siguientes condiciones:
- Al menos 524,288 ETH.
- La red tiene al menos 16,384 validadores.
Durante esta fase, Ethereum seguirá siendo principalmente una cadena de PoW, mientras que la baliza se ejecutará en segundo plano. Más adelante, en la Fase 1.5, la baliza y la cadena PoW se unirán para crear la cadena Ethereum 2.0 PoS.
¿Cómo aborda Casper las deficiencias de PoW?
Casper ayudará a abordar los tres mayores problemas con PoW:
- Accesibilidad.
- Centralización.
- Escalabilidad.
Accesibilidad con piscinas de replanteo
Las barreras de entrada para una cadena de bloques de PoW son excepcionalmente altas. Los mineros deben considerar muchos factores, como:
- Costos iniciales de hardware.
- Energía y electricidad.
- Mantenimiento y actualizaciones regulares.
Cuando se trata de apostar, cualquier usuario promedio obviamente se sentirá intimidado por la inversión mínima inicial de 32 ETH (~ $ 6,500). Sin embargo, Ethereum permite a sus validadores ejecutar “grupos de participación”. De manera similar a cómo funcionan los grupos de minería, los validadores podrán agrupar sus tokens ETH y recibir recompensas que son proporcionales al porcentaje de su participación dentro del grupo.
Descentralizando el poder
El problema de la centralización con PoW es definitivamente un gran problema. Como se mencionó anteriormente, la distribución de hashrate de Bitcoin está extremadamente centralizada, con tres grupos de minería que poseen más del 51% del hashrate de la red. La razón por la que esto es peligroso se debe a algo llamado ataque del 51%.
En un ataque del 51%, una entidad maliciosa gana el dominio total sobre una red descentralizada al poseer más del 51% del hashrate total. En esta situación, tienen el poder de:
- Hardfork del protocolo siempre que lo consideren oportuno.
- Extraiga la gran mayoría de los bloques de la red.
Como puede imaginar, esto puede ser extremadamente catastrófico para la red. Entonces, ¿cómo le va a Ethereum cuando se trata de distribución de hashrate?
Oh querido….
Aparentemente, durante las últimas 24 horas, dos grupos, Sparkpool y Ethermine, lograron acumular más del 50% del hashrate de la red. Esto realmente no es un buen aspecto ahora, ¿verdad?
Sin embargo, con PoS, habrá significativamente menos barreras de entrada y elimina cualquier tipo de centralización de hashrate. Solo necesitará tres cosas para ser un validador en una cadena de PoS:
Algo de cripto.
Una computadora / teléfono móvil.
Una conexión a internet.
Ampliando con Sharding
Las dos actualizaciones más críticas en Ethereum 2.0 son la implementación de PoS y Sharding. Si bien es posible implementar Sharding con PoW, será extremadamente difícil ejecutarlo correctamente.
Las dos actualizaciones más críticas en Ethereum 2.0 son la implementación de PoS y Sharding. Si bien es posible implementar Sharding con PoW, será un desafío ejecutarlo correctamente.
Para entender por qué, piense en una pizza. Ahora piense en una sola rebanada de esa pizza. ¿Cuál te resultará más fácil de comer? La rebanada, ¿verdad?
El mismo concepto se aplica a una cadena de bloques y sus fragmentos. Los fragmentos son estados fragmentados de la cadena de bloques, es decir, porciones de pizza. El hashrate de los fragmentos individuales no estará ni cerca del hashrate de la cadena principal. Esta es la razón por la que un minero con una cantidad considerable de hashrate podrá hacerse cargo del fragmento fácilmente.
Por otro lado, en cadenas PoS, es posible saber quiénes son los validadores debido a la dirección adjunta a su depósito. A través de un algoritmo de aleatorización demostrable, estas cadenas pueden asegurarse de que los validadores seleccionados para validar un bloque en las diferentes cadenas de fragmentos sean completamente aleatorios.
Conclusión: Protocolo Casper ETH 2.0
Ethereum 2.0 será verdaderamente monumental. Si bien la integración de Casper es definitivamente el cambio más grande, también hay otras innovaciones sorprendentes, como Sharding, raiden, plasma, eWASM, etc. Analizaremos cada una de estas innovaciones en los artículos siguientes, comenzando con Sharding.
Si está interesado en aprender más sobre los entresijos de Ethereum antes de que comience ETH 2.0, consulte algunos de los cursos disponibles en una de las plataformas de educación blockchain más exitosas del mundo, Ivan en Tech Academy. Tenemos varios cursos acreditados de alto valor sobre blockchain y criptomonedas que han sido creados por nuestros entrenadores internos y expertos de la industria. Junto con Ethereum, el período previo a ETH 2.0 y las diferentes fases de ETH 2.0, también cubrimos los conceptos básicos de blockchain y también tenemos varios cursos para desarrolladores.