Polymarket V2がローンチ、ゴーストオーダーは修正されたのか?
- コア見解:PolymarketはV2アップグレードにより、「ゴーストオーダー」問題の主因(nonceメカニズム)を除去したが、問題を完全に根絶したわけではない。オフチェーンでのマッチング、オンチェーンでの決済というモデルが変わらない限り、オーダーの不確実性は完全には解消されない。
- 重要ポイント:
- 「ゴーストオーダー」とは、オフチェーン上で約定済みと表示されながら、最終的にオンチェーンで決済されない注文を指す。主な原因は、オフチェーンのマッチングとオンチェーン決済の間にタイムラグが存在することにある。
- V1バージョンでは、攻撃者は incrementNonce メカニズムを極めて低いガス代で悪用し、既にマッチングされた注文をオンチェーン上で無効化することができ、ユーザーの取引結果を不安定にしていた。
- V2はグローバルなnonceメカニズムを廃止し、代わりに個別のオーダーハッシュによるキャンセルを採用。これにより、攻撃者が大量の注文を一括で破壊する影響範囲と収益性を大幅に抑圧した。
- V2は最も顕著な攻撃経路を修正したが、オフチェーンとオンチェーンの状態差(残高、承認、コントラクト実行など)は依然として存在し、「ゴーストオーダー」が発生する根本的な条件は変わっていない。
- その他のアップデートとして、担保型ステーブルコインPUSDの導入、新版CLOB-Client SDK、1271署名サポートが含まれており、システムの安定性と機関投資家の接続性向上を目指している。
オリジナル:Odaily 星球日报(@OdailyChina)
著者:Asher(@Asher_ 0210)

昨夜、Polymarket はメンテナンスウィンドウに入り、取引を停止してオーダーブックをクリアし、その後正式に CLOB V2 をリリースしました。
公式の事前発表によると、今回のアップグレードには、新しいコントラクト、新しいオーダーブック、新しい担保トークン Polymarket USD、そして新しい CLOB-Client SDK が含まれています。 ユーザーにとって、PUSD、SDK、注文構造などの変更はすぐに実感しにくいかもしれません。真に最初に注目すべきは、長年 Polymarket を悩ませてきた Ghost Fills、つまりコミュニティでよく言われる「ゴーストオーダー」問題です。
V2 では確かにこの問題に対処しています。これまで最も悪用されやすかった nonce メカニズムが削除され、注文構造と注文キャンセル方法も変更されました。しかし、これはゴーストオーダーが完全に消えたことを意味するわけではありません。なぜなら、Polymarket のコア取引モデルは依然としてオフチェーンマッチング、オンチェーン決済であり、これらの 2 つのプロセス間にタイムラグが存在する限り、同様の問題を完全に排除することは非常に困難です。
注文が約定したように表示されるのに、なぜ最終的に失敗するのか?
いわゆるゴーストオーダーとは、簡単に言えば注文がオフチェーンでは既にマッチング成功したように見えるが、最終的にオンチェーンで決済が完了しない状態を指します。
Polymarket は、オフチェーンでオーダーブックをマッチングし、その後オンチェーンで決済を完了するモデルを採用しています。この設計の利点は明らかで、取引速度が速く、コストが低く、5 分市場のような短周期・高頻度の予測市場に適しています。
問題はまさにこのタイムラグにあります。オフチェーンのオーダーブックが約定を示しても、オンチェーンでの決済が必ず成功するとは限りません。短周期の市場では、ユーザーは注文が約定したと表示され、自分が目的の方向性を購入できたと思い込むかもしれません。しかし、取引が実際にオンチェーンに送信された時点で、決済が失敗するのです。一瞬前には完了したように見えた取引が、次の瞬間にはシステムによって取り消されます。
ユーザーにとって、この体験で最も辛いのは単なる失敗ではなく、不確実性です。購入または売却が完了したと思い込んだのに、最終的には約定しません。再注文しようとした時には、価格が変動し、取引機会を逃している可能性もあります。
旧バージョンの問題は、注文キャンセルのコストが低すぎること
V1 では、ゴーストオーダーが最も悪用されやすい経路の一つが incrementNonce でした。 nonce は注文内の状態識別子として理解できます。本来はシステムが注文を管理するためのものでしたが、旧バージョンでは、攻撃者は incrementNonce を呼び出すことで、古い nonce を持つ特定のアドレスの注文をオンチェーン決済時に無効化できました。
これにより、攻撃者はタイムラグを利用した操作の余地を得ていました。攻撃者はまず注文をオフチェーンでマッチングさせ、システム上で「約定が発生した」と表示させます。その後、決済が実際にオンチェーンに上がる前に nonce を更新し、これらの注文の実行を最終的に失敗させます。結果として、一見完了したかに見えた取引が、実際にはオンチェーンで成立しません。
問題の核心は、この操作のコストが極めて低いにもかかわらず、多数の注文に影響を与えられる点です。攻撃者はわずかなガス代を支払うだけで、本来約定すべき注文を決済段階で失敗させることができます。 フロントエンドでは注文が先に約定し、後に失敗したように見え、実際には取引結果の不安定性を引き起こし、ユーザーが本来の約定価格や取引機会を逃す原因となります。
ゴーストオーダー問題は、単なるフロントエンドの表示エラーや、偶発的なオンチェーン失敗ではなく、ユーザーの取引結果に対する信頼に直接影響を与えるものです。
V2 は修正を行ったが、完全な根絶ではない
今回の V2 で最も重要な変更は、従来のグローバル nonce 設計を削除したことです。つまり、過去に incrementNonce によって一度に多数の旧注文に影響を与える方法は、塞がれました。同時に、V2 は注文構造を簡素化し、注文キャンセルもより細かい粒度の個別オーダーハッシュに移行しました。旧バージョンと比較して、注文キャンセルの影響範囲は明確に圧縮され、攻撃者が低コストの操作で大量の注文を破壊することは困難になりました。
これはゴーストオーダー問題に対する実質的な修正です。以前の問題は、攻撃コストが低く、影響範囲が広く、再現のハードルも低かったことにありました。V2 後、最も悪用されやすい経路は削除されました。攻撃者が引き続き同様の問題を引き起こそうとする場合、より高いコストを負担し、特定のシステム応答により依存する必要があります。さらに、pauseUser などのメカニズムに遅延が追加されたことも、マッチングと決済のウィンドウ内で特定の状態変化が即座に悪用される可能性を減らしています。
全体的に見て、V2 の方向性は明確です。まず最も攻撃されやすい部分に対処し、その後、同様の攻撃による利益の余地を減らすというものです。
しかし、これはゴーストオーダーが完全に解決されたと同義ではありません。 理由は、Polymarket がオフチェーンマッチング、オンチェーン決済という基本モデルを変えていないからです。注文が同一環境でマッチングおよび決済されない限り、オフチェーンとオンチェーンの間には常に状態差が存在します。残高変動、承認問題、注文状態の変更、注文キャンセル行為、またはコントラクト実行の失敗などにより、オフチェーンでマッチングされた注文が最終的にオンチェーンで成立しない可能性があります。
言い換えれば、V2 が解決したのは旧バージョンで最も顕著で悪用されやすい攻撃経路であり、ゴーストオーダーが発生する根本的な条件ではありません。
その他のアップデートは、取引システムの基盤を強化するため
ゴーストオーダー以外にも、V2 では PUSD、SDK、1271 署名などのアップデートが導入されました。
- PUSD は新しい担保ステーブルコインであり、Polymarket は USDC.e から USDC によって 1:1 で裏付けられた Polymarket USD に移行します。一般ユーザーはほとんど影響を感じませんが、基盤となる資産処理はより統一されます。
- 新版 CLOB-Client SDK は主にマーケットメーカー、ボット、システムインテグレーターを対象としています。V2 後、関連ユーザーはクライアントをアップグレードし、新しい注文構造で注文に再署名する必要があります。
- 1271 署名のサポートは、スマートコントラクトウォレット、マルチシグアカウント、機関アカウント、およびより複雑なボットウォレットが Polymarket にスムーズに接続できることを意味します。
総じて、Polymarket は単に脆弱性を修正しているのではなく、予測市場アプリケーションから、より取引所に近い基盤システムへと変貌を遂げています。 マーケットメーカー、API ユーザー、自動化トレーダーが増えるにつれて、注文が安定して約定、決済、履行されるかどうかが、「市場が十分に面白いか」よりも重要になります。
V2 は終着点ではなく、継続的な修正の始まり
V2 のリリースにより、Polymarket は少なくともゴーストオーダーの中で最も顕著な攻撃経路を塞ぎました。かつてのような低コストでの注文キャンセルや一括影響は、同じ方法では再現が困難になりました。急速に拡大する取引プラットームにとって、これは必須のステップでした。
しかし、ゴーストオーダーの背後にある根本原因は、一度のバージョンアップで完全に消えるわけではありません。Polymarket が引き続きオフチェーンマッチング、オンチェーン決済のモデルを採用する限り、システムはオフチェーンの状態とオンチェーンの結果の間の差異に継続的に対処する必要があります。V2 は最初のステップに過ぎません。まず最も顕著で悪用されやすい問題に対処し、その後のアップデートでマッチング、決済、監視、リスク管理機能を継続的に強化していくのです。
予測市場はそもそも不確実性を取引するものです。もし注文自体が不確実性に満ちているなら、ユーザーが直面するのは市場リスクだけでなく、システムリスクでもあります。


