Una guía para comprender los algoritmos de consenso de Blockchain
Publicado: 2019-10-21Blockchain es una red distribuida descentralizada que ofrece mayor transparencia, seguridad e inmutabilidad.
¡¡Todos lo sabemos !!
Pero, ¿alguna vez te has preguntado cómo es capaz de conseguir todo esto?
¿Quién gobierna esta red y verifica cada transacción, siempre que no haya una autoridad centralizada?
¡Suena Interesante verdad!
Bueno, son los algoritmos de consenso de Blockchain: la parte central del mundo de desarrollo de Blockchain de la que hablaremos en esta guía completa.
TABLA DE CONTENIDO:
- Definición del algoritmo de consenso de Blockchain
- Objetivos de un mecanismo de consenso
- Algoritmos de consenso de blockchain que son populares en el mercado
- Propiedades de un buen mecanismo de consenso de Blockchain
- Consecuencias de confiar en un protocolo de consenso incorrecto
- Preguntas frecuentes
- Conclusión
¿Qué es el algoritmo de consenso de Blockchain?
La respuesta más simple a lo que es el algoritmo de consenso de Blockchain es que es un procedimiento a través del cual todos los pares de una red de Blockchain obtienen cada aceptación o consenso común sobre el estado en tiempo real del libro mayor distribuido.
Un mecanismo de consenso permite que la red blockchain alcance confiabilidad y genere un nivel de confianza entre diferentes nodos, al tiempo que garantiza la seguridad en el entorno. Esta es la razón por la que es una de las partes vitales de cada guía de desarrollo de aplicaciones Blockchain y cada proyecto dApp en el entorno de contabilidad distribuida.
Estos algoritmos operan sobre la base de diferentes objetivos, algunos de los cuales cubriremos en la siguiente sección de este artículo.
Objetivos del Mecanismo de Consenso de Blockchain
1. Acuerdo Unificado
Uno de los principales objetivos de los mecanismos de consenso es lograr un acuerdo unificado.
A diferencia de los sistemas centralizados en los que es necesario confiar en la autoridad , los usuarios pueden operar incluso sin generar confianza entre ellos de manera descentralizada. Los protocolos integrados en la red de cadena de bloques distribuida garantizan que los datos involucrados en el proceso sean verdaderos y precisos, y que el estado del libro público esté actualizado.
2. Alinear el incentivo económico
Cuando se trata de construir un sistema sin confianza que se regule por sí mismo, es imprescindible alinear los intereses de los participantes en la red.
Un protocolo blockchain de consenso , en esta situación, ofrece recompensas por el buen comportamiento y castiga a los malos actores. De esta forma, se asegura regular también los incentivos económicos .
3. Justo y equitativo
Los mecanismos de consenso permiten que cualquier persona participe en la red y utilice los mismos conceptos básicos. De esta manera, justifica la propiedad de código abierto y descentralización del sistema blockchain.
4. Evite el doble gasto
Los mecanismos de consenso funcionan sobre la base de ciertos algoritmos que garantizan que solo se incluyan en el libro mayor público transparente aquellas transacciones que estén verificadas y sean válidas. Esto resuelve el problema tradicional del doble gasto, es decir, el problema de gastar dos veces una moneda digital.
5. Tolerante a fallas
Otra característica del método Consensus es que asegura que la cadena de bloques sea tolerante a fallas, consistente y confiable. Es decir, el sistema gobernado funcionaría por tiempo indefinido incluso en caso de fallas y amenazas.
Actualmente, hay una gran cantidad de algoritmos de consenso de Blockchain en el ecosistema y muchos más se dirigen a ingresar al mercado. Esto hace que sea imperativo que todas las empresas de desarrollo de Blockchain y los emprendedores entusiastas estén familiarizados con los factores que definen un buen protocolo de consenso y el posible efecto de optar por uno deficiente.
Habiendo cubierto los conceptos básicos de los métodos de consenso de Blockchain , profundicemos en el tema y veamos los tipos populares de mecanismos de consenso.
Algoritmos de consenso de blockchain populares en el mercado
1. Prueba de trabajo (PoW)
Desarrollado por Satoshi Nakamoto , la Prueba de trabajo es el mecanismo de consenso más antiguo utilizado en el dominio Blockchain. También se conoce como minería donde los nodos participantes se denominan mineros.
En este mecanismo, los mineros tienen que resolver acertijos matemáticos complejos utilizando un poder de cómputo integral. Utilizan diferentes formas de métodos de minería, como minería GPU, minería CPU, minería ASIC y minería FPGA. Y el que resuelve el problema lo antes posible recibe un bloque como recompensa.
Sin embargo, el proceso no es tan fácil. Un rompecabezas solo se puede resolver mediante el método de prueba y error. Además, el nivel de complejidad del rompecabezas aumenta con la velocidad a la que se extraen los bloques. Por lo tanto, se vuelve obligatorio para uno crear un nuevo bloque dentro de un cierto período de tiempo para hacer frente al nivel de dificultad.
El mecanismo de Prueba de trabajo es utilizado por múltiples criptomonedas como Bitcoin, Litecoin, ZCash, Primecoin, Monero y Vertcoin, por nombrar algunas.
El algoritmo de Bitcoin explicado en este mecanismo utiliza el nonce como un valor aleatorio para variar la salida del valor hash. En el algoritmo de consenso de bitcoin, cada bloque está destinado a generar un valor hash, y el nonce es el parámetro que se utiliza para generar ese valor hash.
En términos de sus implementaciones, la Prueba de trabajo (PoW) no solo ha influido en la industria financiera, sino también en la atención médica, la gobernanza, la gestión y más. De hecho, ha ofrecido la oportunidad de pagos multicanal y transacciones con varias firmas a través de una dirección para mejorar la seguridad.
2. Prueba de participación (PoS)
La prueba de participación es la alternativa más básica y respetuosa con el medio ambiente del protocolo de consenso PoW.
En este método de cadena de bloques, los productores de bloques no son mineros, sino que actúan como validadores. Tienen la oportunidad de crear un bloque sobre todos, lo que ahorra energía y reduce el tiempo. Sin embargo, para que se conviertan en validadores, se supone que deben invertir una cierta cantidad de dinero o participación.
Además, a diferencia del caso de PoW, los mineros tienen el privilegio de tomar sus tarifas de transacción en este algoritmo porque no hay un sistema de recompensas en este modelo de consenso.
Esto, en su conjunto, animó a marcas como Ethereum a actualizar su modelo de PoW a PoS en su actualización Ethereum 2.0 . Además, ayudó a varios ecosistemas de Blockchain como Dash, Peercoin, Decred, Reddcoin y PivX a funcionar correctamente.
Ahora, aunque PoS resolvió varios problemas anteriormente asociados con PoW, aún quedaban muchos desafíos por resolver en el mercado. Para mitigar esos desafíos y ofrecer un entorno blockchain mejorado, surgieron varias variaciones de PoS.
Las dos variaciones populares de Prueba de participación (PoS) son DPoS y LPoS.
- Prueba de participación delegada (DPoS)
En el caso de la Prueba de participación delegada (DPoS), los participantes apuestan su moneda y votan por un cierto número de delegados, de modo que cuanto más invierten, más ponderación reciben. Por ejemplo: si el usuario A gasta 10 monedas para un delegado y el usuario B invierte 5 monedas, el voto de A tiene más peso que el de B.
Los delegados también son recompensados en forma de tarifas de transacción o una cierta cantidad de monedas.
Debido a este mecanismo de votación con participación ponderada, DPoS es uno de los modelos de consenso de cadena de bloques más rápidos y muy preferido como democracia digital. Algunos de los casos de uso de la vida real de este mecanismo de consenso de blockchain son Steem, EOS y BitShares.
- Prueba de participación arrendada (LPoS)
LPoS es una versión mejorada del mecanismo de consenso PoS que opera en la plataforma Waves .
A diferencia del método de prueba de participación habitual, en el que cada nodo con cierta cantidad de criptomonedas tiene derecho a agregar la siguiente cadena de bloques, los usuarios pueden arrendar su saldo a nodos completos en esta cadena de bloques de algoritmo de consenso. Y el que arrienda la mayor cantidad al nodo completo tiene una mayor probabilidad de generar el siguiente bloque. Además, el arrendatario es recompensado con un porcentaje de la tarifa de transacción que ha cobrado el nodo completo.
Esta variante de PoS es una opción eficiente y segura para el desarrollo de criptomonedas públicas.
3. Prueba de Autoridad
La prueba de autoridad es una versión modificada de la prueba de participación en la que están en juego las identidades de los validadores en la red. En este, para verificar la identidad del validador, la identidad es la semejanza entre la identificación personal de los validadores y su documentación oficial. Estos validadores ponen su reputación en la red. En Prueba de autoridad, los nodos (que se convierten en validadores) son los únicos que pueden producir nuevos bloques. Se incentiva a los validadores cuya identidad está en riesgo a asegurar y preservar la red de la cadena de bloques. En esta prueba, el número de validadores es bastante pequeño, alrededor de 25 o menos.
4. Tolerancia a fallas bizantinas (BFT)
La tolerancia a fallas bizantinas, como sugiere su nombre, se usa para lidiar con las fallas bizantinas (también llamadas problemas de los generales bizantinos), una situación en la que los actores del sistema tienen que ponerse de acuerdo sobre una estrategia efectiva para evitar fallas catastróficas del sistema, pero algunos de ellos son dudosos.
Obtenga más información sobre el problema de los generales bizantinos a través de este video: -
Las dos variaciones del modelo de consenso BFT que son principales en el campo de Blockchain son PBFT y DBFT.
- Tolerancia práctica a fallas bizantinas (PBFT)
PBFT es un algoritmo de cadena de bloques liviano que resuelve los problemas del general bizantino al permitir que los usuarios confirmen los mensajes que se les han entregado al realizar un cálculo para evaluar la decisión sobre la validez del mensaje.
Luego, el grupo anuncia su decisión a otros nodos que, en última instancia, procesan una decisión al respecto. De esta forma, la decisión final se basa en las decisiones recuperadas de los otros nodos.
Stellar, Ripple e Hyperledger Fabric son algunos casos de uso de este mecanismo de consenso de blockchain.
- Tolerancia a fallas bizantinas delegada (DBFT)
Introducido por NEO, el mecanismo Delegado de Tolerancia a Fallos Bizantinos es similar al modelo de consenso DPoS. Aquí también, los poseedores de tokens NEO tienen la oportunidad de votar por los delegados.
Sin embargo, esto es independiente de la cantidad de moneda que inviertan. Cualquier persona que cumpla con los requisitos básicos, es decir, una identidad verificada, equipo adecuado y 1,000 GAS , puede convertirse en delegado. Luego, uno de esos delegados es elegido como orador al azar.
El hablante crea un nuevo bloque a partir de la transacción que está esperando a ser validada. Además, envía una propuesta a los delegados votados que tienen la responsabilidad de supervisar todas las transacciones y registrarlas en la red. Estos delegados tienen la libertad de compartir y analizar las propuestas para comprobar la veracidad de los datos y la honestidad del ponente. Si, entonces, 2/3 de los delegados lo validan, el bloque se agrega a la cadena de bloques.
Este tipo de protocolo de consenso de Blockchain también se denomina 'Ethereum de China' y puede ser un recurso útil para construir una 'economía inteligente' mediante la digitalización de activos y la oferta de contratos inteligentes en la cadena de bloques.
5. Gráfico acíclico directo (DAG)
Otro modelo de consenso de blockchain básico pero principal con el que todas las empresas de servicios de desarrollo de aplicaciones móviles que trabajan con Blockchain deben estar familiarizados es DAG.
En este tipo de protocolo de consenso de Blockchain, cada nodo se prepara para convertirse en 'mineros'. Ahora, cuando los mineros son erradicados y las transacciones son validadas por los propios usuarios, la tarifa asociada se reduce a cero. Se vuelve más fácil validar transacciones entre dos nodos más cercanos, lo que hace que todo el proceso sea liviano, rápido y seguro.
Los dos mejores ejemplos de algoritmos DAG son IOTA y Hedera Hashgraph .
Aunque estos son los principales modelos de consenso en el entorno de desarrollo, muchos mecanismos diferentes de consenso de blockchain han comenzado a ganar impulso lenta y gradualmente, como:
6. Prueba de Capacidad (PoC)
En el mecanismo de Prueba de capacidad (PoC), las soluciones para cada rompecabezas matemático complejo se acumulan en almacenamientos digitales como discos duros. Los usuarios pueden usar estos discos duros para producir bloques, de manera que aquellos que son más rápidos en evaluar las soluciones tienen mejores oportunidades para crear bloques.
El proceso que sigue se llama Trazar. Las dos criptomonedas que se basan en el protocolo de consenso de la cadena de bloques PoC son Burstcoin y SpaceMint.
7. Prueba de quemado (PoB)
Considerado una solución alternativa a PoW y PoS en términos de consumo de energía, el modelo de consenso de prueba de quemado (PoB) funciona según el principio de permitir que los mineros "quemen" o "arruinen" los tokens de criptomonedas virtuales, lo que les brinda un privilegio adicional para escribir bloques en proporción a las monedas. Cuantas más monedas quemen, mayores serán las posibilidades de elegir el nuevo bloque por cada moneda que obtengan.
Pero, para quemar monedas, deben enviarlas a la dirección donde no se pudieron gastar para verificar el bloque.
Esto se emplea ampliamente en el caso del consenso distribuido. Y el mejor ejemplo de este mecanismo de consenso es la moneda Slim.
8. Prueba de identidad (PdI)
El concepto de PdI (Prueba de Identidad) es como el de la identidad autorizada. Es una pieza de confirmación criptográfica de la clave privada de un usuario que se adjunta a cada transacción en particular. Cada usuario identificado puede crear y administrar un bloque de datos que se puede presentar a otros en la red.
Este modelo de consenso de blockchain garantiza la autenticidad y la integridad de los datos creados. Y por lo tanto, es una buena opción para introducir ciudades inteligentes.
9. Prueba de actividad (PoA)
PoA es básicamente un enfoque híbrido diseñado a través de la convergencia de los modelos de consenso de cadena de bloques PoW y PoS.
En el caso del mecanismo PoA, los mineros compiten para resolver un rompecabezas criptográfico lo antes posible utilizando hardware especial y energía eléctrica, al igual que en PoW. Sin embargo, los bloques con los que se encuentran solo contienen información sobre la identidad del ganador del bloque y la transacción de recompensa. Aquí es donde el mecanismo cambia a PoS.
Los validadores (accionistas designados para validar transacciones) prueban y aseguran la corrección del bloque. Si el bloque fue verificado muchas veces, los validadores se activan a un bloque completo. Esto confirma que las transacciones abiertas son procesos y finalmente se integran en los contenedores de bloques encontrados.
Además, la recompensa del bloque se divide para que los validadores obtengan acciones.
Las dos implementaciones reales de este mecanismo son las monedas Espers y Decred .
10. Prueba de tiempo transcurrido (PoET)
Intel introdujo PoET con la intención de hacerse cargo de los rompecabezas criptográficos involucrados en el mecanismo PoW al considerar el hecho de que la arquitectura de la CPU y la cantidad de hardware de minería saben cuándo y con qué frecuencia un minero gana el bloque.
Se basa en la idea de distribuir y expandir las probabilidades de manera justa para una fracción mayor de participantes. Y así, se le pide a cada nodo participante que espere un momento determinado para participar en el siguiente proceso de minería. Se le pide al miembro con el menor tiempo de espera que ofrezca un bloque.
Al mismo tiempo, cada nodo también presenta su propio tiempo de espera, después del cual entran en modo de suspensión.
Entonces, tan pronto como un nodo se activa y un bloque está disponible, ese nodo se considera como el 'ganador afortunado'. Este nodo luego puede difundir la información a través de la red, mientras mantiene la propiedad de descentralización y recibe la recompensa.
11. Prueba de Importancia (PdI)
Introducido por NEM , PoI es una variación del protocolo PoS que considera el papel de los accionistas y validadores para su operación. Sin embargo, esto no solo está influenciado por el tamaño y la oportunidad de sus acciones; varios otros factores como la reputación, el equilibrio general y no. de las transacciones realizadas a través de cualquier dirección en particular también juega un papel en ella.
Las redes basadas en el modelo de consenso de puntos de interés son costosas de atacar y recompensan a los usuarios por contribuir a la seguridad de la red.
La información compartida hasta ahora lo habría ayudado a diferenciar los diversos protocolos de consenso de Blockchain.
Sin embargo, para simplificarlo, aquí hay una tabla de comparación de algoritmos de consenso de blockchain.
Ahora, comencemos por determinar qué hace que un consenso de Blockchain sea bueno.
Propiedades de un buen mecanismo de consenso de Blockchain
1. Seguridad
En un buen mecanismo de consenso, todos los nodos son capaces de generar resultados válidos según las reglas del protocolo.
2. Inclusivo
Un buen mecanismo de cadena de bloques de consenso garantiza que cada nodo particular de la red participe en el proceso de votación.
3. Participativo
Un mecanismo de consenso donde todos los nodos participan activamente y contribuyen a actualizar las bases de datos en Blockchain se denomina modelo de buen consenso.
4. Igualitario
Otro rasgo de un buen mecanismo es que otorga el mismo valor y ponderación a cada voto recibido del nodo.
Con esto en mente , averigüemos qué sucede cuando no considera estos factores e introduce un modelo de consenso deficiente en su proceso de desarrollo.
Consecuencias de elegir un protocolo de mal consenso
1. Bifurcaciones de cadena de bloques
Elegir un método de consenso de cadena de bloques deficiente aumenta la vulnerabilidad de la cadena. Una de esas vulnerabilidades que enfrentan los entusiastas y desarrolladores de blockchain es Blockchain Forks.
Las bifurcaciones de blockchain, en un lenguaje sencillo, son una situación o circunstancias en las que una sola cadena se divide en dos o más. Una explicación detallada sobre la bifurcación Blockchain y sus tipos está disponible en el video incrustado a continuación.
Cuando ocurre una bifurcación de Blockchain, la aplicación comienza a operar de manera impredecible, creando dos o más nodos divergentes por delante.
2. Bajo rendimiento
Cuando se considera un mecanismo de cadena de bloques de consenso incorrecto , el nodo funciona mal o sufre una partición de red. Esto retrasa el proceso de intercambio de mensajes entre nodos y aumenta la latencia de la aplicación, lo que finalmente reduce el nivel de rendimiento.
3. Fracaso del consenso
Otro efecto de incorporar un mal mecanismo de consenso a su modelo de negocio es la falla del consenso. En esta situación, una fracción de los nodos no participa en ningún proceso y, por lo tanto, en ausencia de sus votos, el consenso no logra los resultados precisos y deseados.
Con los conceptos básicos de los métodos de consenso de Blockchain ahora cubiertos, profundicemos en el tema y veamos los tipos populares de mecanismos de consenso.
Preguntas frecuentes sobre los algoritmos de consenso de Blockchain
P. ¿Qué es el Protocolo de Consenso en Blockchain?
Un protocolo de consenso es un conjunto de reglas o procedimientos que rigen cómo dos o más nodos interactúan, intercambian información y realizan procesos asociados en el ecosistema Blockchain .
P. ¿Qué modelo de consenso usa Ethereum?
Anteriormente, Ethereum estaba trabajando con el modelo de consenso PoW (Prueba de trabajo). Pero ahora ha cambiado al algoritmo de consenso de cadena de bloques PoS (Prueba de participación) .
Los pensamientos finales
Al final todos estos componentes tienen un objetivo similar que es tener consenso en una red descentralizada. Sin embargo, incluso después de tener un objetivo común, estos mecanismos difieren en su forma de abordar la búsqueda de consenso. Si bien el consenso ideal aún no existe, es fascinante y conmovedor ver cómo los mecanismos de consenso se han desarrollado y ajustado a largo plazo a los requisitos cambiantes de un protocolo como este, y sin duda será emocionante observar cómo se materializan las ideas innovadoras. .
Es importante elegir sabiamente uno de acuerdo con la necesidad de la red comercial, ya que las redes Blockchain no pueden funcionar correctamente sin los algoritmos de consenso para confirmar cada transacción que se está realizando.