Embora tendamos a falar do bitcoin como uma revolução puramente financeira e monetária, não devemos esquecer que é também (e acima de tudo) a resolução de um problema muito difícil na área de TI. Estamos falando do problema dos “generais bizantinos”. Não se deixe enganar por uma expressão que parece contar uma pequena lição de história. Estamos falando de um problema que trata da dificuldade de um sistema descentralizado chegar a um consenso confiável, ainda que elementos possam transmitir informações falsas.
Sem que Satoshi Nakamoto mencione diretamente o problema dos generais bizantinos no white paper do bitcoin, sua proposta fornece uma solução.
Como o Bitcoin resolveu esse problema complexo? Vamos descobrir neste artigo que explicará em termos simples o que significa esse problema e como ele é resolvido com Bitcoin.
Compreendendo o problema dos generais bizantinos
O problema dos generais bizantinos é uma metáfora usada em matemática que descreve uma situação em que os participantes de uma rede descentralizada devem chegar a um consenso, apesar da presença de participantes maliciosos ou defeituosos. Assim, a metáfora permite representar os generais como os nós de uma rede, e a cidade que eles sitiam remete ao famoso consenso a ser alcançado.
def byzantine_generals_problem():
# Les généraux sont les nœuds du réseau
generals = ["A", "B", "C", "D", "E"]
# La ville est le consensus à atteindre
city = "Consensus"
O principal desafio deste problema é que alguns generais podem revelar-se traidores (sujos) que enviam informações contraditórias e falsas para semear confusão e impedir que o consenso seja alcançado. A grande questão do “problema” consiste, portanto, em perguntar-se como evitar que informações falsas circulem e prejudiquem o consenso.
É importante notar que apenas os sistemas descentralizados são suscetíveis ao problema dos generais bizantinos, porque não possuem uma fonte confiável de informações e não têm como confirmar as informações que recebem de outros usuários da rede. O problema não surge num sistema centralizado, uma vez que a informação pode ser validada e controlada pela entidade central.
Um pouco de história: " Bizâncio" refere-se ao Império Bizantino, também conhecido como Império Romano do Oriente. Foi um império que surgiu após a divisão do Império Romano em 395 e durou até a queda de Constantinopla em 1453. O Império Bizantino tinha como centro a cidade de Bizâncio, que foi renomeada Constantinopla (e é hoje Istambul, na Turquia) pelo imperador romano Constantino I no século IV.
A importância do problema dos generais bizantinos
Este problema foi abordado em detalhes pela primeira vez no artigo " O Problema dos Generais Bizantinos ", publicado em 1982. Dado o contexto, tratava-se de um problema significativo na época, que se tornou ainda mais importante com o surgimento das redes de computadores interconectadas. Tornou-se então necessário encontrar soluções para alcançar transmissões confiáveis dentro de uma rede.
Com efeito, se o problema dos generais bizantinos é essencial para resolver, é porque afecta todos os tipos de sistemas informáticos, e não apenas aqueles que são explorados em serviços sensíveis, como aplicações militares, por exemplo.
Se um grupo distribuído de nós precisa ter comunicação confiável entre todos os membros, então o problema dos generais bizantinos deve ser resolvido. Isto é essencial.
Sem haver uma resolução formal para o problema dos generais bizantinos, foram fornecidas alternativas ou semi-respostas com sistemas que se dizem “tolerantes” às falhas bizantinas (BFT).
Tolerância a Falhas Bizantinas (BFT)
Tolerância a falhas bizantinas (BFT) é a capacidade de um sistema de suportar essas condições. As redes que conseguem suportar mais falhas bizantinas têm maior tolerância, o que significa que são mais seguras do que aquelas que não conseguem.
Como o Bitcoin resolve o problema dos generais bizantinos?
Pode surpreender muitos saber que o Problema dos Generais Bizantinos foi resolvido indiretamente. De fato, o Bitcoin provavelmente não foi projetado especificamente para resolver o Problema dos Generais Bizantinos. No entanto, ele oferece uma solução elegante e robusta para um problema relacionado, conhecido como " problema do gasto duplo ", em uma rede descentralizada.
O problema do gasto duplo é, na verdade, uma variante do problema dos generais bizantinos no contexto específico dos sistemas de pagamento eletrônico. É um problema que surgiu desde as primeiras tentativas de criar uma moeda digital descentralizada, como foi o caso do ouro eletrônico ou do B-money de Wei Dai, por exemplo.
O Bitcoin resolveu o problema do gasto duplo introduzindo consenso distribuído por meio de um mecanismo chamado Prova de Trabalho (Proof-of-Work). Na rede Bitcoin, os nós (mineradores) precisam resolver problemas matemáticos complexos para adicionar um novo bloco ao Timechain . Isso exige tempo e recursos energéticos, tornando extremamente difícil para um agente malicioso falsificar todo o histórico de transações.
Ao conectar blocos uns aos outros de forma sequencial e cronológica, e fazendo com que cada bloco contenha uma referência ao bloco anterior, o blockchain Bitcoin cria um consenso distribuído. Se um nó malicioso tentar modificar uma transação em um bloco anterior, ele também terá que modificar todos os blocos subsequentes, o que se torna cada vez mais difícil à medida que novos blocos são adicionados. Isto é então matematicamente possível, mas na realidade, inviável.
É assim que o bitcoin resolve indiretamente o problema dos generais bizantinos.
O problema dos generais bizantinos no contexto financeiro
No que diz respeito à área financeira, o Bitcoin foi a primeira solução para o problema dos generais bizantinos. Na realidade, o dinheiro é um exemplo ideal para compreender o problema dos generais bizantinos. Como pode uma sociedade criar uma moeda em que todos os membros possam confiar sem que haja uma autoridade central que decida a sua fiabilidade? Este foi o objetivo da criação do Bitcoin. E ainda era enigmático antes da implementação do mecanismo de prova de trabalho que, portanto, nos dá uma viabilidade empírica deste problema.
Assim, o blockchain (ou mais precisamente o “timechain”) oferece às pessoas uma forma de trocar com total segurança e ao mesmo tempo ter a certeza da confiabilidade das informações transmitidas.
Conclusão
Como vimos, o Bitcoin não aborda diretamente o problema dos generais bizantinos como um todo. No entanto, fornece uma solução sutil para um enigma que antes era considerado intransponível. Assim, Satoshi Nakamoto conseguiu criar uma moeda num sistema descentralizado garantindo ao mesmo tempo a fiabilidade das informações. É um feito matemático, é um gênio no processo.
Isto também explica por que muitos bitcoiners estão convencidos de que o inventor do Bitcoin poderia merecer um Prêmio Nobel. Sim, e isto seria apenas um pequeno reconhecimento do que ele trouxe ao mundo.
*Peço desculpas pelo tom ditirâmbico deste artigo, mas foi difícil para mim minimizar esse aspecto do Bitcoin.
Para ir mais longe:
Saiba mais sobre ZoneBitcoin
Inscreva-se para receber as últimas postagens enviadas para seu e-mail.