Diccionario de Criptomonedas

¿Qué es un Algoritmo de Consenso en Blockchain?

Los cadenas de bloques o blockchains no son descentralizadas por defecto, por eso es que se requiere de protocolos de consenso. En este articulo vamos a conocer en profundidad como trabajan los algoritmos de consenso y ver ejemplos de alguno de los más populares.

Cada blockchain posee una serie de características y propiedades que dependen exclusivamente de los problemas a los que se debe enfrentar. Este concepto implica que podemos tener una cantidad infinitas de blockchains dependiendo de las necesidades de las personas.

En función de hacer un articulo muy ameno para su lectura y que no se repita en los conceptos, profundizaremos solo en aquellos mecanismos populares. Además, comprenderemos como funcionan y cuando y por qué necesitamos uno u otro mecanismo, de esta forma obtendremos una mejor comprensión de la tecnología desde un punto de vista practico.

Pero antes de pasar a ver cada uno de los algoritmos, lo primero que tenemos que hacer es entender por qué los necesitamos realmente.

Blockchain es un medio para organizar la información

Consideremos al blockchain en varios aspectos que lo caracterizan:

  • Un nuevo enfoque para organizar bases de datos
  • Un versionado de todos los cambios que han ocurrido
  • Un arreglo de datos en la cadena de bloques, a diferencia de procesar el ultimo estado en un sistema de contabilidad

Como pueden ver no encontramos ninguna referencia a la descentralización. Esto se debe a que blockchain por si solo no se organiza como relaciones sin confianza en un entorno descentralizado. Blockchain solo provee una forma segura y flexible de organizar la información, que al combinarse con un algoritmo de consenso da como resultado un sistema particularmente o completamente descentralizado.

En resumidas cuentas. La tecnología blockchain te permite construir base de datos estructuradas en bloques que almacenan todos los cambios de información. Pero siempre que necesitemos organizar relaciones sin confianza en un entorno descentralizado, no existe manera de evitar el mecanismo de consenso.

¿Que hace un mecanismo de consenso?

La verdad es que es algo sencillo. La palabra consenso indica que es una forma de llegar a un acuerdo. En un sistema descentralizado donde no exista un consenso común este acabara por desaparecer. No importa si los participantes del sistemas se tienen plena confianza o no. Todos ellos necesitan llegar a un acuerdo de ciertos principios y funcionalidades que serán comunes para todos. Y ese es el rol del mecanismo de consenso.

En estos momentos existe varias alternativas para los mecanismo o algoritmos de consenso. Pero antes de que pasemos a revisar los más populares es importante entender dos cosas:

  1. No existe hasta ahora un método para alcanzar consenso de forma universal
  2. Tampoco existe un algoritmo que sea mejor que otro, todo depende de los requerimientos del sistema.

Tipos de algoritmos de consenso

Prueba de Trabajo (PoW)

En otra oportunidad hemos visto la diferencia entre los dos algoritmos de consenso más conocidos, pero no viene mal hacer un repaso y que además sirva de introducción para los otros que aquí veremos.

La explicación de este mecanismo se encuentra en su mismo nombre. En función de validar las transacción, es necesario que demuestres que has realizado algún tipo de trabajo. Estas reglas prevén que el sistema sea atacado creando falsos votantes. Cuanto más trabajos realices, mayor será la posibilidad de que propongas el próximo bloque en la cadena, y así obtengas recompensa.

Hay que considerar que en este consenso existen probabilidades y no reglas generales. Si tenemos un boleto de lotería y otra persona tiene diez, no significa que estemos condenados a perder.

PoW (por sus siglas en ingles) es considerado el algoritmo más sencillo y al mismo tiempo el más sostenible. No es el más rápido, pero si es firme. Característica que lo diferencia de otras formas de consenso.

En función de tener más chances de ganar, los usuarios buscaran en todo momento realizar una mayor cantidad de trabajo. En el caso de Bitcoin, hablamos del equipamiento de minería, lo que usualmente lleva a un tipo de carrera armamentista en la que se intenta tener el mayor poder computacional.

Prueba de Participación (PoS)

Este sistema es muy parecido a la votación que se da entre los accionistas de una compañía, en donde el que tenga una mayor cantidad de acciones tiene mayor autoridad. Por lo que no es acerca de la cantidad de votantes, sino el peso que estos tienen.

Aquellos usuarios que tengan una mayor cantidad de monedas, o participaciones, tienen el mayor incentivo para hacer que el blockchain funciona de forma correcta. Además de esto, esta forma de consenso se preocupa por mantener la red segura de todo tipo de ataques, fallas, confirmación de transacciones falsas y otros tipos de problemas.

La ventaja del algoritmo es que un sistema simple que motiva a los validadores a ser honestos. La desventaja radica en que es difícil construir un sistema basado en PoS (por sus siglas en ingles) que considere todos los posibles escenarios donde haya un comportamiento malicioso.

En PoW, un ataque del 51% es teóricamente posible, aunque en realidad no tiene mucho sentido para los atacantes. Mientras que el sistema enfrentaría graves problemas si más de la mitad de los accionistas confabulan entre ellos, aparentemente el diseño es mucho más complejo que el de PoW.

Por el momento, no existe un sistema resistente comprobado y garantizado en el tiempo que este basado en PoS en un entorno anónimo, todos están en la etapa de desarrollo.

Prueba de Participación Delegada (DPoS)

La idea principal detrás de DPoS (por sus siglas en ingles) es que cada usuario puede votar por su delegado, aquellos que aprueba las transacciones. En general, las identidades de estos delegados se conocen. Por lo que se puede elegir personas respetadas por la comunidad para realicen esta tarea, quienes han sido elegidos por las personas regulares a través del voto.

En este sienta también se tiene en cuenta la cantidad de votos. Cuantas mas monedas del blockchain se posean, mayor será la influencia en una elección.

Debido a que este algoritmo presente una cantidad limitadas de validadores, esto genera una mayor capacidad y velocidad en la confirmación de transacciones. El mejor ejemplo de esto es BitShares, que siendo un sistema descentralizado que ha implementado DPoS, es capaz de competir con sistemas centralizados como Visa o MasterCard. Con este sistema se alcanza un compromiso entre capacidad y descentralización.

Prueba de Importancia (PoI)

PoI (por sus siglas en ingles) 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, donde, cuando y como las monedas son transferidas. De esta forma puedes eliminar la situación en donde los ricos se vuelven más ricos. Una de las implementaciones más populares de PoI es NEM.

Multifirma / Tolerancia a Faltas Bizantinas (BFT)

Estos algoritmos tiene como objetivo principal alcanzar el consenso dentro de un grupo pequeño de personas. En el caso de multifirma es solo una pocos participantes, en BFT (por sus siglas en ingles), docenas.

BFT tiene sentido cuando todos los participantes en el proceso se conoce entre ellos y son no son propensos a cambiar. Un buen ejemplo es la votación de los compañeros de piso sobre el tema de las reparaciones.

Acuerdo Bizantino Federado (FBA)

FBA (por sus siglas en ingles) fue inicialmente utiliza por Ripple y luego mejorado por Stellar. El mecanismo permite alcanzar consenso entre un gran numero de participantes, cuyo total se desconoce.

Cada participantes elige confiar en un limitado numero de personas, grupo, de otros participantes, formando lo que se conoce como un circulo de confianza en donde se alcanza fácilmente 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 al 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 interactuamos con distintos grupos.

Conclusión

En este post hemos visto los mecanismos de consenso más populares, que han sido puesto a pruebas en el mundo real. Pero hay que tener en consideración que ninguno de estos es absolutamente perfecto y no hay ninguna solución universal para entornos parciales o completos de descentralización. Cada uno tiene sus pros y sus contras.

Por otro lado, los algoritmos son constantemente actualizados y complementados con varias mejoras. Algunas veces estos acaban por ser una mezcla entre varios consensos formando un híbrido.

Como podrán ver, la creatividad en este sector es de vital importancia. Y esto es una buena noticia, ya que un blockchain sin consenso es como un teléfono inteligente sin una conexión de internet, podría ser útil pero no del todo.

Acerca del autor

Hardwareate

Me llamo Martin, soy ingeniero y apasionado de las inversiones y la tecnología. Me gusta mucho leer libros y todo aquello que me haga mejorar día a día.

Agrega un Comentario

Haz clic aquí para añadir un comentario

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

Suscribete

Precio de Criptomonedas