Cardanoのガバナンス-CIP1694(2023/4/27時点)再整理🎉

【実装内容】

:ballot_box_with_check:概要:governance action / votesの2つがトランザクションに含められるようになり、ガバナンスアクション成功のためには、憲法委員会、DRep、SPOの3つの機関のうち、2つの投票による承認が必要。

:ballot_box_with_check:CIP1694の範囲:次の議論はCIP1694の対象外です:憲法の内容、憲法委員会のメンバー内容、法的問題、ガバナンスアクションのオフチェーン基準、ADAの委任方法。

:ballot_box_with_check:憲法委員会

定義:ガバナンスアクションが「憲法上問題ないか?」だけを審議する組織。不信任状態になったらすぐに権力を失い、他の同時に提出されているガバナンスアクションに対しての投票も失効する。

詳細:憲法委員会の交代は、不信任状態の時はSPOとDRepの双方の同時承認が必要。憲法委員会の規模も変更可能で、コミュニティが委員会の廃止を望めば0にすることもでき、その場合、不信任状態ではなく、常に憲法委員会がガバナンスアクションを受け入れた判定になる。(dRepやSPOが承認すればすぐガバナンスアクションが通る)

任期があるため、定期的に「交代」ガバナンスアクションをして再選される必要がある。

憲法委員会の不信任動議と、不信任状態時の憲法委員会の変更以外のガバナンスアクションは全て憲法委員会の承認が必要。

憲法:最初の実装では、オフチェーンの文書でスマートコントラクトによる強制力はなく、そのハッシュがチェーンに乗るだけ。

:ballot_box_with_check:DRep:

定義:ADAホルダーが自身のADAと同数保有する投票する権利を、委任できる人々。誰もがなることができ、Cardanoブロックチェーンの政治家のような役割。投票権を委任されればされるほど強い投票権を持つ。

・棄権DRep:委任した場合、自動的に全ての投票を棄権とする。(報酬を引き出すためだけ)

・不信任DRep:委任した場合、不信任動議以外全てのガバナンスアクションを反対票とする。

・登録DRep:SPOの仕組みを模倣した委任の仕組み。定期的に投票してないと非アクティブな投票ステークと見なされる。

・いつでもADAホルダーはdRep登録して自分へ委任して投票でき、SPOのステーク情報とは違い、常に最新の状況を反映する。(SPOの場合はプールのステークが有効化されるまでにタイムラグがある)

・棄権DRep・不信任DRep・登録DRepのいずれかに委任しないと、ステーキング報酬が(失われないし発生し続けるが)単純に引き出せない。委任するとすぐ引き出せる。

・報酬:報酬はあるが、モデルは研究中のため、暫定的に、一定のADA額を報酬用に財務金庫から引き出しておく。またはDRep自身がガバナンスアクションを提案しても良い。

・権限:すべてのガバナンスアクションは、dRepの承認が必要。投票力はADA量に応じる。

:ballot_box_with_check:SPO

不信任動議,ハードフォークの開始と不信任状態の憲法委員会の変更の時のみ、投票権を持つ。投票力はADAの量に応じる。

:ballot_box_with_check:ガバナンスアクション

定義:誰もが提出できる、ガバナンスの提案内容のことで、下部に記載される1-7に分類される。

提出:誰もが提出できるが、ガバナンスアクション提出時にはいくつかのADAをデポジットする。「ratified」されるまで何度も投票は提出でき、古い投票を上書きできる。

結果:ガバナンスアクションは最終的に次のいずれかになります。

・「enacted」(ネットワークでアクティブ化された状態):「ratified」(賛成票が十分に集まった状態)され、その後、不信任動議などなければ「enacted」となる。

・「dropped」(不信任動議などで無効化された状態):「ratified」されたが不信任動議等で無効化されたもの。

・「expired」(期限切れ):期間内に十分な賛成票が集まらず「ratified」されなかったもの。

enactedの優先順位:現在のエポックで「ratified」されたガバナンスアクションは次の順で「enacted」されていく。不信任動議が「enacted」となると、「enacted」されていないガバナンスアクションは全て無効になる。同じ項目のガバナンスアクションはチェーンの受け入れ順に実行される。

1.憲法委員会の不信任動議

2.憲法委員会の変更

3.憲法の更新

4.ハードフォークの開始:「enacted」は次のエポック境界

5.パラメータの変更(ネットワーク、経済、技術、ガバナンスの4つのグループに分かれます):「enacted」は次のエポック境界

6.国庫引出

7.情報用

承認のための賛成率の測定方法:

賛成投票されたステーク登録数合計/棄権投票されていないステーク登録数合計

で計測する。つまり次のような関係になる。

・ステーク登録し賛成票提出:有効投票数に含まれる

・ステーク登録し反対票提出:有効投票数に含まれる

・ステーク登録し棄権票提出:有効投票数に含まない

・ステーク登録し投票提出していない:有効投票数に含まれる(反対票扱い)

・ステーク登録してない:有効投票数に含まない

【実装根拠】

:ballot_box_with_check:憲法委員会

DRepが十分な数や委任量とならなないケースもあり得るのでブーストラップフェースにおいて重要。

:ballot_box_with_check:KYC

DIDなど提供するDRepをコミュニティが検討することは良いことだがKYCの強制は検閲に繋がり、間違った方向へ進む

:ballot_box_with_check:大量のADAを持つエンティティ対策

オンチェーンKYCシステムがないと難しいが現在ない

:ballot_box_with_check:d Repの投票権を測定する方法はSPOの手法を模倣します。

:ballot_box_with_check:ハードフォークとパラメータ変更を意図的に別に扱っています。前者が非常に重大であるためです。

:ballot_box_with_check:DRepの意味:SPOがガバナンスのプロである必要はなく、ガバナンスの主体がブロック生成に責任を必ずしも追う必要がないので分けている。しかしDRepがSPOを兼ねることに問題なない。

:ballot_box_with_check:「7.情報」の意味:CIP批准・新しいアップグレード時の新Genesisファイルの承認・将来のガバナンスアクションへのフィードバック測定

:ballot_box_with_check:不要なガバナンスアクションで溢れるリスク:デポジットを大きくすると提出の障害になる。しかし、例えばスクリプトでクラウドソーシングのようなことができる。憲法委員会は一定の DRepの票をある程度獲得したら検討するなどする。

【実装への道筋】

:ballot_box_with_check:検討中だが、SPO投票、Catalystを通じた投票、ワークショップでのフィードバック収集、十分な公開テストネットを経て最終的にCIP1694が批准されます。

:ballot_box_with_check:ブーストラップフェーズ:憲法委員会とSPOの投票でブーストラップフェーズが開始されます。ガバナンスアクションは提出できません。十分なステークがDRepへ委任または数ヶ月ほどエポック経過したらブーストラップフェーズが終了し、CIP1694が適用されます。

:ballot_box_with_check:一時保護フェーズ:ブーストラップフェーズ終了後も、DRepの上位X名とまたはY以上のステークを持つDRepのみがインセンティブの対象となり、1年ほどかけてこの制限を解除していきます。Xはおそらく5,000〜10,000で、YはADA総数をXで割ったものです。

【未解決の問題やアイデア】

:ballot_box_with_check:SPO投票は、誓約額の重み付けで加重される可能性があります。

:ballot_box_with_check:DRepの自動再委任機能:さらに別のDRepへ委任できます。

:ballot_box_with_check:DRep登録・解除を廃止してしまいながらDRepを機能させることも考えられます。:流動性が高まるがメタデータに色々埋め込む必要がある。

:ballot_box_with_check:憲法委員会のメンバーの1人によって承認されたガバナンスアクションのデポジットは低減できる、というもの:憲法委員会n権力が強まるが提出しやすくなる。

:ballot_box_with_check:新しいGenesis構成についてはオンチェーンでの対象となっていないが、将来的には考慮される可能性がある

:ballot_box_with_check:「アクティブな投票数」として一定の値を求めることは良いことだが、DRepへの委任が一定に達することがブーストラップ終了の条件であることにより、緩和できる。

:ballot_box_with_check:CatalystのDRepは名称変更されます。

:ballot_box_with_check:国庫からの引出については、さらなる上限などの制限をかけるべきではないか?とも考えられる。