Polymarket V2がリリースされましたが、幽霊注文は修正されましたか?

robot
概要作成中

オリジナル | Odaily 星球日报(@OdailyChina

著者 | Asher(__@Asher 0210_)

昨夜、Polymarketはメンテナンスウィンドウに入り、取引を一時停止し、注文簿をクリアした後、正式にCLOB V2をリリースしました。

公式の事前発表によると、今回のアップグレードには新しいコントラクト、新しい注文簿、新しい担保トークンPolymarket USD、そして新版のCLOB-Client SDKが含まれています。ユーザーにとっては、PUSDやSDK、注文構造の変化はすぐに明確に感じられるものではないかもしれません。本当に最初に注目すべきは、長らくPolymarketを悩ませてきたGhost Fills、いわゆる“幽霊注文”の問題です。

V2は確かにこの問題に対処しています。これまで最も悪用されやすかったnonceメカニズムを廃止し、注文構造や取り消し方法も変更されました。しかし、これだけでは幽霊注文が完全に消えたわけではありません。なぜなら、Polymarketのコアな取引モデルは依然としてオフチェーンのマッチングとオンチェーンの決済に依存しており、この二つの間に時間差がある限り、類似の問題を完全に排除するのは難しいからです。

注文が成立しているように見えても、なぜ最終的に失敗するのか?

いわゆる幽霊注文とは、簡単に言えばオフチェーン上ではすでにマッチング成功と見なされているが、最終的にオンチェーン上で決済されていない注文のことです。

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はあくまで第一歩――最も明白で悪用されやすい問題を解決し、その後もアップデートを通じてマッチング、決済、監視、リスク管理の能力を補完していくことが求められます。

予測市場は本来、不確実性を取引する場です。もし注文自体も不確実性に満ちていると、ユーザーが直面するのは市場リスクだけでなく、システムリスクも含まれることになります。

関連コンテンツ

詰まったPolymarket:流量の恩恵を超えた本当の試練がやってきた

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
コメントを追加
コメントを追加
コメントなし