Como o problema dos generais bizantinos foi resolvido no Bitcoin?

O problema dos generais bizantinos é uma das questões clássicas da computação, relacionado a impossibilidade de coordenar uma ação quando não há um servidor central conectando os diferentes computadores ligados a rede.

Esse problema sempre foi a principal questão a ser resolvida para a criação de um dinheiro digital, e um dos grandes motivos para o Bitcoin ter sido tão bem sucedido foi justamente por seu criador Satoshi Nakamoto ter conseguido aplicar uma solução adequada para esse problema.

Para entender como isso foi feito, vamos primeiro entender o que é o problema dos generais Bizantinos

 

O que é o problema dos generais bizantinos?

 

Pense no seguinte cenário: Cinco generais buscam coordenar esforços entre seus exércitos para atacar uma determinada cidade. Para que o ataque seja bem sucedido, é absolutamente necessário que o ataque seja simultâneo, caso contrário, os generais que atacaram irão falhar e serão mortos em combate.

O problema é que a cidade em questão fica em um vale, e cada um dos generais e seu exército esta em um ponto distinto em relação a cidade, havendo a necessidade de se utilizar de um mensageiro para que se chegue ao um consenso acerca de qual o dia e horário para atacar.

Generais Bizantinos

É nesse momento que os problemas começam a surgir, pois há várias possibilidades de falha nesse plano. Primeiramente, é possível que o próprio mensageiro seja capturado e algumas das mensagens nunca cheguem, fadando o plano ao fracasso. Ainda que a mensagem chegue, entretanto, ainda há a possibilidade de que um ou mais dos generais sejam traidores e sabotem o plano, novamente tendo como consequência o fracasso. Por fim, o próprio mensageiro pode ser capturado e substituído por um infiltrado da cidade inimiga, espalhando informações falsas entre os generais para sabotar o plano e fazer que somente um ou dois generais ataquem e sejam massacrados, por exemplo.

 

Falha Bizantina

Nesse cenário, ocorre o que se chama de falha bizantina, pois não é possível ter um método para verificar com 100% de certeza de que todos estão cientes do plano de ataque e irão agir de modo perfeitamente coordenado. Ainda que as mensagens cheguem, não tem como saber se elas são confiáveis ou se os outros generais a seguirão. Assim, não há um método confiável para que se chegue a um acordo entre os generais.

 

O Acordo Bizantino e o Bitcoin

Essa metáfora serve para ilustrar o problema de um sistema sem um único ponto central. Se um único general comandasse todo o exército, o problema nem existira, pois bastaria emitir a ordem de ataque e todas as forças estariam concentradas em um único ponto com força total, garantindo a vitória. Analogamente, em uma rede de computadores centralizada, onde um único servidor detêm toda a informação confiável de que o sistema dispõe, a coordenação entre os diferentes pontos é simples de ser feita, bastando que o servidor central emita seus comandos. Já em uma rede distribuída peer-to-peer, ou descentralizada, como é o caso do bitcoin, isso não é possível.

Assim, o problema dos generais bizantinos sempre foi a grande pedra no sapato para quem almejava criar uma dinheiro totalmente digital, já que é essencialmente um problema de confiança e sem confiança não há como se ter dinheiro digital. Por muito tempo, essa questão foi considerada insolúvel até que Satoshi Nakamoto teve a ideia de criar o que se tornou a revolucionária tecnologia blockchain.

Consenso Bizantino

Por meio da blockchain, cada transação, ao ser validada, integra um bloco e esse bloco é passado por uma função criptográfica e gera um hash que, por sua vez, inclui não somente as transações do bloco em questão mas também as transações do bloco imediatamente anterior que, por sua vez também, inclui as do bloco anterior, e assim sucessivamente. Daí o nome Block Chain, ou cadeia de blocos.

Com isso, o que gera confiança as transações feitas em Bitcoin é que elas estão encadeadas com as transações já validadas anteriormente, desde o início da rede, e todas essas operações podem ser consultadas por meio de um Ledger público ao qual qualquer pessoa tem acesso. Assim, um participante que tente fraudar a rede pode ser facilmente descoberto, já que, ao se consultar as transações anteriores daquele endereço, se pode ver que não há fundamento para a transação que o fraudador tentou validar. Por ex. um endereço A possui 5 Bitcoins, recebe 6 bitcoins de um endereço B e então, posteriormente, tenta transferir 22 bitcoins para um endereço C, o dobro do que realmente possui e pode ser verificado pelos registros da blockchain.

Nesse caso, essa transação é obviamente fraudulenta e isso pode ser facilmente verificado por qualquer participante da rede que valide uma transação posterior, que pode então invalidar a fraude, ocasionando ao fraudador prejuízos econômicos em decorrência do gasto de eletricidade e poder computacional para resolver a equação matemática do Proof-of-work do bitcoin – o que é sempre necessário cada vez que um participante da rede valida uma transação – sem que ele tenha obtido qualquer ganho.

A Blockchain, em conjunto com esse incentivo econômico assimétrico para que os validadores da rede se comportem bem, decorrência do modelo de proof-of-work, é o que faz o bitcoin ser tão seguro. Além disso, essa segurança só aumenta a medida em que a rede cresce e mais e mais transações são validadas e novos blocos são gerados e encadeados aos anteriores.

 

 

Deixe um comentário

O seu endereço de e-mail não será publicado.