Crypto OS
Non-Technical Crypto OS第6段階 · AI × Crypto と未来のオンチェーン経済

第34章 · Agent Walletとは何か

AIへウォレットを渡す前に、何を設定するか。

この章を 3D で体験する →
練習する能力
AI LiteracySystem ThinkingOnchain Literacy
実践
架空のエージェントの権限表を書く。1 回ごとの上限、1 日の上限、許可するコントラクト、人の承認が必要な条件を含める。
AI Lab
AI に権限表の回避を試みさせ、見つかった抜け穴をすべてルールに加える。

現実の問題

ソフトウェアへ専用ウォレットを渡すため、慎重に規則を書いた。

1. 一件100まで
2. 三つのコントラクトだけと操作する
3. 100超は自分へ承認依頼

厳しそうだが、オンチェーン安全に詳しい友人は三分で穴を列挙した。

第一、一件だけを制限する。 99を百回なら9900で、全件適合し、総量制限はない。

第二、コントラクト操作と支出は違う。 許可した契約から別アドレスへ無制限の利用額を与えられる。資金は動かず100制限も不要だが、後で全額を引き出せる。

第三、許可先が別契約を呼べる。 転送や一括実行なら、AからZへ進み、第二の呼び出しで一覧が効かなくなる。

第四、承認の有効期限は。 誰も対応しなければ待つか、時間切れで通るか。後者なら午前三時の依頼で規則が消える。

第五、100の単位は。 ステーブルコインと別トークンでは価値が数桁違う。単位と価格源が不明で、第32章が誤入力の結果を示した。

第六、誰が強制するか。 文書だけで鍵は何でも署名できるなら、実効性はゼロだ。強制されない規則は防御より願望だ。

友人は、権限より期待を書いている、と言った。

AIへウォレットを渡す前に何を設定するか。

慎重にという答えより、具体的なリストと穴の検査方法を示す。中心は署名能力より、支出の方針と上限だ。 署名可能にするのは数行だが、本当に許した取引だけに制限することが章の全体になる。

思考実験

練習にする。

三人、同じ権限表、48時間。 鍵破りもコード欠陥も使わず、規則内だけで資金を出す。

上の三規則を使う。

一人目は四分。 99の101操作を開始し、百回でほぼ空になった。全て許可行為だ。

二人目は二十分。 送金せず、許可契約で別アドレスへ無制限額を与えた。利用許可は支払いではないため条項がなく、翌日そのアドレスから引き出した。

三人目は36時間。 数分ごとに100を少し超す承認依頼を送る。初日は十数件読んだが、翌朝は額だけ見る。午後に同額で宛先を変えた依頼を確認した。

三種類の失敗は技術攻撃を要しない。

方法止まらない理由補修
一人目分割一件のみ、累積なし時間窓と頻度上限
二人目許可は支払いでない移動額だけ、権力なし許可額の制限と無制限禁止
三人目承認疲労毎回読むという前提承認にも予算、超過拒否

三人目は規則より、実行する人を攻めた。

悪意すら不要だ。善意のソフトウェアも、不適切な設計で同じ結果を生む。 疲れを知らず依頼を続ける。Crypto OSでのAIの位置の、一日200承認は承認なしと同じ原則の具体例だ。

まとめる。

表の強さは最弱項目で決まり、最弱は表より前提に隠れる。

あなたが決める

実際に支出させる。鍵と権限をどう置くか。

結果を観察する

誰が規則を強制するかへ集約される。

場所実行者誤解時注入時強さ
指示文モデル無効無効ほぼゼロ
文書自発的遵守無効無効ほぼゼロ
呼出前コード固定処理有効有効中
鍵権限署名系有効有効高
残高物理上限有効有効最強だが粗い

章の骨格だ。 詳細化だけでは強さは増えない。 完璧な指示もほぼゼロで、粗い残高制限は迂回不能だ。

三原則を得る。

第一、できるだけ下へ移す。 鍵へ置ければコードより鍵、コードへ置ければ指示よりコードだ。

第二、下ほど粗いので分層する。 残高は総量、鍵は対象と関数、コードは価格偏差など複雑な判断。三つを合わせる。

第三、上層は防御より効率化だ。 指示の100制限は、適切な提案を増やし拒否を減らすが、危険評価の安全策には数えない。

まとめる。

Agent Walletの中心は署名能力より、支出の方針と上限だ。

モデルが届かない場所で強制されて初めて存在する。

モデルを作る

一、十層の経路で、ウォレットは終盤

第六段階の全体へ戻し、十層を通す。

1Intent人が目的と境界を定める。課題、予算、触れてはいけないもの。
2LLM提案のみ。実行力も鍵も持たない。
3Structured Output操作、契約、関数、額、単位を項目にする。自由文にしない。
4Validatorアドレス形式、正額、精度と単位、既知対象を固定検査する。
5Policy章の中心。一件、時間窓累積、頻度、許可一覧、承認条件、許可額上限。
6Simulation先に実行し、実際の変化を得る。残高と許可がどうなるか。
7Risk Engine想定結果で点検する。全体エクスポージャーと危険線までの距離。
8Execution制限鍵で署名し、経路全体を一操作で停止可能にする。
9Onchain Verification後で状態と許可額をオンチェーンで照合する。
10Audit Log提案者、点検、承認者、操作、結果を漏れなく記録する。

第五Policyと第八Executionを扱う。 前四層の実装はT32にある。Policyは固定的で、モデルを含めない。

禁止構成と比較する。

このコースで禁止する構成

  1. Prompt
  2. LLM
  3. Private Key
  4. Send Transaction

モデルに秘密鍵を直接渡し、確認なしに取引させてはいけません。この構成を含む課題は不合格です。

少数の点検不足より、モデルが鍵を持つことが違いだ。全規則が遵守への期待になり、強さの全行が失効する。

二、権限表の八項目

一つ欠けるごとに穴が増える。

項目答えること欠落の結果
1 身元Agentとアドレス実行者不明
2 一件上限最大額と単位一度で空になる
3 累積上限一時間、一日、一週分割
4 頻度時間内の同種回数小額累積、異常発見困難
5 対象一覧アドレス、契約、関数任意の場所へ
6 利用許可上限他者への額、無制限可否許可は支払いでない
7 承認条件人が必要な条件、不在対応疲労と時間切れ許可
8 期限と取消失効、緊急停止忘れた権限が残る

第六はオンチェーン特有で最も抜けやすい。 資産移転なしで他者へ無制限・無期限の使用権を渡せる。

送金額と、与えられる権力を別に定義する。 持続する後者はより厳しい上限にする。

第八は忘れやすい。 期限で自動失効し再付与させると、長期蓄積の危険を大きく減らせる。

三、上限は四次元

一数字では四分の一しか設定していない。

  1. 一件上限
  2. 時間窓累積
  3. 総予算
  4. 全体エクスポージャー
別々の失敗を止める。第一だけでは最も起きにくい一種類しか防がない。
次元防ぐもの誤り
一件一度の大誤りこれだけで安全と思う
時間窓分割、異常反復、再試行日だけなら五分で使い切る
総予算長期の流出未設定か自動補充
全体個別適合でも合計越境概念自体がない

日だけなら短時間で枯れる。 第32章の40分11回も日上限内だ。時間、日、週を同時に制限する。

四、許可一覧も四層

三契約のみ、には四段階がある。

層制限防ぐもの
アドレス特定先未知の送付先
契約特定契約同上だが全機能を許す
関数特定機能転送、一括、許可の危険機能
引数値の範囲正しい関数で異常値

大半は第二で止まり、次の呼び出しの穴は第二と第三の間にある。 契約全体の許可は代行する機能も許す。

契約より関数で列挙する。 長くなるが行動を制限できる粒度だ。

五、承認にも予算

態度より資源の問題だ。 真剣に判断できる回数は有限だ。

予算として設計する。

人へ送る一日回数:   五回まで
超過:               待ち列でなく自動拒否
有効期限:           15分、失効
未対応の既定:       拒否。許可は禁止
最小間隔:           連続通知を防ぐ

超過拒否が中心だ。 不便でも、五回以上の判断が要るなら前の規則が不十分だ。人の回数より規則を直す。

未対応は必ず拒否する。 深夜、会議、睡眠で防御を消す自動許可に例外はない。

十数秒で判断できる表示にする。 生取引データより、変わるもの、最悪結果、承認が必要な理由を見せる。

六、四自点検

三失敗と、根本の一つに対応する。

  1. 上限以下を千回行うとどうなるか。 分割。
  2. 移転なしで他者へ権力を渡せるか。 許可。
  3. 誰も承認しなければどうなるか。 疲労と時間切れ。
  4. 表を消したら何ができるか。 強制者。

第四が根本だ。 何でもなら、前三つは無意味で、制限ウォレットより説明書付きの完全ウォレットだ。

何と呼ぶか

方針Policy

要求の通過可否を決める固定規則。

決定的であることが鍵だ。同入力は同結果、理解不要で、言い方や文脈の長さに左右されない。

意図を柔軟に理解させようとモデルで実装すると、不確実性を全て引き継ぐ。モデル以上に確かなことだけが存在理由だ。

文字理解なしの点検に書けるか。 一件X以内なら可、危険なことをしないなら期待でしかない。

支出上限Spending Limit

期間内で使える最大額。

一件、時間窓、総予算、全体の四つが要る。一件だけでは一種類しか止めない。

時間、日、週を同時に設定する。 日だけなら五分で尽きる。

単位と価格源を明示する。 100だけでは意味がない。

許可一覧Allowlist

許可対象を明示し、他を拒否する。

禁止一覧は新対象を全て挙げられない。誤拒否は一操作の不成立だが、見逃しは全資金になる。

アドレス、契約、関数、引数範囲を分ける。契約だけは転送、一括、許可による迂回も許す。

関数単位が最も具体的な提案だ。

セッション鍵Session Key

用途、範囲、期限を限定した鍵。

遵守規則を署名系の物理境界へ変える。機能、額、期限を超す取引は受け付けられない。

範囲、期限、取消可能性が使いやすさを決める。

取り消せなければ問題発見後も自然失効を待つ。 その間が長い場合がある。

監査ログAudit Log

提案者、内容、検査、承認、実行、結果を完全に記録する。

事後だけではない。異常発見(頻度、対象、失敗率の変化)、責任特定(失効段階)、規則改善(拒否された要求から許すべきものと厳しく禁ずるもの)が即時用途だ。

ソフトウェアが改変できない所へ置く。 記録者が変えられるログは、必要なとき信用できない。

まとめる。

Agent Walletの中心は署名能力より、支出の方針と上限だ。

検査は、規則内で全力で資金を出そうとしたら、いくら出せるかを問う。

実践

実践架空のAgentへ、一件・日次上限、許可契約、人の承認条件を含む権限表を書く文書 + テストネットウォレット + テストネットのエクスプローラー0円。後半の操作はフォーセットのテストトークンのみ。メインネットも、その鍵やシードの提供も禁止

表を書き、次にテストネットで実際の境界を体験する二部構成だ。

前半が中心で、後半は抽象規則を体験にする。

第一、具体的な操作まで課題を定める。

課題:              一文で操作まで
資金が必要か:      読取りだけなら別の課題へ
一日の回数:
操作する対象:
最悪の損失:

最後はまだ書けなくても普通だ。 表を終えた後に戻り、感覚より正確な数字で埋める。

第二、八項目を空欄なしで埋める。

1 身元:      使用アドレス
2 一件:      最大___、単位___、価格源___
3 累積:      一時間___ / 一日___ / 一週___
4 頻度:      同種操作は___分で___回まで
5 対象:      契約___の関数___。関数単位で列挙
6 許可額:    一回___まで、無制限禁止、有効期限___
7 承認:      人が必要な条件___
              日の最大回数___
              超過時___。自動拒否と書く
              ___分で失効、既定___。拒否と書く
8 期限:      権限は___後に失効
              緊急停止___。具体手順と時間

第六と、第七の最後二行が誤りやすい。 時間切れ自動許可なら直す。睡眠中の承認機構が消えるためだ。

第三、四問で自分の表を攻める。

1. 一件以下で千回ならどうなるか。
   止める条項___。なければ補う。
2. 移転なしで他者へ使用権を与えられるか。
   止める条項___。
3. 誰も承認しなければどうなるか。
   答え___。許可か永久待機なら修正する。
4. 表を消したら何ができるか。
   答え___。

第四が前三つの意味を決める。 全てなら願望リストだ。詳細化より、鍵権限と残高へ移せる制限を探す。

第四、三層に分け、実行者を示す。

残高の物理上限:
鍵の署名境界:
呼出前コードの固定検査:
指示文にしか置けないもの。防御に数えない:

最後を最悪損失の計算では全て無視する。 本当の防御層を知るためだ。

大半が最後なら、文章より強制方式を再設計する。

第五、テストネットで境界を体験する。

テストネットだけだ。 新ウォレットへフォーセットから受け取る。メインネットのウォレット、鍵、シードを使わず、入力しない。

1. 新ウォレットを作り、アドレスを記す
2. フォーセットで受け取る
3. 正常な少額送金をし、エクスプローラーで探す
4. 利用許可を行い、記録で額と期限を見る
5. 対応していれば取り消し、時間と操作数を記す

第四が最重要の体験だ。 送金と違い、資産は動かず、権力だけ渡るのを見られる。

第五は緊急取消の時間を教える。第二の第八項目へ実測時間を戻す。

第六、最悪損失を埋める。

具体的な数字を次で求める。

最悪損失 = 次の三つの最小値
  A. 残高
  B. 時間窓累積上限 × 発見までの窓の数
  C. 付与済み利用許可の総額

Cは最大で、最も忘れやすい場合が多い。 無制限の許可はAとBの制約を失効させる。

受け入れられる損失と比べる。前が大きければ表は未完だ。

八項目表、四答、三層の配置、実際の許可体験、最悪損失を得る。

この段階の作品になる。 次で効果的に穴を探す。

AI Lab

AI LabAIに権限表の迂回を試させ、見つかった穴を規則へ補うLevel 2 · AI Copilot

紙上で行う。実資金、接続、鍵・シード・メインネットアドレスの貼付は不要で禁止だ。 渡すのは規則文だけ。

字面の中の隙間を探すことにモデルは向く。 自分は望みを考えるので、別解釈を探すのが苦手だ。

Agentの権限表を渡します。
明記した規則を破らず、できるだけ多く資金を出す相手を演じてください。

必須制約:
- 鍵破り、コード欠陥、自分が規則を破ることは仮定しない。
- 各方法は手順、各手順がどの規則に違反しない理由、取得額を示す。
- 存在しない機能、口座規格、APIを創作しない。
  必要な機能は名称より、何をするか説明する。

八つ以上の異なる方法を、取得額順で出す。
最後に、最も弱い前提を持つ条項を別節にする。

権限表:
(貼る)

最後の節が最も価値ある。 数字より、人が読む、一日の日界は一度、許可契約は他者を呼ばない、など気づかない前提を示す。

三つを行う。

第一、分類する。 三失敗へ一つを足す。

分割:     一件適合、累積越境
許可:     資産を動かさず権力を渡す
粒度:     許す範囲が想定以上
人の段階: 承認を攻める
その他:   最も調べる価値がある

その他は宝だ。 思考枠にない次元を示す。

第二、補修と配置層を書く。

穴:
補修:
層:残高 / 鍵 / コード / 指示
指示だけなら:実際には未補修

最後を正直にする。 指示で注意するだけなら、能力自体を除く方が適切な場合が多い。

第三、同じ指示で再実行する。

別の鋭い穴が出る。三巡後に新発見が減り、初めて初期形になる。

四現象を予想する。

  1. 最初は規則外の方法も出る。 鍵読みなどを除き、次に明示禁止する。
  2. 人への攻撃は少ない。 承認過程も考えるよう加えると役立つ。
  3. 機能を創作し得る。 規格の変化が速いので、説明方式でも検査する。
  4. 補修が固定規則にならない。 異常監視強化は願望だ。文字理解なしの点検にできなければ書き直す。

AI の回答後、自分で必ず検証すること

  • 方法は規則内か、鍵破りやコード欠陥が必要か。後者は数えない
  • 一件適合で累積越境する分割を見つけたか
  • 移転せず権力を渡す許可を見つけたか
  • 許可契約の関数が他操作を代行する粒度の穴はあるか
  • 数、時刻、時間切れで承認自体を攻めたか
  • トークン間の数桁違う単位・価格の穴はあるか
  • 日界の二日分、期限なし、回収忘れの時間の穴はあるか
  • 補修は文字理解なしの固定検査になるか
  • 存在しないウォレット機能、口座規格、APIを創作したか
  • 補修後、もう一巡で新しい穴があるか

実例

無制限の利用許可継続するよくある資金損失の一つ

コード欠陥と無関係に、便利さのため無制限にした損失が繰り返される。

資産が動かず無害に見えるが、いつでも引き出す権力を無期限・無制限で渡す。

後に契約侵害、権限悪用、元から悪意などが起きる。許可から長く後の損失なので、原因を理解できない人もいる。

利用許可上限を設け、既定で無制限を禁止する。 送金上限だけなら無防備だ。

不要な許可を定期的に取り消す。 Labで実施したのは習慣にするためだ。

指示文の規則繰り返し起きる各種Agent

一件X以内、特定契約だけ、とシステム指示へ書く。

たいてい従うが、たいていという点と、失敗場面が最も危険な点が問題だ。

長い対話での忘却、境界の独自解釈、外部入力の指示がある。外のページ、文書、メール、メッセージを規則と確実に区別できない。

外部を読めば、外部が行動へ影響する機会がある。 接触すら不要だ。

指示は適合を増やし有用だ。最悪損失の計算では全て存在しないと扱う。

200承認後の一クリック継続する人の承認付き自動系

第32章の構造を精密化する。

第一週に200件、第二週に一括、第三週は額だけ確認、第五週に止めるべき依頼を通し、見た記憶もない。

設計が結果を保証した。 真の判断時間は配分時間以上だ。

日次予算と超過拒否、期限と失効・既定拒否、生データより後果表示の三つは態度より数の設計だ。

十六進数の承認は読めず、確認するしかない。 変化、最悪、承認理由を示す。

回収を忘れた権限継続する長期自動運用

攻撃より時間から来る。付与後に回収を忘れる。

一時課題へ広い権限を与え、終了、交代、方向変更後も残り、半年後も有効で監視なしになる。

数が増え、ソフトウェアは不要と知らせないので増幅する。

全権限を期限で自動失効し、再付与させる。 忘却の後果をなくすためだ。

付与日、理由、期限の一覧を維持し、定期的に読む。不要な一件をほぼ必ず見つける。

変数を一つ変える

もしページ、文書、他者のメッセージを読む

能力と独立に危険度が一段上がる。

自分の入力だけなら信用できる。外部の入力源は誰でもよい。 指示も内容も文字に見える。

上書きの機会があるので指示制約は数えない。鍵、コード、残高の三層だけが残る。

読取りと支出を分ける(読む側に支出能力なし)、対象を絞る(誘導を予測できない)、残高を減らす(文字の影響を受けない)を行う。

読むAgentと実行Agentを完全分離し、検査済み構造化項目だけ渡す方式もある。外部は提案へだけ影響し、その後に全方針検査を通す。

もし一つでなく40個を管理する

一表から制度になり、重要点が変わる。

第一、型と継承。 読取り、少額、承認の標準段階から始め、例外を別承認して理由を記す。手書き40表は矛盾と抜けを生む。

第二、全体の累積上限。 個別適合でも合計が耐える額を超える。最大の追加項目だ。

第三、承認予算の共有。 同じ有限回数を40個で分け、個別の条件を厳しくする。

第四、全体停止。 事故で個別に止める時間はなく、全40個を一度に止める。

もし鍵をサービスへ預ける

強制が確かになるが、新しい相手方を加える。

同意なしに使えるか(なら安全は相手次第)、停止時に管理権を戻せるか、設定を誰が変更し、迂回できるかを問う。

モデルは制約を変えない原則を、設定変更経路と鍵利用経路の完全分離へ拡張する。同APIで取引と上限変更ができれば、上限はない。

相手方リスクと引き換えに、確かな強制と工程削減を得る。 何を交換するか知れば、合理的な場合も多い。

もし事故後の反応時間を考える

上限を決める変数だが、数字設定で見落とされる。

異常 → 通知 → 読む → 本物と判断 → 停止 → 停止発効を計測する。

深夜三時なら読むまで六時間かもしれない。その間の頻度と額の積が、本当の最悪損失で、表の一日上限だけではない。

最悪反応時間で頻度を決める、モデル外で速く停止、人不要の自動遮断は通知以上の価値という三つを導く。

停止速度は誤りの速度より速くする。

持ち帰る問い

16
エージェントにはどんな権限があるか?

八項目の表になった。

身元、一件、累積、頻度、対象、許可額、承認、期限・取消。抜けが穴となり、三人は第三、第六、第七の欠落を示した。

誰が強制するかは項目以上に重要だ。指示、コード、鍵、残高で数桁違う。

表を消したら何ができるか。 実リスクの答えになる。

18
どの判断に人の関与を残すべきか?

人の価値は発火回数が増すほど下がる。

真剣に一日何回判断でき、どこへ使うかを問う。不可逆で広い影響、初の対象や操作、異常を伴う依頼が通常の三種類だ。

日次予算、超過拒否、期限失効、未対応は拒否を設ける。

例外はない。時間切れ許可は必要時の不在を保証する。

17
AI が間違えたとき、損失を負うのは誰か?

具体的な計算になる。

配置した人が負担する。 第33章のとおり責任は移らない。

最悪損失を数字にする。 残高、累積と反応窓、許可総額の最小を取る。

受け入れられる損失と比較する。 厳しそうな文書を判断できる数字へ変えるのが全体の意味だ。

章末チェック

要点

エージェントウォレットの核心は署名能力ではなく、支出方針と上限にある。

この章の実践課題を終えたらチェックしてください進捗をすべて見る

このページの内容