O que é Delegated Proof of Stake?
Entenda o que é Delegated Proof of Stake
Há nove meses atrás, a EOS começou a falar seriamente sobre delegated proof of stake, um algorítimo de consenso que a colocaria na frente do Ethereum como plataforma para desenvolvimento de aplicações descentralizadas (dApps).
Mas o que é delegated proof of stake, ou DPoS? De forma simplificada, DPoS é um algorítimo de consenso que mantém um acordo irrefutável sobre a verdade na rede, validando transações e agindo como uma forma de democracia digital. Quem supostamente criou esse modelo foi Daniel Larimer, CTO da empresa Block.One, que desenvolveu a EOS em seu início.
Para chegar a essa democracia, o DPoS utiliza votação em tempo real combinada com um sistema de reputação para atingir o consenso. Ele é talvez o algorítimo de consenso menos centralizado, comparado a proof of stake (PoS) e proof of work (PoW), uma vez que é o mais inclusivo – cada detentor de token pode ter um grau de influência sobre o que ocorre com a rede.
O poder de voto, dentre outras coisas, é utilizado para delegar figuras a determinados papéis – que geralmente são dois, testemunhas e delegados. Nesse caso, é simples: quanto mais tokens uma conta possui, maior seu poder de voto para influenciar a rede. Paramos aqui rapidamente para elucidar um problema: o DPoS permite que todos com tokens participem do processo de votação, e isso é ótimo. O problema é que eles devem depender da “boa fé” das testemunhas eleitas, responsáveis por manterem a rede operante.
A principal diferença entre testemunhas e delegados é: testemunhas agem diretamente validando transações e mantendo a rede operante (isso será explorado mais abaixo); os delegados, por sua vez, supervisionam a governança e performance de um protocolo blockchain. Por exemplo, os delegados podem propor a mudança do tamanho de um bloco, ou a quantidade que uma testemunha deve receber em retorno por validar um bloco. Uma vez que os delegados tenham proposto tais mudanças, os usuários da blockchain votam sobre adotá-las ou não.
Em suma, o principal aspecto da blockchain, que é a descentralização, acaba sendo prejudicado. É o grande problema da EOS e suas controvérsias sobre descentralização: no caso mais recente, uma das “testemunhas” estava oferecendo recompensas monetárias para detentores de tokens que votassem nas decisões dela. Isso é uma forma de ferir a descentralização e manipular a direção trilhada pelo protocolo.
Uma possível solução para esse problema foi criada em alguns modelos DPoS: para mostrar sua boa fé, uma “testemunha” deveria depositar seus fundos em uma “caixa selada” por um determinado período de tempo, sendo a quantia confiscada caso a figura demonstrasse comportamento nocivo. Essa versão é geralmente chamada deposit-based proof of stake.
Para nos aprofundarmos mais nas funções das testemunhas, elencaremos as mais importantes:
- Garantir que seus nós estejam sempre funcionais;
- Coletar as transações da rede em blocos;
- Assinar e transmitir esses blocos, validando as transações;
- Caso hajam problemas em relação ao consenso, o DPoS (regra geral) permite que eles sejam resolvidos de forma democrática e justa pelas testemunhas;
Além disso, as testemunhas não podem mudar detalhes transacionais. Contudo, elas podem interferir de outras formas. Em junho deste ano, produtores de bloco (termo utilizado para testemunhas no caso deste protocolo) da EOS congelaram 27 contas, afirmando que prestariam esclarecimentos posteriores. Essa é mais uma falha do DPoS.
Outro ponto é que, como validadores, teoricamente eles podem excluir determinadas transações de um bloco. Contudo, o próximo bloco criado incluirá essas transações, e a próxima testemunha receberá os ganhos associados à validação destas. Nesse contexto, a testemunha que estiver excluindo as transações será descoberta e poderá ser excluída da rede pelos seus integrantes, por meio do voto.
1 – Qualquer um que tenha a moeda base da blockchain poderá votar em um validador;
2 – O validador com a maior quantidade de votos se torna um delegado [mais precisamente, testemunha], validando transações e coletando recompensas ao fazê-lo;
Principais diferenças e vantagens em relação ao modelo proof of stake tradicional
Para que possamos analisar da devida forma a relação entre DPoS e PoS, precisamos descrever o proof of stake (PoS). Diferente do proof of work (PoW), no modelo PoS os blocos não são minerados – eles são forjados, no sentido de produzidos. O “forjador” deposita uma quantidade de tokens e processa as transações, recebendo taxas transacionais como recompensa.
Essa é a primeira diferença entre ambos os modelos: a criação de blocos. No DPoS, uma testemunha eleita é responsável por criar novos blocos e validar transações. No PoS, isso ocorre de forma pseudo-aleatória – “pseudo” pois a quantidade de tokens “investida” influencia na escolha do processador de transações.
Tendo em vista que geralmente uma rede DPoS possui 20 testemunhas, no máximo, para realizar essa tarefa, ela acaba sendo mais efetiva e rápida – sendo também mais escalável.
Outros aspecto de diferenciação é a governança. Como os usuários de uma rede proof of stake colocam seus tokens para processar as transações, isso quer dizer que já devem existir tokens logo na criação da rede – razão pela qual a maioria dos tokens que seguem esse modelo se originam de ICOs. Isso quer dizer que as regras e parâmetros da blockchain já são programados no bloco gênese – consequentemente, qualquer mudança implica em um fork. No caso do DPoS, como falamos dos delegados mais acima, eles podem propor as mudanças na rede, que serão aprovadas (ou não) pelos usuários.
Dessa forma, uma rede DPoS, apesar das controvérsias em relação à descentralização, acaba sendo mais rápida e escalável do que uma rede PoS tradicional.
Em algumas situações, talvez o sacrifício seja válido.