Aspectos clave

  • La tolerancia a fallos bizantinos (TFB) es una propiedad que permite a sistemas distribuidos, incluidas las blockchains, seguir funcionando incluso cuando algunos nodos fallan o actúan deshonestamente.

  • El concepto proviene del problema de los generales bizantinos, un experimento mental sobre cómo actores independientes pueden llegar a un acuerdo cuando algunos pueden ser poco confiables.

  • La mayoría de las blockchains utilizan un algoritmo de consenso como prueba de trabajo o prueba de participación para lograr TFB y mantener la red segura.

  • Una red generalmente necesita al menos dos tercios de sus participantes para ser honestos para que la TFB se mantenga.

Binance Academy courses banner

Introducción

Desde que Bitcoin se lanzó en 2008 como un sistema de efectivo electrónico de persona a persona, las blockchains han dependido de una propiedad clave: la capacidad de llegar a un acuerdo entre muchos participantes independientes sin confiar en ninguno de ellos. Esto es más difícil de lo que parece, especialmente cuando algunos participantes pueden comportarse de manera impredecible o deshonesta.

El concepto que aborda este desafío se llama tolerancia a fallos bizantinos. Comprenderlo ayuda a explicar por qué las redes blockchain pueden funcionar de manera segura incluso en presencia de actores maliciosos o fallos de hardware.

¿Qué es el problema de los generales bizantinos?

El problema de los generales bizantinos fue descrito por primera vez en 1982. Utiliza un experimento mental militar para ilustrar la dificultad de alcanzar un acuerdo en un sistema distribuido cuando algunos participantes no pueden ser confiables.

Imagina un grupo de generales, cada uno comandando un ejército separado, rodeando una ciudad. Deben acordar un plan: atacar juntos o retirarse juntos. Si actúan de manera independiente, pierden. El problema es que solo pueden comunicarse a través de mensajeros, y algunos generales pueden ser traidores que envían mensajes contradictorios o falsos.

El desafío central es: ¿cómo pueden los generales leales acordar un plan cuando no pueden identificar quién está mintiendo? En un contexto de blockchain, cada general representa un nodo de la red, y la decisión de "atacar o retirarse" se reemplaza por el acuerdo sobre qué transacciones son válidas.

La conclusión de la investigación original es que un sistema TFB requiere que al menos dos tercios de los participantes sean honestos. Si un tercio o más son defectuosos o maliciosos, alcanzar un consenso confiable se vuelve imposible.

Tolerancia a Fallos Bizantinos (TFB)

La tolerancia a fallos bizantinos es la propiedad de un sistema que puede seguir operando correctamente incluso cuando algunos componentes fallan o se comportan maliciosamente. Un sistema TFB puede tolerar un cierto número de nodos defectuosos sin comprometer la integridad de toda la red.

En la práctica, esto significa que una blockchain TFB puede manejar escenarios donde los nodos fallan, pierden conectividad, envían mensajes duplicados o intentan manipular deliberadamente la red. El sistema alcanza el resultado correcto siempre que la proporción de nodos defectuosos se mantenga por debajo del umbral aceptable.

Hay varias formas de construir un sistema TFB. El enfoque que toma una blockchain depende de sus prioridades de diseño, como velocidad, descentralización y seguridad. Esto lleva al desarrollo de diferentes algoritmos de consenso.

Algoritmos de Consenso en Blockchain

Un algoritmo de consenso es el mecanismo que una blockchain utiliza para acordar el estado del libro mayor. Los enfoques más comunes son prueba de trabajo (PoW) y prueba de participación (PoS).

Bitcoin utiliza PoW, que fue adaptado por Satoshi Nakamoto en lo que se conoce como el consenso de Nakamoto. Bajo este modelo, los nodos compiten para resolver un rompecabezas computacionalmente costoso para agregar un nuevo bloque. El costo de ese trabajo hace que sea económicamente poco práctico para un actor malo reescribir la cadena sin controlar más de la mitad del poder computacional total. Este tipo de ataque se llama ataque del 51%.

PoW no es 100% inmune a fallos bizantinos, pero el costo de la minería y la seguridad criptográfica de la cadena lo han hecho altamente confiable en la práctica.

PoS logra objetivos similares de manera diferente. En lugar de trabajo computacional, los validadores apuestan criptomonedas como garantía. El comportamiento deshonesto puede resultar en la pérdida de esa apuesta, lo que crea un fuerte incentivo económico para una participación honesta.

Ethereum cambió a PoS en 2022, y su mecanismo de finalización se basa en principios TFB utilizados en protocolos como Tendermint. Estos protocolos permiten que una red confirme bloques como finales una vez que suficientes validadores han dado su visto bueno, mejorando tanto la velocidad como la seguridad en comparación con la finalización probabilística en cadenas PoW.

FAQ

¿Qué significa la tolerancia a fallos bizantinos?

La tolerancia a fallos bizantinos significa que un sistema puede seguir funcionando correctamente incluso si algunos de sus componentes se comportan de manera impredecible o deshonesta. En blockchain, esto significa que la red puede alcanzar consenso sobre transacciones válidas incluso si algunos nodos envían información falsa o contradictoria.

¿Por qué se llama tolerancia a fallos bizantinos?

El nombre proviene del problema de los generales bizantinos, un experimento mental de 1982 que utilizó una historia sobre generales militares para describir el desafío de alcanzar un acuerdo cuando algunos participantes no pueden ser confiables. El término "bizantino" en informática se refiere a fallos arbitrarios o maliciosos, en contraposición a simples fallos.

¿Cuánto de una red necesita ser honesto para que funcione la TFB?

Generalmente, un sistema TFB requiere que al menos dos tercios de los participantes se comporten de manera honesta. Si un tercio o más de la red actúa de manera maliciosa o falla, la mayoría de los protocolos TFB ya no pueden garantizar un resultado correcto. Este umbral varía ligeramente dependiendo del protocolo de consenso específico utilizado.

¿Es la prueba de trabajo tolerante a fallos bizantinos?

La prueba de trabajo no es perfectamente tolerante a fallos bizantinos, pero logra una resistencia práctica a través del alto costo de la minería. Un atacante necesitaría controlar más del 50% del poder computacional total de la red para manipular la cadena de manera consistente, haciendo que tales ataques sean costosos y difíciles de mantener.

Pensamientos finales

La tolerancia a fallos bizantinos es un concepto fundamental en el diseño de blockchain. Explica por qué redes como Bitcoin y Ethereum pueden funcionar de manera confiable incluso en un entorno donde los participantes son anónimos y algunos pueden intentar hacer trampa. Ya sea a través de prueba de trabajo, prueba de participación o protocolos TFB más nuevos utilizados en cadenas modernas, el objetivo es el mismo: permitir que nodos independientes acuerden la verdad sin necesidad de confiar entre sí individualmente.

Lectura adicional

  • ¿Qué es un algoritmo de consenso en blockchain?

  • ¿Qué es la prueba de trabajo (PoW)?

  • ¿Qué es la prueba de participación (PoS)?

  • ¿Qué es un ataque del 51%?


Descargo de responsabilidad: Este contenido se presenta en una base "tal cual" para información general y fines educativos solamente, sin representación o garantía de ningún tipo. No debe interpretarse como asesoría financiera, legal u otra asesoría profesional, ni está destinado a recomendar la compra de ningún producto o servicio específico. Debe buscar su propio consejo de asesores profesionales adecuados. Donde el contenido es contribuido por un tercero, tenga en cuenta que esas opiniones expresadas pertenecen al contribuyente tercero y no reflejan necesariamente las de Binance Academy. Los precios de los activos digitales pueden ser volátiles. El valor de su inversión puede bajar o subir y es posible que no recupere la cantidad invertida. Usted es el único responsable de sus decisiones de inversión y Binance Academy no es responsable de ninguna pérdida que pueda incurrir. Para más información, consulte nuestros Términos de uso, Advertencia de riesgos y Términos de Binance Academy.