Participando em Propostas pDAO On-Chain
Qualquer nó com poder de voto não-zero pode levantar ou participar em uma proposta pDAO a qualquer momento. As propostas podem ser um dos seguintes tipos:
- Alteração de configurações pDAO
- Gastos únicos do tesouro
- Gastos recorrentes do tesouro (comitês de gestão)
- Membros do conselho de segurança
Para mais detalhes e justificativa, consulte tipos de proposta. É importante entender que uma proposta pDAO é uma entidade on-chain que existe para executar alterações ao nível do protocolo.
Processo de Governança
Uma proposta deve ser prevista pelo processo de governança antes de acabar on-chain.
Mudanças no protocolo Rocket Pool são propostas, votadas e executadas usando um processo de governança rigoroso, mas transparente. O processo começa com uma discussão informal de uma ideia dentro da comunidade Discord. Esta ideia então progride para discussões formais no canal #governance no Discord e no Fórum DAO, onde passa por pesquisas minuciosas, modelagem e escrutínio em preparação para uma Proposta de Melhoria Rocket Pool (RPIP). Após isso, um rascunho RPIP é preparado e revisado por revisores designados de RPIP para garantir sua qualidade e prontidão para apresentação à DAO. O rascunho da proposta é então apresentado à DAO no fórum para revisão adicional, feedback e incorporação de quaisquer mudanças necessárias. Uma vez que a proposta foi refinada com base no input da comunidade, uma enquete é levantada no fórum DAO para avaliar a prontidão para finalizar o texto do RPIP. Se a enquete passar, indicando aprovação da comunidade, o RPIP é marcado como final e pronto para um voto da DAO do Protocolo, que é conduzido via Snapshot para determinar se a proposta deve ser implementada.
A partir daqui, a Oracle DAO irá levantar uma proposta on-chain. Há uma janela na qual a DAO do Protocolo, Oracle DAO e comunidade podem revisar a proposta. Se o consenso for alcançado, a proposta é executada e as mudanças são aplicadas ao protocolo.
Uma representação visual prática deste processo pode ser encontrada no site Rocket Pool.
Pré-requisito
Por favor, leia o ciclo de vida de uma proposta antes de prosseguir. Ele explicará as diferenças entre todos os períodos de votação e as ações que podem ser tomadas durante cada período.
O resto desta página o guiará através dos passos necessários para participar em propostas pDAO on-chain.
Inicializando Votação
Se você é um operador de nó que se registrou antes da atualização Houston, você precisa inicializar a votação para desbloquear o poder de voto. Tenha em mente que ter pelo menos um minipool é um requisito para ter poder de voto.
Este comando irá apresentar o prompt abaixo. Por favor, leia-o cuidadosamente:
- Se você responder com
direct, o poder de voto será inicializado para o seu nó e você poderá votar diretamente em propostas da DAO do Protocolo. - Se você responder com
delegate, você terá a oportunidade de economizar um pouco de gas ao inicializar a votação e definir um delegado dentro da mesma transação.
Você só precisa fazer isso uma vez. Ele configura a informação de snapshot inicial para um nó. Depois de inicializar a votação, toda ação tomada irá atualizar a informação de snapshot do seu nó. Uma vez que o seu poder de voto esteja inicializado, você pode verificar quanto você tem usando o seguinte comando smartnode:
Sempre que uma nova proposta é criada, uma árvore de votação representando um snapshot do poder de voto da rede e informações de delegado
é criada em conjunto com a nova proposta. Isso significa que o poder de voto do seu nó não será incluído em uma proposta se
ela foi levantada antes de você inicializar a votação. rocketpool pdao status irá exibir o poder de voto do seu nó no
bloco mais recente, que pode ou não ser representativo do seu poder de voto em uma proposta particular.
Auto Inicializar Poder de Voto
A versão 1.13.8 do Smartnode introduz um novo recurso Auto Inicializar Poder de Voto, que foi projetado para inicializar automaticamente
o poder de voto em nós que ainda não o fizeram. O poder de voto inicializado automaticamente é auto-delegado.
Este recurso pode ser configurado nas configurações do Smartnode executando rocketpool service config e navegando para a seção *
*Smartnode e Taxas TX**.
O Limite de Gas Auto-Init Poder de Voto é um limite (em gwei) nesta transação automática. Você pode optar por não participar desta tarefa definindo o limite para 0. Sinta-se livre para optar por não participar se o seu nó foi registrado após a atualização Houston ou se o poder de voto já está habilitado.
Definindo o seu Endereço de Sinalização Snapshot
Definir o seu endereço de sinalização Snapshot permitirá que você participe em votos Snapshot em um navegador ou dispositivo móvel sem ter que expor as chaves do nó a uma carteira quente.
Há algumas coisas para preparar:
- O endereço do seu nó
- Um endereço que você deseja usar para votação snapshot (endereço de sinalização)
Você irá assinar uma mensagem dizendo que o endereço do seu nó pode delegar ao novo endereço. Esta mensagem declara a sua intenção de usar o seu endereço de carteira como um endereço de sinalização Snapshot.
Selecione qual rede você está usando em uma das abas abaixo.
Não carregue a chave privada do seu nó em uma carteira quente. Por favor, escolha outra conta para ser o seu endereço de sinalização. Depois de definir o endereço de sinalização, você pode usá-lo para votar no Snapshot com o poder de voto do seu nó.
Comece por conectar o endereço que você deseja usar como endereço de sinalização ao site usando MetaMask, WalletConnect, ou qualquer um dos outros métodos que o site suporta. Você então será apresentado com este diálogo para procurar o seu endereço de nó.
Em seguida, você irá inserir o seu endereço de nó e então clicar no botão laranja "Find". Isso irá verificar se o endereço é um nó registrado e então levá-lo ao próximo passo.
Certifique-se de ter o endereço de nó correto antes de fazer isso! se você precisar confirmar o endereço do seu nó, você pode
rapidamente recuperá-lo via CLI usando o comando rocketpool node status.
Depois de ter entrado e confirmado o seu endereço de nó, você verá o seu endereço de sinalização Snapshot. Ele deve ser o mesmo que a conta com a qual você entrou no site. Verifique duas vezes se isso está correto antes de prosseguir. Uma vez que você esteja confiante de que entrou na conta desejada, clique no botão laranja "Sign Message". Você verá um prompt no seu aplicativo de extensão de carteira para assinar a seguinte mensagem:
Assinar não custará gas, mas definir custará. Depois de assinar, o frontend lhe dará um comando para colar no smartnode. Vá em frente e cole-o no CLI do seu smartnode e siga os passos solicitados. O comando deve parecer algo assim:
Se você vir esta mensagem no seu CLI, está tudo pronto!
Não se preocupe se você fechar acidentalmente o site ou perder o rastro do comando. Você pode simplesmente repetir os passos e assinar
novamente usando o mesmo endereço de nó e endereço de sinalização. O frontend usa signer.Signmessage() da biblioteca ethers,
o que significa que sua assinatura é determinística dado o mesmo input.
Clique aqui para saber mais.
Limpar o seu endereço de sinalização é muito fácil, basta usar este comando no CLI:
Permitindo Bloqueio RPL
Você pode ignorar este passo se estiver interessado apenas em votar em uma proposta. Permitir o bloqueio RPL é necessário apenas para aqueles que desejam propor ou desafiar uma proposta.
O bloqueio RPL é necessário para propor e desafiar. Por padrão, bloquear RPL para qualquer propósito, estará desabilitado. Operadores de nó irão optar por realizar atividades de governança habilitando o bloqueio de RPL do seu nó ou endereço de retirada primário. Você pode fazê-lo usando este comando no Smartnode:
Isso irá solicitá-lo a permitir o bloqueio de RPL ao criar ou desafiar propostas de governança. Por outro lado, você pode usar o seguinte comando para optar por não bloquear RPL:
RPL bloqueado age da mesma forma que RPL staked regular para fins de recompensas, votação e requisitos de colateral. RPL bloqueado não é contado para limiares de retirada de RPL.
Delegando o Poder de Voto
Um operador de nó pode optar por delegar o seu poder de voto a outro operador de nó. O único requisito é que o seu delegado seja um nó registrado.
Para delegar o poder de voto on-chain a outro nó, use o seguinte comando:
Se você delegou o seu poder de voto a outro operador de nó, você pode redefinir isso definindo o endereço do delegado para o endereço do seu próprio nó.
- Durante a fase 1 de uma proposta: Votantes e Delegados podem votar em uma proposta.
- Durante a fase 2 de uma proposta: Operadores de Nó que delegaram o seu voto têm a oportunidade de reverter o voto do seu Delegado, se discordarem.
Se você é um operador de nó com poder de voto delegado, você deve votar durante a fase de votação 1 para que o poder de voto delegado conte para a proposta. O seu voto na fase 1 valerá o seu poder de voto local + poder de voto delegado. O seu voto na fase 2 vale o seu poder de voto local apenas.
Criando uma Proposta
Para ser elegível para propor, um nó deve cumprir alguns requisitos:
- Incluído no snapshot (seja ao inicializar a votação ou ao registrar pós Houston)
- Deve ter pelo menos um minipool
- Tem poder de voto não-zero
- Permitiu bloqueio RPL
- Tem uma stake RPL (menos qualquer RPL já bloqueado) maior que a garantia da proposta
Propostas existem para alterar parâmetros e executar código ao nível do protocolo! Deve haver discussão e consenso através do processo de governança antes que uma proposta seja criada on chain.
Use o comando rocketpool pdao propose para trazer um menu de opções
Cada um destes comandos irá solicitá-lo com uma lista de inputs para criar a sua proposta desejada. Neste guia, vamos convidar um nó para o conselho de segurança para servir como exemplo. Para levantar uma proposta para convidar um nó para o conselho de segurança, você usaria o comando:
Tenha em mente que este passo terá alguma variação leve dependendo do tipo de proposta. Este comando particular:
rocketpool pdao propose security-council invite irá solicitá-lo a inserir um ID seguido de um endereço de membro.
Depois que isso for incluído em um bloco, uma proposta pDAO será criada! A proposta entrará no período de atraso de voto após a criação.
Visualizando o Estado de uma Proposta
Toda proposta recebe um proposalID. Neste caso, nossa proposta para convidar 0xBdbc... para o conselho de segurança é
representada com ID 71. Há algumas maneiras de visualizar o estado da proposta. Um método exibirá uma lista de
todas as propostas pdao junto com o seu estado (pendente, bem-sucedida, executada, etc). O segundo método exibe detalhes aprofundados
sobre uma proposta específica.
Para listar todas as propostas, use o seguinte comando:
Isso exibirá uma lista de todas as propostas e seu estado
Aqui podemos ver que nossa proposta convidar test-member tem um ID de 71 e está no estado pendente. Neste estado,
desafiantes podem disputar a validade da
árvore Merkle-sum (usada para calcular o poder de voto) fornecida pelo proponente. Quando proposal.vote.delay.time terminar,
a proposta fará a transição para as fases de votação ativas. Sinta-se livre para revisar o ciclo de vida de uma
proposta para uma atualização.
Votando em uma Proposta
Durante um período de votação, Operadores de Nó e Delegados podem votar com uma das quatro opções:
O seu poder de voto será aplicado à opção da sua escolha. O poder de voto é uma função do "effective RPL stake." Uma leitura mais detalhada pode ser encontrada no repositório rocketpool-research.
Se você é um operador de nó com poder de voto delegado, você deve votar durante a fase de votação 1 para que o poder de voto delegado conte para a proposta. O seu voto na fase 1 valerá o seu poder de voto local + poder de voto delegado. O seu voto na fase 2 vale o seu poder de voto local apenas. Por favor, tenha em mente que um nó pode votar uma vez e apenas uma vez em uma proposta, então escolha com cuidado.
Use este comando para votar:
Você será solicitado a selecionar uma proposta para votar se houver pelo menos uma proposta em uma fase de votação ativa. O menu deve exibir todas as propostas nas quais o seu nó é elegível para votar:
Depois de selecionar uma opção, você será perguntado como deseja votar.
Selecionar uma opção exibirá então o seu poder de voto, e então solicitará que você envie a transação:
Você votou com sucesso na proposta uma vez que a transação é incluída no bloco! Neste ponto, você pode usar
rocketpool pdao proposal details <proposal-id> para visualizar o estado da proposta. Uma proposta precisa alcançar
proposal.quorum poder de voto necessário e uma maioria poder de voto a favor para ser bem-sucedida.
Para o exemplo acima passar, o poder de voto precisa exceder um quórum de 140970562215 poder de voto. Há
197980809837 poder de voto a favor e nenhum voto contra ou abstenção. A proposta está pronta para o sucesso e pronta
para
execução até o fim de proposal.vote.phase2.time.
Executando uma Proposta Bem-Sucedida
Parabéns! Sua proposta passou! Agora tudo o que resta fazer é executar a proposta. Tenha em mente que qualquer pessoa pode ser o executor de uma proposta. Para executar uma proposta bem-sucedida, digite o comando:
Selecionar uma opção irá solicitá-lo a enviar uma transação. Uma vez que esta transação seja incluída em um bloco, a mudança será aplicada ao protocolo Rocket Pool!
Reivindicando Garantias e Recompensas
Proponentes ou Desafiantes podem reivindicar suas garantias após a conclusão de uma proposta. Dependendo do resultado de uma proposta,
um
Proponente ou Desafiante pode ou não ser capaz de reivindicar sua proposal.bond e proposal.challenge.bond.
Aqui estão algumas regras que ditam as condições nas quais garantias podem ser reivindicadas:
- Se uma proposta for derrotada, o proponente perde sua garantia que é dividida proporcionalmente entre os desafiantes que contribuíram para a derrota da proposta. Todos os outros desafiantes recebem apenas sua garantia de volta.
- Contribuir para a derrota de uma proposta significa que um desafiante submeteu um índice que foi posteriormente provado ser incorreto pela incapacidade do proponente de responder a um desafio. É possível que haja múltiplos índices incorretos mas apenas aqueles que resultaram na derrota da proposta compartilham a recompensa. Todos os outros desafiantes recebem apenas sua garantia de volta.
- Se um desafiante desafiar um nó, o proponente responder, e a proposta não for derrotada. O proponente pode reivindicar as garantias de desafio dos desafios inválidos.
- Se uma proposta for derrotada, o proponente perde sua garantia que é dividida proporcionalmente entre os desafiantes que contribuíram para a derrota da proposta.
Use este comando para reivindicar garantias:
Isso exibirá todas as propostas das quais você é elegível para reivindicar garantias. Você pode reivindicar garantias de uma proposta especificada, ou pode reivindicar garantias e recompensas de todas as propostas elegíveis.
Uma vez que você tenha selecionado uma opção, você será solicitado com as recomendações de custos de gas atuais da rede; confirme a sua seleção de preço de gas e siga o resto dos prompts.
Note que se você selecionar a primeira opção para reivindicar todas as propostas disponíveis, elas serão executadas individualmente e não como uma transação.
Criando um Gasto Recorrente do Tesouro
Você precisará preparar alguns inputs para criar um gasto recorrente do tesouro:
- Um nome de contrato
- O endereço do destinatário
- Quantidade de RPL a enviar por período
- O tempo de início para o pagamento recorrente (como um timestamp UNIX)
- A duração de cada período de pagamento em horas / minutos / segundos (por exemplo, 168h0m0s)
- Número de períodos de pagamento
O destinatário precisará anotar o nome do contrato para reivindicar pagamentos. Não se preocupe, pois esta
informação está armazenada e pode ser recuperada usando o comando rocketpool pdao proposals details <proposal-id>
Para levantar uma proposta para configurar um gasto recorrente do tesouro, use o seguinte comando smartnode e siga os prompts:
Aqui está como tudo fica junto:
Uma vez que você tenha inserido todos os inputs necessários, uma proposta para criar um pagamento recorrente será levantada. Quando a pDAO
passar e executar esta proposta, o destinatário é alocado 1 RPL começando em 2024-06-09 12:13:53 +0000 UTC
a cada
720 horas para um total de 24 pagamentos.
Reivindicando um Gasto Recorrente do Tesouro
Reivindicar pagamentos recorrentes deve ser bem simples! Navegue até a nossa ferramenta frontend aqui para fazê-lo. Se você está experimentando isso em Hoodi testnet, use este link em vez disso.
Uma vez que você esteja no site, clique no botão conectar carteira. Por favor, leia e aceite os Termos de Serviço & Política de Privacidade, isso habilitará diferentes formas de conectar, então clique em conectar metamask.
O MetaMask irá solicitá-lo a selecionar uma conta para conectar ao site. Depois de ter entrado, você precisará inserir o nome do contrato. Fazer isso exibirá todos os detalhes relevantes. Certifique-se de verificar duas vezes o endereço do destinatário. Qualquer pessoa pode chamar a função de reivindicação, mas cada contrato de pagamento terá um destinatário designado para dispersar RPL para.
Você pode reivindicar os seus pagamentos a qualquer momento, você apenas receberá o total de RPL não reivindicado até o período mais recente. Alternativamente, você pode esperar até que todos os períodos tenham passado para coletar tudo de uma vez e economizar em gas.
Basta apertar o grande botão laranja de reivindicação quando estiver pronto e revisar a transação no metamask (ou sua carteira preferida). Uma vez feito isso, está tudo pronto!