a16z:DAOガバナンス攻撃を回避する3つの方法

a16z
2022-07-30 20:51:54
コレクション
この協定を利用する動機を減少させるために、この方程式は三つの明確な選択肢を意味します:攻撃の価値を下げること、投票権を得るコストを増加させること、そして攻撃を実行するコストを増加させることです。

原文来自 a16z

作者: Pranav Garimidi, Scott Duke Kominers 以及 Tim Roughgarden

编译:DeFi之道

多くの Web3 プロジェクトは、許可なしの投票を行うために、交換可能で取引可能なネイティブトークンを使用しています。許可なしの投票は、参入障壁の低下から競争の増加まで、多くの利点を提供します。トークン保有者は、自分のトークンを使用して、一連の問題に投票できます。これには、単純なパラメータ調整からガバナンスプロセス自体の徹底的な見直しまで含まれます。(DAO ガバナンスのレビューについては、「Lightspeed Democracy」という記事を参照してください。)しかし、許可なしの投票はガバナンス攻撃に対して脆弱であり、攻撃者が合法的な手段(例えば、公開市場でトークンを購入すること)を通じて投票権を獲得し、その投票権を使用して攻撃者自身の利益のためにプロトコルを操作することができます。これらの攻撃は純粋に「プロトコル内」の攻撃であり、暗号学的手段では解決できません。代わりに、それらを防ぐには、慎重に考えられたメカニズム設計が必要です。これを実現するために、私たちは DAO が脅威を評価し、潜在的な攻撃に対処するのを助けるフレームワークを開発しました。

現実に発生したガバナンス攻撃

ガバナンス攻撃の問題は理論的なものだけではなく、現実の世界でも何度も発生しており、今後も続くでしょう。

顕著な例として、Steemit という分散型ソーシャルネットワークを構築するスタートアップがあります。これは、20 人のバリデーター(witnesses)によって制御されるオンチェーンガバナンスシステムを持つ Steem ブロックチェーン上に構築されています。投票者は自分の STEEM トークンを使用してバリデーターを選出します。Steemit と Steem が発展する中、孫宇晨は Steem を Tron に統合する計画を立て、十分な投票権を得るために、Steem の創設者の一人に連絡し、総供給量の 30% に相当するトークンを購入しました。そして、Steem のバリデーターが孫の購入行為を発見した後、彼らは孫のトークンを凍結しました。その後、孫と Steem の間で公開の対立が展開され、孫の目的は新しいバリデーターリストを選出するために十分なトークンをコントロールすることでした。いくつかの取引所の助けを借りて、孫は最終的に勝利し、Steem ネットワークを効果的に制御しました。

別の例として、ステーブルコインプロトコル Beanstalk がフラッシュローンガバナンス攻撃に対して脆弱であることが発見されました。攻撃者は、十分な数の Beanstalk ガバナンストークンを取得するためにローンを受け取り、即座に悪意のある提案を通過させ、Beanstalk の 1.82 億ドルの準備金を制御しました。Steem のガバナンス攻撃とは異なり、Beanstalk の攻撃は 1 ブロックの時間範囲内で発生したため、誰かが反応する前に攻撃が終了しました。

これらの攻撃は公の場で発生しましたが、ガバナンス攻撃は長期間秘密裏に行われることもあります。攻撃者は多数の匿名アカウントを作成し、他の保有者のように振る舞いながら、徐々にガバナンストークンを蓄積することができます。実際、多くの DAO の投票者の参加率が低いことを考えると、これらのアカウントは長期間休眠状態にあり、疑いを引き起こさない可能性があります。DAO の観点から見ると、攻撃者の匿名アカウントは健全なレベルの分散型投票権を示すのに役立つかもしれません。しかし、最終的に攻撃者は、これらのウィッチウォレットが一方的にガバナンスを制御する権利を持つ閾値に達する可能性があり、コミュニティは反応できなくなります。同様に、悪意のある行為者は、投票率が十分に低いときにガバナンスを制御するための十分な投票権を獲得し、その後、多くの他の保有者が非アクティブな状況で悪意のある提案を通過させようとすることがあります。

私たちはすべてのガバナンス行動が市場の力の結果であると考えるかもしれませんが、実際には、インセンティブの失敗やプロトコル設計の他の欠陥により、ガバナンスは時には非効率的な結果を生むことがあります。政府の意思決定が利害関係者や単純な慣性によって捕らえられる可能性があるように、DAO ガバナンスも構造が不適切であれば、悪い結果をもたらす可能性があります。

では、私たちはどのようにメカニズム設計を通じてこのような攻撃に対処すればよいのでしょうか?

根本的な課題:不可分性

トークン配分の市場メカニズムは、プロジェクトに対して価値のある貢献をしたいユーザーと、プロジェクトを破壊したり他の方法で制御したりすることを重視する攻撃者を区別することができません。公共市場でトークンを売買できる世界では、市場の観点から見ると、これらの二つのグループは行動的に区別がなく、両者ともにますます高い価格で大量のトークンを購入する意欲があります。

この不可分性の問題は、分散型ガバナンスが無料ではないことを意味します。逆に、プロトコル設計者は、公開された分散型ガバナンスと、ガバナンスメカニズムを利用しようとする攻撃者からシステムを保護することの間で根本的なトレードオフに直面しています。コミュニティメンバーがガバナンス権力を獲得し、プロトコルに影響を与える自由が増すほど、攻撃者は同じメカニズムを使用して悪意のある変更を行うことが容易になります。

この不可分性の問題は、プルーフ・オブ・ステーク(PoS)ブロックチェーンネットワークの設計において一般的に見られます。さらに、トークンの高い流動性市場は、攻撃者がネットワークのセキュリティを破壊するために十分なステークを獲得することを容易にします。それにもかかわらず、トークンインセンティブと流動性設計の組み合わせにより、PoS ネットワークが可能になります。同様の戦略は、DAO プロトコルを保護するのに役立ちます。

脆弱性を評価し解決するフレームワーク

異なるプロジェクトが直面する脆弱性を分析するために、次の等式で表されるフレームワークを使用します:

image

プロトコルが安全であるためには(ガバナンス攻撃に耐えられるためには)、攻撃者の利益は負であるべきです。プロジェクトのガバナンスルールを設計する際、この等式は異なる設計選択の影響を評価するためのガイドとして使用できます。このプロトコルを利用する動機を減らすために、この等式は三つの明確な選択を意味します:攻撃の価値を下げ、投票権を得るコストを増やし、攻撃を実行するコストを増やす。

1、攻撃の価値を下げる

攻撃の価値を制限することは難しいかもしれません。なぜなら、プロジェクトが成功するほど、成功した攻撃の価値が高くなるからです。明らかに、プロジェクトは攻撃の価値を下げるためだけに自らの成功を故意に損なうべきではありません。

しかし、設計者はガバナンス機能の範囲を制限することで攻撃の価値を制限できます。ガバナンスがプロジェクト内の特定のパラメータ(例えば、貸付契約の金利)を変更する権限のみを含む場合、潜在的な攻撃の範囲は、ガバナンスがガバナンススマートコントラクトを全面的に制御することを許可する場合よりもはるかに狭くなります。

ガバナンスの範囲はプロジェクトの段階の関数である可能性があります。プロジェクトの初期段階では、プロジェクトが足場を見つけるとき、より広範なガバナンスがあるかもしれませんが、実際には、ガバナンスは創業チームとコミュニティによって厳しく制御される可能性があります。プロジェクトが成熟し、分散型制御が進むにつれて、ガバナンスに一定の摩擦を導入することは意味があるかもしれません。------少なくとも、最も重要な意思決定には多くのコミュニティメンバーの参加が必要です。

2、投票権を得るコストを増やす

プロジェクト側は、攻撃に必要な投票権を得ることをより困難にする措置を講じることもできます。トークンの流動性が高いほど、攻撃者は投票権を得ることが容易になります。これはほぼ自己矛盾的であり、プロジェクト側はガバナンスを保護するために流動性を減少させたいと考えるかもしれません。人々はトークンの短期的な取引可能性を直接低下させようとすることができますが、これは技術的に実行不可能な場合があります。

流動性を間接的に減少させるために、プロジェクト側は個々のトークン保有者が売却する意欲を低下させるインセンティブを提供できます。これは、ステーキングを奨励することで実現できるか、またはトークンに純粋なガバナンスを超えた独立した価値を付与することで実現できます。トークン保有者が得る価値が高いほど、彼らはプロジェクトの成功と一致することができます。

独立したトークンの利点には、実際の活動への参加や社交体験が含まれる可能性があります。重要なのは、これらの利点がプロジェクト側と協力する個人にとって非常に価値がある一方で、攻撃者にとっては無用であることです。これらの利点を提供することで、攻撃者がトークンを取得する際に直面する実質的な価格が上昇します:独立した利点のために、現在の保有者は売却する意欲が低くなり、市場価格が上昇します。しかし、攻撃者はより高いコストを支払わなければならない一方で、独立した機能の存在は攻撃者がトークンを取得する価値を高めることはありません。

3、攻撃を実行するコストを増やす

投票権のコストを上げるだけでなく、攻撃者がトークンを取得した後でも投票権を行使するのが難しくなるような摩擦を導入することもできます。例えば、設計者は投票に参加するために何らかのユーザー認証(例えば、KYC チェックや評判スコアの閾値)を必要とするかもしれません。人々は、認証されていない参加者が投票トークンを取得する能力を最初に制限し、新しい参加者の合法性を証明するために既存のバリデーターのいくつかを必要とするかもしれません。

ある意味で、これは多くのプロジェクトが初期トークンを配布する方法であり、信頼できる側が大部分の投票権を制御することを保証します。(多くのプルーフ・オブ・ステークソリューションは、初期のステークを得る権利を厳しく制御し、その後徐々に分散化するために類似の技術を使用しています。)

また、プロジェクト側は、攻撃者が大量の投票権を制御していても、悪意のある提案を通過させるのが難しいようにすることもできます。例えば、一部のプロジェクトにはタイムロックの設定があり、交換後の一定期間、トークンを使用して投票できません。したがって、大量のトークンを購入または借りようとする攻撃者は、実際に投票するために待つ必要があるため、追加のコストに直面します。また、投票メンバーは、潜在的な攻撃を阻止するリスクに気づく可能性があります。ここで委任は非常に役立ちます。悪意のない参加者に彼らを代表して投票する権利を与えることで、特に積極的にガバナンスに関与したくない個人でも、システムを保護するために彼らの投票権を貢献することができます。

一部のプロジェクトは、投票を一定期間遅らせることを許可する拒否権メカニズムを使用しており、非アクティブな投票者に潜在的な危険な提案に注意を促します。このようなスキームの下では、攻撃者が悪意のある提案を行っても、投票者はそれに反応し、提案を閉じる能力を持っています。これらの設計の背後にある考え方は、攻撃者が悪意のある提案を通過させるのを防ぎ、プロジェクトコミュニティに対応する時間を提供することです。理想的には、プロトコルの利益に明確に合致する提案は、これらの障害に直面する必要はありません。

例えば、Nouns DAO では、拒否権は Nouns 財団が保持しており、DAO 自体が代替案を実現する準備が整うまで保持されます。彼らがウェブサイトに書いているように:

「Nouns 財団は、Nouns DAO または Nouns 財団に重大な法的リスクまたは危険をもたらす提案を拒否します。」

***

プロジェクト側は、コミュニティの変化(時には好まれないこともある)に対して一定のオープン性を保ちながら、悪意のある提案が隙間から逃げることを許さないバランスを取る必要があります。一般的に、1 つの悪意のある提案がプロトコルを無効にする可能性があるため、提案を受け入れるリスクと拒否するリスクのトレードオフを明確に理解することが重要です。もちろん、ガバナンスの安全性を確保し、ガバナンスを可能にすることの間には高いレベルのトレードオフが存在します。なぜなら、潜在的な攻撃者を阻止するために摩擦を導入するメカニズムは、ガバナンスプロセスをより困難にするからです。

ここで概説した解決策は、完全な分散型ガバナンスとプロトコルの全体的な健康のために一部の分散型を犠牲にすることの間に位置しています。私たちのフレームワークは、プロジェクト側がガバナンス攻撃が利益をもたらさないことを確保しようとする際に選択できる異なる道を強調しています。私たちは、コミュニティがこのフレームワークを使用して独自の実験を通じてこれらのメカニズムをさらに発展させ、DAO を将来より安全にすることを期待しています。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する