Machine Economy Simulator
1000 人のユーザーと 100 個の Agent の経済を用意しました。九つのルールを決め、九種類の危機に耐えられるか試します。
これは、最終プロジェクトの最上位課題「Create a Machine Economy」を、実際に操作できる形にしたものです。
設定は最終プロジェクトと同じです。1000 人のユーザー、100 個の Agent、一種類の決済用 Stablecoin、一つのチェーン、一つの市場があります。九つの分野にそれぞれルールを決めると、システムが九種類の危機から五種類を無作為に起こします。
未来を当てるのではなく、自分のルールがどう破綻するかを見るためのものです。
まず、何をするものか
これはルールのモデルであり、予測モデルではありません。
現実の機械経済がどう進化するかを予測できるとは主張しません。それができる人はいません。保証するのは、一つだけです。
同じルールと同じシードからは、必ず同じ結果が得られます。
そのため、すべての損失を具体的なルールにたどれます。そこに学習上の価値があります。賭けではなく、条件を制御した実験です。一つのルールだけを変えて、もう一度動かし、違いを確かめます。
モデルの数値は、測定したものではなく、私たちが設定したものです。これらの数値を疑ってください。ただし、特に注目すべきなのは構造です。どのルールがどのイベントを防ぎ、そのルールにどんな代償があるかを考えます。
九つのルールは、どれも無料ではない
これがシミュレーターで最も伝えたいことです。各選択肢には、利点と代償の両方を示しています。
すべてを最も安全な設定にすると生き残れますが、取引量は小さく、ユーザーの成長はほぼ止まります。すべてを最も積極的な設定にすると、最初の数ステップではよい数値が出ますが、一回のイベントで国庫が底をつくことがあります。
すべての観点で最適な設定はありません。 最終プロジェクトで、制度を変えるたびに六つの追加質問に答えることと、同じ考え方です。
始める
初期設定は、防御をせず成長だけを追う構成です。参加制限なし、ホットウォレット、サービス後の支払い、評判管理なし、手数料徴収なし、Token の発行と補助金、サーキットブレーカーなしです。まずそのまま動かして、どう破綻するかを見てから、一つずつ変えてください。
崩壊後はシミュレーションが止まるため、不足額と損失はその拍までの値です。長く持ちこたえる構成の方が不足額が大きい場合もあります。まず生存した拍数で比較してください。
- 完了タスク 1,080 件、プロトコル収益 0 米ドル
- 補助金支出 18,000 米ドル
- 完了タスク 1,123 件、プロトコル収益 0 米ドル
- 補助金支出 18,720 米ドル
- 完了タスク 1,166 件、プロトコル収益 0 米ドル
- 補助金支出 19,440 米ドル
- イベント:規制の変化——主要市場では全参加者の本人確認が必須で、未完了なら入出金経路を閉じる。
- ユーザー離脱 361。本人確認が完了できず、入出金経路が閉じられる
- 損失 44,384 米ドル:急いでコンプライアンス手順を整える
- 完了タスク 1,210 件、プロトコル収益 0 米ドル
- 補助金支出 20,160 米ドル
- 完了タスク 1,253 件、プロトコル収益 0 米ドル
- 補助金支出 20,880 米ドル
- 完了タスク 1,307 件、プロトコル収益 0 米ドル
- 補助金支出 21,780 米ドル
- 完了タスク 1,361 件、プロトコル収益 0 米ドル
- 補助金支出 22,680 米ドル
- イベント:流動性危機——多数のエージェントが一斉に収入をステーブルコインに換えて撤退しようとするが、市場の厚みが足りない。
- 損失 18,837 米ドル:競争入札の市場で買い手が一瞬で消え、約定価格が崩れる
- 損失 15,698 米ドル:国庫に収入源がなく、市場を支えるには元本を取り崩すしかない
- 完了タスク 1,415 件、プロトコル収益 0 米ドル
- 補助金支出 23,580 米ドル
- 完了タスク 1,469 件、プロトコル収益 0 米ドル
- 補助金支出 24,480 米ドル
- 完了タスク 1,523 件、プロトコル収益 0 米ドル
- 補助金支出 25,380 米ドル
- 完了タスク 1,588 件、プロトコル収益 0 米ドル
- 補助金支出 26,460 米ドル
- イベント:オラクルの障害——価格フィードの更新が止まり、価格算定と決済がすべて古いデータに基づく。
- 損失 32,314 米ドル:サーキットブレーカーがなく、誰かが気づくまで古い価格で決済し続ける
- 完了タスク 1,652 件、プロトコル収益 0 米ドル
- 補助金支出 27,540 米ドル
- 完了タスク 1,717 件、プロトコル収益 0 米ドル
- 補助金支出 28,620 米ドル
- 完了タスク 1,782 件、プロトコル収益 0 米ドル
- 補助金支出 29,700 米ドル
- 完了タスク 1,858 件、プロトコル収益 0 米ドル
- 補助金支出 30,960 米ドル
- 完了タスク 1,933 件、プロトコル収益 0 米ドル
- 補助金支出 32,220 米ドル
- 国庫が底をつき、経済が止まる。
九種類のイベントが確認すること
各イベントは、特定のルールを試します。イベントそのものは制御できませんが、ルールによって被害の大きさが決まります。
| イベント | 起きたこと | 試されたルール | 詳しく読む |
|---|---|---|---|
| 流動性危機 | 多数のエージェントが一斉に収入をステーブルコインに換えて撤退しようとするが、市場の厚みが足りない。 | Market、Protocol Fee | 第15章 |
| オラクルの障害 | 価格フィードの更新が止まり、価格算定と決済がすべて古いデータに基づく。 | Market、Security | T21 |
| エージェントへの攻撃 | 誰かがエージェントを大量登録し、偽のタスクを互いに回して取引量を水増しし、補助金をだまし取る。 | Agent Identity、Reputation、Token | T29 |
| ステーブルコインのペッグ外れ | 決済に使うステーブルコインが 0.93 に下がり、その通貨建ての残高がすべて目減りする。 | Payment、Security | 第13章 |
| トークンの暴落 | プロトコルのトークンが 1 週間で 70% 下落する。 | Token、Protocol Fee | 第21章 |
| AI のハルシネーション | 多数のエージェントが捏造情報をもとに誤った結果を出し、ユーザーが補償を求める。 | Reputation、Payment、Security | 第31章 |
| モデルが機能しなくなる | 基盤モデルのサービスが 6 時間停止し、どのエージェントもタスクを完了できなくなる。 | Reputation、Payment | T35 |
| ウォレットが盗まれた | 複数のエージェントの署名鍵が漏えいし、攻撃者が残高を移し始める。 | Wallet、Security | T34 |
| 規制の変化 | 主要市場では全参加者の本人確認が必須で、未完了なら入出金経路を閉じる。 | Agent Identity、Governance | 第24章 |
使い方
まず初期設定で動かし、ログを最後まで読む。
急いで変更せず、破綻した経路を確認してください。どのステップから支出が収入を超えたか、どのイベントが最後の一撃になったか、各損失がどのルールに対応するかを見ます。
一度に一つのルールだけを変え、シードは固定する。
ほかの変数を固定します。ウォレットを「単一のメインウォレット」から「セッションキーと限度額」に変え、それ以外を変えずにもう一度実行します。ウォレット盗難のステップで、損失が一桁小さくなることが分かります。
二つ以上のルールを同時に変えると、どれが効果を出したか分からなくなります。
同じルールでシードを変え、さらに三回実行する。
シードによってイベントの組み合わせが変わります。一つのシードでだけ生き残る設定は、頑健なのではなく、運がよいだけです。
自分の設定が最も苦手とするイベントを見つける。
どの設定にも弱点があります。それを見つけ、穴を埋めるか、受け入れて「明確に防がないもの」に記録するかを考えてください。
後者も十分に正当な答えです。ただし、書き残すことが条件です。T30 の脅威モデルでも扱います。
設計の説明を書く。
シミュレーターの出力ではなく、設計の説明が成果物です。各ルールについて、何を選んだか、なぜ選んだか、代償をどう受け入れるかの三行を書いてください。
この説明が、最終プロジェクトのその課題の出発点になります。
自分で検証してほしい結論
次の関係は、このモデルで実際に成り立ちます。説明を信じるだけでなく、自分で一度実行してください。
Token を「Token を発行して補助金を配る」にすると、初期のタスク量と Agent の成長が明らかに速くなります。
そのあと、各ステップの補助金支出が国庫をどう消耗させるか、Agent の攻撃や Token の暴落が起きたときに補助金がどう被害を広げるかを確認します。費用なしの登録と補助金の組み合わせは、水増しをする集団に引き出し機を渡すようなものです。
第 17 章の収益源と、第 28 章のエアドロップ終了後のユーザーを振り返ってください。
ほかのルールを固定し、ウォレットだけを変えて、ウォレット盗難が起こるシードを探してください。
単一のメインウォレットでは国庫の 30%、セッションキーでは 6% を失い、マルチシグではほぼゼロです。
代償もあります。マルチシグは取引量を四分の一減らします。T34 の「セッションキーで被害の範囲を限定する」という説明を、数値で表したものです。
手数料を「徴収しない」にすると、国庫から出ていくばかりで、日常的に資金が減ります。
その状態では、どのイベントも最後の一撃になり得ます。イベントの強さだけではなく、緩衝となる余裕がないためです。
第 26 章と比較してください。TVL が大きくても、プロトコルが利益を得ているとは限りません。
安全設定を「サーキットブレーカーなし」にすると、オラクル障害や Stablecoin のペッグ逸脱による損失が大きくなります。誰かが気づくまで、間違ったデータで動き続けるからです。
「限度額と人間の承認」にすると、ほぼすべてを防げますが、取引量が三割下がります。
この選択に唯一の正解はありません。自分の経済が、どちらの代償を受け入れられるかで決まります。
初期設定にサーキットブレーカーを追加し、さらに 5% の手数料を追加すると、直感に反する結果が出ます。国庫のマイナスがさらに大きくなります。およそ -2,000 から -38,000 になります。
最初は、手数料を加えた方が悪いと思うかもしれません。「何ステップ耐えたか」の欄を見てください。
初期設定 16 ステップで破綻 不足 -1,833 損失 111,233
サーキットブレーカーを追加 17 ステップで破綻 不足 -2,129 損失 78,049
さらに 5% の手数料を追加 18 ステップで破綻 不足 -38,005 損失 67,547
さらに補助金を停止 24 ステップ完走 国庫 +336,277 損失 165,435手数料を追加すると、実際には二ステップ長く耐えています。不足が大きいのは、資金を失いながら二ステップ長く生きたからです。各ステップで補助金が国庫から出ていくため、長く生きるほど多く流出します。
本当の結論は、補助金で資金を失い続けるプロトコルを、手数料だけでは救えないことです。この設定が生き残るのは、補助金を停止したあとです。
最後の行にも注意してください。24 ステップを完走した設定の累積損失は、むしろ最大です。五つのイベントすべてに到達したためです。早く破綻した設定の損失が小さいのは、後のイベントまで生き残らなかったからです。
この読み違い自体が一つの授業です。指標の選び方を間違えると、長く生き残ることを、成績が悪いと読んでしまいます。 第 26 章の TVL と Revenue の区別も、同じ種類の誤りです。
Token を「発行しない」にすると、成長が遅く、タスク量も少なく、見栄えのよい数値は出ません。
しかし Token の暴落にはほとんど影響されず、Agent の攻撃も最大の誘因を失います。
第 30 章の問いを数値にしたものです。そもそも Token が必要ないのは、どんなときでしょうか?
最終プロジェクトとの関係
シミュレーターが扱うのは、最終プロジェクトの一部です。ルールを実行しますが、設計を代わりにするわけではありません。
最終プロジェクトでは、さらにイベントの影響経路を自分で定義し、各変更の理由を論証し、誰が利益を得て、誰が費用を負い、どの条件で有効かを答える必要があります。シミュレーターは、設計説明を書く前に何度も失敗を試せるサンドボックスです。
詳しい要件は、最終プロジェクトの最後の節を参照してください。
エンジンの場所
シミュレーションのロジックはすべて packages/curriculum/src/simulator.ts にあります。決定性、イベントの順序、防御的な設定の損失が積極的な設定より必ず小さいことなど、因果関係を含む 12 の単体テストで確認しています。
画面のコンポーネントには、シミュレーションのロジックを置きません。ロジックが分散すると、なぜ損失が出たかをテストで確かめられなくなります。T32 の原則の応用でもあります。判断する部分は、決定的で、テスト可能でなければなりません。