本文へ移動

DeFiプロトコルの緊急一時停止

緊急一時停止は、インシデント調査中に特定のスマートコントラクト操作を停止します。範囲、権限、オンチェーン証拠、退出経路、再開条件の確認方法を解説します。

更新日

教育目的の参考情報であり、投資助言ではありません。投資により損失が生じる可能性があります。

直接の答え

緊急一時停止は、運営者がインシデントを調査または封じ込める間、選択された操作を遮断するスマートコントラクト制御です。それだけで資金喪失を証明したり、資金を回収可能にしたり、全機能を止めたりするものではありません。入出金、借入、返済、清算、スワップ、送金、発行、アップグレードへの影響は、デプロイ済みコードで決まります。

OpenZeppelinのPausableは、一時停止状態、whenNotPausedwhenPaused修飾子、Paused(account)Unpaused(account)イベントを提供します。プロトコル側でこれらを個別機能に接続し、一時停止と解除の入口を保護する必要があります。独自の複数フラグ、市場別凍結、上限、状態機械を使う場合もあります。

一時停止はインシデント対応手段であると同時に特権です。正確なコントラクトとチェーン、現在状態、発動取引、呼出者、ロール保有者、利用可能な機能、停止中の会計、再開条件を確認してください。ウェブサイトの無効なボタンは権威あるオンチェーン証拠ではありません。

仕組み

  1. 契機を検知します。 監視、貢献者、監査人、利用者がコード欠陥、オラクル障害、異常な残高変化、ガバナンス攻撃、市場混乱を発見します。
  2. 権限のあるアカウントが取引を送信します。 所有者、ガーディアン、マルチシグ、アクセス制御ロール、ガバナンス実行者、別コントラクトなどです。名称は権限ではありません。デプロイ済み認可経路とプロキシ管理者を調べます。
  3. コントラクト状態が変わります。 全体スイッチは保護対象の全機能を止め、細かな制御は一市場または一操作だけを止めます。該当チェックのない機能は動き続けます。
  4. 状態とイベントが証拠になります。 停止変数またはgetter、取引入力、レシート、イベント、ブロック時刻、呼出者を読みます。イベントは履歴を示しますが、現在のストレージが現状を決めます。
  5. 会計は続くことがあります。 金利指数、資金調達、報酬、オラクル更新、出金キュー、清算時計は、継続、凍結、後日の追いつきのいずれもあり得ます。共通仕様はありません。
  6. 対応と修復を進めます。 運営者は調査、連絡、ロール取消、パラメータ変更、コード更新、不足補填、緊急出金を行えます。各操作には個別の権限とオンチェーン確認が必要です。
  7. 再開は別の特権操作です。 誰が解除できるか、タイムロックや投票の有無、コードと設定の変更、テストや監査の範囲、旧承認や旧コントラクトのリスクを確認します。

ブロックエクスプローラーと検証済みソースまたはバイトコードで、操作、アドレス、停止条件、現在の可否、権限者、残高や債務への影響を表にします。既存ドメイン、ガバナンスフォーラム、公式アカウントで告知を照合し、インシデント中に現れた返信や広告を信用しないでください。

融資プロトコルの担保オラクルが参照市場から30%乖離したとします。ガーディアンは新規借入と清算を止め、返済と担保追加は維持しました。新規リスクと疑わしい価格での清算を抑えますが、出金、利息計上、他の全市場まで停止した証拠にはなりません。

利用者は、ガーディアン取引、市場アドレス、停止フラグ、オラクル状態、準備金、債務指数、公式通知を確認します。画面に「プロトコル一時停止」としか表示されなくても、完全な機能一覧は判断できません。

その後ガバナンスが新しいオラクルを導入して市場を再開したら、実装とパラメータの変更、監査範囲、解除呼出者、取引後状態を確認します。再開は流動性、支払能力、通常の市場厚みの回復を証明しません。

リスク

  • 広すぎる権限。 停止キーがコード更新、オラクル変更、資産発行、準備金移動、ロール付与も行える場合があります。ガーディアンは停止だけだと決めつけず、権限を列挙します。
  • 侵害または不在の署名者。 盗難キーは悪意ある停止を起こし、不在または運用上相関したマルチシグ署名者は迅速な停止や再開を妨げます。
  • 隠れた迂回経路。 プロキシ管理者、モジュール、別入口、クロスチェーン実行者、未保護機能が制御を迂回することがあります。
  • 退出停止と継続債務。 出金が止まっても、利息、資金調達、キュー順位、その他の義務は変化し得ます。行動前に会計規則を読みます。
  • 危険な再開。 根本原因、デプロイ同一性、オラクル設定、準備金、依存統合の検証前に解除されることがあります。
  • インシデント中のフィッシング。 偽の「回復」「移行」ページはシードフレーズ、秘密鍵、署名、無制限承認を要求します。回復用秘密を渡さず、各アドレスと承認を独立確認します。
  • 誤った安心感。 一時停止が軽減するのは実際に保護する経路だけです。支払能力の証明、監査、保険、損失回収保証ではありません。

再び操作する前に、取引と告知を保存し、検証済みコードを稼働中のプロキシおよび実装と比較し、ロール変更とタイムロックを調べ、必要なら古い承認を取り消し、失ってもよい額で重要操作を試します。直接呼出しは壊れた画面を回避できますが、安全確認も回避します。calldataと状態を理解せずに行わないでください。

よくある誤解

  • 「一時停止は全資産の消失を意味する」。 予防措置の場合があります。残高、債務、準備金、対象機能を確認します。
  • 「画面が無効ならコントラクトも使えない」。 フロントエンドとコントラクト状態は別です。対象、機能、引数、結果を確認できる場合だけ直接呼出しを行います。
  • 「ガーディアンは停止しかできない」。 名称に標準権限はありません。ロール、所有者、モジュール、更新権限をオンチェーンで読みます。
  • 「停止中は時間も止まる」。 経済会計やキューは継続したり、累積変化を伴って再開したりします。
  • 「解除されたら修復済みで安全」。 再開は状態遷移にすぎません。修復、監査、支払能力、承認、流動性は個別確認が必要です。

関連トピック

出典

ナビゲーション

Wiki を検索...