Escrito por Vitalik Buterin, compilado por bayemon.eth Fonte: ChainCatcher
Um agradecimento especial a Mike Neuder, Justin Drake e outros pelo seu feedback e revisão. Veja também: Mike Neuder, Dankrad Feist e arixon.eth artigos anteriores sobre tópicos semelhantes.
Pode-se dizer que o status de desenvolvimento atual do Ethereum inclui um grande número de staking de duas camadas, e o staking duplo aqui se refere ao modelo de staking com dois tipos de participantes.
Operador de Nó: Opera nós e vive uma certa quantidade de seu próprio capital como garantia de sua reputação
Delegador: Os agentes apostam uma certa quantidade de Ethereum sem valor mínimo e sem restrições adicionais sobre como participar além de garantias
Esta dupla aposta emergente é gerada através de um grande número de pools de staking que participam no fornecimento de tokens de staking de liquidez (LST). (Tanto o Rocket Pool como o Lido estão neste modo.)
No entanto, a atual aposta dupla tem duas desvantagens:
Risco de centralização dos operadores de nós: O mecanismo de seleção de operadores de nó em todos os pools de staking ainda é excessivamente centralizado
Carga de consenso desnecessária: Ethereum L1 verifica cerca de 800.000 assinaturas por EPOCH, o que é uma carga enorme para um único slot. Além disso, as reservas de liquidez exigem mais capital e a própria rede não beneficia plenamente desta carga. Portanto, se a rede Ethereum pode alcançar uma descentralização e segurança razoáveis, sem exigir que cada staker assine de acordo com o período de tempo, então a comunidade pode adotar tal solução, reduzindo efetivamente o número de assinaturas por período de tempo.
Este artigo irá descrever soluções para ambos os problemas, primeiro assumindo que a maior parte do capital está nas mãos daqueles que não estão dispostos a gerenciar pessoalmente os nós de stake, assinar informações sobre cada slot, bloquear depósitos e redistribuir fundos em sua forma atual, então que papel essas pessoas podem desempenhar nesta situação e ainda fazer contribuições significativas para a descentralização e segurança da rede?
Como funciona o atual double stake?
As duas piscinas de staking mais populares são o Lido e o RocketPool, e no caso do Lido, as duas partes envolvidas são:
Operador de nó: Votado pelo Lido DAO, o que significa que este é realmente eleito pelos detentores de LDO, quando alguém deposita ETH no sistema de contrato inteligente Lido, o stETH é criado e os operadores de nó podem colocá-lo no pool de staking (mas como o certificado de retirada está vinculado ao endereço do contrato inteligente, o operador não pode retirar à vontade)
Agente: Quando alguém deposita ETH no sistema de contrato inteligente Lido, o stETH é gerado, e o operador do nó pode usá-lo como uma participação (mas como o certificado de retirada está vinculado ao endereço do contrato inteligente, o operador não pode retirar à vontade)
Para o Rocket Pool, eles são:
Operador de nó: Qualquer pessoa pode se tornar um operador de nó enviando 8 ETH e uma certa quantidade de tokens RPL.
Agente: Quando alguém deposita ETH no sistema de contrato inteligente Rocket Pool, é gerado rETH, que os operadores de nó podem usar como staking (também porque o certificado de retirada está vinculado ao endereço do contrato inteligente, o operador não pode retirar à vontade).
Papel da agência
Nesses sistemas (ou novos sistemas habilitados por possíveis futuras mudanças de protocolo), uma pergunta-chave a ser feita é: Qual é o sentido de ter um agente de uma perspetiva de protocolo?
Para entender as profundas implicações desta questão, vamos primeiro considerar que, para as mudanças de protocolo mencionadas no post, ou seja, a penalidade de redução é limitada a 2ETH, o Rocket Pool também reduzirá a quantidade de staking dos operadores de nó para 2ETH, e a participação de mercado do Rocket Pool aumentará para 100%/ (para stakers e detentores de ETH, quase todos os detentores de ETH se tornarão detentores de rETH ou operadores de nó à medida que o rETH se torna livre de risco).
Supondo um retorno de 3% para os detentores de rETH (incluindo recompensas no protocolo e taxas de prioridade + MEV), os operadores de nó terão um retorno de 4%. Também assumimos um fornecimento total de ETH de 100 milhões.
O resultado do cálculo é o seguinte. Para evitar compor o cálculo, calcularemos os ganhos diariamente:
Agora, supondo que o Rocket Pool não exista, o depósito mínimo por staker é reduzido para 2 ETH, a liquidez total é limitada a 6,25 milhões de ETH e o retorno do operador do nó é reduzido para 1%. Vamos calcular novamente:
Considere ambos os casos em termos do custo do ataque. No primeiro caso, o atacante não se registaria como agente, uma vez que o agente não tem essencialmente qualquer direito de se retirar, pelo que não faz sentido. Portanto, eles usarão todo o seu ETH para estacar e se tornar operadores de nós. Para atingir 1/3 do valor total apostado, eles precisariam colocar 2,08 milhões de Ethereum (o que, para ser justo, ainda é um número bastante grande). No segundo caso, o atacante só precisa investir fundos, e para alcançar 1/3 do pool total de stakes, eles ainda precisam investir 2,08 milhões de Ethereum.
Do ponto de vista da economia de staking e do custo do ataque, o resultado final de ambos os casos é exatamente o mesmo. A participação do fornecimento total de ETH detida por operadores de nós aumentou 0,00256% por dia, e a participação do fornecimento total de ETH detida por operadores de não-nós diminuiu 0,00017% por dia. O custo do ataque foi de 2,08 milhões de ETH. Assim, neste modelo, os agentes parecem ser uma máquina inútil de Rube Goldberg, com comunidades racionais até inclinadas a cortar o intermediário, reduzir drasticamente as recompensas de staking e limitar a quantidade total de ETH apostada a 6,25 milhões.
É claro que este artigo não defende a redução da recompensa de staking em 4 vezes, enquanto limita o montante total da aposta a 6,25 milhões. Em vez disso, a ideia neste artigo é que um sistema de staking que funcione bem deve ter um atributo chave, ou seja, que os agentes devem assumir uma responsabilidade significativa em todo o sistema. Além disso, não importa se o agente está fortemente motivado pela pressão da comunidade e pelo altruísmo para tomar a ação certa; Afinal, é isso que motiva as pessoas hoje a implementar soluções de staking descentralizadas e de alta segurança.
As responsabilidades do agente
Se os agentes pudessem desempenhar um papel significativo no sistema de stake, qual poderia ser esse papel?
Penso que há dois tipos de respostas:
Seleção de agentes: Os agentes podem escolher a quais operadores de nó confiar seus interesses. O "peso" dos operadores de nós no mecanismo de consenso é proporcional à aposta total que lhes é confiada. Atualmente, o mecanismo de seleção de agentes ainda é limitado, ou seja, os detentores de rETH ou stETH podem retirar seu ETH e mudar para um pool diferente, mas a disponibilidade real da seleção de proxy pode ser muito melhorada.
Participação no mecanismo de consenso: O principal pode optar por desempenhar um determinado papel no mecanismo de consenso, a responsabilidade é "mais leve" do que a subscrição total, e não haverá um longo período de saída e risco de redução, mas ainda pode desempenhar o papel de operadores de nós de equilíbrio.
Seleção de proxy aprimorada
Existem três formas de melhorar a escolha de poder dos delegados:
Melhorar as ferramentas de votação em grupos
Aumentar a concorrência entre agrupamentos
Corrigir representação
Atualmente, votar em um pool não é realmente prático: no Rocket Pool, qualquer pessoa pode ser um operador de nó e, no Lido, o voto é decidido pelos detentores de LDO, não pelos detentores de ETH. Lido apresentou uma proposta de dupla governança de LDO + stETH, onde eles poderiam ativar um mecanismo de proteção que impede que novos votos e, portanto, operadores de nós sejam adicionados ou removidos, o que de certa forma dá voz aos detentores de stETH. Ainda assim, esse poder é limitado e pode ser mais forte.
A concorrência entre grupos já existe atualmente, mas é relativamente fraca. O principal desafio é que os tokens de staking em pools de staking menores são menos líquidos, mais difíceis de confiar e menos suportados por aplicativos.
Podemos melhorar os dois primeiros problemas limitando o valor da penalidade a um valor menor, como 2 ou 4 ETH. O ETH restante pode então ser depositado com segurança e retirado imediatamente, permitindo que as trocas bidirecionais permaneçam válidas para pools de staking menores. Podemos melhorar a terceira questão criando um contrato mestre de emissão, que é para gerenciar o LST (semelhante ao contrato usado pelo ERC-4337 e ERC-6900 para carteiras) para que possamos garantir que quaisquer tokens de aposta emitidos através deste contrato são seguros.
Atualmente, não existe uma representação solidificada no acordo, mas tais situações parecem prováveis para o futuro. Envolverá uma lógica semelhante à ideia acima, mas implementada ao nível do protocolo. Veja neste artigo os prós e contras de solidificar as coisas.
Estas ideias são melhorias em relação ao status quo, mas todas oferecem benefícios limitados. Há problemas com a governança do voto simbólico e, em última análise, qualquer forma de seleção de proxy sem incentivo é apenas uma forma de votação por token; Esta sempre foi a minha principal queixa com a prova de participação delegada. Por conseguinte, é igualmente importante considerar formas de alcançar uma participação mais forte no consenso.
Participação consensual
Mesmo sem considerar as questões atuais de staking de liquidez, há limitações ao atual método de staking independente. Supondo a finalidade de um único slot, o ideal é que cada slot processe cerca de 100.000 a 1.000.000 de assinaturas BLS. Embora usemos SNARKs recursivos para agregar assinaturas, para rastreabilidade de assinaturas, cada assinatura precisa receber um campo de bit de participante. Se o Ethereum se tornasse uma rede em escala global, o armazenamento totalmente descentralizado de campos de bits não seria suficiente: 16 MB por slot suportariam apenas cerca de 64 milhões de stakers.
Nesta perspetiva, há valor em dividir a staking em camadas destrutíveis de maior complexidade que terão efeito por slot, mas podem ter apenas 10.000 participantes, e camadas de menor complexidade que só ocasionalmente são chamadas a participar. Camadas de menor complexidade podem ser completamente isentas de decapitação, ou os participantes podem ter aleatoriamente a oportunidade de depositar dentro de vários slots e se tornar alvos de deposição.
Na verdade, isso pode ser feito aumentando o limite de saldo do validador seguido por um limite de saldo (por exemplo, 2048 ETH) para determinar quais validadores existentes entram no nível de maior ou menor complexidade.
Aqui estão algumas sugestões sobre como essas funções de microstaking funcionam:
Para cada slot, 10.000 pequenos stakers serão selecionados aleatoriamente, e eles podem assinar o que acreditam ser representativo do slot. Execute a regra de seleção de fork LMD GHOST com um pequeno staker como entrada. Se houver uma certa divergência entre a seleção de garfo impulsionada pelo microstaker e a escolha de garfo impulsionada pelo operador do nó, o cliente do usuário não aceitará nenhum bloco como confirmação final e exibirá um erro. Isso força a comunidade a intervir para resolver a situação.
Os agentes podem enviar transações anunciando para a rede que estão on-line e dispostos a agir como pequenos stakers dentro da próxima hora. A mensagem (bloco ou prova) enviada pelo nó é calculada e requer o nó e um proxy selecionado aleatoriamente para assinar a confirmação do nó.
Os agentes podem enviar transações anunciando para a rede que estão on-line e dispostos a agir como pequenos stakers na próxima hora. A cada período, 10 agentes aleatórios são selecionados como provedores de listas de inclusão e mais 10.000 agentes são selecionados como eleitores. Estes são selecionados antes do k-slot e recebem uma janela k-slot para publicar mensagens on-chain confirmando que estão online. Cada provedor de lista de inclusão confirmado de escolha pode publicar uma lista de inclusão, e o bloco será considerado inválido, a menos que para cada lista de inclusão contenha as transações na lista de inclusão ou contenha os votos dos eleitores selecionados em geral, mostrando que a lista de inclusão não está disponível.
O que esses pequenos nós de staking têm em comum é que eles não precisam participar ativamente de todos os slots, ou mesmo nós leves para fazer todo o trabalho. Como resultado, as implantações de nós exigem apenas uma camada de consenso de verificação, que os operadores de nós podem implementar por meio de aplicativos ou plug-ins de navegador, que são principalmente passivos e exigem pouca sobrecarga de computação, requisitos de hardware ou know-how, ou até mesmo tecnologias avançadas como ZK-EVM.
Esses "pequenos papéis" também compartilham um objetivo comum: impedir que 51% dos operadores de nós majoritários censurem transações. O primeiro e o segundo também impedem a maioria de participar na redução final. O terceiro se concentra mais diretamente na censura, mas é mais suscetível à escolha da maioria dos operadores de nós.
Estas ideias são escritas a partir da perspetiva da implementação de uma solução de staking duplo no protocolo, mas também podem ser implementadas em função de um pool de stakes. Aqui estão algumas ideias concretas de implementação:
Da perspetiva do protocolo, cada validador pode definir duas chaves de stake: uma chave de stake contínua P, e um endereço Ethereum vinculado que pode ser chamado, e saída de uma chave de stake rápida Q. O rastreamento de informações de assinatura do nó para seleção de fork é representado por P, e as informações assinadas são representadas por Q, se os resultados do armazenamento PQ forem inconsistentes, a determinação final de qualquer bloco não é aceita e o pool de liquidez é responsável por selecionar aleatoriamente os representantes
O protocolo pode permanecer praticamente inalterado, mas a chave pública do autenticador para esse período será definida como P+Q. Observe que, para o desabastecimento, duas mensagens delimitáveis podem ter chaves Q diferentes, mas elas terão a mesma chave P; O design abaixo do peso precisa lidar com essa situação.
As chaves Q só podem ser usadas no protocolo para assinar e verificar a lista de inclusão em um bloco. Neste caso, Q pode ser um contrato inteligente em vez de uma única chave, de modo que o pool de staking pode usá-lo para implementar uma lógica de votação mais complexa, aceitando uma lista de inclusão de um provedor selecionado aleatoriamente ou votos suficientes indicando que a lista de inclusão não está disponível.
Conclusão
Quando implementado corretamente, o ajuste fino do design de prova de participação pode resolver dois problemas de uma só vez:
Oferece uma oportunidade para aqueles que hoje não têm os recursos ou a capacidade de fazer prova de participação independente, dando-lhes a oportunidade de participar da prova de participação, mantendo assim mais poder em suas mãos: incluindo (i) o poder de escolher quais nós apoiar e (ii) participar ativamente do consenso de alguma forma mais leve, mas ainda significativa, do que nós de prova de participação totalmente operacionais. Nem todos os participantes escolherão uma ou ambas as opções, mas qualquer participante que escolha uma ou ambas as opções representará uma melhoria significativa em relação ao status quo.
Reduza o número de assinaturas que a camada de consenso Ethereum precisa processar em cada slot, mesmo sob um regime de finalidade de slot único, para um número menor, como cerca de 10.000. Isso também ajudará na descentralização, tornando mais fácil para todos executarem validadores.
Para essas soluções, as soluções para o problema podem ser encontradas em diferentes níveis de abstração: as permissões concedidas aos usuários dentro do protocolo de prova de participação, a seleção de usuários entre protocolos de prova de participação e o estabelecimento dentro do protocolo. Esta escolha deve ser cuidadosamente considerada, e geralmente é melhor escolher um estabelecimento mínimo viável para minimizar a complexidade do protocolo e o grau de mudança na economia do acordo, sem deixar de atingir os objetivos desejados.
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Vitalik: Como o protocolo LSDFi e a liquidez aumentam a descentralização
Escrito por Vitalik Buterin, compilado por bayemon.eth Fonte: ChainCatcher
Um agradecimento especial a Mike Neuder, Justin Drake e outros pelo seu feedback e revisão. Veja também: Mike Neuder, Dankrad Feist e arixon.eth artigos anteriores sobre tópicos semelhantes.
Pode-se dizer que o status de desenvolvimento atual do Ethereum inclui um grande número de staking de duas camadas, e o staking duplo aqui se refere ao modelo de staking com dois tipos de participantes.
Esta dupla aposta emergente é gerada através de um grande número de pools de staking que participam no fornecimento de tokens de staking de liquidez (LST). (Tanto o Rocket Pool como o Lido estão neste modo.)
No entanto, a atual aposta dupla tem duas desvantagens:
Este artigo irá descrever soluções para ambos os problemas, primeiro assumindo que a maior parte do capital está nas mãos daqueles que não estão dispostos a gerenciar pessoalmente os nós de stake, assinar informações sobre cada slot, bloquear depósitos e redistribuir fundos em sua forma atual, então que papel essas pessoas podem desempenhar nesta situação e ainda fazer contribuições significativas para a descentralização e segurança da rede?
Como funciona o atual double stake?
As duas piscinas de staking mais populares são o Lido e o RocketPool, e no caso do Lido, as duas partes envolvidas são:
Para o Rocket Pool, eles são:
Papel da agência
Nesses sistemas (ou novos sistemas habilitados por possíveis futuras mudanças de protocolo), uma pergunta-chave a ser feita é: Qual é o sentido de ter um agente de uma perspetiva de protocolo?
Para entender as profundas implicações desta questão, vamos primeiro considerar que, para as mudanças de protocolo mencionadas no post, ou seja, a penalidade de redução é limitada a 2ETH, o Rocket Pool também reduzirá a quantidade de staking dos operadores de nó para 2ETH, e a participação de mercado do Rocket Pool aumentará para 100%/ (para stakers e detentores de ETH, quase todos os detentores de ETH se tornarão detentores de rETH ou operadores de nó à medida que o rETH se torna livre de risco).
Supondo um retorno de 3% para os detentores de rETH (incluindo recompensas no protocolo e taxas de prioridade + MEV), os operadores de nó terão um retorno de 4%. Também assumimos um fornecimento total de ETH de 100 milhões.
O resultado do cálculo é o seguinte. Para evitar compor o cálculo, calcularemos os ganhos diariamente:
Agora, supondo que o Rocket Pool não exista, o depósito mínimo por staker é reduzido para 2 ETH, a liquidez total é limitada a 6,25 milhões de ETH e o retorno do operador do nó é reduzido para 1%. Vamos calcular novamente:
Considere ambos os casos em termos do custo do ataque. No primeiro caso, o atacante não se registaria como agente, uma vez que o agente não tem essencialmente qualquer direito de se retirar, pelo que não faz sentido. Portanto, eles usarão todo o seu ETH para estacar e se tornar operadores de nós. Para atingir 1/3 do valor total apostado, eles precisariam colocar 2,08 milhões de Ethereum (o que, para ser justo, ainda é um número bastante grande). No segundo caso, o atacante só precisa investir fundos, e para alcançar 1/3 do pool total de stakes, eles ainda precisam investir 2,08 milhões de Ethereum.
Do ponto de vista da economia de staking e do custo do ataque, o resultado final de ambos os casos é exatamente o mesmo. A participação do fornecimento total de ETH detida por operadores de nós aumentou 0,00256% por dia, e a participação do fornecimento total de ETH detida por operadores de não-nós diminuiu 0,00017% por dia. O custo do ataque foi de 2,08 milhões de ETH. Assim, neste modelo, os agentes parecem ser uma máquina inútil de Rube Goldberg, com comunidades racionais até inclinadas a cortar o intermediário, reduzir drasticamente as recompensas de staking e limitar a quantidade total de ETH apostada a 6,25 milhões.
É claro que este artigo não defende a redução da recompensa de staking em 4 vezes, enquanto limita o montante total da aposta a 6,25 milhões. Em vez disso, a ideia neste artigo é que um sistema de staking que funcione bem deve ter um atributo chave, ou seja, que os agentes devem assumir uma responsabilidade significativa em todo o sistema. Além disso, não importa se o agente está fortemente motivado pela pressão da comunidade e pelo altruísmo para tomar a ação certa; Afinal, é isso que motiva as pessoas hoje a implementar soluções de staking descentralizadas e de alta segurança.
As responsabilidades do agente
Se os agentes pudessem desempenhar um papel significativo no sistema de stake, qual poderia ser esse papel?
Penso que há dois tipos de respostas:
Seleção de proxy aprimorada
Existem três formas de melhorar a escolha de poder dos delegados:
Atualmente, votar em um pool não é realmente prático: no Rocket Pool, qualquer pessoa pode ser um operador de nó e, no Lido, o voto é decidido pelos detentores de LDO, não pelos detentores de ETH. Lido apresentou uma proposta de dupla governança de LDO + stETH, onde eles poderiam ativar um mecanismo de proteção que impede que novos votos e, portanto, operadores de nós sejam adicionados ou removidos, o que de certa forma dá voz aos detentores de stETH. Ainda assim, esse poder é limitado e pode ser mais forte.
A concorrência entre grupos já existe atualmente, mas é relativamente fraca. O principal desafio é que os tokens de staking em pools de staking menores são menos líquidos, mais difíceis de confiar e menos suportados por aplicativos.
Podemos melhorar os dois primeiros problemas limitando o valor da penalidade a um valor menor, como 2 ou 4 ETH. O ETH restante pode então ser depositado com segurança e retirado imediatamente, permitindo que as trocas bidirecionais permaneçam válidas para pools de staking menores. Podemos melhorar a terceira questão criando um contrato mestre de emissão, que é para gerenciar o LST (semelhante ao contrato usado pelo ERC-4337 e ERC-6900 para carteiras) para que possamos garantir que quaisquer tokens de aposta emitidos através deste contrato são seguros.
Atualmente, não existe uma representação solidificada no acordo, mas tais situações parecem prováveis para o futuro. Envolverá uma lógica semelhante à ideia acima, mas implementada ao nível do protocolo. Veja neste artigo os prós e contras de solidificar as coisas.
Estas ideias são melhorias em relação ao status quo, mas todas oferecem benefícios limitados. Há problemas com a governança do voto simbólico e, em última análise, qualquer forma de seleção de proxy sem incentivo é apenas uma forma de votação por token; Esta sempre foi a minha principal queixa com a prova de participação delegada. Por conseguinte, é igualmente importante considerar formas de alcançar uma participação mais forte no consenso.
Participação consensual
Mesmo sem considerar as questões atuais de staking de liquidez, há limitações ao atual método de staking independente. Supondo a finalidade de um único slot, o ideal é que cada slot processe cerca de 100.000 a 1.000.000 de assinaturas BLS. Embora usemos SNARKs recursivos para agregar assinaturas, para rastreabilidade de assinaturas, cada assinatura precisa receber um campo de bit de participante. Se o Ethereum se tornasse uma rede em escala global, o armazenamento totalmente descentralizado de campos de bits não seria suficiente: 16 MB por slot suportariam apenas cerca de 64 milhões de stakers.
Nesta perspetiva, há valor em dividir a staking em camadas destrutíveis de maior complexidade que terão efeito por slot, mas podem ter apenas 10.000 participantes, e camadas de menor complexidade que só ocasionalmente são chamadas a participar. Camadas de menor complexidade podem ser completamente isentas de decapitação, ou os participantes podem ter aleatoriamente a oportunidade de depositar dentro de vários slots e se tornar alvos de deposição.
Na verdade, isso pode ser feito aumentando o limite de saldo do validador seguido por um limite de saldo (por exemplo, 2048 ETH) para determinar quais validadores existentes entram no nível de maior ou menor complexidade.
Aqui estão algumas sugestões sobre como essas funções de microstaking funcionam:
O que esses pequenos nós de staking têm em comum é que eles não precisam participar ativamente de todos os slots, ou mesmo nós leves para fazer todo o trabalho. Como resultado, as implantações de nós exigem apenas uma camada de consenso de verificação, que os operadores de nós podem implementar por meio de aplicativos ou plug-ins de navegador, que são principalmente passivos e exigem pouca sobrecarga de computação, requisitos de hardware ou know-how, ou até mesmo tecnologias avançadas como ZK-EVM.
Esses "pequenos papéis" também compartilham um objetivo comum: impedir que 51% dos operadores de nós majoritários censurem transações. O primeiro e o segundo também impedem a maioria de participar na redução final. O terceiro se concentra mais diretamente na censura, mas é mais suscetível à escolha da maioria dos operadores de nós.
Estas ideias são escritas a partir da perspetiva da implementação de uma solução de staking duplo no protocolo, mas também podem ser implementadas em função de um pool de stakes. Aqui estão algumas ideias concretas de implementação:
Conclusão
Quando implementado corretamente, o ajuste fino do design de prova de participação pode resolver dois problemas de uma só vez:
Para essas soluções, as soluções para o problema podem ser encontradas em diferentes níveis de abstração: as permissões concedidas aos usuários dentro do protocolo de prova de participação, a seleção de usuários entre protocolos de prova de participação e o estabelecimento dentro do protocolo. Esta escolha deve ser cuidadosamente considerada, e geralmente é melhor escolher um estabelecimento mínimo viável para minimizar a complexidade do protocolo e o grau de mudança na economia do acordo, sem deixar de atingir os objetivos desejados.