Você já ouviu falar sobre o problema dos generais bizantinos? Já se perguntou por que confiamos no dinheiro que usamos todos os dias? Ou por que precisamos de bancos e governos para determinarem o “valor” das notas e moedas que circulam por aí?

Pois bem, toda vez que lidamos com dinheiro ou transações importantes, de certa forma, estamos depositando nossa confiança em um sistema ou em uma entidade que afirma: “este valor é real” ou “essa transação aconteceu de verdade”.

O dinheiro desempenha a importante função de coordenar pessoas e empresas em relação ao preço de produtos e serviços. Até o surgimento do Bitcoin, essa coordenação era determinada exclusivamente por entidades centralizadas, e não existia uma forma independente de gerenciar valor digitalmente sem a intervenção de uma autoridade central ou intermediários.

O Bitcoin é um dinheiro descentralizado que elimina a necessidade de um “intermediário confiável” para coordenar valor. Ao fazer isso, o Bitcoin resolveu o principal enigma da teoria dos jogos no mundo digital: o famoso “Problema dos Generais Bizantinos”.

Neste artigo, vamos entender de forma simples o que é esse problema dos Generais Bizantinos, por que ele é importante na história do dinheiro e, principalmente, como o Bitcoin conseguiu resolvê-lo de maneira realmente eficaz.

Bora lá?

Qual é o problema dos Generais Bizantinos?

O problema dos Generais Bizantinos é um desafio de coordenação em que participantes precisam concordar sobre uma informação sem confiar totalmente uns nos outros. No mundo digital, isso representa a dificuldade de validar transações sem um intermediário central.

É uma metáfora para entender a coordenação entre sistemas de comunicação independentes.

Imagine que vários generais estejam cercando uma cidade inimiga chamada Bizâncio. Logo, eles precisam decidir a hora exata de atacar. Se todos atacam juntos, vencem. Entretanto, se algum resolver atacar sozinho ou em um horário diferente, eles perdem.

O grande problema é que os generais estão distantes uns dos outros e não têm uma forma segura de se comunicar. Assim, a qualquer momento, o inimigo pode interceptar uma mensagem e enviá-la modificada, enganando um dos generais.

Em outras palavras, cada general não tem certeza se a informação que recebeu (“vamos atacar ao amanhecer”) é realmente verdadeira ou se foi adulterada pelo inimigo. Isso cria uma situação em que cada um pode acabar desconfiando do outro. Afinal, quem garante que a mensagem de “ataque amanhã” não foi forjada para que alguns ataquem sem o apoio dos demais?

Esse cenário é uma forma metafórica de explicar como, em sistemas de comunicação independentes, é difícil ter certeza de que todos concordam com uma mesma “verdade”.

Sem um meio confiável de comunicação, como verificar se uma mensagem não foi falsificada, interceptada, manipulada ou fruto de traição?

Esse é o “Problema dos Generais Bizantinos”!

Em resumo: como alcançar um consenso (ou seja, concordância e coordenação geral) em um ambiente onde nenhum participante pode confiar totalmente na mensagem recebida do outro?

Teoria dos jogos

Bom… se você nunca ouviu falar em “teoria dos jogos” ou “consenso descentralizado”, pode achar que esse papo é só filosofia ou brincadeira de nerd. Mas, na prática, o Problema dos Generais Bizantinos é um grande desafio para qualquer sistema onde não existe um “juiz” ou “árbitro” central capaz de validar as informações.

Quando falamos de dinheiro, a situação fica ainda mais delicada, pois precisamos saber quem tem quanto de saldo e se uma transação é verdadeira ou não.

Portanto, pense num grupo de pessoas trocando dinheiro entre si sem um banco para registrar essas transações. Como todo mundo vai ter certeza de que o outro realmente tem aquele dinheiro para gastar? E se alguém gastar a mesma “moeda digital” duas vezes? Como identificar a fraude sem uma entidade central controlando tudo?

É aí que o pessoal gosta de dizer: “O verdadeiro problema não é só o dinheiro, mas a confiança.”

Em sistemas centralizados, como bancos, simplesmente acreditamos que eles estão falando a verdade sobre o nosso saldo e sobre as transferências, porque existem leis, regulações e toda uma estrutura controlando esse processo.

Mas, se quisermos nos livrar dessa figura do “banco confiável” e operar de forma descentralizada, ou seja, cada um sendo seu próprio banco, precisamos garantir que haja uma maneira de todos saberem o que está acontecendo, de modo que seja praticamente impossível para alguém trapacear sem que toda a rede perceba rapidamente.

Pois, se não fizermos isso, caíremos no mesmo problema dos generais bizantinos.

Relação entre dinheiro e confiança

Ao longo da história, as sociedades sempre enfrentaram o desafio de definir o que é “dinheiro” e por que ele tem valor.

Houve épocas em que se usavam conchas, sal, gado, metais preciosos… Enfim, qualquer coisa rara e valorizada pelas pessoas podia servir como moeda de troca.

O ouro é, provavelmente, o exemplo mais clássico. Ele é raro, difícil de falsificar (embora não impossível), e a maior parte das civilizações sempre reconheceu seu valor. Só que carregar ouro para todo lado não é muito prático, sem falar na dificuldade de verificar sua pureza e peso exatos.

Foi por isso que, em muitos lugares, o governo ou autoridades centrais passaram a emitir dinheiro em papel, lastreado em ouro ou em outros bens.

Com o tempo, esse dinheiro virou algo que a gente simplesmente assume ter valor porque todo mundo concorda com isso. Mas essa concordância depende de organismos centrais controlando a emissão e garantindo, pelo menos na teoria, que não vão imprimir notas demais.

A verdade é que a história está cheia de exemplos de governos que imprimiram dinheiro sem freio, causando inflação, ou que mudaram as regras do jogo para tentar controlar a economia. Isso abala a confiança da população e mostra que sistemas centralizados podem falhar ou até mesmo abusar do poder que têm.

O criador do Bitcoin, Satoshi Nakamoto, resumiu bem esse problema de confiança, dizendo que o grande desafio com moedas tradicionais é que precisamos acreditar que elas não serão desvalorizadas ou manipuladas. Porém, quando olhamos para o passado de várias moedas fiduciárias (como o real, o dólar ou o euro), percebemos que essas brechas de confiança acontecem com relativa frequência, seja por inflação, confisco ou outros mecanismos de ataque à liberdade financeira da população.

Leia também: o que é dinheiro fiat (fiduciário)?

Tá, mas onde está a relação entre Bitcoin e o Problema dos Generais Bizantinos?

Chegou a hora de mergulharmos nisso!

Como Bitcoin resolve o problema dos Generais Bizantinos?

O Bitcoin resolve o problema dos Generais Bizantinos com a Prova de Trabalho (PoW), garantindo consenso entre nodes sem a necessidade de confiar em terceiros. Os mineradores verificam e validam transações, dificultando ataques maliciosos. Assim, a rede mantém a integridade mesmo com participantes potencialmente desonestos.

O Bitcoin surgiu em 2008 (com o artigo publicado por Satoshi Nakamoto) e começou a funcionar em 2009, apresentando a primeira solução prática para o Problema dos Generais Bizantinos no contexto monetário.

Assim, em vez de precisar confiar em um governo ou em um banco, a proposta do Bitcoin era criar um sistema no qual qualquer pessoa pudesse participar, sem precisar de permissão, e ainda assim confiar que as transações eram legítimas.

Tudo isso se baseia em duas grandes sacadas: 

  1. a “blockchain” (ou timechain) 
  2. e o mecanismo de “Prova de Trabalho” (proof-of-work)

Essas tecnologias, juntas, garantem que todos os participantes da rede concordem com uma única versão da história de transações, mesmo sem haver um “chefe” no comando.

1. O que é a blockchain do Bitcoin?

A blockchain do Bitcoin, em resumo, é um grande livro-razão digital, onde ficam registradas todas as transações feitas com Bitcoin desde o primeiro dia.

Ela é distribuída, o que significa que cada computador (chamado de “nó” ou node) que participa da rede armazena uma cópia desse livro. Assim, sempre que alguém envia Bitcoin para outra pessoa, essa transação é registrada na blockchain, e todos os nós atualizam suas cópias, concordando sobre o que aconteceu.

Essa ideia, por si só, já é revolucionária, pois elimina a necessidade de uma instituição para manter esse registro. Em vez disso, o próprio conjunto de participantes monitora e atualiza tudo.

Mas ainda há uma grande pergunta: como garantir que alguém não tente “inventar” uma transação falsa ou alterar registros passados?

A blockchain sozinha não bastaria para resolver o problema dos generais bizantinos se não houvesse algum sistema de segurança e é aí que entra o proof-of-work.

2. O que é Prova de Trabalho no Bitcoin?

O mecanismo de Prova de Trabalho (Proof-of-Work ou PoW, na sigla em inglês) funciona quando máquinas empregam seu poder computacional para encontrar, por tentativa e erro, o nonce do bloco de informações da rede Bitcoin.

Esse processo é o que chamamos de “minerar”. Portanto ,quando um minerador encontra o resultado, ele propaga o bloco correspondente para a rede, os nós (nodes) validam se o processo seguiu o consenso e, estando tudo ok, o minerador recebe Bitcoin como recompensa por ter empregado seu poder computacional.

A ideia é que, para criar um bloco falso — ou seja, para mentir na rede —, o minerador precisaria gastar uma quantidade gigantesca de energia e poder computacional, e, ainda assim, os demais participantes poderiam checar se a transação é verdadeira ou não.

Assim, se a transação estiver errada, todos os outros nós verificadores simplesmente rejeitam o bloco. Ou seja, o trapaceiro teria jogado dinheiro, energia e tempo fora. Essa estrutura de incentivos faz com que seja muito mais vantajoso seguir as regras da rede do que tentar burlar o sistema.

Graças ao proof-of-work, não precisamos de um grande “chefe” para dizer qual é a “verdade” sobre as transações, visto que é muito difícil falsificar uma Prova de Trabalho. Cada nó é capaz de verificar os blocos por conta própria, seguindo as mesmas regras. Logo, se alguém tenta burlar ou inventar algo, a rede como um todo rejeita, e a blockchain permanece intacta.

Esse mecanismo, portanto, resolve o Problema dos Generais Bizantinos, pois mesmo que muitos participantes não se conheçam ou não confiem uns nos outros, eles podem chegar a um consenso sobre qual é a versão verdadeira das transações. Isso porque todos podem verificar por conta própria a Prova de Trabalho realizada, mas não podem modificar essa prova fornecida.

Resumindo:

O Bitcoin é a aplicação prática que resolveu o Problema dos Generais Bizantinos de forma funcional, porque conseguiu descentralizar a confiança antes dependente de entidades centrais.

Graças à combinação de blockchain, redes P2P e proof-of-work, o Bitcoin faz com que todos os participantes cheguem a um consenso sobre as transações, mesmo que não confiem diretamente uns nos outros e não haja uma autoridade como fonte da verdade.

Essa “mágica” acontece por causa dos incentivos econômicos e das regras matemáticas e criptográficas que estruturam todo esse sistema.

Bitcoin e o fim da dependência em autoridades centrais

Entender o problema dos Generais Bizantinos é fundamental para perceber a genialidade do Bitcoin. Não se trata apenas de “dinheiro digital”, é um novo conceito de como um grupo de pessoas pode concordar sobre a verdade, sem depender de uma autoridade central que chancela tudo e ao mesmo tempo pode manipular tudo.

Embora o termo “Generais Bizantinos” soe distante ou até engraçado, a essência do problema está presente em qualquer situação na qual precisamos de coordenação sem confiança prévia.

No fim das contas, o que o Bitcoin oferece é a possibilidade de transacionar e armazenar valor de maneira global e independente, sem barreiras geográficas ou intermediários.

E tudo isso apoiado em uma ideia brilhante: se formos obrigados a trabalhar duro (no sentido de gastar energia computacional) para criar blocos na rede, e se todos puderem verificar o resultado desse esforço, então conseguimos, finalmente, resolver o enigma dos generais que não se conhecem, mas precisam agir em conjunto e em colaboração.

O Bitcoin é essa resposta em forma de código. Ele roda em milhares de computadores espalhados pelo mundo e continua firme e forte após mais de uma década de existência.

Assim, quando alguém perguntar: “Mas por que o Bitcoin é tão especial?”, você pode responder:

Porque ele resolveu um problema que muitos achavam sem solução: o Problema dos Generais Bizantinos. Ele cria consenso sem depender de ‘senhores da verdade’, permitindo que qualquer pessoa verifique e colabore com total autonomia.

E, convenhamos, isso é algo realmente extraordinário, que já está mudando a forma como lidamos com dinheiro em escala global.

Espero ter ajudado você a entender mais sobre o Problema dos Generais Bizantinos!

Até o próximo artigo e Opt Out!

Compartilhe em suas redes sociais:

Escrito por
Imagem do Autor
Kaká Furlan

Fundadora da Area Bitcoin, um dos maiores projetos de educação de Bitcoin do mundo, publicitária, apaixonada por tecnologia e mão na massa full time. Já participou das principais conferências de Bitcoin como Adopting, Satsconf, Surfin Bitcoin e Bitcoin Conference.

Ícone do X

Curtiu esse artigo? Considere nos pagar um cafezinho para continuarmos escrevendo novos conteúdos! ☕