¿Qué es Delegated Proof of Stake?

0
51
stablecoins, delegated proof of stake

En posts anteriores he explicado la importancia de los algoritmos de consenso en blockchains públicas, así como el funcionamiento de la prueba de trabajo y de la prueba de participación en la implementación llamada on-chain based. Hoy voy a explicar el funcionamiento de la prueba de participación delegada (DPOS, por sus siglas en inglés), que está basada en protocolos tolerantes a fallas bizantinas (BFT) desarrollados para sistemas distribuidos anteriores a blockchain.

Fuente: http://phdcomics.com/comics.php?f=520

¿Qué son los protocolos BFT?

Los sistemas distribuidos experimentan distintos tipos de fallas, que pueden estar relacionados con problemas internos de los elementos de la red, latencia en la comunicación o comportamientos arbitrarios de algunos de los participantes. Estas últimas se denominan fallas bizantinas, y ocurren cuando alguno de los elementos de la red actúa maliciosamente.

Existe un campo de estudio en la computación distribuida enfocado a diseñar sistemas tolerantes a fallas bizantinas, que es una condición necesaria para aplicaciones en las cuales el funcionamiento de la red no está bajo control. Los protocolos que cumplen estas condiciones son llamados BFT (por las siglas en inglés de tolerancia a fallas bizantinas).

Aunque existen variaciones, el comportamiento general de los protocolos BFT se basa en la elección de líderes rotativos que proponen las transacciones, mientras los demás participantes votan para llegar a una mayoría que permita aceptarlas o rechazarlas.

Este esquema de funcionamiento separa la elección del líder del procesamiento de transacciones, haciendo que estos sistemas sean muy rápidos para procesar transacciones y no sufran el problema de escalabilidad que afecta a las blockchains públicas actuales.

Sin embargo, las siguientes razones impiden la implementación de este tipo de protocolos en blockchains públicas:

  • Para poder definir una mayoría es necesario conocer de antemano la cantidad de participantes, así que la red no puede ser completamente abierta.
  • El poder de voto de cada participante está ligado a su dirección IP y no a algún recurso escaso, de forma que un participante malintencionado podría multiplicar su poder de voto controlando varias identidades, en lo que se conoce como Ataque Sybil.
  • Para llegar a una mayoría se requiere de varias rondas de comunicación entre todos los participantes de la red y esto agrega una latencia importante si la cantidad de participantes es muy alta.

¿En qué consiste DPOS?

DPOS es una solución para que los protocolos BFT puedan ser implementados en blockchains públicas, a fin de atacar los problemas relacionados con la escalabilidad que presentan los algoritmos utilizados actualmente.

Para hacer esto posible, todos los participantes de la red eligen a unos testigos que forman un grupo que cumple las condiciones requeridas para que el protocolo BFT pueda ser implementado, ya que su cantidad es definida y limitada y existe confianza parcial en ellos.

Los testigos definen una rotación de líderes, cada testigo tiene un turno dentro de la rotación para producir un bloque y cobra una recompensa por ello. Si el testigo no está disponible cuando llega su turno, debe esperar que le llegue otra vez su lugar en la rotación, y no se generará ningún bloque en el turno perdido.

El poder de voto de cada participante de la red es proporcional a su participación, por esto se considera un derivado de los algoritmos de prueba de participación. Para favorecer la descentralización, es habitual que las redes basadas en DPOS sometan a votación decisiones relacionadas con su funcionamiento, que pueden incluir las recompensas, la cantidad de testigos, el comportamiento ante bifurcaciones de la red y otras, además de que permiten penalizar a los testigos si no se comportan de acuerdo a lo esperado.

¿Entonces DPOS es el mejor algoritmo de consenso?

DPOS resuelve uno de los problemas más relevantes que tiene blockchain, al ofrecer una velocidad de transacción muy alta con bajo consumo eléctrico. Sin embargo, para lograrlo hace un sacrificio en la descentralización, ya que el procesamiento de bloques depende de un número limitado de testigos, que pueden llegar a comportarse como un ente central.

Blockchain es una tecnología que está en desarrollo, y el campo de los algoritmos de consenso está siendo objeto de investigación. Ninguna de las soluciones existentes es ideal para todos los casos, pero es positivo que existan opciones diversas que permitan a cada usuario decidir cuál es la opción más adecuada de acuerdo a los requerimientos de su aplicación particular.

Este artículo fue publicado originalmente en criptofacil, puedes verlo siguiendo este link.

DEJA UNA RESPUESTA

Please enter your comment!
Please enter your name here