DAOとオンチェーンガバナンス
誰が権限を握るかをコードで定めるのがDAO。トークン投票・タイムロック・マルチシグが連なる仕組みを原理から追い、投票率や買収リスクを数量で見積もり、Snapshot併用の設計判断まで自分で下せるようになる。
- 1.DAOは組織のルールをスマートコントラクトに刻んだ統治機構。提案→投票→タイムロック→実行の各段を分離し、可決内容だけが決められた遅延の後に自動執行される。信頼の対象が人からコードへ移る。
- 2.投票権はトークン残高に比例するのが基本で、定足数(クオーラム)と可決閾値の二重条件で正統性を担保する。だが1トークン1票は資金力=議決権を意味し、フラッシュローンによる一時的な票の買収やクジラ集中に晒される。
- 3.タイムロックは可決から執行までの強制遅延で、危険な提案からの退出時間を保証する。実行鍵はマルチシグ(m-of-n)で保護し、Snapshotによるオフチェーン投票でガス無料の世論形成と、オンチェーン実行の確定性を役割分担させる。
DAOとは何か — 組織をコードで動かす
DAO(Decentralized Autonomous Organization、分散型自律組織)とは、組織の意思決定と資産管理のルールを、経営者や取締役会ではなくスマートコントラクトに刻み込んだ統治機構です。資金(トレジャリー)の使い道、プロトコルのパラメータ変更、権限の付与——こうした決定を、コードに書かれた手続きに従って行います。信頼の対象が「特定の人物や法人」から「公開・検証可能なコード」へ移るのが本質です。
DAOが成立する土台はスマートコントラクトとEVMの決定性にあります。全ノードが同じバイトコードを同じ順序で実行し、同一の状態遷移を得るからこそ、「賛成票が閾値を超えたら、この関数を必ず実行する」という規則を、誰にも改竄できない形で強制できます。人間の裁量が入る余地をコードで塞ぐことで、経営陣が勝手にトレジャリーを持ち出す、といった裏切りを構造的に不可能にします。
ガバナンスには2つの層があります。オンチェーンガバナンスは、投票も集計も執行もすべてコントラクト上で完結し、可決内容がコードによって自動実行される方式です。対してオフチェーンガバナンスは、投票や議論はチェーン外(フォーラム、Snapshot など)で行い、実行は開発者やマルチシグ署名者が手動で反映します。前者は執行の確実性が高く、後者は柔軟だが実行段で人間の信頼が残る、というトレードオフがあります。
トークン投票 — 提案・投票・実行の分離
オンチェーンガバナンスの中核はガバナンストークンによる投票です。投票権はふつうトークン残高に比例し、1トークン=1票が基準になります。統治は3つの段階に明確に分離されるのが定石です。
- 提案(Propose) — 誰かが「実行したい操作」を、対象コントラクト・呼び出す関数・引数の並びとして提出する。スパム提案を防ぐため、提案には最低保有量(提案閾値)を課すのが一般的。
- 投票(Vote) — 一定の投票期間、トークン保有者が賛成・反対・棄権を投じる。票の重みは過去の基準ブロック(スナップショット)時点の残高で固定する。
- 実行(Execute) — 投票期間の終了後、可決条件を満たしていれば、提案に書かれた操作を実際に実行する。
票の重みを現在残高で数えると、投票期間中にトークンを買い集めて票を水増しし、同じトークンを別アドレスへ移してさらに投票する、といった二重計上や駆け込み買収が可能になってしまいます。これを防ぐため、提案時に基準ブロックを1つ決め、その時点の残高(またはチェックポイント化された投票力)だけを票の重みとして採用します。投票の重みを過去に凍結することが、票の再利用を封じる鍵です。
可決には二重の条件を課すのが標準です。第一に定足数(クオーラム) — 賛成票が総供給量に対する最低割合(例:4%)に達していること。参加が薄すぎる決定を無効化し、少数による乗っ取りを防ぎます。第二に可決閾値 — 賛成が反対を上回る(過半数)こと。定足数は「十分な参加があったか」、閾値は「賛成が多数か」を別々に検証する、と整理すると理解しやすいでしょう。
// ガバナンス投票の骨子(擬似コード)
function execute(uint proposalId) external {
Proposal storage p = proposals[proposalId];
require(block.number > p.voteEnd, "voting not ended"); // 投票期間の終了
require(p.forVotes >= quorum, "quorum not met"); // 定足数(賛成票が下限以上)
require(p.forVotes > p.againstVotes, "not passed"); // 可決閾値(過半数)
require(!p.executed, "already executed");
p.executed = true;
timelock.queue(p.target, p.calldata, block.timestamp + DELAY); // 即時実行せずタイムロックへ
}
| 段階 | 何を検証するか | 主なパラメータ | 攻撃の抑止対象 |
|---|---|---|---|
| 提案閾値 | 提案者が最低限の持ち分を持つか | propose に必要なトークン量 | 無数のスパム提案 |
| 定足数(クオーラム) | 十分な参加があったか | 総供給に対する賛成票の下限 | 低投票率での少数乗っ取り |
| 可決閾値 | 賛成が多数か | 賛成 > 反対(過半) | 僅差での強行可決 |
| 投票スナップショット | 票の重みをいつ固定するか | 基準ブロック番号 | 票の二重計上・駆け込み買収 |
タイムロックとマルチシグ — 実行を守る
可決した提案を即座に実行してしまうと、危険な変更(トレジャリーの流出、権限の奪取)に対して保有者が身を守る時間がありません。そこで可決と執行の間にタイムロック(強制的な遅延)を挟みます。可決された操作は一旦キュー(待ち行列)に入り、決められた遅延(例:48時間)が経過して初めて実行可能になります。
タイムロックの意義は、退出のための猶予時間の保証です。もし悪意ある、あるいは有害な提案が可決されても、実行までの遅延の間に、反対する保有者はトークンを売却したり資産を引き上げたりして退避できます。攻撃者が可決の瞬間に全資産をさらう、という最悪シナリオを構造的に封じるための時間差です。
コントラクトのコードは原則として書き換えられず、実行された操作は巻き戻せません(不変性・不可逆性)。だからこそ、実行前に人間が気づき介入できる窓が要ります。タイムロックの遅延は長いほど安全側ですが、緊急のバグ修正が間に合わなくなる副作用もあります。「重大な変更ほど長い遅延」「緊急停止だけは別枠で速く」といった段階設計が実務では取られます。
実行や緊急対応の権限を単一の鍵に持たせると、その鍵の漏洩がそのまま組織全体の乗っ取りになります。これを避けるのがマルチシグ(多重署名、m-of-n)です。n個の鍵のうちm個以上の署名がそろって初めて操作が有効になる仕組みで、閾値署名の一種です。単一障害点を排除し、1〜m-1個の鍵が漏れても資産は守られます。ここでの署名や鍵管理の原理は署名・ウォレット・鍵管理で扱う楕円曲線署名がそのまま土台になりますが、本稿では「複数署名を集約して1つの実行権限とする統治の道具」として捉えます。
| 防御機構 | 守るもの | 原理 | 残るリスク |
|---|---|---|---|
| タイムロック | 取り返しのつかない即時執行 | 可決から執行まで強制遅延を挿入 | 遅延中に誰も監視していなければ無力 |
| マルチシグ(m-of-n) | 単一鍵の漏洩・独断 | m個以上の署名で初めて実行可能 | 署名者の共謀(m人が結託) |
| 提案閾値+定足数 | スパム提案・少数乗っ取り | 最低持ち分と最低参加率を要求 | 閾値の設定ミスで機能不全 |
投票率と買収リスク
オンチェーンガバナンス最大の弱点は、投票の正統性そのものにあります。理論上は分散していても、現実の投票率は低く、議決権が偏りがちです。
第一の問題が低投票率です。多くの保有者は投票にガス代を払ってまで参加する動機が薄く、合理的無関心に陥ります。投票率が低いと、ごく一部の保有者だけで定足数を満たせてしまい、少数が全体を動かせます。定足数を高く設定すればこの乗っ取りは防げますが、今度はそもそも可決できず統治が麻痺する。低い投票率と高い定足数は両立しにくく、この綱引きがガバナンス設計の中心的な難所です。
第二が投票の買収リスクです。1トークン=1票は、裏を返せば資金力がそのまま議決権を意味します。トークンを大量に握るクジラ(大口)や大手取引所への委任集中は、事実上の中央集権を招きます。さらに深刻なのがフラッシュローンによる一時的買収です。担保なしで巨額のトークンを1トランザクション内だけ借り、その瞬間の残高で投票し、同じトランザクション内で返済する——これが投票スナップショットを現在残高で取っていると成立します。前述のとおり票の重みを過去の基準ブロックで固定することは、この攻撃を封じるための必須の防御でもあるのです。
トークン価格が下落し時価総額が薄いDAOほど、議決権の取得コストが下がり買収されやすくなります。攻撃者が過半の票を握れば、トレジャリーを自分に送金する提案すら可決できてしまいます。この構図はトークンとインセンティブ設計の「攻撃コスト > 攻撃利得」という経済的安全性の考え方と地続きです。統治権もまた、買収コストがトレジャリーの価値を下回れば破られる——ガバナンスの安全性は経済で測れます。緩和策として、投票の重みを持ち分の平方根で数える二次投票(少数の巨大保有者の影響を圧縮)、委任、拒否権付きマルチシグなどが検討されます。
オフチェーン投票(Snapshot)との併用
すべての投票をオンチェーンで行うと、投票のたびにガス代がかかるという致命的な摩擦が生じます。これが低投票率を悪化させます。そこで広く使われるのがSnapshotに代表されるオフチェーン投票です。
Snapshotの仕組みは巧妙です。投票者は取引を送る代わりに、賛否のメッセージにウォレットの秘密鍵で署名するだけ。この署名はチェーンには書き込まれず(=ガス無料)、オフチェーンで集計されます。票の重みは、指定された過去のブロック高時点のオンチェーン残高を参照して決めるため、改竄はできません。署名は本人しか作れず残高は公開台帳で検証できるので、執行力はないが検証可能な世論調査として機能します。
Snapshotの投票は署名の集計に過ぎず、コントラクトを直接動かす力を持ちません。可決しても、その内容は最終的に誰か(多くはマルチシグ署名者)がオンチェーンで実行に移す必要があります。つまりSnapshot単独では、実行段に人間の信頼が残るオフチェーンガバナンスです。ここを埋めるオラクル(例:optimistic な結果反映と異議申し立て期間)を噛ませ、オフチェーン投票の結果を条件付きでオンチェーン実行に橋渡しする構成も登場しています。
実務では両者を役割分担させるのが定番です。ガス無料で気軽に参加できるSnapshotで方向性の世論形成を行い、最終的な資金移動やパラメータ変更という確定的な執行だけを、タイムロックとマルチシグで守られたオンチェーン投票に載せる。日常の温度感はオフチェーンで安価に測り、取り返しのつかない実行はオンチェーンの確定性で固める、という住み分けです。
| 観点 | オンチェーン投票 | オフチェーン投票(Snapshot) |
|---|---|---|
| コスト | 投票ごとにガス代が発生 | 署名のみ・ガス無料 |
| 執行力 | 可決内容をコードが自動実行 | 執行力なし(別途手動実行が必要) |
| 票の重み | 基準ブロックの残高/投票力 | 指定ブロック高の残高を参照 |
| 改竄耐性 | 完全(オンチェーン確定) | 署名+公開残高で検証可能 |
| 主な用途 | 確定的な資金移動・重要変更 | 世論形成・方向性の合意 |
・DAOは組織のルールをスマートコントラクトに刻んだ統治機構で、信頼が人からコードへ移る。オンチェーン=自動執行、オフチェーン=手動執行の区別が核。
・可決条件は定足数(十分な参加)と可決閾値(賛成多数)の二重条件。票の重みは基準ブロックのスナップショットで固定し、票の二重計上とフラッシュローン買収を封じる。
・タイムロックは可決から執行までの強制遅延で退出時間を保証し、**マルチシグ(m-of-n)**は実行鍵の単一障害点を排除する。
・Snapshotは署名ベースのガス無料オフチェーン投票で執行力はない。世論形成はオフチェーン、確定的執行はオンチェーンで役割分担するのが定番。
まとめ
- DAOは組織の意思決定と資産管理をスマートコントラクトに刻んだ分散型自律組織で、決定性ある実行によって「賛成が閾値を超えたら必ず実行」を改竄不能に強制する。信頼の対象が人からコードへ移る。
- トークン投票は提案・投票・実行を分離し、定足数と可決閾値の二重条件で正統性を担保する。票の重みは基準ブロックのスナップショットで固定し、票の再利用を封じる。
- タイムロックは可決から執行への強制遅延で不可逆な操作からの退出時間を保証し、**マルチシグ(m-of-n)**は実行権限の単一障害点を排除する。
- 弱点は低投票率(少数乗っ取り対麻痺の綱引き)と買収リスク(1トークン1票=資金力が議決権、フラッシュローン買収)。ガバナンスの安全性は買収コスト対トレジャリー価値という経済で測れる。
- Snapshotなどのオフチェーン投票は署名ベースでガス無料だが執行力を持たない。日常の世論形成はオフチェーン、確定的な執行はオンチェーンの確定性で固める役割分担が実務の定番。
ブロックチェーン Article
DAOとオンチェーンガバナンスを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ブロックチェーン
比較で見る軸
難易度: advanced / カテゴリ: ブロックチェーン / タグ数: 6
導入後に効く点
投票権はトークン残高に比例するのが基本で、定足数(クオーラム)と可決閾値の二重条件で正統性を担保する。だが1トークン1票は資金力=議決権を意味し、フラッシュローンによる一時的な票の買収やクジラ集中に晒される。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- ブロックチェーン
- タグ数
- 6
判断チェックリスト
- 自社の用途が「ブロックチェーン / DAO」に近いか確認する。
- 強みである「DAOは組織のルールをスマートコントラクトに刻んだ統治機構。提案→投票→タイムロック→実行の各段を分離し、可決内容だけが決められた遅延の後に自動執行される。信頼の対象が人からコードへ移る。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。