Protocolos de consenso para blockchain; PoW, PoS y más

protocolos consenso blockchain pow pos mas 1

Los próximos (ya nadie sabe para cuando) cambios en Ethereum en dirección a su versión 2.0, y más concretamente el paso del uso de la prueba de trabajo (PoW) a la prueba de participación (PoS) ha provocado, aparte de infinitos dolores de cabeza, que mucha gente no especialista se pregunte qué son esas siglas y por qué son tan importantes.

Estamos hablando de protocolos de consenso, algoritmos matemáticos distribuidos que están en el núcleo del funcionamiento de la tecnología DLT y gestionan los imprescindibles acuerdos entre los nodos de la red. Para entender más, léete primero nuestro post sobre el dilema de los generales bizantinos.

Si te preguntas cuál es el bueno… No lo hay; son sencillamente diferentes herramientas con diferentes características que sirven mejor para unos propósitos (y tipos de blockchain) que para otros. El PoW y el PoS son los principales, pero hay muchos más…

Prueba de trabajo (PoW)

El Real Madrid de los protocolos de consenso (el de Bitcoin, entre muchos otros). Los nodos muestran su esfuerzo (proof-of-work) compitiendo por resolver un complicado problema criptográfico que exige muchos cálculos y, por ende, muchísima energía en computación.

Prueba de participación (PoS)

La gran alternativa al PoW para blockchain públicas. En este caso, los nodos validan los nuevos bloques de la cadena en una especie de lotería; los boletos serían el token de turno. Es muy ágil, pero los que más criptomoneda tengan, más criptomoneda ganan…

 

Prueba de participación delegada (DPoS)

En esta versión del PoS los propietarios de criptomoneda eligen testigos (de ahí lo de Delegated). Permite una gran descentralización que puede beneficiar potencialmente a pequeños propietarios más implicados, pero facilita también cárteles y ataques.

Prueba de participación alquilada (LPoS)

La gente de Waves diseñó este refinado protocolo para resolver problemas de centralización y vulnerabilidades a ciertos ataques. Los pequeños propietarios “alquilan” o agrupan sus tokens para tener más opciones de generar un nuevo bloque y ganar la recompensa.

Prueba de tiempo transcurrido (PoET)

Este algoritmo, desarrollado por Hyperledger Sawtooth, sirve para redes públicas o privadas; define tiempos de espera aleatorios para generar nuevos bloques por nodos estocásticamente elegidos. Es muy imparcial, pero eso sí, dependes del chip de Intel…

Tolerancia práctica de fallos bizantinos (PBFT)

¿Te acuerdas de los generales bizantinos? En este caso, los generales se conocen y confían los unos en los otros; simplemente, votan en varias rondas. Ideal para sistemas permisionados (Hyperledger Fabric lo usa), a pesar de resultar más bien lento.

protocolos consenso blockchain pow pos mas 2

Existen muchos otros algoritmos distribuidos llamados PoI, PoA, PoC, PoB… y otros (commits, sincronización de relojes, RPOW… ver aquí), pero habíamos dicho que iba a ser algo corto y resumido, así que lo dejamos para otro día. Ah, sin este articulazo de Emily Maxie, esto no hubiera sido posible.