O que é o Problema dos Generais Bizantinos?
Esta é a tradução do texto “What Is the Byzantine Generals Problem?” publicado na parte educacional do site da River Financial.
Tradução por Leta.
Com a palavra, o autor:
O Problema dos Generais Bizantinos
O Problema dos Generais Bizantinos é um problema de teoria dos jogos, que descreve a dificuldade de entidades descentralizadas em chegar a um consenso sem depender de um ponto central de confiança. Em uma rede onde nenhum membro pode verificar a identidade de outros membros, como os membros podem concordar coletivamente sobre uma certa verdade?
A analogia da teoria dos jogos por trás do Problema dos Generais Bizantinos é que vários generais estão sitiando a cidade de Bizâncio. Eles cercaram a cidade, mas devem decidir coletivamente quando atacar. Se todos os generais atacarem ao mesmo tempo, eles vencerão, mas se atacarem em momentos diferentes, eles perderão. Os generais não têm canais de comunicação seguros uns com os outros porque quaisquer mensagens que eles enviem ou recebam podem ter sido interceptadas ou enganosamente enviadas pelos defensores de Bizâncio. Como os generais podem se organizar para atacar ao mesmo tempo?
Sistemas Centralizados e Descentralizados
Apenas os sistemas descentralizados enfrentam o Problema dos Generais Bizantinos, uma vez que não possuem uma fonte confiável de informações e nenhuma forma de verificar as informações que recebem de outros membros da rede. Em sistemas centralizados, uma autoridade é confiável para publicar informações verdadeiras e evitar que informações falsas ou fraudulentas se espalhem pela rede.
Por exemplo, no sistema financeiro tradicional, os bancos são confiáveis para mostrar aos clientes seus saldos e históricos de transações de maneira honesta. Se um banco tentar mentir ou fraudar seus clientes, um banco central ou governo é responsável por retificar a quebra de confiança.
Os sistemas centralizados não resolvem o Problema dos Generais Bizantinos, que exige que a verdade seja estabelecida sem confiança. Em vez disso, eles sacrificam a falta de confiança pela eficiência e optam por não enfrentar o problema. No entanto, os sistemas centralizados são vulneráveis à corrupção por parte da autoridade central.
Dinheiro e o Problema dos Generais Bizantinos
O dinheiro é um excelente exemplo do Problema dos Generais Bizantinos. Como uma sociedade deve estabelecer um dinheiro em que todos os membros de uma sociedade possam confiar e concordar? Durante grande parte da história, as sociedades selecionaram metais preciosos ou outros bens raros, como conchas ou contas de vidro, como dinheiro. De certa forma, o ouro resolveu o Problema dos Generais Bizantinos: era confiável e reconhecido em sistemas descentralizados, como o comércio internacional. No entanto, seu peso e pureza permaneceram duvidosos, e ainda o são até hoje. O fracasso do ouro em resolver completamente o Problema dos Generais Bizantinos resultou em entidades centralizadas de confiança, geralmente governos, assumindo o estabelecimento e a emissão de dinheiro. Os governos monopolizaram as casas da moeda para inspirar confiança no peso e na pureza do dinheiro. Os sistemas centralizados obviamente não resolveram o Problema dos Generais Bizantinos. Os governos, as autoridades centrais de confiança do dinheiro fiat, violaram constantemente essa confiança, apreendendo, degradando ou trocando o dinheiro.
A raiz do problema com a moeda convencional é toda a confiança necessária para fazê-la funcionar. O banco central deve ser confiável para não depreciar a moeda, mas a história das moedas fiduciárias está cheia de violações dessa confiança.
Satoshi Nakamoto discutindo a importância da natureza descentralizada do Bitcoin.
Para que um dinheiro resolvesse o Problema dos Generais Bizantinos, ele teria que ser verificável, resistente à falsificação e não precisaria de confiança para funcionar. E foi somente com a invenção do Bitcoin que esse feito foi alcançado.
Como o bitcoin resolve o Problema dos Generais Bizantinos
Bitcoin foi a primeira solução realizada para o Problema dos Generais Bizantinos em relação ao dinheiro. Muitas propostas e projetos anteriores ao Bitcoin tentaram criar dinheiro separado do governo, mas todos falharam de uma forma ou de outra.
Blockchain resolve o problema dos gastos em dobro
Como um sistema monetário, o Bitcoin precisava de uma maneira de gerenciar a propriedade e evitar gastos em dobro. Para conseguir isso de uma maneira sem confiança, o Bitcoin usa um blockchain, um livro-razão público e distribuído que armazena um histórico de todas as transações. Na analogia dos generais bizantinos, a verdade com a qual todas as partes devem concordar é o blockchain.
Se todos os membros da rede Bitcoin, chamados de nós, pudessem concordar sobre quais transações ocorreram e em que ordem, eles poderiam verificar a propriedade do bitcoin e estabelecer um dinheiro funcional e confiável sem uma autoridade centralizada
Prova de trabalho resolve o Problema dos Generais Bizantinos
O Bitcoin conseguiu resolver o Problema dos Generais Bizantinos usando o mecanismo de Prova de Trabalho (Proof of Work) para estabelecer um conjunto de regras claro e objetivo para o blockchain. Para adicionar informações, chamadas de blocos, ao blockchain, um membro da rede deve publicar uma prova de que investiu um trabalho considerável na criação do bloco. Este trabalho impõe altos custos ao criador e, portanto, o incentiva a publicar informações honestas.
Como as regras são objetivas, não pode haver desacordo ou intromissão nas informações da rede Bitcoin. O conjunto de regras que rege quais transações são válidas e quais são inválidas também é objetivo, assim como o sistema para determinar quem pode cunhar novos bitcoins. Além disso, uma vez que um bloco foi adicionado ao blockchain, é extremamente difícil de remover, tornando o passado do Bitcoin imutável.
Assim, em todos os momentos, os membros da rede Bitcoin podem concordar sobre o estado do blockchain e todas as transações nele. Cada nó verifica por si mesmo se os blocos são válidos com base no requisito de Prova de Trabalho e se as transações são válidas com base em outros requisitos.
Se qualquer membro da rede tentar transmitir informações falsas, todos os nós da rede irão imediatamente reconhecê-lo como objetivamente inválido e ignorá-lo. Como cada nó pode verificar todas as informações na própria rede Bitcoin, não há necessidade de confiar em outros membros da rede, tornando o Bitcoin um sistema sem confiança.