ガバナンスプロセスは価値を抽出できるGEV危害プロトコルの安全性をどのように防ぐべきか?
この記事はEthereum愛好者に掲載され、著者:Leland Lee & Ariah Klages-Mundt、翻訳:阿剣。
ガバナンスプロセス(Governance)はプロトコルの最終的な所有者です。独裁であれ富豪支配(plutocracy)であれ、ガバナンスプロセスは関連するプロトコルのすべての可変的な側面とそれらがどのように変化するかを制御しています。従来の企業とは異なり、ブロックチェーンアプリケーションのガバナンスプロセスは透明で、特定のスマートコントラクトによって定義され(したがって決定論的で)、何が変更されたかはすべての人に見えるようになっています。しかし、光のあるところには影もあります。ガバナンスプロセスは全体のシステムを犠牲にして利益を得ることもでき、これを「ガバナンスプロセスによる価値の抽出(GEV)」と呼びます。従来の企業とは異なり、悪化したガバナンスを制約する司法の枠組みは存在しません。
ガバナンスプロセスとは?
プロトコルのガバナンスは、どのようなものがガバナンスプロセスによって制御され、どれだけの人がガバナンスに参加するかの2つの軸で表現できます。各プロトコルには独自の目標があるため、設計空間も多様です。一部のプロトコルは変更不可能であり、他のプロトコルは非常に少ないパラメータ(例えば、料金の切り替えや一時停止機能)を持ち、さらにはビジネス契約の機能を完全に置き換えることができるもの(いわゆる「アップグレード可能」)もあります。最終的に、権限は誰も持たないか、一人の手に落ちるか、少数の人(マルチシグ契約に対応する実体)または多数の人(ガバナンストークンの投票)の手に渡る可能性があります。権力を制衡するメカニズムがなければ、契約の複雑さと柔軟性は機会主義の温床となります。
GEVの破壊
ガバナンスプロセスはユーザーの究極の利益を心に留めているのでしょうか?あまりにも満たされていると、逆におかしいようです : )GEVの破壊は大きく分けて2つのカテゴリーに分類できます:資本構造の破壊と短期主義です。
資本構造の破壊
資本構造の破壊は一般に「ランプール(rug pull)」と呼ばれ、ガバナンスプロセスがシステムから担保を盗むか、直接担保を自分のものにすることを含みます。ランプールは、銀行が預金者のお金を持って逃げるのに似ていますが、資本構造の破壊はより秘密裏で間接的に行われることがあります。ほとんどのユーザーは、明らかに呼び出し可能なランプール関数を持つ契約にお金を預けることはありません。しかし、開発者は後からランプール関数を追加したり、システムの構造を利用して間接的(かつ目を眩ませる)にランプールを行うことができます。以下はいくつかの例です:
悪意のあるアップグレードによるランプール。通常、銀行ではユーザーは自分のお金を預けたり引き出したりすることしかできず、他人のお金を引き出すことはできません。Compounderの初期設計にはバックドアはありませんでした。しかし、開発者が契約をアップグレードする際にランプール関数を追加し、合計1080万ドルの担保資産を盗むことができました。アップグレードが有効になる前に24時間のタイムロックがあり、その間にユーザーは自分の資産を引き出すことができましたが、実際に契約の状況を密接に監視するユーザーはほとんどいませんでした。
無限のコイン発行による破壊。PAIDネットワークのerc20トークン契約の所有者アカウントは1つだけで、そのアカウントは新しいコインを発行できます。攻撃の際、開発者は数百万のコインを発行し、Uniswap取引所のPAID-ETH資金プールを枯渇させ、その後ETHを持って逃げ、超インフレのために価値がゼロになったPAIDを残しました。
少数株主の売却。DigixDAOは、ICOで集めた資金をトークン保有者に返還する決定を投票で通過させましたが、当時集めた資本はガバナンストークンよりも価値がありました。裏では、ほとんどの株式を支配する連合が存在し、誰がそのメンバーであるかは不明で、彼らがどのように投票するか(Digixチームは常に解散に反対していました)も分かりませんでした。投票が開始される前に、各方面は少数株主からDigixDAOトークンを購入でき、その市場価格は対応するETH準備の差額が最大48%に達しました。今でも、これらの購入者が連合のメンバーで少数株主を売却して利益を得ようとしているのか、無関係な人々で単に投票結果を賭けているのかは分かりません。
投票によるランプール。MakerDAOには理論上攻撃インターフェースがあります:ガバナンスプロセスはシステム内のすべての担保を自分たちに投票で渡すことができ、エンドユーザーに通知する必要はありません。しかし、リスクはタイムロックによって軽減されています。
短期主義
ガバナンス者とユーザーはプロトコルの成長を望んでいますが、具体的な方法やステップについては意見が異なる場合があります。ユーザーの目標は持続可能な成長です。それに対して、ガバナンストークンの保有者はあらゆる手段を使って成長を追求するかもしれません。したがって、高リスクの重い賭けをして目の前の利益(手数料 / ガバナンストークンの価値上昇)を得ることも可能ですが、これは全体のシステムを損なうことになり、脆弱にします。短期主義は多くの事柄で現れる可能性があります。例えば、システムを運営するためにリスクの高い資産を使用し、全体のシステムの債務上限を引き上げることです。
- Cream FinanceはCompoundのコピーであり、多くの低成長のDeFiトークンを追加し、債務上限を設けずにユーザーと規模を引き付けました。しかし、FTTトークンの預金は最終的にCreamの預金の40%を占め、このプロトコルのリスクを大幅に引き上げました。FTTの価格が暴落すれば、Creamでの貸し手は資産を失う可能性があります。
GEVの解決
従来の企業では、GEVの予防メカニズムには保守派の勢力、規制者、集団訴訟があり、破壊行為を抑止するための大きな力となります。しかし、これらはスマートコントラクトに翻訳することはできません(その論理は事前にプログラムされています)。オンチェーンの世界では、ガバナンスプロセスは事前にプログラムされ、悪行を抑制するインセンティブメカニズムが必要です。なぜなら、私たちは皆、中央集権的な機関が破壊後に私たちの正義を守ることができないことを知っているからです。
権力の分散 ------ マルチシグとトークン投票
プロトコルを誰がガバナンスするかを決定する際には、多くの考慮事項があります。単一の所有権アカウントを設定することは、開発者にとって最も便利であり、このプロトコルをアップグレードするには1つのキーだけで済み、他のタイムゾーンの秘密鍵保有者や無関心なトークン保有者と調整する必要はありません。開発プロセスは一方的に投入でき、迅速に行えますが、ユーザーはこの秘密鍵の保有者を信頼しなければなりません。
マルチシグ制御とトークン投票制は、より成熟したプロトコルにとってはより良い選択であり、より広範な合意を得ることができます。しかし、現実には、開発チームが大部分の投票トークンを制御している場合、システムは再び独裁モードまたは連合モードに戻ることになります。
アップグレード可能性の不設定または制限
初期のスマートコントラクトは、文字通りの「不変性」を取得しようとしました。契約の変更やアップグレードは不可能です。契約にバグが発生した場合や、スマートコントラクトの開発が改良不可能なハードウェアの設計のようになることは非常に恐ろしいことであり、修正不可能な火星探査機のようです。アップグレード不可能な契約に新機能を追加するには、ユーザー自身が資金を移動する必要があります。ある意味では、これは特性(コードが変わらないことを想像できます)があると言えますが、同時に恐ろしいユーザー体験のブラックホール(YAMのユーザーはトークンを2回移動しなければなりませんでした)とも見なされます。
最も直接的な改善方法は、バグが発見されたときに非常に実用的な一時停止機能など、最小限のアップグレード空間を設計することです。また、非常に限られたパラメータも考慮されます。
最も柔軟な設計は、アップグレード可能な契約(コンポジット)を使用することです。1つのコア(プロキシ)契約がすべてのデータを保存し、すべてのビジネスロジックをロードするために置き換え可能な契約を参照します。ユーザーは、基盤となる契約がアップグレードされたことを知らず、したがってユーザー体験は非常にスムーズです(もちろん、ランプールも非常にスムーズです)。
タイムロック
ガバナンスプロセスのタイムロック設計は、ユーザーにアップグレードに適応するための調整時間を提供するためのものです。流動性が十分であると仮定すると、タイムロックはユーザーがプロトコルから離れることを可能にします(彼らが今後の変更を好まない場合)。この利用のために、ユーザーはより長いタイムロックを設計したいと考えます。そうすれば、彼らは変更を理解する時間と反応する時間を持つことができますが、より長いタイムロックはプロトコルの柔軟性を低下させることにもなります。MakerDAOはこの理由から長い間タイムロックの追加を拒否していました。
しかし、タイムロックも万能ではありません:ユーザーは理論的にはそうできるだけで、市場にその流動性があるとは限りません。もしMakerのガバナンスプロセスがCDP内のすべての担保を剥奪しようとし、DAIの流動性が非常に低い場合 ------ そのCDPを閉じるためにDAIを取得したい人は自分の運を頼ることになります。また、これはすべてのユーザーが悪意のある行動を防ぐためにタイムロックを常に監視していると仮定しています(Compounderが言っていることです)。
オプティミスティック・ライセンス
タイムロックのアップグレード版として、オプティミスティック・ライセンスはプロトコルが提案を迅速に通過させることを可能にします。誰かが否決を提起しない限り、否決機能はプロトコルの個人投資家、つまりこのプロトコルを使用しているがガバナンスプロセスに参加できない人々(例えばDAIの保有者、CDPの保有者、Uniswapの流動性提供者)がガバナンスプロセスの提案を拒否できるようにします。十分な数のユーザーが否決を提起すれば、タイムロックは延長され、より多くのユーザーがこの否決を支持または拒否する時間を持つことができます。その結果、開発者は迅速に対応できる一方で、ユーザーも自分を守る手段を持つことができます。
支持の追求 ------ もしタイムロックだけであれば、悪意のあるアップグレードは皆をパニックに陥れます。今やユーザーはすぐに退出する必要がなくなりました。
セーフティバルブ ------ 悪意のある提案の文脈において、欠席しているユーザーは資金を失う心配をする必要がありません(監視塔のようなサービスは必要ありません)。少数のユーザーがタイムロックを監視するだけで、皆の安全が保証されます。
オプティミスティック・ライセンスの方法は本質的にガバナンスのインセンティブを変更するため、ランプールは利益が得られなくなります。ランプールを試みる際、注意深いユーザーは否決を提起し、自分自身と他のユーザーを保護します。ガバナンス者は鼻を打たれることになります。なぜなら、攻撃が成功しないからです。ユーザーもこのプロトコルに参加することをよりためらうようになります。【0】
オプティミスティック・ライセンスの重要な点は、どのチームが否決を提起する資格があるかを特定することです。MakerDAOのようなシステムでは、CDPの所有者とDAIの保有者は否決権を持つべきでしょうか?それとも特定のチームだけが持つべきでしょうか?【1】
長期的なガバナンス者
ガバナンスプロセスはプロトコルの長期的な成功の方向性と一致する必要があります。一般的に、これはトークン保有者が資本をロックするか、彼らが長期主義者であることを証明する必要があります。前者の形式には無期限のステーキングや期限付きのリリース(いわゆるCurveのようなもの)があります。後者の形式には生涯投票制度(トークンを長く保有しているユーザーの投票権が高くなる)があります。
一般的に、デリバティブ製品やスマートコントラクトを使用してトークンロックメカニズムを操作することができます【2】。また、生涯投票制度も長期的にトークンを保有している人が依然として長期主義者であり続けたいと思うことを保証するものではありません。もしかしたら、その長期保有者がより多くの権限を持つようになったとき、彼は考え方を変える方が利益があると感じるかもしれません。
代替手段として、ガバナンストークン保有者への資本リターン(配当 / 自社株買い-消却)を遅延させ、安定性 / KPI指標に条件を設定することが考えられます。この背後の理由は、ガバナンスプロセスは現在のプロトコルの成長からのリターンを得るべきではなく、未来の成長からのリターンを得るべきであるということです。これにより、彼らが常に良い仕事をすることが保証されます。本質的に、システムが信頼できなくなった場合、ガバナンスプロセスは責任を負うことになります(彼らはリターンを得られなくなります)。逆に、これらのボーナスはシステムが健康に成長し続けることを条件とすべきです。鮮明な対比として、銀行家と政治家の短期的なインセンティブメカニズムがあります。DeFiはユーザーにこの点をガバナンス構造で修正する機会を提供しました。
GEVを低下させることでプロトコルの信頼性が向上する
多くのエイプやデジェンがいるため、現在のところ高リスクのプロトコルでも資本やユーザーを獲得できるように見えますが、ほとんどのユーザーはリスクを嫌います。GEVもリスクの一つであり、直接的なランプールのリスクよりも一般的です。GEVを抑制するシステムを設計することは、dAppが普及し、分散型金融の初期のビジョンを実現するための鍵となります。ランプールのない世界を願っています。
脚注:
【0】Aaveのガバナンスプロセスには、悪意のある提案を否決できるマルチシグのバックドアガードがあります(これは主に開発者のために用意されており、ユーザーサービスのためではありません)。
【1】否決メカニズムの歪みは、悪意のある提案者に対して毒薬(すなわち没収)を作り出す可能性があります ------ ただし、これは悪用される可能性があり、追加の分析が必要です。没収機能を有効にすることは危険であり、その条件が証明可能である限りです。例えば、ある検証者が相互に競合する2つのブロックに署名したことを証明するのは簡単です(PoS);与えられた状態の前提の下で特定の取引が有効であることを証明するのも簡単です(ブロックの有効性を検証する)。しかし、これらの方法を用いて特定のガバナンス決定が悪意のあるものであることを証明するのは容易ではありません。最終的には、共通の代理人がそれが悪いかどうかを判断することになりますが、これはそれ自体が悪いかどうかとは関係ありません。これにより、一連の問題が生じます:少数株主を多数の暴政からどのように保護するか?
【2】スマートコントラクトは、ガバナンストークンをロックし、ロックされた資産を代表するデリバティブトークンを取引するように設計できます。ブラックリスト機能を使用して契約がガバナンスに参加することを禁止できますが、これによりマルチシグウォレットも無効になります(ただし、特定のバイトコードの使用を許可するホワイトリストを通じて許可することは可能です)。