¿Mecanismos de consenso? Cómo funcionan PoW, PoS, DPoS y otros algoritmos de blockchain

El consenso juega un papel importante en nuestras vidas. Sin él, las partes involucradas no podrían tomar decisiones sobre temas importantes.

Imagínese un caso en el que hay un asunto urgente que resolver y todo un país es incapaz de actuar. En tales situaciones, los responsables de la toma de decisiones deben llegar a un acuerdo para resolver el problema. No hay forma de evitarlo.

Y lo mismo se aplica a los sistemas blockchain que utilizan mecanismos de consenso para que los participantes puedan llegar a un acuerdo dentro de la red.

Sin un algoritmo de consenso adecuado, una red blockchain se convertiría en una simple base de datos inmutable. Como resultado de la falta de un acuerdo dentro de la red, los mineros no podrían procesar y verificar las transacciones, lo que inutilizaría todo el ecosistema.

Y aquí, nos gustaría presentarle el mundo de los mecanismos de consenso mientras exploramos cómo funcionan los diferentes tipos de algoritmos.

¿Qué es un algoritmo de consenso de blockchain?

En pocas palabras, un algoritmo de consenso es un mecanismo que permite a los participantes de una red blockchain llegar a un acuerdo general.

Los algoritmos de consenso son fundamentales para las soluciones blockchain, ya que estos sistemas están descentralizados por naturaleza, lo que significa que no hay una autoridad central dentro de la red.

Debido a lo mencionado anteriormente, los nodos (también denominados mineros o validadores), que mantienen las redes blockchain, deben acordar la validez de las transacciones.

Un algoritmo de consenso hace que esto sea posible al garantizar que los participantes de la red sigan sus reglas y garantizar transacciones sin confianza dentro del sistema blockchain para eliminar problemas como el doble gasto.

¿Cuáles son los objetivos de los mecanismos de consenso?

En esta sección, enumeramos los objetivos más importantes de los mecanismos de consenso que lo ayudarán a comprender cómo funcionan los algoritmos.

Facilitar un acuerdo unificado: en los sistemas centralizados, es necesario confiar en una autoridad para mantener la red operativa. Sin embargo, los algoritmos de consenso permiten que las cadenas de bloques funcionen sin que los participantes confíen entre sí. Y este mecanismo subyacente del ecosistema es responsable de facilitar un acuerdo unificado entre los participantes de la red, asegurando que todos los datos procesados ​​sean válidos y que el libro mayor distribuido esté actualizado.

Alinear un incentivo económico: dado que un sistema descentralizado como una red blockchain se regula por sí solo, es importante alinear los intereses de los participantes para garantizar que funcione de manera eficiente. Para que esto sea posible, el mecanismo de consenso utiliza incentivos económicos para recompensar a los usuarios por su buen comportamiento mientras castiga a los malos actores.

Garantizar la justicia y la equidad: el algoritmo de consenso también es responsable de garantizar la justicia y la equidad entre los participantes de la red. Por lo tanto, cualquier persona debería poder unirse a la red y todos deberían tener los mismos derechos de voto.

Evite el doble gasto: el doble gasto es uno de los mayores riesgos que conllevan los pagos digitales. Dado que este problema podría afectar negativamente el valor de los activos digitales (y puede volverlos inútiles), el algoritmo de consenso elimina el doble gasto al garantizar que solo las transacciones verificadas y válidas se incluyan en el libro mayor público.

Asegure una cadena de bloques tolerante a fallas: al garantizar que la cadena de bloques sea tolerante a fallas, así como consistente y confiable, el algoritmo de consenso permite que la red continúe operando incluso cuando ocurren amenazas, fallas y otros incidentes importantes.

La descripción general de los algoritmos de consenso de blockchain más emocionantes

Al momento de escribir este artículo, existen más de 5,000 activos digitales en el mercado.

Si bien muchos de ellos utilizan algoritmos populares, como Proof-of-Work (PoW) y Proof-of-Stake (PoS), una parte de ellos ha creado sus propios mecanismos para alimentar sus ecosistemas y llegar a un consenso a través de formas alternativas.

En esta sección, le presentaremos los algoritmos de consenso de blockchain más interesantes.

¡Vamos a sumergirnos!

Prueba de trabajo (PoW)

Ejemplos de cadenas de bloques de PoW: Bitcoin, Ethereum, Litecoin

Prueba de trabajo (PoW) es, con mucho, el algoritmo de consenso más antiguo y popular entre las redes blockchain.

Propuesto por el creador de BTC Satoshi Nakamoto en el documento técnico original de Bitcoin, PoW combina las características de conceptos existentes, como redes P2P, cadenas Merkle y firmas criptográficas, para crear un consenso distribuido sin confianza.

El mecanismo de consenso requiere que los mineros utilicen activamente su poder computacional para resolver complejos acertijos matemáticos con el fin de verificar las transacciones y agregarlas a la cadena de bloques.

Es importante tener en cuenta que los mineros en las redes PoW compiten entre sí para recibir recompensas en bloque (después de que el minero genera nuevas monedas), mientras que también obtienen su parte de las tarifas de transacción (minero).

Un hecho interesante sobre el modelo PoW es que los problemas matemáticos resueltos por los mineros no tienen utilidad en teoría, ya que los resultados de los cálculos no se pueden usar en ningún otro lugar.

Sin embargo, en la práctica, los acertijos aseguran que los mineros estén comprometiendo una cantidad significativa de recursos, una combinación de tiempo y de tiempo en equipos de minería, para evitar causar daños a las redes de PoW.

Incluso si los mineros malintencionados deciden causar daño al ecosistema, también se están lastimando a sí mismos, ya que tienen que gastar una fortuna para llevar a cabo el ataque.

Para un ataque del 51%, el mal actor tiene que comprar equipo de minería que tenga el poder computacional de hacerse cargo de la mayor parte de la red (lo que costaría más de $ 1 mil millones en el caso de Bitcoin).

Por la misma razón, las redes PoW donde los mineros pueden mantener altas cantidades de potencia computacional se consideran seguras.

Además, dado que el modelo de prueba de trabajo es el mecanismo de consenso más utilizado en la industria de la cadena de bloques que ha pasado por numerosas pruebas y ensayos, PoW se considera un algoritmo estable.

Sin embargo, la edad de PoW también se considera un inconveniente, ya que varios algoritmos de consenso recientemente lanzados pueden operar a velocidades más rápidas mientras se mantiene una red más eficiente.

Además, la operación continua de numerosas plataformas de minería de hardware acumula mucha energía innecesariamente, lo que causa daños al medio ambiente.

Según el índice energético de la Universidad de Cambridge, Bitcoin consume más energía en un año que Chile, un país sudamericano con una población de 17,5 millones.

Además, debido a la creciente popularidad de las plataformas de minería de circuitos integrados de aplicaciones específicas (ASIC), algunas cadenas de bloques de PoW se enfrentan a la amenaza de una mayor centralización de la red, ya que los equipos ASIC son costosos y no todos pueden pagarlos.

Sin embargo, este problema solo afecta a las redes blockchains donde el algoritmo hash que permite a los mineros ASIC participar en la red (por ejemplo, Bitcoin).

Prueba de participación (PoS)

Ejemplos de cadenas de bloques de PoS: Ethereum (en un futuro próximo), QTUM, Decred

Muchos en el espacio blockchain ven la prueba de participación (PoS) como la solución a las ineficiencias del modelo PoW.

Con PoS, no hay minería involucrada. En cambio, los usuarios que deseen participar en la red deben apostar, o guardar algunas de sus monedas en una billetera de la red durante un cierto período de tiempo, para validar los bloques.

La cantidad de monedas que ha apostado un validador se utiliza como medida en las redes de PoS para determinar quién será el que verifique el siguiente bloque mediante un proceso de elección pseudoaleatoria.

Por ejemplo, si un usuario apuesta el 50% del número total de monedas apostadas, tiene un 50% de posibilidades de ser elegido para validar el siguiente bloque en la cadena de bloques.

Como los validadores no extraen, sino que falsifican nuevas monedas en las redes de cadena de bloques de PoS, los apostadores exitosos serán recompensados ​​solo con tarifas de transacción (a diferencia de las redes de PoW, donde los mineros reciben una combinación de recompensas de bloque y tarifas de minero).

Dado que los interesados ​​no tienen que operar plataformas de minería para validar bloques en sistemas PoS, este modelo de consenso es más eficiente energéticamente que el algoritmo PoW.

Además, las cadenas de bloques que utilizan el mecanismo de consenso de PoS generalmente ofrecen una mejor protección contra ataques del 51%, ya que las partes malintencionadas perderán el total o una parte de su participación después de que la red detecte una transacción fraudulenta.

Por el contrario, los malos actores en las redes PoW pueden quedarse con sus equipos de minería después de un ataque fallido.

Además, para ejecutar un ataque exitoso, las partes maliciosas tendrían que adquirir el 51% del suministro circulante total de la criptomoneda, que es más de 9.3 millones de BTC (lo que equivale a casi $ 56 mil millones en el momento de escribir este artículo) en el caso de Bitcoin.

Una de las desventajas de los sistemas PoS es la presencia del problema de “nada en juego”, que podría ocurrir en el caso de las bifurcaciones duras (actualizaciones importantes de la red donde la nueva versión de la cadena de bloques no es compatible con la versión anterior).

Dado que, a diferencia del modelo PoW, no hay nada que impida que los validadores de PoS voten a múltiples versiones de una cadena de bloques en el caso de una bifurcación continua, este problema podría evitar que los participantes de la red lleguen a un consenso.

Sin embargo, varias cadenas de bloques han estado experimentando con medidas (como castigar a los validadores maliciosos) para resolver este problema.

Prueba de participación delegada (DPoS)

Ejemplos de blockchain DPoS: EOS, TRON, Aelf

El algoritmo de consenso de prueba de participación delegada (DPoS) funciona de manera similar al modelo de PoS, ya que este mecanismo también requiere que los participantes de la red apuesten sus monedas.

Sin embargo, la principal diferencia entre los dos algoritmos radica en quién realmente realiza la validación de los bloques.

Mientras que los interesados ​​son los propios validadores (en caso de que sean seleccionados) en las redes de PoS, los interesados ​​en el modelo DPoS subcontratan la validación de los bloques a varios delegados.

Los delegados, también conocidos como testigos, aseguran el sistema blockchain en nombre de las partes interesadas, al tiempo que son responsables de garantizar el consenso en la red durante la validación de nuevos bloques.

Las redes blockchain de DPoS utilizan un sistema de votación democrático, en el que las partes interesadas emiten sus votos sobre los delegados que presentarán una propuesta individual a las partes interesadas para asegurar sus votos.

Si bien el poder de voto se basa en la cantidad de monedas que los participantes de la red han guardado en sus billeteras, las recompensas de una validación de bloque exitosa se comparten entre los delegados y las partes interesadas que los han elegido.

Como resultado de este proceso, DPoS permite una mejor selección de los validadores de bloques, ya que las partes interesadas emitirán sus votos en función de su reputación. Además, las partes interesadas pueden expulsar o reemplazar a los delegados que se portan mal o que no son eficientes con otros testigos en cualquier momento.

A diferencia de los sistemas PoW y PoS, los validadores no compiten entre sí en las redes DPoS. En cambio, están trabajando juntos para generar y validar nuevos bloques.

Si bien el enfoque específico de colaboración de este algoritmo de consenso permite que las cadenas de bloques logren una velocidad rápida y una alta escalabilidad, además de ser energéticamente eficientes como los sistemas PoS, la estructura de la red también viene con un mayor nivel de centralización.

Además, EOS, una de las redes blockchain más populares que utiliza DPoS, enfrenta problemas que permiten a las partes interesadas bloquear grandes cantidades de criptomonedas para emitir sus votos sobre sí mismos, lo que destaca una vulnerabilidad dentro de los sistemas de prueba de participación delegada.

Prueba de autoridad (PoA)

Ejemplos de cadenas de bloques de PoA: DockToken, VeChain, POA.Network

Prueba de autoridad es un mecanismo de consenso único que utiliza un modelo basado en la reputación para validar transacciones y generar bloques.

Originalmente propuesto por el cofundador de Ethereum y ex CTO Gavin Wood, en lugar de usar sus fondos de criptomonedas, los validadores dentro de las cadenas de bloques de PoA apuestan por su reputación aprovechando sus identidades reales.

Estos validadores confiables son preaprobados y seleccionados por los participantes de la red para actuar como moderadores del sistema que son responsables de la verificación y generación de bloques.

Las cadenas de bloques de PoA dificultan que los candidatos se conviertan en validadores a propósito, ya que no solo necesitan poner en juego su reputación, sino que también deben estar dispuestos a invertir dinero para respaldar el ecosistema.

Esto permite que la red elimine validadores que tienen una reputación dudosa al tiempo que incentiva a los nodos honestos para un compromiso a largo plazo.

Sin embargo, para que el algoritmo de consenso funcione, los participantes de la red deben usar el mismo método estándar para todos los candidatos para brindarles las mismas oportunidades de convertirse en validadores.

Como el número de validadores es limitado en las redes PoA, el mecanismo de consenso permite que la cadena de bloques alcance un alto nivel de escalabilidad.

Por la misma razón, las cadenas de bloques PoA están altamente centralizadas, lo que hace que el algoritmo de consenso sea una buena opción para cadenas privadas con permisos para uso empresarial, pero podría plantear algunas preguntas cuando se utiliza para sistemas distribuidos sin permiso.

Además del alto nivel de centralización, las limitaciones del modelo de consenso incluyen la falta de privacidad, ya que las identidades de los validadores son visibles para todos los participantes dentro de las cadenas de bloques de PoA, lo que podría aumentar las posibilidades de manipulación de los nodos por parte de terceros.

Algoritmos de consenso basados ​​en tolerancia a fallas bizantinas (BFT)

La tolerancia a fallas bizantinas (BFT) es una característica de las redes blockchain que ayudó a crear los mecanismos de consenso blockchain más interesantes.

Para comprender BFT, permítanos presentarle un dilema lógico, que se ha discutido con frecuencia en el espacio de la computación distribuida.

El concepto básico del dilema, llamado Problema de los generales bizantinos, incluye a varios generales del ejército bizantino que han rodeado una ciudad en un sitio.

Cada general se encuentra a cierta distancia de los demás, y deberán comunicarse entre sí para decidir su próximo movimiento: atacar o retirarse.

Sin embargo, para que su movimiento tenga éxito, los generales deben llegar a un consenso común.

Para lograr lo anterior, cada general debe tomar una decisión (ataque o retirada), que no se puede cambiar más adelante. Además, todos los generales bizantinos tienen que ponerse de acuerdo en la misma decisión, que deberán ejecutar de forma sincronizada.

Los principales problemas de los generales incluyen problemas de entrega de mensajes, ya que tienen que usar mensajeros para llevar un mensaje a los otros generales, que podría retrasarse, perderse o destruirse, así como actores maliciosos en caso de que uno de los líderes decida enviar información fraudulenta para confundir a los otros generales.

En cuanto a las redes blockchain, los generales bizantinos representan los nodos (mineros, delegados, stakeholders, etc.) que tienen que llegar a un consenso sobre el estado actual del ecosistema y ejecutar la misma acción para evitar fallas.

Sin embargo, para lograr este objetivo, la mayoría de los nodos deben actuar con honestidad ya que, en el caso contrario, la red será propensa a ataques (por ejemplo, 51% de ataques) y fallas.

La tolerancia a fallas bizantinas representa un grupo de mecanismos de consenso (que exploramos brevemente en las siguientes secciones) que son resistentes a las fallas relacionadas con el problema de los generales bizantinos.

Por lo tanto, una cadena de bloques que utiliza una variante de BFT tiene la capacidad de permanecer funcional incluso cuando algunos de sus nodos actúan maliciosamente o dejan de funcionar.

Tolerancia práctica a fallos bizantinos (pBFT)

Ejemplo de cadena de bloques pBFT: Zilliqa

El algoritmo de consenso Practical Byzantine Fault Tolerance se basa en la suposición de que eventualmente ocurrirán fallas en los nodos (el mensaje de un general no se envía a los demás) mientras que otros participantes de la red eventualmente comunicarán información maliciosa (un general envía un mensaje falso para confundir a los otros líderes ).

Todos los nodos dentro de las redes de cadena de bloques pBFT se ordenan en una secuencia en la que uno de ellos llega a ser el líder que funcionará como nodo principal, mientras que los otros sirven como nodos de respaldo.

Si bien todos los nodos se comunican entre sí, deben verificar la fuente del mensaje y demostrar que no se modificó durante la transferencia.

En caso de que los nodos de respaldo encuentren al líder defectuoso o malicioso, pueden reemplazarlo con el siguiente líder en la fila.

Debido a lo mencionado anteriormente, los sistemas pBFT pueden operar continuamente si la cadena de bloques puede mantener que al menos dos tercios de los nodos son honestos y funcionales. Y, cuantos más nodos estén presentes en la red, mayores serán las posibilidades de que pueda permanecer operativo.

La estructura del modelo de consenso pBFT permite que la cadena de bloques funcione con un alto rendimiento, consuma pocas cantidades de energía y no requiera confirmaciones para finalizar las transacciones.

Por otro lado, como existe una gran comunicación entre los nodos, pBFT opera con la mayor eficiencia cuando los tamaños de los grupos de consenso son pequeños.

Sin embargo, cuando solo hay un pequeño grupo de nodos en la red, las cadenas de bloques que utilizan el modelo pBFT son propensas a los ataques de Sybil, un tipo de ataque en el que un solo actor malintencionado puede crear o manipular una gran cantidad de nodos para comprometer la red.

Una buena forma de mitigar los ataques de Sybil es aumentar la cantidad de nodos dentro de la red. Sin embargo, eso daría como resultado un nivel más bajo de escalabilidad y una red más lenta.

Acuerdo bizantino federado (FBA)

Ejemplos de blockchain de Logística de Amazon: Ripple, Stellar

Introducido en el documento técnico de Stellar Network, el Acuerdo Bizantino Federado (FBA) está diseñado para resolver las ineficiencias de pBFT mientras se aprovechan los beneficios de este último algoritmo de consenso.

Mientras que el algoritmo pBFT utiliza el concepto de quórum, Logística de Amazon utiliza segmentos de quórum. Expliquemos esto con un ejemplo sencillo.

Solicita un trabajo en el equipo de marketing de una empresa. Para aceptar su solicitud, la organización requiere que todos sus empleados revisen su solicitud, y la mayoría de los trabajadores deben declarar que usted es un buen candidato para el puesto.

A esto se le llama quórum en computación distribuida. Sin embargo, es innecesario exigir que todos los trabajadores se involucren en la toma de decisiones de contratación.

En cambio, tendría más sentido convencer al equipo de marketing solo para que tome una decisión, ya que sus miembros serán con los que trabajará directamente (si lo contratan).

En este ejemplo, el equipo de marketing es su porción de quórum que, después de llegar a un acuerdo, se comunicará con los otros equipos y partes interesadas dentro de la empresa para contratarlo para el puesto.

En términos de blockchain, las soluciones distribuidas que utilizan el algoritmo de Logística de Amazon utilizan porciones de quórum (en lugar de quórum) para llegar a un consenso al decidir sobre el estado actual de la cadena.

La estructura mencionada anteriormente permite a Logística de Amazon lograr un mayor nivel de escalabilidad y seguridad, así como control descentralizado y confianza flexible.

Tolerancia delegada a fallas bizantinas (dBFT)

Ejemplo de cadena de bloques de dBFT: NEO

Piense en la tolerancia a fallas bizantinas delegadas (dBFT) como el DPoS de los mecanismos de consenso de blockchain centrados en BFT, que se utiliza exclusivamente en la red de NEO.

Al igual que en los sistemas DPoS, las partes interesadas utilizan delegados, llamados contables, para llegar a un consenso y generar nuevos bloques. Además, los poseedores de tokens NEO votan por el contable de su elección en tiempo real, en lugar de utilizar un plazo fijo.

Un aspecto interesante de los contables es que tienen que utilizar sus identidades reales, que tienen que verificar para asegurarse los votos de las partes interesadas.

Debido a este hecho, no hay anonimato en las cadenas de bloques de dBFT. Por la misma razón, el nivel de centralización sigue siendo alto, ya que las soluciones distribuidas que utilizan este modelo de consenso tienen que operar de forma totalmente regulada.

Por otro lado, dBFT presenta una generación rápida de bloques (que demora entre 15 y 20 segundos), alta escalabilidad, eficiencia energética y finalización de la transacción (ya que no se pueden revertir ni modificar después de la confirmación).

Mecanismo de consenso: la raíz de las redes blockchain

Si bien es importante llegar a un consenso en nuestra vida cotidiana, es aún más crucial que los nodos lleguen a un acuerdo dentro de las redes blockchain.

Por la razón antes mencionada, los algoritmos de consenso se encuentran entre los componentes más importantes de las soluciones blockchain, ya que estos mecanismos son responsables de asegurar que se llegue a un acuerdo dentro de la red para que las transacciones se verifiquen y se generen nuevos bloques.

Además, como no existe una autoridad central dentro de las redes blockchain, las reglas del algoritmo de consenso son responsables de garantizar que el sistema sea seguro y operativo.

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum