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.

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. A ascensão da tecnologia blockchain no final da década de 2000 criou uma nova e vasta área de aplicação para BFT. Mecanismos de consenso em criptomoedas como o Bitcoin (que utiliza Proof-of-Work, uma forma probabilística de BFT) e sistemas mais recentes de Proof-of-Stake (que frequentemente utilizam 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

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)
  • Conceitos de criptografia e 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: sistemas de controle de voo do Boeing 777)
  • 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
1980
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)

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