Tolerância a falhas bizantinas (BFT)
1982-07-01
- Leslie Lamport
- Robert Shostak
- Marshall Pease
BFT (acrônimo A tolerância a falhas bizantinas (ou tolerância a falhas bizantinas) é uma propriedade de um sistema que permite que ele continue operando corretamente e alcance consenso mesmo que alguns de seus componentes falhem de maneiras arbitrárias e imprevisíveis, incluindo comportamentos maliciosos (falhas bizantinas). Essa é uma garantia muito mais forte do que tolerar falhas simples. Ela exige um mínimo de [latex]3f+1[/latex] componentes no total para tolerar [latex]f[/latex] componentes defeituosos e maliciosos.
A Tolerância a Falhas Bizantinas (BFT) aborda o "Problema dos Generais Bizantinos", um experimento mental no qual generais leais de um exército bizantino devem concordar com um plano de batalha comum, comunicando-se por meio de mensageiros potencialmente traiçoeiros. Alguns generais podem ser traidores e tentar ativamente frustrar o plano enviando informações conflitantes. Os algoritmos BFT fornecem uma solução para esse problema em computação distribuída, garantindo que todos os nós não falhos (leais) cheguem à mesma conclusão, apesar da presença de nós falhos (traidores) que podem mentir, conspirar ou se comportar arbitrariamente.
O artigo seminal de 1982 de Lamport, Shostak e Pease provou que, para um sistema tolerar [latex]f[/latex] falhas bizantinas, deve haver pelo menos [latex]3f+1[/latex] nós (ou generais) no total. Isso significa que, para tolerar um agente malicioso, um sistema precisa de pelo menos quatro nós no total. O núcleo dos algoritmos BFT envolve múltiplas rodadas de troca de mensagens entre os nós. Em cada rodada, os nós trocam seu estado atual ou valor proposto, juntamente com as mensagens que receberam de outros nós. Isso permite que os nós leais verifiquem as informações e identifiquem inconsistências, convergindo eventualmente para um único valor correto, com o qual a maioria concorda.
Os primeiros algoritmos de Tolerância a Falhas Bizantinas (BFT), como o PBFT (Practical Byzantine Fault Tolerance), eram computacionalmente dispendiosos e apresentavam alta sobrecarga de comunicação, o que limitava sua escalabilidade. No entanto, sua capacidade de fornecer segurança e disponibilidade em um ambiente adverso foi revolucionária. O surgimento de blockchain A tecnologia do final dos anos 2000 criou uma nova e vasta área de aplicação para o BFT. Mecanismos de consenso em criptomoedas como o Bitcoin (que usa Proof-of-Work, uma forma probabilística de BFT) e sistemas mais recentes de Proof-of-Stake (que frequentemente usam protocolos explícitos de BFT como Tendermint ou HotStuff) dependem desses princípios para garantir a integridade e a imutabilidade do livro-razão distribuído, mesmo que uma fração significativa dos participantes da rede seja maliciosa.
UNESCO Nomenclature: 1203
Ciência da Computação
Precursores
- Pesquisa geral sobre computação distribuída e problemas de consenso
- Modelos de falha fail-stop (que o BFT amplia)
- Criptografia e conceitos de assinatura digital para autenticação de mensagens
- Teoria de redes e teoria dos grafos
Aplicações
- blockchain e protocolos de criptomoedas (ex.: consenso de prova de participação)
- bancos de dados distribuídos
- sistemas aeroespaciais (ex: Boeing 777) controle de voo sistemas)
- infraestrutura de computação em nuvem
- sistemas de detecção de intrusão
Ideias de Inovação Potencial
- energy-efficient BFT algorithms for mobile and IoT devices
- scalable BFT protocols for large-scale public blockchains
- asynchronous BFT systems that do not rely on timing assumptions
- BFT for securing federated machine learning model updates
- hardware-assisted BFT using trusted execution environments (TEEs)
- BFT-based control systems for veículo autônomo platoons
- decentralized identity systems secured by BFT consensus
- BFT for managing critical infrastructure control grids (e.g., power, water)
- dynamic BFT systems that can add or remove nodes without halting
- quantum-resistant BFT algorithms for future security threats
Relacionado a: tolerância a falhas bizantinas, BFT, consenso distribuído, problema dos generais bizantinos, blockchain, Leslie Lamport, sistemas distribuídos, tolerância a falhas, agentes maliciosos, PBFT.