Algoritmo de consenso: entenda solução do dilema dos generais bizantinos

Validação das transações na blockchain acontece pela Proof-of-Work e o Proof-of-Stake

Leonardo Rubinstein, colaboração para a CNN Brasil, São Paulo
Mensageiro dos generais bizantinos ajuda a explicar dilema da computação.  • Edgar Yagui/ CNN
Compartilhar matéria

O bitcoin resolve um dilema antigo e bastante usado em questões de lógica da computação: o dos generais bizantinos.

Na blockchain, é preciso que os participantes que validam as transações entrem em consenso sobre o que é uma transação legítima ou não, e para isso usam um algoritmo.

Na prática, esse é o algoritmo de consenso, e existem dois principais modelos no mercado cripto: o Proof-of-Work e o Proof-of-Stake.

O primeiro deles surgiu junto à primeira criptomoeda, o bitcoin. A tecnologia chamada Proof-of-Work — ou prova de trabalho em português. Popularmente conhecido como mineração, esse algoritmo de consenso resolve a questão de lógica trazida no começo do texto acerca dos generais bizantinos.

Na prática, para validar um conjunto de informações da rede, e assim formar um bloco na cadeia — no blockchain — é necessário que os chamados mineradores resolvam uma espécie de cálculo matemático complexo.

Dilema dos generais bizantinos

Imagine o seguinte cenário de guerra: uma equipe de generais cercando uma cidade inimiga, prontos para atacarem. Mas para garantirem a vitória, esses militares precisam atacar ao mesmo tempo, e de forma coordenada.

Eles se comunicam por meio de mensageiros, que podem ser interceptados. Ou ainda, podem existir traidores entre os generais enviando informações falsas justamente para comprometer o ataque.

Eis o dilema: é impossível confiar no meio, e tampouco na mensagem, então como garantir que as informações trocadas entre estes generais cheguem em tempo real e sejam verdadeiras?

A solução que Satoshi Nakamoto, criador do bitcoin, encontrou para o dilema foi forçar com que ganhassem recompensas para entregar a mensagem, e não apenas isso, mas que fosse muito mais custoso e difícil falsificar a mensagem do que simplesmente dizer a verdade.

Isso porque para mudar uma mensagem, o falsificador teria que alterar todo o histórico de mensagens entre os generais. Fica ainda mais difícil pelo fato de que todos eles têm uma cópia desse histórico guardado em uma gaveta, e sendo atualizada em tempo real.

Essa assimetria é essencial, ela garante que a rede confie nas provas apresentadas pelos mineradores sem depender de confiança pessoal.

Cada bloco minerado funciona como uma confirmação coletiva. Ou seja, uma espécie de ‘todos atacamos juntos’ matemático que se conecta ao bloco anterior, formando uma cadeia resistente a falsificações.

Proof of Stake: o algorítmo skin in the game

Por outro lado, existe o Proof-of-Work, usado por exemplo pela blockchain rthereum, residência do ether — a segunda criptomoeda mais valiosa do mercado cripto.

Se o Proof-of-Work (PoW) resolveu o dilema dos generais bizantinos com energia e esforço computacional, o Proof-of-Stake (PoS) propõe uma abordagem completamente diferente.

Na tradução, o termo seria algo como prova de aposta. Em vez de exigir trabalho físico para criar confiança, ele exige compromisso econômico direto.

A lógica é simples: para participar do consenso — e ser um mensageiro — o validador precisa ter algo em jogo — o stake — normalmente o próprio token nativo da blockchain. Se o PoW transforma energia em segurança, o PoS transforma usa o capital bloqueado.

No dilema clássico, alguns generais podem ser traidores, enviando mensagens falsas para mudar o rumo da batalha. O grande desafio é garantir que o grupo como um todo chegue a um consenso sobre o plano de ataque, mesmo com participantes potencialmente maliciosos.

O PoW respondeu a isso criando um custo físico enorme para a mentira. Já o PoS trabalha com incentivos diretos. Mentir sai caro porque o validador arrisca perder seu próprio dinheiro que colocou em “aposta” para participar do seleto grupo de mensageiros.

No PoS, cada validador deposita uma quantidade mínima de tokens em um contrato inteligente como garantia.

Quanto maior o stake, maior a probabilidade de o validador ser escolhido para propor e validar novos blocos, e maior também a recompensa recebida. Ou seja, quanto maior o valor que o mensageiro coloca como garantia, maiores as chances dele ser escolhido para o serviço - e dessa forma receber recompensas pelo trabalho.

Em outras palavras, o sistema recompensa a participação honesta e economicamente ordenada, enquanto desencoraja o comportamento malicioso ameaçando confiscar parte ou todo o stake em um mecanismo conhecido como slashing.

Acompanhe Economia nas Redes Sociais