Um algoritmo de mecanismo de consenso permite usuários ou máquinas a se coordenarem em um ambiente distribuído. É necessário que este algoritmo garanta que todos os agentes possam concordar sobre uma única fonte de confiança, ainda que alguns agentes falhem. Sendo assim, este sistema precisa ser também tolerante a falhas.
Nesse sentido, em uma configuração centralizada, uma única entidade possui o poder sobre o sistema. Na maioria dos casos, eles podem fazer mudanças da forma que quiserem, não possuem nenhum sistema complexo de governança para atingir o consenso entre diversos administradores.
Contudo, em um sistema descentralizado, a história é completamente diferente. Imagine que estejamos trabalhando em uma base de dados distribuída, como é possível chegar a um acordo sobre quais entradas serão adicionadas?
Sendo assim, superar esse desafio em um ambiente onde estranhos não confiam uns nos outros foi, talvez, o desenvolvimento mais importante para abrir o caminho para blockchains. Com isso, neste artigo, será fornecida uma visão sobre o que são os algoritmos de mecanismo de consenso e como são vitais para o funcionamento das criptomoedas.
Veja também: Conheça a privacy coin Monero (XMR)
Algoritmos de consenso e criptomoedas
Nas criptomoedas, os saldos dos usuários são registrados em um banco de dados, no caso, é a própria blockchain. É essencial que todos (ou mais precisamente, todos os nós) mantenham uma cópia idêntica do banco de dados. Caso contrário, isso resultará em informações conflitantes, destruindo todo o propósito da rede de criptomoedas.
Chaves públicas criptografadas garantem que usuários não gastem criptomoedas uns dos outros. Contudo, ainda é necessário haver uma fonte única de confiança onde todos os participantes possam confiar. Essa fonte deve ser capaz de determinar se os saldos dos usuários já foram gastos.
Primeiramente, é necessário que os usuários que queiram adicionar blocos na rede (estes são chamados de validadores) forneçam um “stake”. O stake é um tipo de valor que o próprio validador deve apresentar, desencorajando que o próprio aja de forma desonesta na blockchain.
Dessa forma, caso eles cometam trapaça, irão perder seu stake. Mas, porque alguém arriscaria perder seus próprios recursos? Bom, realizar este processo inclui o recebimento de uma recompensa. Geralmente, esta recompensa é paga através da criptomoeda nativa do protocolo, composta de taxas pagas por outros usuários, unidades de criptomoedas recém-geradas ou ambos.
Veja também: Mineração em nuvem, entenda como funciona
Principais mecanismos de consenso
Abaixo será realizada a explicação de alguns dos principais mecanismos de consenso existentes no mundo criptográfico. É importante informar que existem outros, que atendem a necessidades específicas ou que pretendem em algum momento, se tornar soluções mais eficientes que as atuais.
Proof of Work
O mecanismo de consenso Proof of Work é o avô dos algoritmos de consenso de blockchains. Foi primeiramente implementado no Bitcoin, onde seu conceito foi crescendo no mundo criptográfico. No Proof of Work, validadores (chamados de mineradores) fazem o hash dos dados que desejam adicionar até produzir uma solução específica.
O processo de Proof of Work é conhecido como mineração, e seus nós são chamados de mineradores. Os mineradores resolvem cálculos matemáticos complexos, que requerem bastante poder computacional. O primeiro a resolver o cálculo, cria um bloco e recebe uma recompensa pela finalização do processo.
Nesse sentido, estes cálculos matemáticos possuem algumas propriedades interessantes. Primeiramente, eles são assimétricos, o que significa que leva bastante tempo para achar a resposta, embora seja fácil identificar se ela está correta. Além disso, a única forma de resolver o cálculo é “adivinhando” a resposta.
Dessa forma, não é possível resolver o cálculo de forma rápida utilizando outro método a não ser tentativa e erro. Isso também significa que se alguém quer achar a solução de forma rápida, é necessário ter mais poder computacional, o que pode ser bastante caro.
Por fim, a dificuldade do cálculo muda dependendo de quão rápido os blocos são minerados. Para manter a consistência de fornecimento de novas moedas, os blocos precisam ser criados em um certo período. Se são criados de forma rápida, o algoritmo se torna mais complexo, se são criados de forma lenta, o algoritmo se torna mais fácil.
Proof of Stake
Este mecanismo de consenso é mais amigável ao meio ambiente que o protocolo Proof of Work. O Proof of Stake utiliza da premissa que quem possui mais criptomoedas na rede, tem o maior interesse em manter a rede funcionando, bem como o valor de suas criptomoedas alto.
Neste sistema, um processo randomizado é usado para determinar que irá produzir o próximo bloco. Os usuários podem realizar o “stake” de suas criptomoedas para se tornarem um validador (alguém que produz blocos). Isso significa que os seus tokens precisam ser bloqueados por um certo tempo, permitindo que eles produzam blocos.
Quanto mais criptomoedas a pessoa disponibiliza para realizar o stake, maior a probabilidade de produzir um bloco. Os validadores são recompensados por seu trabalho. Geralmente, recebem uma parte de todas as taxas de transações de todas as transações no bloco criado pelo validador.
Além disso, o Proof of Stake é mais eficiente que o Proof of Work, visto que o que define que o nó como validador é a quantidade de moedas que possui, e não sua capacidade computacional.
Proof of Capacity
O Proof of Capacity é um mecanismo de consenso que utiliza um processo chamado de plotagem. No Proof of Work, os mineradores utilizam o poder computacional para adivinhar a solução correta, já no Proof of Capacity, as soluções são pré-armazenadas em armazenamentos digitais.
Sendo assim, esse processo é chamado de plotagem. Depois que um armazenamento é plotado, ou seja, sua solução foi preenchida, ele pode participar do processo de criação do bloco. Quem achar a solução do cálculo primeiro, poderá criar um bloco. Quanto mais capacidade de armazenamento tiver, mais soluções podem armazenar, sendo também maiores a probabilidade de criar um bloco.
Conclusão
O mecanismo de consenso é uma das bases da tecnologia blockchain. Entender sobre seu conceito é importante para entender os mais diversos projetos criptográficos existentes. O mecanismo de consenso define se a blockchain é mais eficiente, se seu projeto está em conformidade com questões ambientais, etc.
Com isso, é importante entender bastante sobre os conceitos fundamentais das blockchains ao decidir realizar investimentos em projetos. Fatores como o mecanismo de consenso pode definir sua rentabilidade ao investir em determinado projeto, mostrando se ele é confiável ou não.