Delegated Proof of Stake o Prueba de Participación Delegada (DPoS), es un protocolo de consenso diseñado para blockchains altamente escalables.
Uno de los principales desafíos de la tecnología blockchain, es la creación de los protocolos de consenso. Sobre estos, pesa la producción de bloques, la validación, seguridad y escalabilidad de la cadena de bloques. Razones para que sean protocolos robustos y que sean pensados para casi todo tipo de escenarios.
Uno de esos protocolos de consenso es Delegated Proof of Stake o Prueba de Participación Delegada (DPoS). Este está pensado en resolver de forma efectiva los problemas de escalabilidad de la tecnología blockchain. A la vez que, sigue garantizando un alto nivel de seguridad y robustez, en comparación con la Prueba de Trabajo (PoW).
Pero ¿Qué es DPoS?
Delegated Proof of Stake o Prueba de Participación Delegada, es un protocolo de consenso diseñado para cadenas de bloques altamente escalables. Este algoritmo fue creado por Daniel Larimer en el año 2014. La implementación de este protocolo ofrece Tolerancia a Fallas Bizantinas (BFT). Esto significa que brinda altos niveles de seguridad para uso en blockchain públicos. Además, su modelo de funcionamiento garantiza altos niveles de escalabilidad.
Para hacer esto posible, todos los participantes de la red eligen por votación, una serie de “delegados”. Una vez elegidos, forman un grupo que permite que el protocolo BFT pueda ser implementado. Esto gracias a que su cantidad está definida y limitada, y existe confianza parcial en ellos.
Los delegados definitivamente una rotación de líderes. Esto significa que cada delegado, tiene un turno dentro de la rotación para producir un bloque. Gracias a esta acción, dicho delegado puede generar un bloque y cobrar una recompensa por ello. Si el delegado no está disponible cuando llega su turno, debe esperar a uno nuevo.
El poder de voto de cada participante de la red es proporcional a su participación en la misma. Esta característica, es parte de su relación con el protocolo de consenso de Prueba de Participación. Para favorecer la descentralización, es habitual que las redes basadas en DPoS sometan a elecciones relacionadas con su funcionamiento. Temas como las recompensas, la cantidad de delegados el comportamiento ante bifurcaciones de la red y otras. Además de que permita penalizar a los delegados si no se comportan de acuerdo a lo esperado.
“El objetivo de DPoS es; descentralizar el poder y asegurarse de que no haya censura en la inclusión de transacciones en los bloques.”
Daniel Larimer – EOS: Explanation of DPoS+BFT
¿Cómo funciona DPoS?
El funcionamiento de DPoS puede dividirse en un proceso de tres partes que son:
Votación de delegados
Este es el punto de partida del protocolo DPoS. Para su funcionamiento, se hace uso de un sistema de votación en tiempo real. Gracias a esto, se crea grupo de partes limitadas y de confianza, llamados “delegados”. El proceso de votación hace uso de algoritmos de reputación. Además se toma en cuenta la cantidad de tokens que tienen los delegados. Mientras más tokens tengan, mayor cantidad de votos pueden recibir. Esto se traduce en mayores oportunidades de formar parte de los delegados.
Creación de bloques
La segunda etapa de DPoS tiene que ver con la generación de los bloques. En este punto, los delegados tienen el poder de crear bloques para agregarlos a la blockchain. En este punto el funcionamiento es sencillo. Durante el ciclo de generación, cada delegado tienen la capacidad de generar un bloque.
Una vez generado, la capacidad de generación pasa a otro delegado, y así hasta completar el ciclo. Durante la generación, se pueden validar o denegar transacciones. Por cada bloque generado y transacción validada, los delegados reciben un incentivo económico.
Comportamiento de los delegados publicado en Blockchain
Esta sería la última etapa de funcionamiento del protocolo DPoS. Esta permite a la comunidad revisar constantemente la actividad de los delegados elegidos. Si a la comunidad no le gusta lo que ve, puede expulsar a un delegado. Con este método, se busca controlar el funcionamiento de la red y evitar abusos.
Características de DPoS
DPoS resuelve uno de los problemas más relevantes que tiene blockchain, la escalabilidad. Todo ello sin tener que usar equipos de alta potencia y alto consumo energético. Sin embargo, para lograrlo hace un sacrificio en la descentralización. Ello se debe a que el procesamiento de bloques depende de un número limitado de delegados.
Este enfoque, podría permitir que dichos delegados puedan comportarse como un ente central. Sin embargo, las blockchain DPoS crean otros mecanismos para evitar estos escenarios. Otras de las relevantes características de DPoS son las siguientes:
- Ofrece Tolerancia a Fallas Bizantinas (BFT). Esto significa que el protocolo puede usarse en blockchains públicas de forma segura.
- Trabaja en base a un sistema de votación que toma en cuenta la reputación y participación de lo usuarios.
- Ofrece capacidades de paralelización de tareas en la red.
- Optimiza el uso de recursos de la red como el ancho de banda, CPU, entre otros.
TaPoS – Transacciones como Prueba de Participación
Las Transacciones como Prueba de Participación (TaPoS), es una de las características únicas de DPoS. Esto permite que cada transacción en la red pueda incluir opcionalmente el hash de un bloque reciente. Con ello, el firmante de las transacciones puede estar seguro de que sus transacciones no pueden aplicarse a ninguna otra instancia.
Esta característica evita situaciones de doble gasto. Además su uso, ayuda a que todas las partes terminen certificando la integridad del historial de transacciones.
Veamos esto de la siguiente manera:
Daniel ha decidido comprar un libro. Realizada la compra, su transacción ha sido registrada. En dicho registro, se ha incluido el hash del bloque más reciente de la blockchain de la tienda. Esta acción es una prueba irrefutable de que Daniel ha hecho la compra. Pero para el resto, de momento, esto es algo incierto. Para asegurar la veracidad de la transacción, Erika, María y Pedro realizan el mismo proceso de compra y firman con sus hash únicos. Cada hash atado a un bloque y una transacción en específico.
Debido a la naturaleza del árbol Merkle de la blockchain, cada bloque en el historial está “marcado” con el hash del bloque anterior. De esta forma las transacciones realizadas por nuestros amigos aseguran aún más el funcionamiento de la red. Esto por que cada “marca” crea una huella única en toda la cadena de bloques. Una huella que de cambiarse invalidará al resto.
Ventajas y desventajas del DPoS
Ventajas
- El sistema de votación de “delegados” es rápido. Puede establecer rápidamente a los productores de bloques en cada ronda. El resultado directo de esto, es una mejora notable en la escalabilidad de la blockchain.
- Descentraliza la participación en en la red. Esto gracias a que DPoS relaciona la participación en la red con la cantidad de tokens que tiene cada usuario. Lo que alienta la participación de los usuarios.
- La paralelización alcanzada por DPoS habilita altos rendimientos y escalabilidad. Por ejemplo, en la blockchain EOS, en cada turno (de 0,5 segundos) se generan 126 bloques. Esto nos da una idea de la alta capacidad de transacciones que estas blockchain pueden alcanzar.
- Permite maximizar las ganancias de los poseedores de tokens. Esto debido que a medida que tienen más tokens, más participación tienen en la red y más bloques pueden crear.
- El costo por mantener la seguridad en la red disminuye. Esto gracias a que no es necesario tener equipos de alta potencia para el funcionamiento correcto de la red.
- Optimiza el uso de recursos de la red como el ancho de banda, CPU, entre otros.
Desventajas
- El éxito de la red requiere la participación y coordinación de la comunidad genuinamente interesada para una gobernanza efectiva.
- DPoS expone a la blockchain a fallas relacionadas con el sistema de votación. Por ejemplo, los usuarios de DPoS con pequeñas apuestas pueden decidir que su voto no importa en comparación con los votos de las partes interesadas más grandes.
- Algunos detractores del modelo DPoS argumentan que este protocolo promueve la centralización. Esto bajo el supuesto que el sistema de votación, siempre buscará elegir a quienes tienen más tokens. Sin embargo, las blockchains que hacen uso del mismo, crean mecanismos para evitar esta situación. En este punto, esta debilidad está más relacionado con la aplicación de reglas justas para elegir a los delegados.
Blockchains que hacen uso de DPoS
La primera cadena de bloques que hizo uso de este algoritmo de consenso es la de la plataforma BitShare. BitShare es un proyecto creado por el mismo Daniel Larimer y funciona como un intercambio descentralizado (DEX).
Otros proyectos que hacen uso de DPoS son: EOS, Lisk, Ark y Tron. Todas estas blockchain tienen unas características en común: alta escalabilidad. Una característica posible gracias al uso de DPoS como algoritmo de consenso.