Problema dos Generais Bizantinos em Cripto - BFT (Byzantine Fault Tolerance)

Problema dos Generais Bizantinos em Cripto

Problema dos Generais Bizantinos em Cripto

Desde a criação do Bitcoin (BTC) em 2008 como um sistema de dinheiro eletrônico peer-to-peer, várias outras criptomoedas foram criadas, cada uma com um mecanismo particular. Mas algo que quase todos eles têm em comum é uma rede Blockchain como o elemento central de sua arquitetura.

Com algumas exceções, as Blockchains são intencionalmente projetadas para serem descentralizadas, funcionando como um livro digital que é mantido por uma rede distribuída de nós (nodes) representados por computadores. Por este motivo, a tecnologia Blockchain permitiu a criação de um sistema econômico onde as transações financeiras são transparentes e confiáveis, sem a necessidade de intermediários.

As criptomoedas estão ganhando cada vez mais terreno ao se apresentarem como uma alternativa ao sistema bancário tradicional, que depende fortemente da confiança depositada em terceiros.

Na maioria dos sistemas de computadores distribuídos, os participantes de uma rede de criptomoedas precisam concordar regularmente sobre o estado atual de suas cadeias de blocos (Blockchain), e isto é o que chamamos de alcançar um consenso. Entretanto, chegar a um consenso em redes distribuídas, de forma segura e confiável, está longe de ser uma tarefa fácil.

Portanto, como uma rede distribuída de computadores pode chegar a uma decisão se alguns nós (nodes) são obrigados a agir de forma deficiente ou desonesta? Esta é uma questão fundamental do conhecido problema dos generais bizantinos, que deu origem ao conceito de Byzantine Fault Tolerance (BFT).

O que é o Problema dos Generais Bizantinos?

Em resumo, ele foi concebido em 1982 como um dilema lógico ilustrando como um grupo de generais bizantinos poderia ter dificuldade de comunicação ao tentar chegar a um acordo sobre o próximo movimento de guerra.

O dilema pressupõe que cada general tem seu próprio exército e que cada grupo está situado em locais diferentes ao redor da cidade que deseja atacar. Os generais precisam chegar a um acordo sobre quando atacar ou recuar. Não importa se eles estão atacando ou recuando, todos eles precisam concordar, por exemplo, para chegar a um consenso na execução de táticas em conjunto.

Portanto, devemos considerar os seguintes objetivos:

  • Cada general precisa decidir: atacar ou recuar (sim ou não);
  • Uma vez que a decisão tenha sido tomada, ela não pode ser alterada;
  • Todos os generais precisam concordar sobre a mesma tática e executá-la de forma sincronizada.

Os problemas de comunicação já mencionados estão relacionados ao fato de que um general só pode se comunicar com outro por meio de mensagens, que são entregues pelo correio. Consequentemente, o desafio central do Problema do Byzantine General’s é que as mensagens podem de alguma forma ser atrasadas, destruídas ou perdidas.

Além disso, mesmo que uma mensagem seja entregue com sucesso, um ou mais generais podem escolher (por qualquer razão) agir maliciosamente ou enviar uma mensagem fraudulenta para confundir outros generais, levando a um desastre total.

Se aplicarmos este dilema ao contexto das redes de Blockchain, cada general representa um nó na rede e os nodes precisam chegar a um consenso quando se trata do estado atual do sistema. Dito de outra forma, a maioria dos participantes dentro de uma rede distribuída precisa concordar com o mesmo processo para evitar falhas generalizadas.

Entretanto, a única maneira de se chegar a um consenso nestes tipos de sistemas distribuídos é ter pelo menos ⅔ ou mais nós na rede que sejam confiáveis e honestos. Isto significa que se a maioria da rede decidir agir maliciosamente, o sistema será suscetível a falhas e ataques (tais como o Ataque de 51%).

Tolerância a Falhas Bizantinas

Em resumo, o BFT (Byzantine Fault Tolerance) é a propriedade que um sistema tem de resistir a vários tipos de falhas que podem ser causadas pelo dilema dos generais bizantinos. Isto significa que um sistema BFT é capaz de continuar operando mesmo que alguns nós da rede se comportem de forma defeituosa ou maliciosa.

Há várias maneiras de resolver o problema dos generais bizantinos, portanto, vários métodos de construção de um sistema BFT. Da mesma forma, muitas abordagens podem ser exploradas para um sistema Blockchain para fazer o BFT funcionar corretamente, levando-nos ao tão desejado algoritmo de consenso.

Algoritmo de Consenso do Blockchain

Podemos definir o algoritmo de consenso como um mecanismo pelo qual cada rede Blockchain chega a um acordo sobre seu estado. As implementações mais conhecidas são a Prova de Trabalho (Proof of Work PoW) e Proof of Stake (PoS). Mas vamos usar o caso da criptomoeda Bitcoin como exemplo.

Enquanto o protocolo Bitcoin prescreve as regras primárias do sistema, o algoritmo de consenso PoW é o que define como essas regras serão seguidas na tentativa de se chegar a um consenso (por exemplo, durante a verificação e validação da transação).

Embora o conceito de PoW seja muito antigo em moedas cripto, Satoshi Nakamoto desenvolveu uma versão modificada que tornou possível criar o Bitcoin como um sistema BFT.

Observe que o algoritmo PoW não é 100% tolerante a falhas bizantinas, mas diante do processo de mineração de custo intensivo e das técnicas criptográficas subjacentes, o PoW já provou ser uma das implementações mais seguras e confiáveis para redes Blockchain.

A este respeito, o algoritmo de consenso PoW, desenvolvido por Satoshi Nakamoto, é considerado por muitos como uma solução genial para resolver o problema bizantino.

Conclusão

O problema bizantino é um dilema intrigante que acabou dando origem aos sistemas BFT, que são aplicados em vários cenários. Além do mundo Blockchain, o sistema BFT é utilizado nas indústrias aeronáutica, espacial e de usinas de energia nuclear.

No contexto das moedas cripto, ter uma rede de comunicação eficiente juntamente com um bom mecanismo de consenso é algo vital para qualquer ecossistema Blockchain. Tornar estes sistemas seguros é um esforço contínuo, e vários algoritmos de consenso existentes ainda têm que transcender algumas limitações (como a escalabilidade).

Entretanto, os algoritmos PoW e PoS são abordagens interessantes quando funcionam como sistemas BFT, e as possíveis aplicações certamente inspiram inovação generalizada.

5/5 - (5 votes)

Posts Relacionados

error: