The Protocol DAO (pDAO)
La Rocket Pool Protocol DAO (pDAO) è responsabile di plasmare la direzione del protocollo ed è gestita dalla governance RPL. I suoi membri e il loro potere di voto sono costituiti da operatori di nodo, grandi e piccoli, tutti direttamente coinvolti nel protocollo. Serve la comunità di Rocket Pool in generale, inclusi i possessori di rETH, gli operatori di nodo e i possessori di RPL. La pDAO dà priorità alla sicurezza del protocollo Rocket Pool e alla salute della rete Ethereum. Per una definizione esplicita di chi e cosa sia la pDAO, sentiti libero di dare un'occhiata allo statuto della pDAO.
Nuove funzionalità della pDAO in Houston
Esecuzione on-chain delle responsabilità della pDAO
L'aggiornamento Houston introduce una sostituzione on-chain per il processo di esecuzione del sistema di governance della pDAO. Utilizza un sistema di prova di frode ottimistica che consente a qualsiasi operatore di nodo di sollevare proposte e votare su proposte per regolare i "parametri del protocollo pDAO" e spendere fondi del tesoro. Per vedere un elenco completo dei parametri controllabili dalla pDAO, clicca qui. Pre-Houston, il team principale era responsabile dell'esecuzione dei compiti della pDAO su richiesta del processo di governance della comunità. Ad esempio, il team esegue i pagamenti mensili IMC e GMC secondo i programmi di pagamento votati dalla governance. Il piano era che questo potere risiedesse temporaneamente con il team fino a quando una nuova struttura di potere non fosse stata istituita per assumere queste responsabilità. Houston rimuove questa dipendenza dal team, rendendo il protocollo più decentralizzato e trustless.
Security Council
L'aggiornamento Houston include anche un nuovo Security Council per aiutare a reagire rapidamente in caso di potenziali problemi con il protocollo. Questi membri possono essere eletti dalla pDAO e hanno la capacità di proporre ed eseguire modifiche senza ritardi. La pDAO ha il potere di eleggere e rimuovere membri dal Security Council. È un ruolo serio e la pDAO dovrebbe sviluppare requisiti di ingresso forti e processi per rimuovere membri stagnanti. Il guardiano della pDAO sarà l'unico membro del Security Council all'inizio di Houston.
Spese ricorrenti del tesoro
RPL ha un tasso di inflazione del 5%. Il 22% di questa inflazione è diretto verso la pDAO come definito in RPIP-25. La pDAO può utilizzare questi fondi per una varietà di scopi. Ad esempio, incentivi come bonus per fornitori di liquidità (LP), sovvenzioni e premi per miglioramenti e progetti di terze parti, e finanziamento dello sviluppo del protocollo Rocket Pool. L'aggiornamento Houston introduce anche una nuova funzionalità che abilita pagamenti ricorrenti del tesoro effettuati a un beneficiario specificato ogni periodo di ricompense.
Proposte della Protocol DAO (pDAO)
Qualsiasi nodo con un potere di voto non nullo può sollevare o partecipare a una proposta pDAO in qualsiasi momento. Le proposte possono essere di uno dei seguenti tipi:
- Modifica delle impostazioni pDAO
- Spese del tesoro una tantum
- Spese ricorrenti del tesoro (comitati di gestione)
- Appartenenza al Security Council
Per maggiori dettagli e motivazioni, fare riferimento ai tipi di proposta. È importante comprendere che una proposta pDAO è un'entità on-chain che esiste per eseguire modifiche a livello di protocollo.
Ciclo di vita di una proposta pDAO
Una proposta dovrebbe essere preannunciata dal processo di governance prima che finisca on-chain. Consiste di 4 periodi, tutti parametri controllabili dalla pDAO:
- Periodo di ritardo del voto:
proposal.vote.delay.time - Fase di voto 1:
proposal.vote.phase1.time - Fase di voto 2:
proposal.vote.phase2.time - Esecuzione:
proposal.execute.time
Periodo di ritardo del voto
Per decidere l'esito di una proposta, il protocollo deve conoscere il quorum richiesto. Un proponente calcola questo valore off-chain e lo invia insieme alla proposta. Il valore è accettato ottimisticamente, ma in caso di frode, i verificatori possono eseguire un processo di sfida/risposta per dimostrare che il valore è errato. Le proposte non valide vengono quindi scartate.
Alcuni motivi per cui i proponenti e gli sfidanti sono tenuti a bloccare RPL.
proposal.bondincentiva proposte valide e disincentiva lo spam.proposal.challenge.bondincentiva l'abbattimento di proposte non valide/dannose.
Gli sfidanti forniscono un indice nell'albero Merkle-sum che stanno sostenendo essere errato. Qualsiasi operatore di nodo può partecipare alla sfida di proposte fraudolente (e guadagnare una ricompensa nel farlo). Sentiti libero di leggere sul processo di sfida della pDAO se sei interessato ad aderire. Una proposta non sconfitta in una sfida entro la fine del periodo di ritardo del voto entrerà nelle fasi di voto.
Quando proposal.vote.delay.time scade, la proposta non può più essere sfidata o sconfitta.
Periodo di voto 1
Durante un periodo di voto, gli operatori di nodo e i delegati possono esprimere un voto con una delle quattro opzioni:
Il loro potere di voto sarà incluso nell'opzione di loro scelta.
Questo può essere fatto usando il comando:
Se il quorum di veto (come definito dal parametro proposal.veto.quorum) viene raggiunto, la proposta viene immediatamente sconfitta e il proponente perde la sua garanzia. Questo serve a dissuadere spam, proposte di bassa qualità o proposte che non hanno seguito prima i processi off-chain. Il comando smartnode rocketpool pdao proposals finalize viene utilizzato per finalizzare una proposta sottoposta a veto bruciando la garanzia RPL bloccata del proponente.
La durata del periodo 1 è determinata dal parametro proposal.vote.phase1.time. La proposta passerà alla fase 2 indipendentemente dal fatto che proposal.quorum sia raggiunto o meno.
Periodo di voto 2
I delegati possono votare durante il periodo di voto 2, ma il loro voto vale solo il loro potere di voto locale. I votanti che non hanno votato nel periodo 1 potranno comunque esprimere un voto durante il periodo 2. Gli operatori di nodo che non sono d'accordo con la scelta del loro delegato avranno l'opportunità di ribaltare il voto del loro delegato.
Il processo di ribaltamento di un voto è abbastanza semplice, basta chiamare rocketpool pdao proposals vote durante il periodo di voto 2 e seguire i prompt. Il potere di voto del delegato sarà ribaltato dal potere di voto del delegante.
Il risultato di una proposta si conclude quando il periodo di voto 2 è terminato. Affinché un risultato sia determinato (ed eseguito), il potere di voto totale di proposal.quorum deve essere raggiunto entro la fine di proposal.vote.phase2.time. Se il quorum viene raggiunto e si raggiunge il consenso, la proposta supererà i periodi di voto e sarà contrassegnata come riuscita.
Nessuna ulteriore azione può essere intrapresa nel caso in cui proposal.quorum non sia raggiunto. Una proposta è considerata conclusa e definitiva se il quorum non viene raggiunto.
Esecuzione
Una volta che entrambi i periodi di voto sono passati e la proposta ha avuto successo, la proposta può essere eseguita e la modifica (definita dal payload) viene applicata al protocollo Rocket Pool. Per eseguire una proposta, usa il comando:
Ti verrà richiesto di selezionare una proposta da eseguire, la proposta verrà applicata al protocollo dopo questo passaggio!
Dopo che la proposta ha superato i periodi di voto, il proponente può richiedere la sua garanzia RPL bloccata, a meno che la proposta non sia stata sconfitta da una sfida o sottoposta a veto.
C'è una finestra proposal.execute.time in cui una proposta può essere eseguita. Una proposta scadrà se questo timer raggiunge la fine.
E questo è tutto! Tieni presente che tutte le variabili menzionate sopra sono parametri controllabili dalla pDAO. Clicca qui per un elenco completo di ogni parametro che la pDAO ha l'autorità di modificare usando proposte on-chain.
Processo di sfida
L'albero completo del potere di voto della rete è memorizzato off-chain a causa dei limiti di gas. Quando un utente invia una nuova proposta, è responsabile della costruzione dell'albero di voto della rete al numero di blocco target. Questo albero è generato off-chain ma verificabile tramite radici Merkle che vengono inviate on-chain. Il protocollo si basa su verificatori per controllare i dettagli inviati dal proponente.
Qualsiasi nodo può partecipare al tracciamento e alla verifica della correttezza delle proposte. Per aderire a questa responsabilità, usa il comando rocketpool service config, naviga nel menu Smartnode and TX Fee Settings e seleziona la casella Enable PDAO Proposal Checker.
Quando questa impostazione è abilitata, il nodo controllerà le nuove proposte, verificherà la loro correttezza e invierà sfide alle proposte non valide. L'unico prerequisito è che il blocco RPL sia abilitato.
Questo controllo viene eseguito ogni 5 minuti in concomitanza con alcuni altri compiti relativi al nodo. Esamineremo un esempio di come sfidare una proposta fraudolenta. Possiamo usare il comando smartnode rocketpool service logs node per monitorare i progressi:
Possiamo vedere che il nostro nodo ha catturato una proposta fraudolenta e ha iniziato il processo di sfidarla. Il blocco 1283202 è il blocco in cui è stata sollevata la proposta 177, il che significa che il potere di voto per questa proposta sarà calcolato al blocco 1283202. Se sei interessato a vedere come sono questi Voting Info Snapshots, puoi trovarli in questa directory: ~/.rocketpool/data/voting
Poiché il proponente è stato sorpreso a inviare informazioni di voto errate, il nostro nodo effettua una chiamata al contratto Function: createChallenge sulla proposta 177 all'indice 5 e attende che il proponente risponda alla sfida.
Poiché le informazioni di voto del proponente sono errate, non sarà in grado di rispondere alla sfida in tempo (determinato da proposal.challenge.period). La proposta è considerata sconfitta a questo punto. Quando la proposta viene sconfitta, il nostro nodo effettua automaticamente la chiamata al contratto defeatProposal sulla proposta 177 all'indice 5 per terminare la proposta.
Gli sfidanti che partecipano alla sconfitta della proposta ricevono un importo proporzionale della garanzia del proponente se inviano un indice dimostrato essere errato. Tutti gli altri sfidanti ricevono solo la loro garanzia indietro.
Ora che la proposta è sconfitta, il nostro nodo (lo sfidante) può richiedere la sua garanzia RPL originale e la garanzia RPL del proponente come ricompensa per aver sconfitto una proposta fraudolenta.
Se sei curioso di approfondire i dettagli del sistema di proposte e sfide della pDAO, dai un'occhiata alle specifiche tecniche. Sentiti libero di saltare a questa sezione sul processo di sfida se sei interessato a studiare un esempio che entra nei dettagli di basso livello.