온체인 pDAO 제안 참여하기
투표권이 0이 아닌 모든 노드는 언제든지 pDAO 제안을 제기하거나 참여할 수 있습니다. 제안은 다음 유형 중 하나일 수 있습니다:
- pDAO 설정 변경
- 일회성 재무 지출
- 반복 재무 지출(관리 위원회)
- 보안 위원회 멤버십
자세한 내용과 근거는 제안 유형을 참조하세요. pDAO 제안은 프로토콜 수준에서 변경 사항을 실행하기 위해 존재하는 온체인 엔터티라는 점을 이해하는 것이 중요합니다.
거버넌스 프로세스
제안은 온체인에 등록되기 전에 거버넌스 프로세스를 통해 예고되어야 합니다.
Rocket Pool 프로토콜에 대한 변경 사항은 엄격하면서도 투명한 거버넌스 프로세스를 사용하여 제안, 투표 및 실행됩니다. 이 프로세스는 Discord 커뮤니티 내에서 아이디어에 대한 비공식 논의로 시작됩니다. 그런 다음 이 아이디어는 Discord의 #governance 채널과 DAO 포럼에서 공식 논의로 진행되며, Rocket Pool 개선 제안(RPIP)을 준비하기 위해 철저한 연구, 모델링 및 검토를 거칩니다. 이후 RPIP 초안이 준비되고 지정된 RPIP 검토자가 DAO에 제출할 준비가 되었는지 품질을 확인합니다. 그런 다음 초안 제안은 추가 검토, 피드백 및 필요한 변경 사항을 반영하기 위해 포럼에서 DAO에 제출됩니다. 커뮤니티 의견을 바탕으로 제안이 개선되면, RPIP 텍스트를 최종 확정할 준비가 되었는지 확인하기 위해 DAO 포럼에서 투표가 진행됩니다. 투표가 통과되어 커뮤니티의 승인을 나타내면, RPIP가 최종으로 표시되고 Snapshot을 통해 수행되는 Protocol DAO 투표를 위해 준비됩니다.
여기서 Oracle DAO가 온체인 제안을 제기합니다. Protocol DAO, Oracle DAO 및 커뮤니티가 제안을 검토할 수 있는 기간이 있습니다. 합의에 도달하면 제안이 실행되고 프로토콜에 변경 사항이 적용됩니다.
이 프로세스에 대한 편리한 시각적 표현은 Rocket Pool 웹사이트에서 찾을 수 있습니다.
전제 조건
계속하기 전에 제안의 생애주기를 읽어주세요. 모든 투표 기간과 각 기간 동안 수행할 수 있는 작업의 차이점을 설명합니다.
이 페이지의 나머지 부분에서는 온체인 pDAO 제안에 참여하는 데 필요한 단계를 안내합니다.
투표 초기화
Houston 업그레이드 이전에 등록한 노드 운영자인 경우, 투표권을 잠금 해제하려면 투표를 초기화해야 합니다. 투표권을 갖기 위해서는 최소한 하나의 미니풀이 있어야 한다는 점을 명심하세요.
이 명령은 아래 프롬프트를 표시합니다. 주의 깊게 읽어주세요:
direct로 응답하면, 투표권이 귀하의 노드로 초기화되고 Protocol DAO 제안에 직접 투표할 수 있습니다.delegate로 응답하면, 동일한 트랜잭션 내에서 투표를 초기화하고 위임자를 설정하여 가스를 절약할 수 있습니다.
이 작업은 한 번만 수행하면 됩니다. 노드의 초기 스냅샷 정보를 구성합니다. 투표를 초기화한 후 수행하는 모든 작업은 노드의 스냅샷 정보를 업데이트합니다. 투표권이 초기화되면 다음 스마트노드 명령을 사용하여 보유량을 확인할 수 있습니다:
새 제안이 생성될 때마다 네트워크의 투표권과 위임자 정보의 스냅샷을 나타내는 투표 트리가 새 제안과 함께 생성됩니다. 즉, 투표를 초기화하기 전에 제안이 제기된 경우 노드의 투표권이 해당 제안에 포함되지 않습니다. rocketpool pdao status는 최신 블록에서 노드의 투표권을 표시하며, 이는 특정 제안에 대한 투표권을 대표할 수도 있고 그렇지 않을 수도 있습니다.
자동 투표권 초기화
스마트노드 버전 1.13.8은 아직 투표권을 초기화하지 않은 노드에서 투표권을 자동으로 초기화하도록 설계된 새로운 기능 자동 투표권 초기화를 도입합니다. 자동으로 초기화된 투표권은 자체 위임됩니다. 이 기능은 rocketpool service config를 실행하고 Smartnode and TX Fees 섹션으로 이동하여 스마트노드 설정에서 구성할 수 있습니다.
Auto-Init Vote Power Gas Threshold는 이 자동 트랜잭션에 대한 제한(gwei 단위)입니다. 임계값을 0으로 설정하여 이 작업을 비활성화할 수 있습니다. Houston 업그레이드 이후에 노드가 등록되었거나 투표권이 이미 활성화된 경우 비활성화해도 됩니다.
Snapshot 신호 주소 설정
Snapshot 신호 주소를 설정하면 노드 키를 핫 월렛에 노출하지 않고도 브라우저나 모바일 장치에서 Snapshot 투표에 참여할 수 있습니다.
준비해야 할 몇 가지 사항:
- 노드 주소
- Snapshot 투표에 사용할 주소(신호 주소)
노드 주소가 새 주소에 위임할 수 있다는 메시지에 서명하게 됩니다. 이 메시지는 월렛 주소를 Snapshot 신호 주소로 사용하려는 의도를 나타냅니다.
아래 탭 중 하나에서 사용 중인 네트워크를 선택하세요.
노드의 개인 키를 핫 월렛에 로드하지 마세요. 신호 주소로 사용할 다른 계정을 선택하세요. 신호 주소를 설정한 후 노드의 투표권으로 Snapshot에서 투표할 수 있습니다.
MetaMask, WalletConnect 또는 웹사이트가 지원하는 다른 방법을 사용하여 신호 주소로 사용할 주소를 웹사이트에 연결하는 것으로 시작합니다. 그러면 노드 주소를 조회하는 대화상자가 표시됩니다.
다음으로 노드 주소를 입력한 후 주황색 "Find" 버튼을 클릭합니다. 주소가 등록된 노드인지 확인한 후 다음 단계로 이동합니다.
진행하기 전에 올바른 노드 주소가 있는지 확인하세요! 노드 주소를 확인해야 하는 경우 rocketpool node status 명령을 사용하여 CLI를 통해 빠르게 검색할 수 있습니다.
로그인하고 노드 주소를 확인하면 Snapshot 신호 주소가 표시됩니다. 사이트에 로그인한 계정과 동일해야 합니다. 계속하기 전에 이것이 올바른지 다시 확인하세요. 원하는 계정에 로그인했다고 확신하면 주황색 "Sign Message" 버튼을 클릭하세요. 월렛 확장 앱에서 다음 메시지에 서명하라는 프롬프트가 표시됩니다:
서명에는 가스 비용이 들지 않지만 설정에는 비용이 듭니다. 서명한 후 프론트엔드는 스마트노드에 붙여넣을 명령을 제공합니다. 스마트노드의 CLI에 붙여넣고 안내 단계를 따르세요. 명령은 다음과 같습니다:
CLI에서 이 메시지가 표시되면 모두 설정된 것입니다!
실수로 사이트를 닫거나 명령을 잃어버려도 걱정하지 마세요. 단순히 단계를 반복하고 동일한 노드 주소와 신호 주소를 사용하여 다시 서명하면 됩니다. 프론트엔드는 ethers 라이브러리의 signer.Signmessage()를 사용하므로, 동일한 입력이 주어지면 서명이 결정론적입니다.
자세한 내용은 여기를 클릭하세요.
신호 주소를 지우는 것은 매우 쉽습니다. CLI에서 다음 명령을 사용하면 됩니다:
RPL 잠금 허용
제안에 투표하는 데만 관심이 있다면 이 단계를 무시해도 됩니다. RPL 잠금 허용은 제안을 제안하거나 이의를 제기하려는 사람들에게만 필요합니다.
제안 및 이의 제기에는 RPL 잠금이 필요합니다. 기본적으로 어떤 목적으로든 RPL을 잠그는 것은 비활성화됩니다. 노드 운영자는 노드 또는 기본 출금 주소에서 RPL 잠금을 활성화하여 거버넌스 활동 수행에 참여할 수 있습니다. 스마트노드에서 다음 명령을 사용하여 수행할 수 있습니다:
이렇게 하면 거버넌스 제안을 생성하거나 이의를 제기할 때 RPL 잠금을 허용하라는 메시지가 표시됩니다. 반대로 다음 명령을 사용하여 RPL 잠금을 비활성화할 수 있습니다:
잠긴 RPL은 보상, 투표 및 담보 요구 사항 측면에서 일반 스테이킹된 RPL과 동일하게 작동합니다. 잠긴 RPL은 RPL 출금 임계값에 포함되지 않습니다.
투표권 위임
노드 운영자는 투표권을 다른 노드 운영자에게 위임할 수 있습니다. 유일한 요구 사항은 위임자가 등록된 노드여야 한다는 것입니다.
다른 노드에 온체인 투표권을 위임하려면 다음 명령을 사용하세요:
투표권을 다른 노드 운영자에게 위임한 경우, 위임자 주소를 자신의 노드 주소로 설정하여 재설정할 수 있습니다.
- 제안의 1단계 동안: 투표자 및 위임자가 제안에 투표할 수 있습니다.
- 제안의 2단계 동안: 투표를 위임한 노드 운영자는 위임자의 투표에 동의하지 않는 경우 이를 뒤집을 수 있습니다.
위임된 투표권을 가진 노드 운영자인 경우, 위임된 투표권이 제안에 반영되려면 투표 1단계에서 투표해야 합니다. 1단계에서의 투표는 로컬 투표권 + 위임된 투표권의 가치가 있습니다. 2단계에서의 투표는 로컬 투표권만의 가치가 있습니다.
제안 생성
제안할 자격을 얻으려면 노드가 몇 가지 요구 사항을 충족해야 합니다:
- 스냅샷에 포함됨(투표 초기화 또는 Houston 이후 등록을 통해)
- 최소한 하나의 미니풀이 있어야 함
- 0이 아닌 투표권을 가지고 있어야 함
- RPL 잠금을 허용해야 함
- 제안 보증금보다 큰 RPL 스테이크(이미 잠긴 RPL 제외)를 가지고 있어야 함
제안은 프로토콜 수준에서 매개변수를 변경하고 코드를 실행하기 위해 존재합니다! 제안이 온체인에 생성되기 전에 거버넌스 프로세스를 통해 논의와 합의가 있어야 합니다.
옵션 메뉴를 표시하려면 rocketpool pdao propose 명령을 사용하세요
이러한 각 명령은 원하는 제안을 생성하기 위한 입력 목록을 프롬프트합니다. 이 가이드에서는 예제로 사용하기 위해 보안 위원회에 노드를 초대합니다. 보안 위원회에 노드를 초대하는 제안을 제기하려면 다음 명령을 사용합니다:
이 단계는 제안 유형에 따라 약간의 차이가 있다는 점을 명심하세요. 이 특정 명령 rocketpool pdao propose security-council invite는 ID와 회원 주소를 입력하라는 메시지를 표시합니다.
블록에 포함된 후 pDAO 제안이 생성됩니다! 제안은 생성 시 투표 지연 기간에 진입합니다.
제안 상태 보기
모든 제안에는 proposalID가 할당됩니다. 이 경우 보안 위원회에 0xBdbc...를 초대하는 우리의 제안은 ID 71로 표시됩니다. 제안의 상태를 보는 몇 가지 방법이 있습니다. 한 가지 방법은 모든 pdao 제안의 목록과 상태(보류 중, 성공, 실행됨 등)를 표시합니다. 두 번째 방법은 특정 제안에 대한 심층 세부 정보를 표시합니다.
제안에 투표
투표 기간 동안 노드 운영자 및 위임자는 네 가지 옵션 중 하나로 투표할 수 있습니다:
투표권은 선택한 옵션에 적용됩니다. 투표권은 "효과적인 RPL 스테이크"의 함수입니다. 더 자세한 내용은 rocketpool-research 저장소에서 찾을 수 있습니다.
위임된 투표권을 가진 노드 운영자인 경우, 위임된 투표권이 제안에 반영되려면 투표 1단계에서 투표해야 합니다. 1단계에서의 투표는 로컬 투표권 + 위임된 투표권의 가치가 있습니다. 2단계에서의 투표는 로컬 투표권만의 가치가 있습니다. 노드는 제안에 한 번만 투표할 수 있으므로 신중하게 선택하세요.
투표하려면 다음 명령을 사용하세요:
활성 투표 단계에 있는 제안이 하나 이상 있는 경우 투표할 제안을 선택하라는 메시지가 표시됩니다. 메뉴는 노드가 투표할 수 있는 모든 제안을 표시해야 합니다:
옵션을 선택한 후 어떻게 투표하고 싶은지 묻는 메시지가 표시됩니다.
옵션을 선택하면 투표권이 표시되고 트랜잭션을 보내라는 메시지가 표시됩니다:
트랜잭션이 블록에 포함되면 제안에 대한 투표가 성공적으로 완료됩니다! 이 시점에서 rocketpool pdao proposal details <proposal-id>를 사용하여 제안의 상태를 볼 수 있습니다. 제안이 성공하려면 proposal.quorum 필요한 투표권에 도달하고 과반수 찬성 투표권이 필요합니다.
위의 예제가 통과하려면 투표권이 140970562215 투표권의 정족수를 초과해야 합니다. 197980809837 투표권이 찬성하고 반대 또는 기권 투표가 없습니다. 제안은 성공 준비가 되었으며 proposal.vote.phase2.time 종료까지 실행될 준비가 되었습니다.
성공한 제안 실행
축하합니다! 제안이 통과되었습니다! 이제 남은 것은 제안을 실행하는 것뿐입니다. 누구든지 제안의 실행자가 될 수 있다는 점을 명심하세요. 성공한 제안을 실행하려면 다음 명령을 입력하세요:
옵션을 선택하면 트랜잭션을 보내라는 메시지가 표시됩니다. 이 트랜잭션이 블록에 포함되면 변경 사항이 Rocket Pool 프로토콜에 적용됩니다!
보증금 및 보상 청구
제안자 또는 이의 제기자는 제안이 종료되면 보증금을 청구할 수 있습니다. 제안의 결과에 따라 제안자 또는 이의 제기자는 proposal.bond 및 proposal.challenge.bond를 청구할 수 있거나 없을 수 있습니다.
보증금을 청구할 수 있는 조건을 규정하는 몇 가지 규칙이 있습니다:
- 제안이 패배한 경우, 제안자는 보증금을 몰수하며 이는 제안의 패배에 기여한 이의 제기자들 사이에 비례적으로 분배됩니다. 다른 모든 이의 제기자는 보증금만 받습니다.
- 제안의 패배에 기여한다는 것은 이의 제기자가 나중에 제안자가 이의 제기에 응답하지 못함으로써 잘못된 것으로 입증된 인덱스를 제출했다는 것을 의미합니다. 여러 개의 잘못된 인덱스가 있을 수 있지만 제안의 패배로 이어진 것들만 보상을 공유합니다. 다른 모든 이의 제기자는 보증금만 받습니다.
- 이의 제기자가 노드에 이의를 제기하고 제안자가 응답하며 제안이 패배하지 않은 경우, 제안자는 무효한 이의 제기로부터 이의 제기 보증금을 청구할 수 있습니다.
- 제안이 패배한 경우, 제안자는 보증금을 몰수하며 이는 제안의 패배에 기여한 이의 제기자들 사이에 비례적으로 분배됩니다.
보증금을 청구하려면 다음 명령을 사용하세요:
보증금을 청구할 수 있는 모든 제안이 표시됩니다. 지정된 제안에서 보증금을 청구하거나 모든 적격 제안에서 보증금과 보상을 청구할 수 있습니다.
옵션을 선택하면 네트워크의 현재 가스 비용 권장 사항이 표시됩니다. 가스 가격 선택을 확인하고 나머지 프롬프트를 따르세요.
첫 번째 옵션을 선택하여 사용 가능한 모든 제안을 청구하는 경우, 각각 개별적으로 실행되며 하나의 트랜잭션으로 실행되지 않습니다.
반복 재무 지출 생성
반복 재무 지출을 생성하려면 몇 가지 입력을 준비해야 합니다:
- 컨트랙트 이름
- 수신자 주소
- 기간당 보낼 RPL 금액
- 반복 결제 시작 시간(UNIX 타임스탬프)
- 각 결제 기간의 길이(시간/분/초, 예: 168h0m0s)
- 결제 기간 수
수신자는 결제를 청구하기 위해 컨트랙트 이름을 기록해야 합니다. 걱정하지 마세요. 이 정보는 저장되어 있으며 rocketpool pdao proposals details <proposal-id> 명령을 사용하여 검색할 수 있습니다
반복 재무 지출을 설정하는 제안을 제기하려면 다음 스마트노드 명령을 사용하고 프롬프트를 따르세요:
다음은 모두 함께 보이는 모습입니다:
필요한 모든 입력을 입력하면 반복 결제를 생성하는 제안이 제기됩니다. pDAO가 이 제안을 통과시키고 실행하면, 수신자는 2024-06-09 12:13:53 +0000 UTC부터 시작하여 720시간마다 총 24번의 결제에 대해 1 RPL이 할당됩니다.
반복 재무 지출 청구
반복 결제 청구는 매우 간단합니다! 여기의 프론트엔드 도구로 이동하세요. Hoodi 테스트넷에서 시도하는 경우 이 링크를 대신 사용하세요.
사이트에 접속하면 connect wallet 버튼을 클릭하세요. 서비스 약관 및 개인 정보 보호 정책을 읽고 동의하면 다양한 연결 방법이 활성화되며 metamask 연결을 클릭하세요.
MetaMask에서 웹사이트에 연결할 계정을 선택하라는 메시지가 표시됩니다. 로그인한 후 컨트랙트 이름을 입력해야 합니다. 그러면 관련된 모든 세부 정보가 표시됩니다. 수신자 주소를 다시 확인하세요. 누구든지 청구 함수를 호출할 수 있지만 각 결제 컨트랙트에는 RPL을 분배할 지정된 수신자가 있습니다.
언제든지 결제를 청구할 수 있으며, 가장 최근 기간까지의 총 미청구 RPL만 받게 됩니다. 또는 모든 기간이 지나갈 때까지 기다려 한 번에 모두 수집하고 가스를 절약할 수도 있습니다.
준비가 되면 큰 주황색 청구 버튼을 누르고 메타마스크(또는 선호하는 지갑)에서 트랜잭션을 검토하세요. 완료되면 모두 설정됩니다!