Teilnahme an On-Chain-pDAO-Vorschlägen
Jeder Node mit einer Stimmgewichtung ungleich Null kann jederzeit einen pDAO-Vorschlag einreichen oder daran teilnehmen. Vorschläge können von einem der folgenden Typen sein:
- Änderung von pDAO-Einstellungen
- Einmalige Ausgaben aus der Treasury
- Wiederkehrende Ausgaben aus der Treasury (Verwaltungsausschüsse)
- Mitgliedschaft im Security Council
Für weitere Details und Begründungen siehe Vorschlagstypen. Es ist wichtig zu verstehen, dass ein pDAO-Vorschlag eine On-Chain-Entität ist, die existiert, um Änderungen auf Protokollebene auszuführen.
Governance-Prozess
Ein Vorschlag sollte vor seiner On-Chain-Einreichung durch den Governance-Prozess angekündigt werden.
Änderungen am Rocket Pool-Protokoll werden mit einem strikten, aber transparenten Governance-Prozess vorgeschlagen, abgestimmt und ausgeführt. Der Prozess beginnt mit einer informellen Diskussion einer Idee innerhalb der Discord-Community. Diese Idee entwickelt sich dann zu formellen Diskussionen im #governance-Kanal auf Discord und im DAO-Forum, wo sie einer gründlichen Recherche, Modellierung und Prüfung unterzogen wird, um sie für einen Rocket Pool Improvement Proposal (RPIP) vorzubereiten. Anschließend wird ein Entwurfs-RPIP erstellt und von designierten RPIP-Reviewern überprüft, um seine Qualität und Bereitschaft für die Präsentation vor der DAO sicherzustellen. Der Entwurf wird dann der DAO im Forum zur weiteren Überprüfung, Rückmeldung und Einarbeitung notwendiger Änderungen präsentiert. Sobald der Vorschlag auf Basis des Community-Inputs verfeinert wurde, wird eine Umfrage im DAO-Forum durchgeführt, um die Bereitschaft zur Finalisierung des RPIP-Textes zu prüfen. Wenn die Umfrage erfolgreich ist und die Community-Zustimmung anzeigt, wird das RPIP als final markiert und ist bereit für eine Protocol DAO-Abstimmung, die über Snapshot durchgeführt wird, um zu bestimmen, ob der Vorschlag implementiert werden soll.
Von hier aus wird die Oracle DAO einen On-Chain-Vorschlag einreichen. Es gibt ein Zeitfenster, in dem die Protocol DAO, Oracle DAO und Community den Vorschlag überprüfen können. Wenn Konsens erreicht wird, wird der Vorschlag ausgeführt und die Änderungen werden auf das Protokoll angewendet.
Eine praktische visuelle Darstellung dieses Prozesses finden Sie auf der Rocket Pool Website.
Voraussetzung
Bitte lesen Sie den Lebenszyklus eines Vorschlags, bevor Sie fortfahren. Dies erklärt die Unterschiede zwischen allen Abstimmungsperioden und den Aktionen, die während jeder Periode durchgeführt werden können.
Der Rest dieser Seite führt Sie durch die erforderlichen Schritte zur Teilnahme an On-Chain-pDAO-Vorschlägen.
Initialisierung der Abstimmung
Wenn Sie ein Node-Operator sind, der sich vor dem Houston-Upgrade registriert hat, müssen Sie die Abstimmung initialisieren, um Ihr Stimmgewicht freizuschalten. Beachten Sie, dass mindestens ein Minipool erforderlich ist, um Stimmgewicht zu haben.
Dieser Befehl zeigt die folgende Eingabeaufforderung an. Bitte lesen Sie diese sorgfältig:
- Wenn Sie mit
directantworten, wird das Stimmgewicht auf Ihren Node initialisiert und Sie können direkt bei Protocol DAO-Vorschlägen abstimmen. - Wenn Sie mit
delegateantworten, haben Sie die Möglichkeit, etwas Gas zu sparen, indem Sie die Abstimmung initialisieren und einen Delegaten festlegen in derselben Transaktion.
Sie müssen dies nur einmal tun. Es konfiguriert die anfänglichen Snapshot-Informationen für einen Node. Nachdem Sie die Abstimmung initialisiert haben, wird jede durchgeführte Aktion die Snapshot-Informationen Ihres Nodes aktualisieren. Sobald Ihr Stimmgewicht initialisiert ist, können Sie überprüfen, wie viel Sie haben, indem Sie den folgenden Smartnode-Befehl verwenden:
Wenn ein neuer Vorschlag erstellt wird, wird ein Abstimmungsbaum erstellt, der einen Snapshot des Stimmgewichts und der Delegierungs-Informationen des Netzwerks darstellt, zusammen mit dem neuen Vorschlag. Das bedeutet, dass das Stimmgewicht Ihres Nodes nicht in einem Vorschlag enthalten sein wird, wenn dieser eingereicht wurde, bevor Sie die Abstimmung initialisiert haben. rocketpool pdao status zeigt das Stimmgewicht Ihres Nodes am aktuellen Block an, was möglicherweise nicht repräsentativ für Ihr Stimmgewicht bei einem bestimmten Vorschlag ist.
Automatische Initialisierung des Stimmgewichts
Smartnode-Version 1.13.8 führt eine neue Funktion ein: Auto Initialize Vote Power, die entwickelt wurde, um das Stimmgewicht auf Nodes, die dies noch nicht getan haben, automatisch zu initialisieren. Automatisch initialisiertes Stimmgewicht ist selbst-delegiert.
Diese Funktion kann in den Smartnode-Einstellungen konfiguriert werden, indem Sie rocketpool service config ausführen und zum Abschnitt Smartnode and TX Fees navigieren.
Der Auto-Init Vote Power Gas Threshold ist eine Grenze (in Gwei) für diese automatische Transaktion. Sie können diese Aufgabe deaktivieren, indem Sie den Schwellenwert auf 0 setzen. Sie können sich gerne abmelden, wenn Ihr Node nach dem Houston-Upgrade registriert wurde oder wenn das Stimmgewicht bereits aktiviert ist.
Festlegen Ihrer Snapshot-Signalisierungsadresse
Das Festlegen Ihrer Snapshot-Signalisierungsadresse ermöglicht es Ihnen, an Snapshot-Abstimmungen auf einem Browser oder Mobilgerät teilzunehmen, ohne Node-Keys einem Hot Wallet aussetzen zu müssen.
Sie müssen einige Dinge vorbereiten:
- Die Adresse Ihres Nodes
- Eine Adresse, die Sie für die Snapshot-Abstimmung verwenden möchten (Signalisierungsadresse)
Sie werden eine Nachricht signieren, die besagt, dass die Adresse Ihres Nodes an die neue Adresse delegieren kann. Diese Nachricht erklärt Ihre Absicht, Ihre Wallet-Adresse als Snapshot-Signalisierungsadresse zu verwenden.
Wählen Sie aus einem der Tabs unten, welches Netzwerk Sie verwenden.
Laden Sie den privaten Schlüssel Ihres Nodes nicht in ein Hot Wallet. Bitte wählen Sie ein anderes Konto als Ihre Signalisierungsadresse. Nach dem Festlegen der Signalisierungsadresse können Sie diese verwenden, um auf Snapshot mit dem Stimmgewicht Ihres Nodes abzustimmen.
Beginnen Sie damit, die Adresse zu verbinden, die Sie als Signalisierungsadresse verwenden möchten mit der Website über MetaMask, WalletConnect oder eine der anderen Methoden, die die Website unterstützt. Sie werden dann mit diesem Dialog aufgefordert, Ihre Node-Adresse nachzuschlagen.
Als Nächstes geben Sie Ihre Node-Adresse ein und klicken auf die orangefarbene Schaltfläche "Find". Dies überprüft, ob die Adresse ein registrierter Node ist und bringt Sie dann zum nächsten Schritt.
Stellen Sie sicher, dass Sie die richtige Node-Adresse haben, bevor Sie dies tun! Wenn Sie Ihre Node-Adresse bestätigen müssen, können Sie diese schnell über die CLI mit dem Befehl rocketpool node status abrufen.
Sobald Sie sich angemeldet und Ihre Node-Adresse bestätigt haben, sehen Sie Ihre Snapshot-Signalisierungsadresse. Diese sollte dieselbe sein wie das Konto, mit dem Sie sich auf der Website angemeldet haben. Überprüfen Sie dies doppelt, bevor Sie fortfahren. Sobald Sie sicher sind, dass Sie mit dem gewünschten Konto angemeldet sind, klicken Sie auf die orangefarbene Schaltfläche "Sign Message". Sie sehen eine Aufforderung in Ihrer Wallet-Erweiterungs-App, die folgende Nachricht zu signieren:
Die Signierung kostet kein Gas, aber das Festlegen schon. Nachdem Sie signiert haben, gibt Ihnen das Frontend einen Befehl, den Sie in den Smartnode einfügen können. Fügen Sie ihn in die CLI Ihres Smartnodes ein und befolgen Sie die aufgeforderten Schritte. Der Befehl sollte etwa so aussehen:
Wenn Sie diese Nachricht in Ihrer CLI sehen, sind Sie fertig!
Keine Sorge, wenn Sie die Website versehentlich schließen oder den Befehl verlieren. Sie können einfach die Schritte wiederholen und erneut mit derselben Node-Adresse und Signalisierungsadresse signieren. Das Frontend verwendet signer.Signmessage() aus der ethers-Bibliothek, was bedeutet, dass Ihre Signatur bei derselben Eingabe deterministisch ist.
Klicken Sie hier, um mehr zu erfahren.
Das Löschen Ihrer Signalisierungsadresse ist ziemlich einfach, verwenden Sie einfach diesen Befehl in der CLI:
RPL-Sperrung erlauben
Sie können diesen Schritt ignorieren, wenn Sie nur daran interessiert sind, über einen Vorschlag abzustimmen. Das Erlauben der RPL-Sperrung ist nur für diejenigen erforderlich, die einen Vorschlag einreichen oder anfechten möchten.
RPL-Sperrung ist für das Vorschlagen und Anfechten erforderlich. Standardmäßig ist die Sperrung von RPL für jeden Zweck deaktiviert. Node-Operatoren werden sich für die Durchführung von Governance-Aktivitäten entscheiden, indem sie die Sperrung von RPL von ihrem Node oder ihrer primären Abhebungsadresse aktivieren. Sie können dies mit diesem Befehl im Smartnode tun:
Dies fordert Sie auf, die Sperrung von RPL beim Erstellen oder Anfechten von Governance-Vorschlägen zu erlauben. Umgekehrt können Sie den folgenden Befehl verwenden, um die RPL-Sperrung abzulehnen:
Gesperrte RPL verhält sich genauso wie regulär gestakete RPL für die Zwecke von Belohnungen, Abstimmungen und Sicherheitenanforderungen. Gesperrte RPL wird nicht auf die Schwellenwerte für das Abheben von RPL angerechnet.
Delegierung von Stimmgewicht
Ein Node-Operator kann wählen, sein Stimmgewicht an einen anderen Node-Operator zu delegieren. Die einzige Anforderung ist, dass Ihr Delegat ein registrierter Node ist.
Um On-Chain-Stimmgewicht an einen anderen Node zu delegieren, verwenden Sie den folgenden Befehl:
Wenn Sie Ihr Stimmgewicht an einen anderen Node-Operator delegiert haben, können Sie dies zurücksetzen, indem Sie die Delegierungsadresse auf die Adresse Ihres eigenen Nodes setzen.
- Während Phase 1 eines Vorschlags: Wähler und Delegierte können ihre Stimme zu einem Vorschlag abgeben.
- Während Phase 2 eines Vorschlags: Node-Operatoren, die ihre Stimme delegiert haben, erhalten die Möglichkeit, die Stimme ihres Delegierten zu überstimmen, wenn sie nicht einverstanden sind.
Wenn Sie ein Node-Operator mit delegiertem Stimmgewicht sind, müssen Sie während der Abstimmungsphase 1 abstimmen, damit das delegierte Stimmgewicht für den Vorschlag zählt. Ihre Stimme in Phase 1 wird Ihr lokales Stimmgewicht + delegiertes Stimmgewicht wert sein. Ihre Stimme in Phase 2 ist nur Ihr lokales Stimmgewicht wert.
Erstellen eines Vorschlags
Um vorschlagsberechtigt zu sein, muss ein Node einige Anforderungen erfüllen:
- Im Snapshotting enthalten (entweder durch Initialisierung der Abstimmung oder durch Registrierung nach Houston)
- Muss mindestens einen Minipool haben
- Hat ein Stimmgewicht ungleich Null
- Hat die RPL-Sperrung erlaubt
- Hat einen RPL-Stake (abzüglich bereits gesperrter RPL), der größer ist als die Vorschlagsbindung
Vorschläge existieren, um Parameter zu ändern und Code auf Protokollebene auszuführen! Es sollte Diskussion und Konsens durch den Governance-Prozess geben, bevor ein Vorschlag On-Chain erstellt wird.
Verwenden Sie den Befehl rocketpool pdao propose, um ein Optionsmenü aufzurufen
Jeder dieser Befehle fordert Sie mit einer Liste von Eingaben auf, um Ihren gewünschten Vorschlag zu erstellen. In diesem Leitfaden laden wir einen Node zum Security Council ein, um als Beispiel zu dienen. Um einen Vorschlag einzureichen, einen Node zum Security Council einzuladen, würden Sie den Befehl verwenden:
Beachten Sie, dass dieser Schritt je nach Art des Vorschlags leicht variieren wird. Dieser spezielle Befehl:
rocketpool pdao propose security-council invite fordert Sie auf, eine ID gefolgt von einer Mitgliederadresse einzugeben.
Nachdem dies in einen Block aufgenommen wurde, wird ein pDAO-Vorschlag erstellt! Der Vorschlag tritt bei Erstellung in die Vote Delay Period ein.
Anzeigen des Status eines Vorschlags
Jedem Vorschlag wird eine proposalID zugewiesen. In diesem Fall wird unser Vorschlag, 0xBdbc... zum Security Council einzuladen, mit ID 71 dargestellt. Es gibt einige Möglichkeiten, den Status des Vorschlags anzuzeigen. Eine Methode zeigt eine Liste aller pDAO-Vorschläge zusammen mit ihrem Status an (ausstehend, erfolgreich, ausgeführt usw.). Die zweite Methode zeigt detaillierte Details zu einem bestimmten Vorschlag an.
Um alle Vorschläge aufzulisten, verwenden Sie den folgenden Befehl:
Dies zeigt eine Liste aller Vorschläge und deren Status an
Hier können wir sehen, dass unser Vorschlag invite test-member eine ID von 71 hat und sich im Status ausstehend befindet. In diesem Status können Anfechtende die Gültigkeit des Merkle Pollard (verwendet zur Berechnung des Stimmgewichts) anfechten, der vom Vorschlagenden bereitgestellt wurde. Wenn proposal.vote.delay.time endet, geht der Vorschlag in aktive Abstimmungsphasen über. Schauen Sie sich gerne Lebenszyklus eines Vorschlags zur Auffrischung an.
Abstimmen über einen Vorschlag
Während einer Abstimmungsperiode können Node-Operatoren und Delegierte mit einer von vier Optionen abstimmen:
Ihr Stimmgewicht wird auf die Option ihrer Wahl angewendet. Das Stimmgewicht ist eine Funktion des "effektiven RPL-Stakes". Eine detailliertere Lektüre finden Sie im rocketpool-research repo.
Wenn Sie ein Node-Operator mit delegiertem Stimmgewicht sind, müssen Sie während der Abstimmungsphase 1 abstimmen, damit das delegierte Stimmgewicht für den Vorschlag zählt. Ihre Stimme in Phase 1 wird Ihr lokales Stimmgewicht + delegiertes Stimmgewicht wert sein. Ihre Stimme in Phase 2 ist nur Ihr lokales Stimmgewicht wert. Bitte beachten Sie, dass ein Node nur einmal über einen Vorschlag abstimmen kann, also wählen Sie sorgfältig.
Verwenden Sie diesen Befehl, um eine Stimme abzugeben:
Sie werden aufgefordert, einen Vorschlag zur Abstimmung auszuwählen, wenn sich mindestens ein Vorschlag in einer aktiven Abstimmungsphase befindet. Das Menü sollte alle Vorschläge anzeigen, über die Ihr Node abstimmen kann:
Nach der Auswahl einer Option werden Sie gefragt, wie Sie abstimmen möchten.
Die Auswahl einer Option zeigt dann Ihr Stimmgewicht an und fordert Sie auf, die Transaktion zu senden:
Sie haben erfolgreich über den Vorschlag abgestimmt, sobald die Transaktion in den Block aufgenommen wurde! An diesem Punkt können Sie rocketpool pdao proposal details <proposal-id> verwenden, um den Status des Vorschlags anzuzeigen. Ein Vorschlag muss proposal.quorum erforderliches Stimmgewicht erreichen und eine Mehrheit Stimmgewicht dafür, damit er erfolgreich ist.
Damit das obige Beispiel erfolgreich ist, muss das Stimmgewicht ein Quorum von 140970562215 Stimmgewicht überschreiten. Es gibt 197980809837 Stimmgewicht dafür und keine Stimmen dagegen oder Enthaltungen. Der Vorschlag ist auf Erfolgskurs und bereit für die Ausführung am Ende von proposal.vote.phase2.time.
Ausführen eines erfolgreichen Vorschlags
Glückwunsch! Ihr Vorschlag ist erfolgreich! Jetzt müssen Sie nur noch den Vorschlag ausführen. Beachten Sie, dass jeder der Ausführende eines Vorschlags sein kann. Um einen erfolgreichen Vorschlag auszuführen, geben Sie den Befehl ein:
Die Auswahl einer Option fordert Sie auf, eine Transaktion zu senden. Sobald diese Transaktion in einen Block aufgenommen wurde, wird die Änderung auf das Rocket Pool-Protokoll angewendet!
Bindungen und Belohnungen einfordern
Vorschlagende oder Anfechtende können ihre Bindungen nach Abschluss eines Vorschlags einfordern. Abhängig vom Ergebnis eines Vorschlags kann ein Vorschlagender oder Anfechtender seine proposal.bond und proposal.challenge.bond einfordern oder auch nicht.
Hier sind einige Regeln, die die Bedingungen festlegen, unter denen Bindungen eingefordert werden können:
- Wenn ein Vorschlag abgelehnt wird, verliert der Vorschlagende seine Bindung, die proportional unter den Anfechtenden aufgeteilt wird, die zur Ablehnung des Vorschlags beigetragen haben. Alle anderen Anfechtenden erhalten nur ihre Bindung zurück.
- Zur Ablehnung eines Vorschlags beizutragen bedeutet, dass ein Anfechtender einen Index eingereicht hat, der später als falsch erwiesen wurde, weil der Vorschlagende nicht auf eine Anfechtung antworten konnte. Es ist möglich, dass es mehrere falsche Indizes gibt, aber nur diejenigen, die zur Ablehnung des Vorschlags führten, teilen sich die Belohnung. Alle anderen Anfechtenden erhalten nur ihre Bindung zurück.
- Wenn ein Anfechtender einen Node anficht, der Vorschlagende antwortet und der Vorschlag nicht abgelehnt wird, kann der Vorschlagende die Anfechtungsbindungen der ungültigen Anfechtungen einfordern.
- Wenn ein Vorschlag abgelehnt wird, verliert der Vorschlagende seine Bindung, die proportional unter den Anfechtenden aufgeteilt wird, die zur Ablehnung des Vorschlags beigetragen haben.
Verwenden Sie diesen Befehl, um Bindungen einzufordern:
Dies zeigt jeden Vorschlag an, bei dem Sie berechtigt sind, Bindungen einzufordern. Sie können entweder Bindungen von einem bestimmten Vorschlag einfordern oder Bindungen und Belohnungen von allen berechtigten Vorschlägen einfordern.
Sobald Sie eine Option ausgewählt haben, werden Sie mit den aktuellen Gaskostenempfehlungen des Netzwerks aufgefordert; bestätigen Sie Ihre Gaspreisauswahl und folgen Sie den restlichen Aufforderungen.
Beachten Sie, dass, wenn Sie die erste Option auswählen, um alle verfügbaren Vorschläge einzufordern, diese jeweils einzeln ausgeführt werden und nicht als eine Transaktion.
Erstellen einer wiederkehrenden Treasury-Ausgabe
Sie müssen einige Eingaben vorbereiten, um eine wiederkehrende Treasury-Ausgabe zu erstellen:
- Ein Vertragsname
- Die Empfängeradresse
- Menge an RPL, die pro Periode gesendet werden soll
- Die Startzeit für die wiederkehrende Zahlung (als UNIX-Zeitstempel)
- Die Länge jeder Zahlungsperiode in Stunden/Minuten/Sekunden (z.B. 168h0m0s)
- Anzahl der Zahlungsperioden
Der Empfänger muss sich den Vertragsnamen notieren, um Zahlungen einzufordern. Keine Sorge, diese Informationen werden gespeichert und können mit dem Befehl rocketpool pdao proposals details <proposal-id> abgerufen werden
Um einen Vorschlag zur Einrichtung einer wiederkehrenden Treasury-Ausgabe einzureichen, verwenden Sie den folgenden Smartnode-Befehl und folgen Sie den Aufforderungen:
So sieht es insgesamt aus:
Sobald Sie alle erforderlichen Eingaben eingegeben haben, wird ein Vorschlag zur Erstellung einer wiederkehrenden Zahlung eingereicht. Wenn die pDAO diesen Vorschlag verabschiedet und ausführt, wird dem Empfänger 1 RPL zugeteilt, beginnend ab 2024-06-09 12:13:53 +0000 UTC alle 720 Stunden für insgesamt 24 Zahlungen.
Einfordern einer wiederkehrenden Treasury-Ausgabe
Das Einfordern wiederkehrender Zahlungen sollte ziemlich einfach sein! Navigieren Sie zu unserem Frontend-Tool hier, um dies zu tun. Wenn Sie dies auf dem Hoodi Testnet ausprobieren, verwenden Sie stattdessen diesen Link.
Sobald Sie auf der Website sind, klicken Sie auf die Schaltfläche connect wallet. Bitte lesen Sie die Terms of Service & Privacy Policy durch und akzeptieren Sie sie, dies ermöglicht verschiedene Möglichkeiten zur Verbindung, klicken Sie dann auf connect metamask.
MetaMask fordert Sie auf, ein Konto auszuwählen, um sich mit der Website zu verbinden. Nachdem Sie sich angemeldet haben, müssen Sie den Vertragsnamen eingeben. Dies zeigt alle relevanten Details an. Stellen Sie sicher, dass Sie die Empfängeradresse doppelt überprüfen. Jeder kann die Einforderungsfunktion aufrufen, aber jeder Zahlungsvertrag hat einen designierten Empfänger, an den RPL verteilt wird.
Sie können Ihre Zahlungen jederzeit einfordern, Sie erhalten einfach die gesamten nicht eingeforderten RPL bis zur letzten Periode. Alternativ können Sie warten, bis alle Perioden vergangen sind, um alles auf einmal einzusammeln und Gas zu sparen.
Drücken Sie einfach die große orangefarbene Claim-Schaltfläche, wenn Sie bereit sind, und überprüfen Sie die Transaktion in Metamask (oder Ihrem bevorzugten Wallet). Sobald das erledigt ist, sind Sie fertig!