A beleza do consenso

Sara Mohammed Blocked Unblock Seguir Seguindo 29 de dezembro Fonte: Shane Aldendorff, Unsplash

Você prefere ter uma decisão validada para você por uma pessoa responsável ou por uma ampla gama de indivíduos que tenham alcançado um acordo geral? A maioria prefere o último. É senso comum que a corrupção seria reduzida se um líder, chefe ou tomador de decisão tivesse que conquistar o apoio de, digamos, mais 100 tomadores de decisão. Essa é uma das maneiras pelas quais blockchain evita comportamentos fraudulentos.

A tecnologia Blockchain não seria elogiada em todo o mundo se não fosse por seu consenso. O conceito básico de blockchain não é difícil de entender. Blockchain é um banco de dados validado por uma comunidade descentralizada que tem que chegar a um consenso antes que o contrato seja promulgado.

Antes do Bitcoin, muitos sistemas falhavam porque não conseguiam encontrar uma solução para o problema dos generais bizantinos. Este é um problema clássico enfrentado por qualquer rede de sistema de computador distribuído.

Qual é o problema dos generais bizantinos?

Imagine o império bizantino quer capturar uma cidade, mas eles são recebidos com resistência do lado oposto. O exército bizantino tem muitas divisões e cada uma delas tem um general. Os generais e tenentes se comunicam entre si apenas através de mensageiros e os generais devem concordar em atacar ou recuar. Se o ataque ou retirada é feito sem entusiasmo, isso levará à derrota.

Não há garantia de que todos os mensageiros, generais ou tenentes sejam leais ao império e passem as instruções corretas. A pessoa corrupta poderia tentar enganar os outros generais para que se retirassem em vez de atacar, condenando o Império Bizantino. Sem receber instruções corretas, como podemos garantir a vitória nesta batalha?

No caso do blockchain, o dilema acima é ainda mais difícil de decifrar, pois todos os participantes envolvidos são de igual hierarquia. Em vez de precisar chegar à verificação e ao acordo entre duas partes, agora um sistema blockchain precisa que todos os participantes aprovem, ao mesmo tempo em que neutraliza os jogadores corruptos. O acordo entre todos esses participantes é conhecido como consenso.

A solução

A solução para o problema dos generais bizantinos não é simples por qualquer meio. Envolve algum trabalho pesado de computação e comunicação entre todos os participantes (ou generais, como no exemplo acima) para verificar a mensagem. Esta solução é um mecanismo de consenso e há uma variedade de mecanismos de consenso que podem resolver o problema dos generais bizantinos.

Prova de Trabalho

A maioria dos blockchains de hoje, incluindo o Bitcoin, usa o algoritmo de Prova de Trabalho (PoW), um requisito que requer cálculos ou minerações dispendiosas para verificar uma transação e adicioná-la a um bloco. No entanto, isso vem com falhas fundamentais. O PoW tem desafios bem documentados que ameaçam ser fatais, como relatos de que os mineiros que trabalham para validar transações em blockchains usando PoW consomem aproximadamente 0,32% de toda a eletricidade produzida globalmente por ano. Essas preocupações ambientais e energéticas globais encorajaram os usuários a recorrer a outros mecanismos de consenso, como a Prova de Estaca (PoS) como resultado.

Além disso, pessoas e organizações que oferecem ASICs mais rápidos e mais potentes geralmente têm uma chance maior de mineração do que outras. É por isso que as empresas de blockchain que operam no PoW não são tão descentralizadas quanto deveriam. Digamos que 65% do hashate é dividido entre 5 pools de mineração, como no gráfico abaixo. Teoricamente, os maiores grupos de mineração podem se unir e lançar 51% na rede Bitcoin.

Fonte: blockchain.com

Prova de Participação

Prova de aposta (PoS) é uma alternativa de baixo custo e baixo consumo para o algoritmo PoW. As redes Blockchain empregam o mecanismo PoS para obter um acordo unificado em blocos de maneira eficiente, mantendo um grande conjunto de validadores para a segurança da rede. A Prova de aposta é baseada em validadores que apostam e bloqueiam um número de fichas em depósito, dando-lhes, assim, o direito de se tornarem um validador. A Ethereum está planejando passar da Prova de Trabalho para a Prova de Estaca em breve.

No PoW, onde é caro e demorado, é menos provável que um minerador mal-intencionado se desvie da cadeia principal e force um hardfork, especialmente porque ele pode ser rejeitado pela rede de qualquer maneira. No entanto, com PoS, se você é um validador, você pode colocar seu dinheiro em ambas as cadeias sem medo de repercussões. De qualquer forma, você vai ganhar. Isso é chamado de problema “ Nada em jogo ”. Ethereum encontrou uma maneira de lidar com esse problema, adaptando o protocolo Casper. O Casper é diferente de outros protocolos PoS porque eles podem punir todos os elementos maliciosos. Por exemplo, se um validador tentar puxar um “nada em jogo” e for pego agindo de maneira violadora, seus tokens apostados serão perdidos e serão destruídos; esse processo é chamado de "token slashing". O modelo staking / slashing dá aos validadores um incentivo econômico muito grande para cooperar ao invés de trapacear ao atuar no papel do validador.

Em conclusão

Existem mais mecanismos de consenso do que PoW e PoS, incluindo os mecanismos usados pela EOS (Delegado Prova de Estaca ou DPoS) e NEO (Tolerância de Falta Bizantina Delegada ou dBFT). Há mecanismos de consenso mais recentes surgindo de vez em quando, todos esperando alcançar os objetivos de colaboração, igualitarismo, inclusão, etc. O consenso é usado para criar uma sociedade mais igualitária e justa para os usuários de todo o mundo.