O que é proof of activity e como funciona este mecanismo de consenso?

O que é proof of activity?
Proof of Activity é um mecanismo de consenso híbrido para criptomoeda em que proof of work e proof of stake determinam em conjunto se um novo bloco é concluído. Em termos simples: os miners iniciam o processo com poder computacional, após o que os coinholders selecionados ajudam a aprovar o bloco.
O desenho original surgiu em 2014 e foi concebido por Iddo Bentov, Charles Lee, Alex Mizrahi e Meni Rosenfeld. A ideia é que não se dependa totalmente de um único grupo. A mineração produz primeiro um resultado difícil de falsificar. Esse resultado escolhe depois, de forma aleatória, quais os stakers que podem participar.
Um miner encontra primeiro um cabeçalho de bloco. Trata-se de uma pequena parte de informação que, entre outros elementos, remete para o bloco anterior. Pode ser visto como a prova inicial de um novo bloco. Com base nesse cabeçalho, o sistema escolhe os detentores de coins que devem assinar o bloco.
Importa saber: Proof of Activity é muitas vezes abreviado como PoA, mas isso também se aplica ao Proof of Authority. Este último é um mecanismo de consenso totalmente diferente, no qual partes previamente conhecidas validam blocos.
Pontos principais
- Proof of Activity combina proof of work com proof of stake.
- Os miners iniciam a produção de blocos com poder computacional.
- Depois, os coinholders são selecionados para assinar o bloco.
- A seleção dos stakers depende, no desenho original, do cabeçalho de bloco encontrado.
- Proof of Activity é diferente de Proof of Authority, apesar da mesma abreviatura PoA.
Como funciona o proof of activity?
Na proposta original, o Proof of Activity começa com mineração. Os miners tentam encontrar, com proof of work, um cabeçalho de bloco válido e praticamente vazio. Para isso, têm de calcular muitos hashes até que um deles cumpra a dificuldade da rede.
Segue-se depois a fase de staking. O cabeçalho encontrado indica, através de um método chamado follow-the-satoshi, vários stakeholders pseudorrandómicos. Pseudorrandómico significa aqui: o resultado parece aleatório, mas segue regras fixas que todos podem verificar.
A probabilidade de alguém ser escolhido depende do número de coins que essa pessoa possui. Quem tem mais coins tem, portanto, mais vezes a possibilidade de ser selecionado. Os primeiros stakeholders selecionados assinam o cabeçalho. O último participante selecionado reúne as transações, cria o bloco completo e envia-o para a rede.
Esse bloco completo chama-se, na proposta original, wrapped block. É, na prática, o cabeçalho vazio do miner, complementado com transações e as assinaturas necessárias dos stakers.
Exemplo: Suponha que um miner encontra um cabeçalho válido e o protocolo escolhe quatro stakeholders. Três deles assinam o cabeçalho. O quarto adiciona transações, coloca tudo num bloco completo e assina-o também. Só então o bloco pode ser enviado.
Nodes verificam depois se tudo cumpre as regras. Para a escolha entre diferentes versões da blockchain, o desenho original segue a chain com a maior dificuldade PoW acumulada, tal como Bitcoin.
Os stakeholders selecionados estão offline? Então esse cabeçalho pode não ser concluído. Outros miners podem então encontrar novos cabeçalhos, o que faz com que o sistema selecione outros stakeholders. O número exato de assinaturas necessárias e a forma como as recompensas são distribuídas variam consoante o protocolo.
Que papel desempenham a mineração e o staking no Proof of Activity?
A mineração e o staking têm, no Proof of Activity, funções distintas. A mineração assegura a fase PoW: os miners usam poder computacional para encontrar um cabeçalho válido ou um bloco candidato. O staking assegura depois a fase PoS: os coinholders selecionados verificam e assinam o resultado.
Assim, o desenho utiliza dois tipos de recursos económicos para a segurança:
- Hashrate: o poder computacional total que os miners utilizam.
- Stake: coins que determinam quão grande é a probabilidade de ser selecionado.
A ideia por trás disto é bastante lógica. Alguém que apenas controla muito equipamento de mineração não consegue, neste desenho, concluir sozinho todos os blocos. Para isso, também é necessária a participação dos stakers selecionados. Por outro lado, os stakers não conseguem iniciar um novo bloco sem a fase de mineração.
As regras exatas variam, no entanto, bastante de blockchain para blockchain. Decred é um exemplo conhecido de um sistema híbrido PoW/PoS inspirado pelo Proof of Activity, mas que tecnicamente não funciona exatamente como a proposta original.
Na Decred, os miners PoW criam blocos. Depois, cinco tickets de staking escolhidos aleatoriamente votam on-chain nesses blocos. São necessários, no mínimo, três votos. Para um ticket destes, a DCR é temporariamente bloqueada. Se o ticket votar com sucesso, o detentor recebe de volta a DCR apostada, mais uma recompensa PoS. Se o ticket não estiver disponível quando for chamado, perde o voto e também a recompensa.
Staking não significa, portanto, que todos os holders validam sempre. É preciso ser selecionado e, em alguns desenhos, também estar online no momento certo.
Qual é a diferença entre proof of activity e proof of work?
A grande diferença é que o proof of work puro depende apenas do poder computacional, enquanto o Proof of Activity, após a mineração, também precisa de stakers selecionados para concluir um bloco.
No PoW puro, os miners competem entre si para encontrar um novo bloco. O miner com um resultado válido pode adicionar o bloco. No desenho original do Proof of Activity, a mineração continua a fazer esse primeiro trabalho, mas depois entra uma camada adicional de verificação por parte dos coinholders.
O Proof of Activity, portanto, não torna a mineração desnecessária. Os miners continuam a ter de usar hardware e calcular hashes. Os custos energéticos e de hardware do PoW não desaparecem.
O objetivo é, no entanto, que um atacante tenha de considerar não só o hashrate, mas também o stake dos participantes selecionados. O grau de proteção adicional que isso realmente oferece depende da distribuição de hashrate e coins, de quantos stakers estão online e das regras usadas pelo protocolo.
O desenho original tinha como objetivo poder precisar de menos segurança PoW do que num sistema totalmente PoW. Assim, o consumo de energia poderia ser mais baixo. Isto não é um resultado automático: um desenho híbrido continua dependente da mineração e pode, por isso, continuar a utilizar muitos recursos.
Qual é a diferença entre proof of activity e proof of stake?
No proof of stake puro, os validadores são responsáveis pela produção de blocos através do stake, enquanto o Proof of Activity precisa primeiro de um miner para iniciar o processo.
Num sistema PoS, os validadores bloqueiam coins como garantia e são selecionados, de acordo com as regras dessa rede, para criar ou verificar blocos. Não é necessária uma fase de mineração PoW para cada bloco.
No Proof of Activity, o processo funciona de forma inversa e em duas etapas. Primeiro, um miner encontra um cabeçalho válido com poder computacional. Esse cabeçalho determina depois quais os stakeholders que assinam e concluem o bloco. O Proof of Activity combina, assim, custos de mineração com participação baseada em stake.
Aliás, proof of stake não é uma receita fixa. Ethereum, por exemplo, usa Gasper. Os validadores bloqueiam ETH, votam sobre blocos e podem perder parte da sua participação em caso de determinadas ações maliciosas. Isso chama-se slashing.
A Decred também não é uma blockchain PoS pura. Aí, os miners criam os blocos e os tickets selecionados votam sobre estes. Essa combinação é precisamente a razão pela qual a Decred pode ser vista melhor como um desenho híbrido PoW/PoS.
Quais são as vantagens do proof of activity?
Uma vantagem do Proof of Activity é que o controlo da produção de blocos pode ser distribuído por miners e stakeholders. A rede não depende, assim, apenas de partes com muito poder computacional nem apenas de grandes stakers.
No desenho original, quem quiser criar uma chain alternativa não precisa apenas de conseguir minerar. Essa pessoa também tem de ter influência suficiente sobre o stake selecionado, ou conseguir que os participantes selecionados colaborem. Sob as premissas do desenho, isso pode tornar um ataque mais caro e mais difícil.
A fase de stake também pode criar incentivos para que os coinholders mantenham nodes online. Os miners têm, em geral, custos com equipamento e energia. Os stakers têm, segundo o modelo original, custos operacionais mais baixos, o que pode tornar a relação entre segurança e recompensas potencialmente mais favorável.
Um sistema híbrido pode ainda associar funções adicionais ao staking. A Decred mostra isso: os tickets selecionados não validam apenas blocos criados por miners, mas também podem votar em alterações previamente definidas das regras de consenso.
Na Decred, os votos dos tickets também podem influenciar a recompensa dos miners. Se a maioria dos tickets selecionados rejeitar o bloco anterior, o miner pode perder a recompensa desse bloco. Assim, os stakers têm, dentro desse protocolo, uma forma de travar comportamentos de mineração problemáticos, como minerar blocos vazios.
Estas são, no entanto, características de um desenho ou protocolo específico. O simples rótulo Proof of Activity não diz automaticamente quanta energia uma blockchain utiliza nem quão difícil é exatamente um ataque.
Quais são as limitações e os riscos do proof of activity?
O Proof of Activity não elimina totalmente as desvantagens da mineração. Como a fase PoW continua a existir, continuam a haver custos energéticos, custos de hardware e pressão para miners maiores que conseguem pagar mais recursos.
A concentração de stake também continua a ser um ponto importante. No desenho original follow-the-satoshi, os participantes com mais coins têm mais vezes a possibilidade de serem escolhidos como assinantes. Isso pode fazer com que recebam recompensas com mais frequência e ganhem mais influência.
A disponibilidade é um segundo risco prático. Se um staker selecionado estiver offline, não pode assinar. No desenho original, um cabeçalho pode, por vezes, não ser concluído. Na Decred, um ticket offline quando é chamado leva a um voto perdido sem recompensa. Se uma blockchain sofre atraso por causa disso, depende do número de votos necessário e das regras de fallback.
As regras também são mais complexas do que num único mecanismo de consenso. Há mineração, seleção de stake, assinaturas, recompensas e regras para diferentes versões da blockchain. Isso exige código cuidadoso, auditorias e acordos claros dentro do protocolo.
Na Decred, os utilizadores podem delegar tickets a Voting Service Providers, também chamados VSP's. Um serviço destes pode, em teoria, votar de forma diferente da preferência do detentor do ticket. Isso seria visível e os utilizadores poderiam mudar para outro serviço, mas continua a ser um risco relacionado com delegação e centralização.
Em resumo: um modelo híbrido pode acrescentar barreiras adicionais aos atacantes, mas também mantém os riscos tanto da mineração como do staking.
Onde é aplicado o proof of activity?
A Decred é uma blockchain funcional com um modelo híbrido PoW/PoS inspirado pelo Proof of Activity e por um desenho anterior chamado MC2. Não executa exatamente o protocolo original do Proof of Activity, mas mostra bem como a mineração e o staking podem trabalhar em conjunto num único sistema.
Desde o bloco 4.096, que foi minerado em 21 de fevereiro de 2016, cada bloco da Decred processa votos de, no mínimo, três tickets. Esses votos aprovam o conteúdo do bloco anterior. Os miners, portanto, criam blocos, mas precisam da participação dos detentores dos tickets para a validação.
A diferença em relação à proposta original está sobretudo na seleção. A Decred funciona com uma pool de tickets previamente comprados que primeiro têm de amadurecer. O desenho original seleciona stakeholders através de follow-the-satoshi com base no cabeçalho que um miner acabou de encontrar.
Além da Decred, a Espers é por vezes mencionada como aplicação do Proof of Activity. O funcionamento atual e a ligação exata ao desenho original não são claros. Por isso, não é correto dizer que o Proof of Activity é hoje utilizado em larga escala.
Conclusão
Proof of Activity é uma forma híbrida de organizar o consenso em criptomoeda. Os miners iniciam a produção de blocos com proof of work, após o que os stakers selecionados ajudam a verificar e concluir o bloco.
Isso pode distribuir mais o poder sobre uma blockchain do que apenas a mineração ou apenas o staking. Ao mesmo tempo, o sistema continua dependente de equipamento de mineração, de stakers disponíveis e de regras cuidadosamente escolhidas. A Decred mostra como uma abordagem híbrida destas pode funcionar na prática, embora tecnicamente difira da proposta original do Proof of Activity.
Para si, o mais importante é isto: o Proof of Activity não é um modelo padrão que se encontre em todo o lado, mas sim um desenho interessante em que duas formas conhecidas de consenso se juntam.