¿Cuál es el Problema de los generales bizantinos?

7/30/2024, 2:11:07 AM
El Problema de los Generales Bizantinos tiene una estrecha relación con la cadena de bloques. Una red de cadena de bloques es una red distribuida donde los nodos, como los generales bizantinos, deben alcanzar consenso sobre transacciones y datos en un entorno de red no fiable.

Bizancio, la capital del antiguo Imperio Romano de Oriente, fue una de las ciudades más poderosas y ricas del mundo. Sin embargo, debido a su vasto territorio, Bizancio a menudo enfrentaba invasiones externas y rebeliones internas. Para defender sus fronteras, Bizancio enviaba múltiples ejércitos, cada uno comandado por diferentes generales. Lograr consenso entre estos generales se convirtió en un desafío significativo.
El Problema de los Generales Bizantinos tiene una estrecha relación con la cadena de bloques. Una red de cadena de bloques es una red distribuida donde los nodos, al igual que los generales bizantinos, deben lograr consenso sobre transacciones y datos en un entorno de red no confiable.

Problema de los dos generales

El Problema de los Dos Generales es un caso especial del Problema de los generales bizantinos. El problema y su prueba de irresolubilidad fueron propuestos por primera vez por E.A. Akkoyunlu, K.Ekanadham y R.V. Huber en su artículo de 1975 “Some Constraints and Trade-offs In The Design of Network Communications.” En 1978, Jim Gray nombró formalmente este problema como el “Problema de los Dos Generales” en su libro “Notes on Data Base Operating Systems.” Originalmente, se utilizaba para analizar los problemas de lograr consenso a través de la comunicación en un enlace de comunicación no confiable. Ahora se utiliza comúnmente para ilustrar problemas de consistencia y consenso en sistemas distribuidos.

Definición del problema:
Dos ejércitos del país A, cada uno liderado por un general, se preparan para atacar a un ejército del país B. El ejército del país B está rodeado en un valle, con los dos ejércitos de A estacionados en las colinas a cada lado del valle. Sin embargo, el único camino entre los dos ejércitos de A pasa por el valle. El ejército de B es más fuerte que cualquiera de los ejércitos de A individualmente, pero si ambos ejércitos de A atacan juntos, pueden derrotar al ejército de B.
Problema: ¿Se puede diseñar un algoritmo que permita a los dos generales de los ejércitos de A ponerse de acuerdo en un ataque simultáneo? El algoritmo puede incluir el envío y recepción de mensajes.
Solución: El clásico problema de los dos generales es irresoluble. No existe ningún protocolo que pueda garantizar que los dos ejércitos de A coordinen con éxito su ataque. Sin embargo, en los sistemas prácticos, los problemas se pueden abordar de manera relativamente confiable, como con el mecanismo de "protocolo de enlace de tres vías" en el protocolo TCP.

Problema de los generales bizantinos

El Problema de los generales bizantinos fue propuesto por primera vez por Leslie Lamport, un ganador del Premio Turing 2013, en su artículo de 1982 “El Problema de los generales bizantinos”. El problema describe cómo lograr consistencia en sistemas distribuidos en presencia de comportamientos maliciosos, como la manipulación de mensajes.
Varias armadas del Imperio Bizantino rodean una ciudad enemiga, cada una liderada por un general. Las armadas bizantinas solo podían comunicarse a través de mensajeros. Después de observar las fuerzas enemigas, los generales bizantinos deben llegar a la misma conclusión: solo si más de la mitad de las armadas bizantinas atacan juntas pueden capturar la ciudad y lograr la victoria.
[图片]
Solución: Si el número de generales (nodos) en un sistema bizantino es Z y el número de generales no confiables (traidores) es X, entonces solo cuando Z ≥ 3X + 1 puede un protocolo de tolerancia a fallas bizantinas (BFT) garantizar la consistencia del sistema.
En sistemas prácticos, las fallas que causan que los nodos no respondan se clasifican como 'Fallas por bloqueo', mientras que los nodos que falsifican o manipulan mensajes se clasifican como 'Fallas bizantinas'.

Clasificación del algoritmo de consenso

Los sistemas blockchain son un tipo de sistema distribuido, especialmente cadenas públicas como Bitcoin y Ethereum, que consisten en numerosos nodos de red altamente descentralizados y mutuamente desconfiados. El mecanismo de consenso blockchain garantiza que el sistema blockchain logre consistentemente la consistencia de datos sin bifurcaciones.
Basándose en el tipo de tolerancia a fallas, los algoritmos de consenso se pueden clasificar en algoritmos de Tolerancia a Fallas no Bizantinas (CFT) y algoritmos de Tolerancia a Fallas Bizantinas (BFT).

Algoritmos de Tolerancia a Fallas No Bizantinas

En sistemas distribuidos, los algoritmos de Tolerancia a Fallas no Bizantinas garantizan la confiabilidad de todo el sistema distribuido cuando los nodos experimentan fallas del sistema o interrupciones no planificadas (fallas no bizantinas). Sin embargo, cuando los nodos maliciosos falsifican o manipulan datos, los algoritmos de Tolerancia a Fallas no Bizantinas no pueden garantizar la confiabilidad del sistema. Estos algoritmos se utilizan principalmente en sistemas distribuidos empresariales cerrados y controlados. Los algoritmos de Tolerancia a Fallas no Bizantinas más representativos incluyen el algoritmo Paxos y el algoritmo Raft.

Algoritmos de tolerancia a fallas bizantinas

Los algoritmos de tolerancia a fallas bizantinas permiten que un sistema distribuido garantice la confiabilidad incluso si los nodos experimentan cualquier tipo de falla, siempre y cuando el número de nodos defectuosos no exceda cierta proporción. En pocas palabras, mientras el número de nodos defectuosos (debido a fallas no bizantinas o bizantinas) sea menor que cierta proporción de los nodos totales, los algoritmos de tolerancia a fallas bizantinas pueden garantizar la confiabilidad del sistema. Debido a la presencia de muchos nodos de red no confiables en sistemas blockchain como Bitcoin y Ethereum, los algoritmos de tolerancia a fallas bizantinas se utilizan principalmente en los mecanismos de consenso blockchain. Los algoritmos de tolerancia a fallas bizantinas más representativos incluyen PBFT (Tolerancia Práctica a Fallas Bizantinas), PoW (Prueba de Trabajo) y PoS (Prueba de Participación).

* La información no pretende ser ni constituye un consejo financiero ni ninguna otra recomendación de ningún tipo ofrecida o respaldada por Gate.
* Este artículo no se puede reproducir, transmitir ni copiar sin hacer referencia a Gate. La contravención es una infracción de la Ley de derechos de autor y puede estar sujeta a acciones legales.

Compartir

Calendario cripto

Actualizaciones de proyectos
Etherex lanzará el Token REX el 6 de agosto.
REX
22.27%
2025-08-06
Día de Desarrollo Raro & Gobernanza en Las Vegas
Cardano organizará el Rare Dev & Governance Day en Las Vegas, del 6 al 7 de agosto, con talleres, hackathons y paneles de discusión centrados en el desarrollo técnico y los temas de gobernanza.
ADA
-3.44%
2025-08-06
Cadena de bloques.Rio en Río de Janeiro
Stellar participará en la conferencia Cadena de bloques.Rio, que se llevará a cabo en Río de Janeiro, del 5 al 7 de agosto. El programa incluirá conferencias magistrales y paneles de discusión con representantes del ecosistema Stellar en colaboración con los socios Cheesecake Labs y NearX.
XLM
-3.18%
2025-08-06
Webinar
Circle ha anunciado un seminario web en vivo titulado "La Era del GENIUS Act Comienza", programado para el 7 de agosto de 2025, a las 14:00 UTC. La sesión explorará las implicaciones de la recién aprobada Ley GENIUS—el primer marco regulatorio federal para moneda estable en los Estados Unidos. Dante Disparte y Corey Then de Circle dirigirán la discusión sobre cómo la legislación impacta la innovación en activos digitales, la claridad regulatoria y el liderazgo de EE. UU. en la infraestructura financiera global.
USDC
-0.03%
2025-08-06
AMA en X
Ankr llevará a cabo un AMA en X el 7 de agosto a las 16:00 UTC, centrándose en el trabajo de DogeOS en la construcción de la capa de aplicación para DOGE.
ANKR
-3.23%
2025-08-06

Artículos relacionados

Informe de investigación de Uniswap (UNI)
Intermedio

Informe de investigación de Uniswap (UNI)

Uniswap, pionera en exchanges descentralizados, utiliza AMM como su mecanismo principal para ejecutar automáticamente operaciones a través de pools de liquidez.
6/6/2024, 3:43:21 AM
Informe de investigación de Immutable X (IMX)
Intermedio

Informe de investigación de Immutable X (IMX)

Immutable X es una red de capa 2 no compatible con EVM desplegada en Ethereum, que depende de la tecnología StarEx de Starkware.
7/1/2024, 8:35:37 AM
¿Quién es Satoshi Nakamoto?
Principiante

¿Quién es Satoshi Nakamoto?

En el mundo de las criptomonedas de hoy, el mayor enigma no es cómo opera Bitcoin, sino quién es su creador.
7/19/2024, 3:37:20 AM
Informe de investigación de Kaspa (KAS)
Intermedio

Informe de investigación de Kaspa (KAS)

Kaspa es una red de capa 1 descentralizada y escalable que utiliza la arquitectura BlockDAG para abordar los problemas de escalabilidad asociados con las operaciones tradicionales de blockchain.
6/25/2024, 2:47:39 AM
Informe de investigación de Pendle (PENDLE)
Intermedio

Informe de investigación de Pendle (PENDLE)

Pendle es un protocolo de derivados de tasas de interés propuesto en múltiples cadenas, lo que permite a los usuarios bloquear el rendimiento futuro de sus criptoactivos y recibir rendimientos por adelantado.
6/18/2024, 2:59:31 AM
Informe de investigación de IO.NET (IO)
Intermedio

Informe de investigación de IO.NET (IO)

IO.NET es una red de GPU descentralizada diseñada específicamente para el aprendizaje automático (ML). Agrega la potencia informática de más de un millón de GPU procedentes de mineros de criptomonedas independientes, Filecoin, Render y otros proyectos.
6/13/2024, 3:28:15 AM
Empieza ahora
¡Registrarse y recibe un bono de
$100
!