MSTR Cat

ブロックチェーン/レベル IX · スピードとスペクタクル/9.2 公正な市場/レッスン 1

市場不正行為の分類

6層の攻撃と、コードで本当に解決できるもの

用意するものブロックエクスプローラーのインターフェース1つのトークンコントラクトの検証済みソースコード攻撃ベクトルをマッピングするためのノートブックコントラクトのソースコードを閲覧できるブロックエクスプローラー

問い

  1. パーミッションレスであるはずのトークンコントラクトに、なぜ管理者キーが必要なのか?
  2. 全く同じ2つの取引が、どちらが先に送信されたかによって異なる価格になるのはなぜか?
  3. コードでソーシャルエンジニアリングを防げないのなら、市場のどの部分が脆弱なまま残るのか?

探究

    パート I市場の不正行為の分類

  1. 市場の不正行為は6つのレイヤーに分かれ、それぞれが特定の構造的な弱点を突く。コントラクト層には、ミントやフリーズといった保持された権限が関わる。市場構造層には、流動性の薄いプールやカーブの設計が含まれる。順序層はトランザクションの並び順を悪用し、偽アクティビティ層は取引量やホルダー数を水増しする。ソーシャル層はなりすましによって信頼を操作し、ウォレット層はフィッシングによって資産を抜き取る。各レイヤーは4つの防御者(コード、市場設計、暗号技術、人)のいずれかによって防がれ、このレベルでは、それぞれに対するツールがすでに存在することを示す。このレベルは開発者とユーザーの双方に向けて書かれている。
  2. コントラクト層は、盗難がしばしば始まる場所である。開発者がミント権限を保持していれば、いつでも新しいトークンを発行し、既存のホルダーを犠牲にして売却できる。フリーズ機能を使えば特定のウォレットの売却をブロックでき、事実上資金を閉じ込めることができる。アップグレード可能なプロキシにより、開発者はローンチ後に基盤となるコードを差し替えられる。これらはバグではなく、攻撃対象領域を生み出す機能である。これらのキーを取り除けば脅威は消えるが、重大なエラーを修正したり緊急事態に対応したりする能力も失われる。
  3. 順序攻撃は、トランザクションの順序が決まる前に保留中のトランザクションを見ることができる者によって行われる。フロントランニングとは、トレーダーが保留中の注文を見て、より高い手数料を付けた自分のトランザクションを送信し、先に実行させることである。サンドイッチ攻撃とは、被害者の大口スワップの直前に買い、直後に売ることで、そのスワップが引き起こす価格インパクトから利益を得る手法である。こうした損失は、より不利な約定価格を受け取る一般のトレーダーが負担する。スリッページ制限は起こりうる損失に上限を設けるが、攻撃そのものを防ぐわけではない。
  4. ローンチ攻撃は、先着順の価格決定におけるスピードを悪用する。スナイパーはローンチの最初のブロックでトークンを購入し、多くの場合、複数のトランザクションをまとめてアトミックに取り込ませるためにバンドルを利用する。シビルウォレットを使えば、1人の主体が多数のアドレスを操作でき、保有の集中を隠しつつウォレットごとの報酬をファーミングできる。これらの攻撃は、アドレスを安価に作成できることと、保有量に比例しない報酬構造に依存している。検出には通常、事後的な資金フローグラフの分析が必要となる。
  5. 偽のアクティビティは、注目を集める指標を水増しする。ウォッシュトレードとは、自分のウォレット同士でトークンを売買し、人為的な取引量を作り出す行為である。ボリュームボットはトレンドリストを駆け上がるために売買を繰り返し、ダストの散布は偽のホルダー数を作り出す。すべての取引に手数料がかかればウォッシュトレードは高くつくが、トレンドのアルゴリズムがユニークウォレットを重視する場合、シビル攻撃は利益を生む。こうした歪みは、本当の市場の関心について投資家を誤解させる。
  6. ソーシャル層は、コードではなく人間の信頼を悪用する。開示されない有料プロモーション、公式アカウントのなりすまし、組織的なパンプ・アンド・ダンプには、技術的な脆弱性は一切必要ない。フィッシングサイトや悪意のある承認は、ユーザーのウォレットから直接資産を抜き取る。コードはオンチェーン履歴の検証を通じてこれらの攻撃を可視化できるが、防ぐことはできない。これらの脅威はコントラクトのロジックではなく、人の行動の中にある。
  7. パート IIコードで直せること、直せないこと

  8. コントラクトのロジックが、何が可能かを決める。コードに管理者だけが使えるミント関数が残っていれば、そのキーは恒久的な攻撃対象領域であり続ける。ミント権限を完全に取り除けば、制御不能なインフレのリスクはなくなる。同様に、売却税の変数やフリーズ関数を削除すれば、ハニーポットやブラックリストの悪用を防げる。これらは二者択一である。権限は存在するか、しないかのどちらかだ。
  9. 市場構造が実行順序を決める。逐次処理では、ブロック内で最初の買いが最良の価格を得る。バッチクリアリングの仕組みは、一定の時間枠内のトランザクションをまとめ、すべてを単一の均一な清算価格で実行する。これにより、バッチ内でのフロントランニングやサンドイッチは無力化される。すべての注文が同じ価格になるため、先に入ることも、他人の注文を挟み込むことも、何の利益も生まないからだ。
  10. 一部のリスクは抑えられるが、なくなりはしない。供給量の40%を保有する作成者がそれを売り浴びせれば、価格が暴落し初期の購入者が損をする。コードで作成者の保有分をロックしたりベスティングを設けたりはできるが、ロックされていないホルダーの売却を止めることはできない。これは窃盗とは異なる市場リスクである。また、より早いブロックで買うことが依然として得になる場合もある。設計者は、大口ホルダーによるボラティリティがパーミッションレス市場に内在する特性であり、修正すべきバグではないことを受け入れなければならない。
  11. ソーシャルエンジニアリングはコードベースの外にある。フィッシングリンク、なりすましアカウント、有料プロモーションは、計算上の脆弱性ではなく人間の信頼を悪用する。インフルエンサーがトークンをコールする前に自分の保有を開示したかどうかを検証できるスマートコントラクトは存在しない。これらの攻撃は状態遷移ではなく注意と信念の上で機能するため、技術的なセキュリティとは無関係に続く。
  12. 誠実な設計文書は、どの攻撃クラスがコードによって排除され、どれが市場メカニズムによって無力化され、どれが人間の行動に起因するものとして取り除けずに残るかを列挙する。そこには「ミントの悪用は不可能。サンドイッチ攻撃はバッチ処理によって緩和される。フィッシングは引き続き個人のセキュリティ上の責任である」と明記される。この透明性によって、ユーザーは完全な安全を前提とするのではなく、自分のリスクを正確に見積もることができる。
  13. ソースコードが検証済みのEVMトークンについてブロックエクスプローラーを開き、`mint`、`pause`、`owner`といった関数を探す。Solanaでは代わりに、ミント権限とフリーズ権限、そしてプログラムのアップグレード権限を確認する。これらの関数が誰でも呼び出せるのか、特定のアドレスに制限されているのかを確かめる。そのような関数が存在せず、コントラクトがアップグレード不可能であれば、それらの攻撃ベクトルは単に無効化されているのではなく、構造的に存在しない。

重要な事実

  • コントラクト層の不正には、開発者が保持するミント、フリーズ、アップグレード可能なプロキシが含まれる。
  • サンドイッチ攻撃は、ブロック内で被害者の大口スワップが引き起こす価格インパクトから利益を得る。
  • シビルウォレットにより、1人の主体が複数のアドレスを操作し、ウォレットごとの報酬をファーミングできる。
  • ウォッシュトレードは取引量の指標を水増しするもので、多くの場合、同一の主体が管理するウォレット間で行われる。
  • フィッシングのようなソーシャル層の攻撃はユーザーの信頼を悪用するもので、コントラクトのコードだけでは防げない。
  • 管理者キーを取り除くと特定の攻撃ベクトルはなくなるが、緊急時のメンテナンス能力も失われる。
  • コントラクトのコードからミント権限を取り除くことで、制御不能なインフレという攻撃ベクトルがなくなる。
  • バッチクリアリングはバッチ内のすべての注文に同じ価格を与えるため、その中で先に入る優位性がなくなる。
  • 売却税とフリーズ関数はハニーポットを可能にする。これらがなければその経路は消えるが、ブラックリスト、送金上限、隠されたロジックでも同じことができる。
  • 作成者による売却は窃盗ではなく市場リスクであり、ホルダーの権利を制限しない限り、コードで防ぐことはできない。
  • フィッシングやなりすましは人間の信頼を悪用するものであり、プロトコル設計によって取り除くことはできない。
  • 誠実な設計文書は、リスクを「排除済み」「無力化済み」「取り除けない」のいずれかに明確に分類する。

演習 九・六・三・一

9集める市場の不正行為を9種類挙げてください。それぞれがどのレイヤー(コントラクト、構造、順序、アクティビティ、ソーシャル、ウォレット)に属するかも記してください。
6まとめる9つの不正行為を、それぞれを阻止できる防御の種類によって6つのグループに分けてください。
3絞り込む6つのグループを、技術的な安全策があるにもかかわらずこれらの攻撃がなくならない3つの根本的な理由に絞り込んでください。
1結晶化するパーミッションレスな市場が攻撃対象領域を一切持たずにいられるかどうかと、その理由を1文で書いてください。

事実確認

日付、数字、主張は、下記に記載された公表資料と照合して確認しました。

インタラクティブ版で開く →

EN PT ES ZH KO RU DE FR MS