Mecanismos de Consenso en Blockchain

Autor: Damian
Publicado el abril 4, 2019

Introducción

Antes de desarrollar los diferentes protocolos o mecanismos de consenso, refresquemos un poco para qué son éstos necesarios en la blockchain.

Las blockchains por sí solas, no son descentralizadas, es decir, requieren de un ente, sistema u organismo que valide que los bloques que se van a añadir a la cadena sean correctos, y por ende aprobados.

Pero para que una blockchain sea descentralizada, es decir que no dependa de un ente centralizado, se introdujo un sistema(mecanismos de consenso) mediante el cual las validaciones de las transacciones las dan los mismos participantes de la red que la componen. Es decir, la blockchain provee una forma segura y flexible de organizar la información que, al combinarse con un protocolo de consenso, da como resultado un sistema descentralizado. La confianza en el sistema se produce a través de un mecanismo de consenso, que es el responsable de mantener la integridad y seguridad de los sistemas descentralizados o distribuidos.


Prueba de Trabajo (Proof-of-Work)

Este fue el mecanismo planteado por Bitcoin para resolver el hasta entonces problema no resuelto de la descentralización. Como su nombre lo indica, para validar una transacción, es necesario que se demuestre la realización de algún tipo de trabajo. Y este es el trabajo que realizan los mineros de la red Bitcoin. Ellos deben realizar un trabajo (cálculo computacional) que sea muy costoso para ellos, pero fácil de verificar para el resto de la comunidad. Los mineros compiten para resolver un problema que propone la red y cuando uno llega a la solución (bloque) la emite hacia el resto de los nodos. Si el resto de la red acepta la solución como válida, se suma el nuevo bloque a la cadena y se le otorga un beneficio económico al minero que consiguió el resultado.

PoW es considerado el algoritmo más sencillo y al mismo tiempo el más sostenible. No es el más rápido, pero sí es firme y seguro. Otra de sus desventajas es el excesivo uso de energía que consume el proceso de minado. Asimismo, la escalabilidad de su blockchain se presenta como otra limitante.


Prueba de Participación (Proof-of-Stake)

POS es uno de los mecanismos de consenso más populares. Este sistema es muy parecido a la votación que se da entre los accionistas de una empresa, en donde el que posee una mayor cantidad de acciones tiene mayor autoridad.

Esto es así porque aquellos usuarios que tienen mayor cantidad de monedas, son los mayores interesados en hacer que su blockchain funcione de forma correcta.

La ventaja de este mecanismo es que es un sistema sencillo que motiva a los validadores a ser honestos. Es además más rápido, pero resuelve sólo parcialmente las limitantes de escalabilidad de PoW. La desventaja radica en que es difícil construir un sistema basado en PoS que considere todos los posibles escenarios donde haya un comportamiento malicioso, es decir es más vulnerable a ataques, es menos seguro. Ejemplos de protocolos que utilicen este mecanismo de validación son Cardano ADA, Dash y NEO


Prueba de Participación Delegada (Delegated-Proof-of-Stake)

La idea principal detrás de DPoS es que cada usuario puede votar por su delegado, los cuales son los encargados de aprobar las transacciones. En general, las identidades de estos delegados se conocen. Por lo que se pueden elegir personas respetadas por la comunidad para que realicen esta tarea, quienes son elegidas por personas regulares a través del voto.

Este mecanismo tiene además en cuenta la cantidad de monedas de cada delegado. Cuantas más monedas del blockchain se posean, mayor será la influencia en una elección.

Debido a que este algoritmo presenta una cantidad limitadas de validadores, esto genera una mayor capacidad y velocidad en la confirmación de transacciones. Sin embargo, este mecanismo de consenso no asegura precisamente la descentralización de la red en la que opera. Un ejemplo que utiliza este protocolo es BitShares, que habiendo implementado DPoS, es capaz de competir con sistemas centralizados de pagos como Visa o MasterCard.


Prueba de Importancia (Proof-of-Importance)

PoI es como una versión extendida de PoS. Además de considerar la cantidad de monedas que los participantes poseen, el algoritmo reconoce la componente de comportamiento entre ellos. Por ejemplo, para determinar quién valida una transacción considera factores de cuántas, cuándo y cómo las monedas son utilizadas por los potenciales validadores. El sistema penaliza a los participantes que no transfieren sus monedas durante determinado período y al mismo tiempo favorece a los que sí. De esta forma se busca evitar la situación en donde los ricos se vuelven más ricos, logrando así mayor descentralización. Una de las implementaciones más populares de PoI es NEM, quien fue quien introdujo este mecanismo de validación.


Acuerdo Bizantino Federado (Federated-Byzantine-Agreement)

Este mecanismo de consenso permite alcanzar consenso entre un gran número de participantes, cuyo total se desconoce. Cada participante elige confiar en un número limitado de personas o grupo de otros participantes, formando lo que se conoce como un círculo de confianza, en donde se alcanza el consenso. Eventualmente algún participante de un grupo tiene confianza con el de otro, haciendo que sea posible el consenso en toda la red.

Se podría trazar un paralelismo con la semilla de la revolución en la sociedad. Las personas difunden la palabra de boca en boca. Como resultado la sociedad se vuelve entusiasta con una idea general debido a que las personas interactúan con distintos grupos.


Conclusión

Hemos visto sólo algunos de los mecanismos de consenso más populares que han sido puestos a pruebas en el mundo real. Hay muchos otros que no hemos siquiera mencionado.

Como vimos, existe un trade-off entre centralización y eficiencia. Cuanto más centralizado es el proceso de toma de decisiones, más rápido se puede tomar la decisión y más escalable es la red. Por otro lado, cuanto menos centralizada es la red, más se tarda en llegar a un consenso. Por este motivo, es preciso tener en consideración que ninguno de los mecanismos es absolutamente perfecto para todos los casos particulares en los que se plantea. Todo depende de los requerimientos del sistema y de los objetivos que se busque alcanzar con la blockchain. Cada uno tiene sus ventajas y desventajas.

Asimismo, los protocolos son actualizados en forma permanente y se encuentran en constante evolución. Y muchos otros se encuentran aún en etapa de investigación y desarrollo. El tiempo dirá si es posible encontrar el protocolo ideal entre los mecanismos de consenso y que pueda ser compatible con todas las necesidades.