Tolerancia a fallas bizantinas (BFT)
1982-07-01
- Leslie Lamport
- Robert Shostak
- Marshall Pease
BFT (acrónimo La tolerancia a fallos bizantinos es una propiedad de un sistema que le permite seguir funcionando correctamente y alcanzar un consenso incluso si algunos de sus componentes fallan de forma arbitraria e impredecible, incluyendo comportamientos maliciosos (fallos bizantinos). Esta es una garantía mucho más sólida que la tolerancia a fallos simples. Requiere un mínimo de [latex]3f+1[/latex] componentes en total para tolerar [latex]f[/latex] componentes defectuosos y maliciosos.
La tolerancia a fallos bizantina aborda el «problema de los generales bizantinos», un experimento mental en el que generales leales de un ejército bizantino deben ponerse de acuerdo en un plan de batalla común comunicándose a través de mensajeros potencialmente traicioneros. Algunos generales pueden ser traidores e intentar activamente frustrar el plan enviando información contradictoria. Los algoritmos de tolerancia a fallos bizantinos ofrecen una solución a este problema en la computación distribuida, asegurando que todos los nodos no defectuosos (leales) lleguen a la misma conclusión, a pesar de la presencia de nodos defectuosos (traidores) que pueden mentir, confabularse o comportarse arbitrariamente.
The seminal 1982 paper by Lamport, Shostak, and Pease proved that for a system to tolerate [latex]f[/latex] Byzantine faults, there must be at least [latex]3f+1[/latex] total nodes (or generals). This means that to tolerate one malicious actor, a system needs at least four nodes in total. The core of BFT algorithms involves multiple rounds of message passing among the nodes. In each round, nodes exchange their current state or proposed value, along with the messages they have received from other nodes. This allows loyal nodes to cross-check information and identify inconsistencies, eventually converging on a single, correct value that is agreed upon by the majority.
Los primeros algoritmos BFT, como la Tolerancia Práctica a Fallas Bizantinas (PBFT), eran computacionalmente costosos y presentaban una alta sobrecarga de comunicación, lo que limitaba su escalabilidad. Sin embargo, su capacidad para proporcionar seguridad y vitalidad en un entorno adversario fue revolucionaria. El auge de la tecnología blockchain a finales de la década de 2000 creó un campo de aplicación masivo para BFT. Los mecanismos de consenso en criptomonedas como Bitcoin (que utilizan Prueba de Trabajo, una forma probabilística de BFT) y los sistemas más recientes de Prueba de Participación (que a menudo utilizan protocolos BFT explícitos como Tendermint o HotStuff) se basan en estos principios para garantizar la integridad e inmutabilidad del libro mayor distribuido, incluso si una fracción significativa de los participantes de la red son maliciosos.
UNESCO Nomenclature: 1203
- Informática
Precursores
- Investigación general sobre computación distribuida y problemas de consenso
- Modelos de falla de parada por fallo (que BFT extiende)
- Conceptos de criptografía y firma digital para la autenticación de mensajes
- Teoría de redes y teoría de grafos
Aplicaciones
- Protocolos de blockchain y criptomonedas (por ejemplo, consenso de prueba de participación)
- bases de datos distribuidas
- sistemas aeroespaciales (por ejemplo, sistemas de control de vuelo del Boeing 777)
- infraestructura de computación en la nube
- sistemas de detección de intrusiones
Ideas para posibles innovaciones
Debido al bloqueo del tráfico generado por bots, que actualmente supera los 40.000 al día, este contenido está reservado para los miembros de la comunidad.
> Iniciar sesión < o > Registrarse < (100% gratis) para acceder a esto, al igual que a todo el demás contenido y herramientas restringidos.
Relacionado con: tolerancia a fallos bizantinos, BFT, consenso distribuido, problema de los generales bizantinos, blockchain, Leslie Lamport, sistemas distribuidos, tolerancia a fallos, actores maliciosos, PBFT.