Los 2 algoritmos de consenso que debes conocer

algoritmos de consenso

¿Te imaginas la típica cena de Navidad con toda la familia? Ahora, supongamos que el menú aún no ha sido decidido, y cada comensal da su opinión sobre lo que querría cenar. Probablemente llegaría el Año Nuevo y seguiríais sin acuerdo y sin cenar. O peor aún, la madre decidiría y el resto tendría que tragar con la decisión, literalmente. Por eso muchas veces, es tan importante alcanzar un consenso, no vaya a ser que se nos arruine la cena más importante del año. Para ello, la industria de las criptomonedas ha puesto de moda los algoritmos de consenso.

Introducción

En nuestro artículo sobre las redes DLT ya subrayábamos la importancia que tienen estos algoritmos. Dichos algoritmos son los mecanismos que tienen estas redes para coordinar a los nodos (nuestros comensales), y que las transacciones puedan ser incorporadas al sistema (es decir, se pueda decidir el menú). Son, por lo tanto, una parte imprescindible en el funcionamiento de estas estructuras.

Recordemos que, en las redes DLT clásicas, una de las características más valoradas es la descentralización. Esta característica implica que el poder de decisión no pertenece a ninguna persona (la madre) o grupo en particular, sino que corresponde a todo el conjunto de nodos que forman dicha red. Si todos los comensales aceptan las reglas del juego, nadie se opondrá al menú resultante.

algoritmos de consenso

En el caso de las criptomonedas, el algoritmo de consenso es lo que permite a los nodos ponerse de acuerdo en cuanto la «única fuente de verdad. Es, por lo tanto, el mecanismo que sustituye a la confianza (o autoridad) existente en los sistemas tradicionales. De esta forma, no importa que no haya confianza entre los participantes. El propio algoritmo asegura que la información incorporada sea veraz. Así, se evitan los ataques maliciosos y cualquier desarrollo no deseado en la red. Por ello, en este artículo analizamos los algoritmos más utilizados y sus debilidades y fortalezas. Los 2 algoritmos de consenso por excelencia son:

  1. Prueba de Trabajo (PoW)
  2. Prueba de Participación (PoS)
    • Delegada (DPoS)
    • Arrendada (LPoS)

Prueba de Trabajo (PoW)

El primero de estos algoritmos es el más popular y el que primero se dio a conocer gracias a la red de Bitcoin. La Prueba de Trabajo (también conocida como PoW) se llama así porque básicamente obliga a los nodos a desempeñar un determinado trabajo, con el objetivo de minar un nuevo bloque de transacciones. Es decir, es como si todos los comensales tuvieran que resolver el mismo puzzle, y el primero que lo consiguiese pudiese eligir el menú.

Cuando uno de los nodos resuelve el puzzle, decide incorporar un determinado bloque de transacciones a la red. El resto de nodos están de acuerdo en que ese bloque representa «la única verdad», y por lo tanto lo aceptan. Si alguien intentase introducir una transacción duplicada en la red, esta sería incompatible con la «única verdad» aceptada por los nodos, y por lo tanto estos la rechazarían.

La única forma de conseguir corromper a la red sería «comprar» la aceptación de la mayoría de los nodos, pero esto resulta muy caro, y por lo tanto, poco probable. Esto es lo que se llama un «ataque del 51%», pero se da sobre todo en redes poco desarrolladas debido a su menor tamaño. En redes como Bitcoin o Ethereum, este tipo de situación es muy improbable.

Funcionamiento

Ahora que ya sabemos cómo funciona a grandes rasgos este algoritmo, vamos a profundizar un poco más. En primer lugar, definamos el «puzzle». Lo que los nodos tienen que resolver es lo que se llama el «hash». La función hash sirve para transformar cualquier bloque de datos en una serie de longitud fija. Esta función es, desde un punto de vista matemático, muy fácil de verificar , pero muy difícil de resolver. Por ejemplo, si seguimos con el ejemplo de nuestro puzzle, es muy sencillo ver si nuestra solución es correcta, comparando dicha solución con la foto de la caja. Sin embargo, no es nada sencillo llegar hasta esa solución.

En el caso de la función hash, la solución se obtiene mediante múltiples intentos de prueba y error. Por ello, este algoritmo requiere una elevada potencia computacional. En este caso, no importa lo «listo» que sea el nodo, porque sus posibilidades de resolver el hash no aumentarán.

Cuando el nodo encuentra una solución, la envía al resto de los participantes para que estos puedan verificarla. De esta forma, todos están de acuerdo en que la solución es correcta. Cuando la solución ha sido verificada, el nodo puede incorporar el bloque elegido a la red, y ésta le recompensa con monedas de nueva creación, además de las comisiones pagadas por los usuarios. Todo este proceso es lo que se denomina «minería de criptomonedas».

Ventajas

La principal ventaja de este algoritmo es su elevado nivel de seguridad. Al requerir una gran potencia computacional, no resulta sencillo que la red sea atacada. Además, como la dificultad del problema se ajusta al número de nodos existentes, el tiempo de resolución se mantiene. Esto es muy importante en términos de la escalabilidad de la criptomoneda.

Otra ventaja es la igualdad existente entre los nodos. Una vez que éstos se conectan a la red, todos tienen las mismas posibilidades de resolver la función hash. Así, no hay nodos con ventaja sobre otros, y la red se mantiene de manera democrática.

En último lugar, el hash de cada bloque está relacionado con el del bloque anterior. Esto permite que exista coherencia en toda la red. De hecho, no es posible modificar un bloque sin afectar a todos los bloques subsiguientes. De ahí que las transacciones se consideren más irreversibles cuanto mayor sea el número de bloques minados después.

Desventajas

Sin embargo, este algoritmo no está exento de problemas. Por un lado, ya hemos comentado la potencia computacional que requiere resolver el hash. Cuando la red es pequeña, esta potencia puede ser asumida por casi cualquier equipo, incluso un ordenador personal. Sin embargo, conforme la red va creciendo, la exigencia también lo hace. Llega un momento en que un ordenador no es suficiente, y es necesario contar con equipamiento especializado. Además, ocurre que si parte de los nodos actuales ya no son capaces de resolver el problema, dejarán de participar en él. A largo plazo, esto concentra el poder de decisión en unos pocos nodos, lo que reduce la descentralización.

Por otro lado, este coste computacional genera un gran gasto de energía, lo que no es muy popular en un contexto de transición energética como el actual. Según algunas estimaciones, la red de Bitcoin genera un gasto energético anual mayor al de países como Suecia o Noruega. Esto ha sido duramente criticado en múltiples ocasiones.

En último lugar, y relacionado con el punto anterior, existe una gran polémica alrededor de la utilidad de este algoritmo. Al final, estamos hablando de realizar continuos intentos de prueba y error para resolver un problema que en realidad no existe. La resolución del hash no aporta ningún tipo de valor a ningún ámbito de la sociedad. Únicamente se utiliza para que la red de Bitcoin, entre otras, pueda seguir funcionando. Por ello, mucha gente reclama que tanto gasto energético es un sinsentido, incluso aunque venga de fuentes renovables.

Prueba de Participación (PoS)

Con la Prueba de Trabajo, nuestra entrañable familia ya no tiene ningún problema para elegir el menú de Navidad. Sin embargo, este proceso es lento y requiere un esfuerzo que no todos los miembros quieren realizar. Por eso, deciden idear un método igual de eficaz, pero más ágil y rápido. Así es como nace la Prueba de Participación. Este algoritmo está basado en algo tan simple como «tanto tienes, tanto vales». Precisamente, en su simplicidad radica su éxito.

Imaginemos que nuestros comensales deciden sortear la decisión del menú, pero teniendo en cuenta el contenido de los bolsillos de cada uno. Por cada 5€ de valor en el bolsillo, se obtiene un número, y cuando todos tienen sus papeletas, se realiza el sorteo, igual que en la Lotería. Obviamente, cada papeleta cuenta con las mismas posibilidades. Por eso, aquel comensal que tenga más papeletas tendrá más opciones de ganar. Este es, a grandes rasgos el funcionamiento de la Prueba de Participación.

Cada vez que un bloque es añadido a la red, el sorteo se vuelve a realizar, por lo que todos los participantes vuelven a contar con posibilidades de salir elegidos. Así, se mantiene la democracia del sistema. En la actualidad, existen muchas criptomonedas que utilizan PoS. De hecho, algunas como Ethereum han cambiado su protocolo PoW a PoS por considerarlo más ventajoso.

Funcionamiento

En realidad, el funcionamiento de este algoritmo tiene en cuenta varios factores. Uno de los más determinantes, sin duda, es la posesión de criptomonedas de cada nodo o, mejor dicho, el número de criptomonedas que dicho nodo está dispuesto a «bloquear». Digamos que, durante el sorteo, los nodos deben poner una fianza en forma de criptomonedas. Esta fianza es lo que se considera el «stake», y es lo que aumenta o disminuye las probabilidades de éxito de cada nodo en el sorteo. Cuanto mayor es la fianza depositada, mayores serán las posibilidades del nodo (lo que en inglés se conoce como «staking«).

Además, este algoritmo tiene en cuenta otros factores, como el tiempo que el nodo se ha mantenido conectado a la red. De esta forma, se premia a los nodos que más están colaborando para que la red tenga éxito y siga funcionando. Una vez que ha concluido la selección del nodo, este puede realizar su función (validar y registrar el bloque), y recibir la recompensa correspondiente.

Cuando ha concluido el proceso, los nodos tienen la posibilidad de incrementar la fianza depositada para mejorar sus posibilidades, y el sorteo vuelve a empezar. Al tratarse de un sorteo aleatorio sin un gran trabajo matemático detrás, el esfuerzo computacional es menor que el de la Prueba de Trabajo, y ese es uno de los aspectos más apreciados de este algoritmo.

Prueba de Participación Arrendada (LPoS)

Existen algunas variantes del algoritmo de Prueba de Participación. Una de ellas es la Prueba de Participación Arrendada (LPoS). En esta variante, los usuarios tienen la posibilidad de “prestarle” sus monedas a otros nodos participantes. Después, todos los nodos entran en un sorteo en el que la red sortea qué nodo validará el bloque, y luego este comparte las comisiones obtenidas entre sus prestamistas.

Este sistema pretende dar algo más de poder de decisión a los usuarios con menor capacidad. Además, el préstamo de votos no es fijo, por lo que el número de nodos validadores de la red es dinámico.

Prueba de Participación Delegada (DPoS)

La otra gran variante de PoS es la Prueba de Participación Delegada (DPoS). Este algoritmo funciona de manera similar a un sistema democrático. Los propietarios de las monedas votan a sus delegados, y el delegado elegido será el que finalmente valide el bloque y cobre las comisiones.

Este sistema es, por lo tanto, descentralizado porque cualquiera puede ser votado por los participantes y los delegados no pueden cometer ninguna falta a riesgo de ser expulsados por sus votantes. Por otro lado, aquel nodo con mayores recursos seguirá teniendo un mayor poder de votación. Además, el hecho de que el poder de decisión sólo se concentre en un grupo de delegados hace que sea más plausible un ataque del 51% o la coalición entre los propios delegados.

Ventajas

Las ventajas del algoritmo de Prueba de Participación se pueden extraer como comparación con la Prueba de Trabajo. La Prueba de Participación exige mucha menos potencia computacional, lo que la convierte en una alternativa más respetuosa con el medio ambiente y mucho más escalable. Además, permite un mayor nivel de descentralización, ya que no existen barreras de entrada para nuevos nodos.

Por último, es también importante destacar que este algoritmo se puede considerar plenamente seguro. Al decidirse el minero del bloque por un proceso aleatorio, no resulta sencillo que un nodo malicioso pueda atacar la red. No es suficiente con poseer el 50% de los tokens de la red, ya que eso no garantizaría salir elegido. Por lo tanto, este algoritmo es incluso más seguro que la Prueba de Trabajo, al menos ante cierto tipo de ataques.

Desventajas

En el lado de las desventajas, probablemente su mayor inconveniente es el alto grado de participación exigido. La red premia no solo la posesión de tokens, sino también el tiempo de conexión a la red y otros factores. Esto hace que sea necesario un nivel de conexión muy elevado para mantener probabilidades significativas, lo que podría abrir fallas de seguridad en las conexiones de dichos usuarios.

Por otro lado, al premiar de forma significativa a los nodos con mayor participación, los nodos pequeños tendrán un peso muy pequeño en la toma de decisiones. Teóricamente podrán salir elegidos, pero esto ocurrirá un número pequeño de veces por una mera cuestión estadística. A largo plazo, esto puede concentrar la toma de decisiones en unos pocos nodos, y reducir por tanto la descentralización.

Conclusión

Con todo lo visto anteriormente, ya hemos descubierto varias alternativas para que nuestra entrañable familia pueda decidir el menú navideño sin mayor problema. Sin embargo, cualquier proceso de elección tiene sus desventajas. Probablemente no exista el algoritmo de consenso perfecto, pero sí se debe buscar uno que se adapte a las necesidades de cada criptomoneda.

Factores como la escalabilidad, la facilidad de implementación, la descentralización o la seguridad son claves a la hora de diseñar estos algoritmos. Por ello, estos elementos determinarán lo adecuado (o no) que cada algoritmo es según las necesidades que tengamos.

Related articles

polkadot

Guía completa de Polkadot y su token DOT. ¿Cómo funcionan?

Origen Uno de los aspectos en el ecosistema blockchain que menos se ha abordado es la interoperabilidad en tre las redes. Hasta ahora hemos analizado redes que, aunque incluyeran Smart Contracts o DApps, funcionaban de forma estanca, esto es, sin relación entre ellas. Sin embargo, hay algunos proyectos pioneros cuyo objetivo principal es acabar con […]

Learn More
cardano

Guía completa de Cardano y su token ADA. ¿Cómo funcionan?

En el artículo de hoy vamos a hablar de Cardano y de la criptomoneda con la que opera, que es ADA. Cardano es considerada por sus creadores como la primera blockchain de tercera generación. Bitcoin sería la mejor representante de la primera generación, por limitarse a permitir transacciones simples. Con la incorporación de los Smart […]

Learn More
bitcoin, ether, ripple

Bitcoin y cómo convertirse en el nuevo oro digital

A finales de 2008, bajo el nombre de Satoshi Nakamoto, fue publicado el whitepaper de Bitcoin. En él, se detalla el origen y funcionamiento de un nuevo sistema de registro de transacciones. Bitcoin se define como un protocolo p2p (del inglés, «peer to peer», es decir, de usuario a usuario) basado en tecnología blockchain. Este […]

Learn More

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.