Product Design, Manufacturing & Innovation Resources
Lar » Tolerância a falhas bizantinas (BFT)

Tolerância a falhas bizantinas (BFT)

1982-07-01
  • Leslie Lamport
  • Robert Shostak
  • Marshall Pease
Centro de dados que ilustra a tolerância a falhas bizantinas em sistemas de computação distribuídos.

(Imagem gerada apenas para fins ilustrativos)

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.

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.

Early BFT algorithms, like Practical Byzantine Fault Tolerance (PBFT), were computationally expensive and had high communication overhead, limiting their scalability. However, their ability to provide safety and liveness in an adversarial environment was revolutionary. The rise of blockchain technology in the late 2000s created a massive new application area for BFT. Consensus mechanisms in cryptocurrencies like Bitcoin (using Proof-of-Work, a probabilistic form of BFT) and newer Proof-of-Stake systems (often using explicit BFT protocols like Tendermint or HotStuff) rely on these principles to ensure the integrity and immutability of the distributed ledger, even if a significant fraction of network participants are malicious.

UNESCO Nomenclature: 1203
Ciência da Computação

Tipo

Software/Algoritmo

Interrupção

Incremental

Uso

Uso generalizado

Precursores

  • Pesquisa geral sobre computação distribuída e problemas de consenso
  • Modelos de falha fail-stop (que o BFT amplia)
  • Cryptography and digital signature concepts for message authentication
  • 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
  • aerospace systems (e.g., boeing 777 flight control systems)
  • infraestrutura de computação em nuvem
  • sistemas de detecção de intrusão

Patentes:

NA

Ideias de Inovação Potencial

Devido ao tráfego de bots de coleta de dados, atualmente superior a 40 mil por dia, este conteúdo é reservado aos membros da comunidade.
> Login < ou > Registrar < (100% gratuito) para acessar isso, assim como todo o restante do conteúdo e das ferramentas restritas.

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.

Contexto histórico

Tolerância a falhas bizantinas (BFT)

1980
1980
1980
1982-07-01
1988-06-01
1990
1993
1975-06-01
1980
1980
1980
1986-01-01
1990
1990
1993

(Caso a data seja desconhecida ou irrelevante, por exemplo, "mecânica dos fluidos", é fornecida uma estimativa aproximada de seu surgimento notável)

Princípios relacionados à invenção, inovação e tecnologia

Imagens em tamanho real e downloads estão disponíveis apenas, 100% gratuitos, para membros registrados.