Pontos Essenciais
- Uma falha bizantina ocorre quando um componente de um sistema distribuído falha enviando informações contraditórias para diferentes partes, sem que ninguém consiga determinar com certeza se houve falha.
- O problema recebe esse nome do dilema dos generais bizantinos: coordenar um ataque quando alguns mensageiros — ou generais — poderiam ser traidores que alteram as mensagens.
- A tecnologia blockchain foi especificamente projetada para operar em ambientes com falhas bizantinas: seu mecanismo de consenso garante que a rede chegue a um acordo mesmo que existam nós maliciosos ou defeituosos.
- A tolerância a falhas bizantinas não é apenas teoria; uma rachadura em um diodo no ônibus espacial Discovery quase causou um desastre real em 2008.
UUma falha bizantina é uma condição de um sistema computacional, especificamente de sistemas de computação distribuída. Essa condição ocorre quando um ou mais componentes falham e não há informações precisas sobre se um componente falhou ou se as informações do sistema estão corretas.
Em uma falha bizantina, um componente como um servidor pode aparecer inconsistentemente, como falhar e trabalhar em sistemas de detecção de falhas. Isso ocorre porque o sistema apresenta sintomas diferentes em comparação com diferentes observadores. Nesse momento, é difícil para os outros componentes tomar a decisão de declarar que houve falha e excluí-la da rede. Bem, para isso, é necessário chegar a um consenso sobre qual componente falhou em primeiro lugar.
A Falla bizantina como um problema de consenso
O termo leva o nome do nome conhecido "Problema dos generais bizantinos". Isso foi desenvolvido para descrever uma circunstância em que os atores devem concordar com uma estratégia ou consenso para evitar falhas catastróficas do sistema. E eles também devem atingir esse objetivo, sabendo que, entre eles, pode haver atores não confiáveis.
O problema dos generais bizantinos foi descrito por robert shostack em 1978, no âmbito de um projeto do laboratório de Ciência da Computação da SRI International. Este projeto foi chamado SIFT, e teve o apoio da mesma agência aeroespacial NASA. O caso descrito representa em essência um problema de comunicação distribuída entre computadores. Nele, computadores focados em diferentes propósitos devem ser capazes de estabelecer comunicação em pares e chegar a um consenso. E eles devem ser capazes de fazê-lo, mesmo que alguns deles estejam danificados. Para entender melhor, vamos ver sua abordagem:
Nos sistemas computacionais modernos, a coordenação entre múltiplos componentes é tão crítica quanto a confiabilidade de cada componente individualmente. Quando um componente falha de forma previsível — desligando, respondendo incorretamente ou ficando inativo — os outros podem detectar a falha e agir de acordo. O problema verdadeiramente complexo surge quando o componente com falha não falha de forma limpa, mas, em vez disso, envia sinais contraditórios para diferentes observadores. Esse cenário define a falha bizantina, e é precisamente o problema que a tecnologia blockchain foi projetada para resolver.
A Falha Bizantina não é um conceito novo: ela vem sendo estudada na engenharia de sistemas distribuídos há quase cinco décadas. No entanto, com o surgimento de redes descentralizadas como Bitcoin e Ethereum, sua relevância ultrapassou os limites dos laboratórios acadêmicos, tornando-se o fundamento teórico de como operam os protocolos de consenso, que agora lidam com trilhões de euros em valor. Compreender o que é uma Falha Bizantina equivale a entender por que o design do blockchain é tão robusto contra nós não confiáveis.
A Falla bizantina como um problema de consenso
Uma falha bizantina é uma condição que afeta sistemas de computação distribuída. Ela ocorre quando um ou mais componentes do sistema falham, mas a falha não é detectada de forma confiável porque o componente defeituoso parece estar funcionando para alguns observadores e apresentando falhas para outros.
A característica que torna esse tipo de falha particularmente complexa é que o nó problemático não simplesmente para de responder; em vez disso, ele pode enviar dados arbitrários, contraditórios ou incorretos de maneira aparentemente normal. Do ponto de vista externo, o sistema não consegue distinguir facilmente se esse nó está com defeito, foi comprometido por um agente externo ou está simplesmente comunicando informações legítimas, porém diferentes. Essa ambiguidade faz com que a detecção seja um problema de consenso, e não apenas técnico.
É importante esclarecer que uma falha bizantina não implica necessariamente a presença de um agente humano malicioso por trás dela. Ela pode surgir de falhas físicas — degradação elétrica, um componente danificado, interferência eletromagnética — que fazem com que o hardware transmita dados errôneos sem que o usuário perceba. A ausência de intenção não reduz em nada a complexidade do problema.
Começa ás Bit2Me Entre no mundo das criptomoedas com uma vantagem inicial. Cadastre-se facilmente e ganhe €15 GRÁTIS na sua primeira compra com este link. Não espere mais para se juntar à revolução cripto! Cadastre-se
O problema dos generais bizantinos (PGB)
- Vários generais do mesmo lado e seus exércitos estão localizados em diferentes extremos de uma cidade com a intenção de cercá-la.
- Para ter sucesso, eles precisam atacar a cidade de maneira coordenada para derrotar as defesas ou recuar de forma coordenada. No caso de não sincronizar suas ações, eles cairão diante das fortes forças inimigas.
- Para conseguir isso, os generais atacantes se comunicam através de mensageiros.
- Embora a cidade esteja cheia de inimigos, os mensageiros devem atravessar a cidade para ir de um acampamento para outro com ordens de ataque.
- A suposição indica que um mensageiro do exército informará outro da intenção de atacar ou não, e quando fazê-lo.
- À medida que recebem propostas, os generais os confirmam ou os rejeitam para estabelecer um acordo de votação sobre qual passo dar.
Como você pode ver, o problema é que dentro da cidade inimigos poderiam capturar mensageiros. Se eles puderem ser interceptados, a mensagem pode ser modificado e, conseqüentemente, o ataque não seria realizado de maneira coordenada. Se não fossem executados de maneira coordenada, os exércitos atacantes seriam derrotados, fracassando em sua missão.
Por exemplo, se uma mensagem dos generais fosse “Ataque amanhãO texto poderia ser alterado adicionando "somente se chover" depois dele. Dessa forma, o outro exército poderia pensar que está concordando em atacar somente se chover e confirmar a mensagem. O primeiro exército atacaria então, e o segundo poderia optar por não atacar e recuar caso não chova.
Num conjunto de sistemas de computadores distribuídos com um objetivo comum, cada computador seria equivalente a um general e seu exército. E, portanto, a rede de dados seria análoga aos mensageiros que devem atravessar a cidade informando os generais.
Que efeito as falhas bizantinas têm?
As falhas bizantinas são consideradas as classe mais geral e mais complexa de falhas a serem resolvidas. Isto é assim porque o nó que falha na rede, pode estar gerando dados arbitrários e finge estar correto. As falhas bizantinas são capazes de confundir os sistemas de detecção de falhas. Apesar da analogia, uma falha bizantina não é necessariamente um problema de segurança que envolve interferência humana hostil: pode surgir aleatoriamente devido ao acúmulo de falhas elétricas.
Para explicar um pouco mais os efeitos e o escopo dessas falhas, explicaremos alguns casos conhecidos deles:
Caso # 1: descoberta do ônibus espacial - voo STS-124
La NASA descobriu que uma das falhas da missão STS-124, estava envolvido o sistema de controle de combustível. Dos quatro sistemas de controle, os quatro forneceram informações erradas e completamente diferentes do sistema de controle. Porém, a falha não foi de programação, mas física. Isso se originou em um placa de controle que se comunicava com todos os quatro computadores. Uma rachadura em um diodo foi o que causou essa falha bizantina. A ruptura do diodo era culpada de transmogificação pela conversão de um diodo em um capacitor. Essa situação atrasou o lançamento do vaivém até que a falha fosse resolvida.
Se o sistema Shuttle não fosse tolerante a falhas bizantinas, essa falha teria sido desastrosa. Sem o controle do sistema de combustível, isso significaria que o ônibus explodiu. Essa falha é um exemplo claro de quão perigosas as falhas bizantinas podem ser e de quão difícil pode ser detectá-las ou evitá-las.

Caso # 2: tecnologia Blockchain
No caso de o blockchain Falhas bizantinas podem se apresentar no desempenho de nós não confiáveis ou maliciosos. Se algum membro da comunidade enviar informações inconsistentes a outros sobre transações, a confiabilidade do blockchain será quebrada. Para resolver isso, PoW oferece mecanismos de tolerância a falhas bizantinas (BFT) para evitar esse problema.
Outro problema que surge no blockchain relacionado a falhas bizantinas são os casos de gastos duplos. El gasto duplo, é um ataque no qual um ator faz uso em duas ocasiões diferentes das mesmas criptomoedas. Nesse caso, a rede blockchain deve resistir ao fato de que a mesma criptomoeda é usada dessa maneira. Fazer isso é bastante complexo. Para conseguir isso, devem ser projetados mecanismos tolerantes a falhas bizantinas parciais ou completas.
Como a blockchain resolve o problema da falha bizantina?
O projeto do Bitcoin, publicado por Satoshi Nakamoto em 2008, foi uma resposta direta ao Problema dos Generais Bizantinos aplicado a sistemas financeiros descentralizados. A solução precisava garantir que uma rede de nós desconhecidos, sem uma autoridade central, pudesse chegar a um consenso sobre o estado do sistema, mesmo quando alguns desses nós se comportassem de maneira arbitrária ou maliciosa.
O mecanismo de Prova de Trabalho (PoW) usado pelo Bitcoin é, formalmente falando, um protocolo de Tolerância a Falhas Bizantinas (BFT). Sua lógica é a seguinte: para adicionar um bloco à cadeia, um nó deve demonstrar que investiu uma quantidade significativa de poder computacional na resolução de um problema matemático. Esse custo torna a alteração do histórico de transações economicamente inviável: para modificar um bloco já confirmado, um atacante precisaria exceder a capacidade computacional de toda a rede honesta, o que é proibitivamente caro em uma rede suficientemente grande.
A tolerância não é ilimitada. A teoria BFT afirma que um sistema pode funcionar corretamente desde que a fração de nós comprometidos não exceda um terço do total (nos protocolos BFT clássicos) ou, no caso de Prova de Trabalho (PoW), que o atacante não controle mais de 50% da capacidade computacional da rede. Se esse limite for ultrapassado, a garantia de consenso é quebrada. Essa é a base teórica do conhecido ataque de 51%.
Além do PoW, o ecossistema blockchain desenvolveu múltiplas variantes de protocolos BFT adaptadas a diferentes necessidades:
- Prova de Participação (PoS): usada pelo Ethereum desde sua transição em 2022 (A Fusão). A tolerância é garantida por meio de incentivos econômicos: validadores que agem de forma desonesta perdem os ativos que ofereceram como garantia (penalidade).
- Tolerância Prática a Falhas Bizantinas (PBFT): um protocolo projetado para redes de nós conhecidos, com alta eficiência e aplicação imediata. É utilizado por blockchains permissionadas como o Hyperledger Fabric.
- Tolerância a Falhas Bizantinas Delegada (dBFT): utilizada pelo NEO, onde os nós validadores são eleitos pela comunidade e é necessário um consenso de dois terços para confirmar os blocos.
Por que a Falha Bizantina é importante além do blockchain?
A relevância do Problema dos Generais Bizantinos vai muito além das criptomoedas. Qualquer sistema que dependa da coordenação entre múltiplos componentes independentes — redes inteligentes, sistemas de votação eletrônica, infraestrutura de comunicações militares, frotas de veículos autônomos — enfrenta variações do mesmo problema fundamental: como chegar a um acordo confiável quando nem todos os participantes são de confiança absoluta.
Nesse sentido, a pesquisa iniciada por Lamport, Shostak e Pease na década de 1980 não apenas inspirou o design do Bitcoin, mas também lançou as bases de uma disciplina que hoje é aplicada a problemas tão diversos quanto a sincronização de relógios em centros de dados, a coordenação de satélites em constelações de órbita baixa da Terra (LEO) ou a resiliência de sistemas de controle em usinas nucleares.
O progresso nessa área continua. Pesquisadores do MIT, Stanford e da Cornell Digital Initiative estão trabalhando em protocolos que visam reduzir as garantias de consenso da Falha Bizantina (BFT) para condições mais eficientes, especialmente em ambientes com milhares de participantes, onde os protocolos tradicionais perdem escalabilidade. Em resumo, a Falha Bizantina é um problema antigo cuja relevância cresce a cada nova camada de infraestrutura digital que construímos.
Clique aqui para abrir sua conta de usuário GRATUITAMENTE e com segurança e receba um presente de €15.


autor


