Qual é o Problema dos generais bizantinos?

7/30/2024, 2:11:07 AM
Intermediário
Análise de projectos
O Problema dos Generais Bizantinos tem uma relação próxima com a blockchain. Uma rede blockchain é uma rede distribuída onde os nós, como os generais bizantinos, devem alcançar consenso sobre transações e dados num ambiente de rede não confiável.

Bizâncio, a capital do antigo Império Romano do Oriente, foi uma das cidades mais poderosas e ricas do mundo. No entanto, devido ao seu vasto território, Bizâncio enfrentava frequentemente invasões externas e rebeliões internas. Para defender as suas fronteiras, Bizâncio enviou múltiplos exércitos, cada um comandado por diferentes generais. Alcançar consenso entre esses generais tornou-se um desafio significativo.
O Problema dos generais bizantinos tem uma relação próxima com a blockchain. Uma rede blockchain é uma rede distribuída onde os nós, como os generais bizantinos, devem alcançar consenso sobre transações e dados num ambiente de rede não confiável.

Problema dos dois generais

O Problema dos Dois Generais é um caso especial do Problema dos generais bizantinos. O problema e sua prova de insolubilidade foram propostos pela primeira vez por E.A. Akkoyunlu, K.Ekanadham e R.V. Huber no seu artigo de 1975 “Algumas restrições e compensações no design de comunicações em rede.” Em 1978, Jim Gray formalmente nomeou este problema como o “Problema dos Dois Generais” no seu livro “Notas sobre Sistemas Operacionais de Banco de Dados.” Originalmente, era usado para analisar os problemas de alcançar consenso através da comunicação sobre uma ligação de comunicação não fiável. Atualmente, é comumente usado para ilustrar questões de consistência e consenso em sistemas distribuídos.

Definição do Problema:
Duas armadas do país A, cada uma liderada por um general, estão se preparando para atacar uma armada do país B. A armada do país B está cercada num vale, com as duas armadas de A estacionadas nas colinas de cada lado do vale. No entanto, o único caminho entre as duas armadas de A passa pelo vale. A armada de B é mais forte do que qualquer uma das armadas de A individualmente, mas se ambas as armadas de A atacarem juntas, podem derrotar a armada de B.
Problema: Pode ser elaborado um algoritmo que permita que os dois generais dos exércitos de A concordem com um ataque simultâneo? O algoritmo pode incluir o envio e receção de mensagens.
Solução: O clássico Problema dos Dois Generais é insolúvel. Não há nenhum protocolo que possa garantir que os dois exércitos de A coordenarão com sucesso o seu ataque. No entanto, em sistemas práticos, as questões podem ser abordadas de forma relativamente confiável, como com o mecanismo de "aperto de mão de três vias" no protocolo TCP.

Problema dos generais bizantinos

O Problema dos generais bizantinos foi proposto pela primeira vez por Leslie Lamport, vencedor do Prêmio Turing de 2013, no seu artigo de 1982 “O Problema dos generais bizantinos”. O problema descreve como alcançar consistência em sistemas distribuídos na presença de comportamento malicioso, como a adulteração de mensagens.
Várias armadas do Império Bizantino cercam uma cidade inimiga, cada uma liderada por um general. As armadas bizantinas só podiam comunicar através de mensageiros. Após observar as forças inimigas, os generais bizantinos devem chegar à mesma conclusão: apenas se mais da metade das armadas bizantinas atacarem juntas podem capturar a cidade e alcançar a vitória.
[图片]
Solução: Se o número de generais (nós) em um sistema bizantino for Z e o número de generais não confiáveis (traidores) for X, então apenas quando Z ≥ 3X + 1 pode um protocolo de Tolerância a Falhas Bizantinas (BFT) garantir a consistência do sistema.
Em sistemas práticos, falhas que causam nós inativos são classificadas como “Falhas de Colisão,” enquanto nós que forjam ou adulteram mensagens são classificados como “Falhas Bizantinas.”

Classificação do Algoritmo de Consenso

Os sistemas de blockchain são um tipo de sistema distribuído, especialmente as cadeias públicas como o Bitcoin e o Ethereum, que consistem em numerosos nós de rede altamente descentralizados e mutuamente desconfiados. O mecanismo de consenso blockchain garante que o sistema blockchain alcance consistentemente a consistência dos dados sem bifurcações.
Com base no tipo de tolerância a falhas, os algoritmos de consenso podem ser classificados em algoritmos de Tolerância a Falhas Não-Byzantina (CFT) e algoritmos de Tolerância a Falhas Bizantinas (BFT).

Algoritmos de Tolerância a Falhas não Bizantinas

Em sistemas distribuídos, os algoritmos de Tolerância a Falhas Não-bizantinas garantem a confiabilidade de todo o sistema distribuído quando os nós enfrentam falhas no sistema ou interrupções não planeadas (falhas não-bizantinas). No entanto, quando os nós maliciosos forjam ou adulteram dados, os algoritmos de Tolerância a Falhas Não-bizantinas não conseguem garantir a confiabilidade do sistema. Esses algoritmos são usados principalmente em sistemas distribuídos empresariais fechados e controlados. Os algoritmos de Tolerância a Falhas Não-bizantinas mais representativos incluem o algoritmo Paxos e o algoritmo Raft.

Algoritmos de Tolerância a Falhas Bizantinas

Os algoritmos de Tolerância a Falhas Bizantinas permitem que um sistema distribuído garanta a fiabilidade, mesmo que os nós sofram qualquer tipo de falha, desde que o número de nós defeituosos não exceda uma certa proporção. Simplificando, desde que o número de nós defeituosos (devido a falhas não bizantinas ou bizantinas) seja inferior a uma certa proporção do total de nós, os algoritmos de Tolerância a Falhas Bizantinas podem garantir a fiabilidade do sistema. Devido à presença de muitos nós de rede desconfiados em sistemas blockchain como Bitcoin e Ethereum, os algoritmos de Tolerância a Falhas Bizantinas são principalmente utilizados em mecanismos de consenso blockchain. Os algoritmos de Tolerância a Falhas Bizantinas mais representativos incluem PBFT (Tolerância a Falhas Bizantinas Prática), PoW (Prova de Trabalho) e PoS (Prova de Participação).

* As informações não se destinam a ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecido ou endossado pela Gate.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem fazer referência à Gate. A violação é uma violação da Lei de Direitos de Autor e pode estar sujeita a ações legais.

Partilhar

Calendário Cripto

Atualizações de projetos
Etherex irá lançar o Token REX no dia 6 de agosto.
REX
22.27%
2025-08-06
Dia Raro de Desenvolvimento & Governança em Las Vegas
A Cardano irá organizar o Rare Dev & Governance Day em Las Vegas, de 6 a 7 de agosto, apresentando workshops, hackathons e discussões em painel focadas em desenvolvimento técnico e tópicos de governança.
ADA
-3.44%
2025-08-06
Blockchain.Rio em Rio de Janeiro
A Stellar participará da conferência Blockchain.Rio, agendada para ser realizada no Rio de Janeiro, de 5 a 7 de agosto. O programa incluirá palestras e discussões em painel com representantes do ecossistema Stellar em colaboração com os parceiros Cheesecake Labs e NearX.
XLM
-3.18%
2025-08-06
Webinar
A Circle anunciou um webinar ao vivo chamado “A Era do GENIUS Act Começa”, agendado para 7 de agosto de 2025, às 14:00 UTC. A sessão irá explorar as implicações do recém-aprovado GENIUS Act—o primeiro quadro regulatório federal para moedas estáveis de pagamento nos Estados Unidos. Dante Disparte e Corey Then, da Circle, liderarão a discussão sobre como a legislação impacta a inovação em ativos digitais, a clareza regulatória e a liderança dos EUA na infraestrutura financeira global.
USDC
-0.03%
2025-08-06
AMA na X
Ankr irá realizar um AMA no X no dia 7 de agosto às 16:00 UTC, focando no trabalho do DogeOS na construção da camada de aplicação para DOGE.
ANKR
-3.23%
2025-08-06

Artigos relacionados

Quem é Satoshi Nakamoto?
Principiante

Quem é Satoshi Nakamoto?

No mundo das criptomoedas de hoje, o maior enigma não é como o Bitcoin opera, mas sim quem é o seu criador.
7/19/2024, 3:37:20 AM
Relatório de Pesquisa Uniswap (UNI)
Intermediário

Relatório de Pesquisa Uniswap (UNI)

A Uniswap, pioneira em exchanges descentralizadas, usa o AMM como seu mecanismo central para executar automaticamente negociações através de pools de liquidez.
6/6/2024, 3:43:21 AM
Relatório de Pesquisa do Immutable X (IMX)
Intermediário

Relatório de Pesquisa do Immutable X (IMX)

Immutable X é uma rede de camada 2 não compatível com EVM implantada no Ethereum, baseada na tecnologia StarEx da Starkware.
7/1/2024, 8:35:37 AM
Relatório de Pesquisa Kaspa (KAS)
Intermediário

Relatório de Pesquisa Kaspa (KAS)

Kaspa é uma rede Layer1 descentralizada e escalável que usa a arquitetura BlockDAG para resolver problemas de escalabilidade associados às operações tradicionais de blockchain.
6/25/2024, 2:47:39 AM
Pendle (PENDLE) Relatório de Pesquisa
Intermediário

Pendle (PENDLE) Relatório de Pesquisa

Pendle é um derivativo de taxa de juros protocolo proposto em várias cadeias, permitindo que os usuários bloqueiem o rendimento futuro de seus criptoativos e recebam retornos antecipadamente.
6/18/2024, 2:59:31 AM
IO.NET (IO) Relatório de Investigação
Intermediário

IO.NET (IO) Relatório de Investigação

IO.NET é uma rede GPU descentralizada projetada especificamente para aprendizado de máquina (ML). Ele agrega poder de computação de mais de um milhão de GPUs provenientes de mineradores independentes de criptomoedas, Filecoin, Render e outros projetos.
6/13/2024, 3:28:15 AM
Comece agora
Registe-se e ganhe um cupão de
100 USD
!