著者:ディープセーフ・リサーチ
2025年3月25日、PolyMarketが予言マシン操作の攻撃を受けたというニュースが注目を集めました。以前プラットフォーム上で行われた「ウクライナが4月までにトランプと鉱物取引に調印するかどうか」というベッティングプールでは、約700万ドルのベットが集まり、3月25日前夜の時点では。いわゆる鉱物取引は調印されなかったが、クジラがPolyMarketのUMA予測マシンへのアクセスを操作し、鉱物取引が調印されたと判断させ、多くの人が損失を被った。この話は世論によって煽られ、多くの議論の的となっている。UMAの予言マシンは、保有者が現実のイベントの結果について投票することを可能にし、より多くのトークンが「Yes」で投票された場合、予言マシンの操作攻撃のこの古典的なケースは、UMAの予言マシンは、保有者が現実のイベントの結果について投票することを可能にします。予言マシンは、より多くのトークンが「はい」で投票された場合、その出来事が起こったと判断する。大量のUMAトークンを保有するクジラは、3月25日に複数のアドレスを通じて合計約500万UMAトークンを投下し、それによって「Yes」という白黒逆転の結果を強引に成立させた。
注目に値しますPolyMarketが同様の問題を起こしたのはこれが初めてではないということです。ベネズエラの次期大統領をエドムンド・ゴンザレスと見誤ったり、イーサリアムETFが承認されると見誤ったりしたのは、PolyMarketの最初の同様の予言者操作の事例である。ウクライナの鉱物取引の結果に賭けたことが最も影響力があった。
鉱物協定誤判定事件の余波で、利害関係者が強い不快感を表明する中、Polymarketの関係者はDiscord上で次のように回答した。PolyMarketのシステム技術的な不具合によるものではないため、被害を受けたユーザーへの返金は行わず、UMAチームと協力して機構設計を最適化し、風力制御を強化することだけを約束した。この対応は多くの人に「行動しなかった」と認識され、UMAの信頼性にも疑念を抱かせている。UMAは主に、あらゆるタイプのオフチェーンイベントに関する結果を押し付けるために使用される。その多くは、定量化できず、特徴付けることしかできない現実のイベントであり、例えば、前述の鉱物協定が締結されたかどうかなどである。このような複雑な事象を判断するには、信頼できる情報源が必要なだけでなく、その内容を理解し、推論する必要があります。UMAは、人間の介入によって複雑な事象を直接判断します。これは単純で残酷な方法であり、効果的ですが、いたずらの余地はたくさんあります。
現在、Story Protocol、PolyMarket、Across、Snapshot、Sherlock、その他多くの大きなプロジェクト関係者はすべてUMA予言マシンは、重要なデータソースとして、再びガバナンス攻撃によって、損失の背面に関与する損失は些細なことではないでしょう。しかし、技術的な手段でUMAの問題を解決したい場合は、何をすべきか?

UMAの悪意ある投票者に対する罰則が軽すぎる、罰則を強化すれば悪意ある投票を防げると主張する人もいるが、この考えはいわゆる「罰する側」に権力を移譲するものであり、罰のプロセスは前回の記事の投票に賭けるよりも中央集権的になるかもしれない。本質的には、狼から虎をおびき寄せる方法なのだ。
現実の世界では、地方政府と中央政府のパワーバランスや、悪に対する罰の仕組みはまだまだ貧弱であり、汚職や怪しげな行為が横行するWeb3では、「人治」の効果は期待できない。人間の支配の問題そのものを解決するために人間の支配に頼ることは、容易に「自力更生」につながる。合理的な技術的手段によってのみ、正しい出口を見つけることができるのだ。
この記事では、ディープセーフ・リサーチがUMAの予測マシンの契約コードを分析した。契約コードを分析し、その問題点を関連文書とともに紹介する。同時に、AI AgentとDeepSafeの既存技術を組み合わせたソリューションを考案し、大規模な言語モデルを使用して現実の複雑な事象を判断しようと試みました。
私たちは、楽観的/挑戦的モデリングとAIエージェントのパワーを組み合わせるだけで新世代のインテリジェントな予言者を構築することは十分に可能だと考えています。あらゆるオフチェーンメッセージを検証し、プッシュすることができるこの機能の実用化に成功すれば、スマートコントラクトとオフチェーンの世界との効率的な相互作用が実現し、前例のないシナリオと幅広い市場が開かれる可能性が非常に高い。

UMA楽観的予言マシンのワークフローとコード分析
インテリジェントな予言者を実装するというアイデアをよりよく理解するために、UMA予言者の詳細な議論から始めましょう。UMAの正式名称はです。strong>ユニバーサル・マーケット・アクセスで定義されています。span>予言マシンサービス「オプティミスティック・オラクル」は、世界初の試みです。strong>任意のイベントに関するデータをDAPPに提供する。簡単な根拠は以下の通りです:
次の場合はどうでしょう。UMAにトランプが大統領に選出されたかどうかを決定させたい場合、質問/リクエストを投稿し、見返りに賞品を提供することができます。その後、質問に対する答えが「主張者/提案者」と「挑戦者」によって争われます。
UMAはDVMと呼ばれる仲裁モジュールを設置し、主張者/提案者が答えを投稿し、挑戦者がそれに挑戦する。正解と不正解。投票の結果、主張者が悪だと判断されれば、システムは彼を罰し、挑戦者に報いる。正しく投票した人も報われる。

(UMA最適化提案者V3のワークフローの概略)
上記モデルにおける最適化提案者アサータ/プロポーザが正直であり、そうでなければ罰せられると仮定すると、このモデルは「楽観的予測機械」と呼ばれる。上図はOptimistic Prophet V3のワークフローを示している。
現在PolyMarketは、PolyMarketのはるかに大きなバージョンをベースにしています。PolyMarketはOptimistic Oracle (OO) V2の初期バージョンを使用しています。 OOV2とOOV3の一般的な原則は同じですが、実装の詳細には多くの違いがあります。PolyMarketはOOV2を使用しているため、以下ではV2の実装の詳細に焦点を当てます。
OOV2では、予測マシンに質問への回答を求める場合、関連するパラメータを指定してrequestPrice()関数を呼び出します。質問が投稿された後、第三者提案者に回答を求め、チャレンジ期間に入ります。チャレンジ期間がチャレンジなしで終了した場合、提案者の回答がデフォルトで正しいことになります。
V3では、質問を投稿した人が提案者にもなり、質問と回答を同時に送信します。質問と回答は同時に、直接チャレンジ期間に送信されます。span leaf="">前述のように、ユーザーが最初にrequsetPrice()関数を呼び出して問題の情報を与えなければならないOOV2では、最も<重要なパラメータには、identifierとancillaryDataがあります。
identifierは質問のタイプを宣言するために使用されます。典型的なバイナリの質問では "YES_OR_NO_QUERY "で識別され、定量データ型の質問では他の識別子が識別されます。ancillaryDataの付帯情報は、"Will Trump be elected the President of the United States in 2024? "のように、自然言語で質問の詳細を記述します。
識別子と補助情報に加えて、質問を提出したときのタイムスタンプ、支払う意思のある報酬トークン、報酬額なども宣言する必要があり、これらはすべて予測マシン契約に一緒に提出されるパラメータです。

上記のデータを受け取ったOOV2コントラクトは、_getId()関数を呼び出し、「質問者のアドレス、識別子、補助情報、タイムスタンプ」の4つのパラメータを持つハッシュ値を計算し、質問のIDとしてチェーンに記録します。番号としてチェーンに記録されます。

その後、コントラクトはRequestPriceというイベントをスローし、誰かが新しいissueリクエストを投稿したことをチェーン下のリスナーに知らせます。現在、回答を待っているこれらの質問を表示するための公式UMAフロントエンドUIも付随しています。


提案者が回答を提出
質問が投稿され、誰も答えを出さなかった場合
の場合、誰でもを呼び出すことができます。proposePriceFor()またはproposePrice()関数を呼び出して回答を与えることができます。
回答提案者は入金を誓約しなければならないことに注意してください。提案されたステータスに変わります。一歩遅れた他の提案者は、その回答が却下されます。span leaf="">その後、OOV2コントラクトはProposePriceと呼ばれるオンチェーンイベントをスローし、提案者が質問に対する回答を提出したことを外部に通知します。その後、公式UMA UIは "Verify "セクションに質問をファイルし、質問の詳細を公表し、コミュニティメンバーに回答を確認するよう呼びかけます。



OOV2とは異なり、""を使用している。OOV3はエスカレーション・モジュールを追加します。Managers モジュールが追加され、プロジェクト関係者がホワイトリストを事前に設定し、ライセンシングに切り替えることができるようになりました。

ディスピュータに関する質問の回答
OOV2の作業プロセスを紐解いていきましょう。を紐解いてみよう。誰かが質問の答えに同意できない場合、disputePriceFor()関数を呼び出してチャレンジを開始することができます。挑戦者はマージンを誓約しなければならず、後の投票判定で挑戦者に非があると判断された場合、挑戦者にペナルティが課せられます。
問題は一度しか挑戦できないので、最初の挑戦者の行動だけが成功することに注意することが重要です。

質問に挑戦できるのは一度だけです。span leaf="">その後、コントラクトは、論争中の問題をDVM仲裁モジュールに引き渡し、requestPrice()と呼ばれる関数を呼び出します。DVMモジュールのメイン・コントラクトであるVotingV2にも呼び出しが送られ、issue情報が渡され、投票判定プロセスが開始されます。


DVM仲裁モジュールを搭載。: left;">VotingV2コントラクトは、投票判定待ちの課題をPendingPriceRequsetIdsキューに挿入し、その後コントラクトは、投票すべき新しい課題があることを外部に通知するイベントをスローします。その後、公式UMA UIは、質問に対する答えが問題視され、投票が必要であることを外部に公表します。


UMAの公式要件によると、投票者はまずUMAトークンを誓約しなければならない。UMAの公式要件によると、投票者はまずUMAトークンを誓約し、その後、問題が解決されるように投票を行う必要があります。UMAの誓約に対するAPYは現在最高で約20%であり、UMAはAPYを高く維持し、トークンを誓約して投票するユーザーを引き付けるために、トークンを追加発行し続ける。
プレッジ参加者の不作為を防ぐため、プレッジ参加者が投票しなかった場合、1問のミスごとにプレッジされたトークンの0.1%が没収され、さらに答えが最終的な答えと一致しなかった場合は、プレッジされたトークンの0.1%(以前は0.1%)が没収されます。0.1%(以前は0.05%、2024年後半にペナルティが0.1%に引き上げられた)。
また、意図的に誰かの投票傾向に影響を与えることを防ぐため、UMAは"Commit-Reveal" 2段階プライバシー投票システムを採用しています。コミット段階では、投票者は自分の投票意図を明かすことなくハッシュをチェーンに提出する。そのハッシュが以前に提出されたハッシュに関連付けられていることを証明するための情報を提供する。
言い換えれば、投票中は他人の投票を直接見ることはできず、投票ウィンドウが終了した後にしか見ることができません。
UMAコードによると、コミットフェーズでは、投票者はcommitVote()関数を通してハッシュをチェーンにアップロードしなければなりません。というパラメータが含まれています。
バイナリ定性的なシナリオでは、priceはTrue/Falseの可能性がありますが、フィード価格のようなシナリオでは、priceは数字になります。
さらに、ハッシュ値を生成する入力には、連鎖した乱数ソルトが含まれています。他の人がコミット段階であなたの入力を推測できない限り、あなたのPRICEが何であるかはわかりません。

その後、公開フェーズでは、投票者はrevealVote関数()を呼び出す必要があります。span leaf="">契約は、あなたの入力があなたが以前に提出したハッシュと一致するかどうかを検証します。検証をパスすると、投票がカウントされます。

Revealウィンドウが閉じると、カウントは自動的に終了し、、当然のことながら、ワークフロー全体が終了に近づきます。しかし、EVMシステム内のスマートコントラクトはアクションを開始できないことに注意してください。終了フェーズでは、誰かがsettle()とsettleAndGetPrice()関数を呼び出す必要があります。(解決済み)(解決済み)ステータスが表示され、質問の答えが関数呼び出し元に返されます。
もちろん決済する前に、スマートコントラクトはチェーン上の投票集計に基づいて正しい答えが何かを決定します。前述したように、Voterは投票判定の段階でPRICEを提出しますが、これはカスタマイズされたものです。スマートコントラクトは、どの価格が最も多くの票を集めたかをカウントし、その価格を有効な答えとして使用します。
そして、投票の具体的なカウントに関しては、単純に投票参加者が誓約したトークンの量をカウントします,1UMAトークンが1票とカウントされ、これが機能するためには十分な数の票が集まる必要があります(現在のデフォルトの条件は、参加票の総数が500万票以上であり、誓約された状態のUMAの65%以上が同じ答えに賛成であることです)。
その後、契約は投票結果に基づいて提案者/ディスパッチャ、投票者に報酬やペナルティを与えることができます。これは誰かが updateTrackers() 関数を呼び出す必要があり、通常はこの操作をトリガーする専用の Keeper ノードが存在します。span leaf="">さらに、誰も提案者に異議を唱えない場合、投票判定は行われる必要がなく、OOV2コントラクトは、VotingV2コントラクトの介入なしに、質問の投稿から回答の確定までの全プロセスを独自に行うことができ、これはUMAの設計上の単純さである。
UMAの問題点は何ですか?
1.UMAのセキュリティモデルは、明らかに公式の決まり文句に沿わない
1.UMAのセキュリティモデルは、明らかに公式の決まり文句に沿わない
1.style="text-align: left;">UMAのホワイトペーパーやMediumの文書の中で、UMAの関係者は、セキュリティの前提は、悪を行うためのコストであると主張しています。そして次のような例を挙げています:
投開票攻撃による利益の総額が1億ドルだと仮定すると、安全性を確保するためには、51%の票を得るためのコストを長期にわたって1億ドル以上に保たなければならない。しかし、現実を踏まえれば、UMAトークンのピークは40ドル以上であったのに対し、現在のコイン価格はわずか1.3ドルであり、95%以上下落しています。プロジェクト側は明らかに効果的な保護を行っていませんでした。
第二に、UMAの不正投票に対するペナルティは非常に低いため(現在のペナルティはわずか0.1パーセント)、投票者が不正な結果を提出する可能性は常にあります。攻撃が成功すれば、その後にコインを売ることができるため、実際の悪のコストは前述のセキュリティモデルには従わない。
理論的には、攻撃者はコインを直接買わなくても、リースのような方法(ビットコインが賄賂やマイニングマシンのリースによって51%攻撃を開始したのと同様)によって投票者を勧誘することができます。コインを購入し、超50%の誓約されたトークンを獲得するコストは、UMAの公式見積もりよりもはるかに低いはずです。
さらに、2025年5月のデータに基づいて、UMAは公式に投票しきい値を65%に引き上げました。2,400万トークンで、約1,560万トークンをコントロールする攻撃者は予言マシンを操作することができ、現在のUMA単価1.3で、これらのトークンは約2,000万ドルの価値があります。
そして、自己宣伝のUMAウェブサイトによると、UMA予言マシーンによってアクセスされる複数のプラットフォーム上の合計14億ドル以上の資産で、悪の潜在的利益は明らかに悪のコストをはるかに上回っていることは明らかである。

2.UMAの個人情報保護投票は効果が限定的
UMAの「Commit-Reveal 2段階プライバシー投票」は、Gitcoin上のAustin Thomas Griffithという人物のアイデアのコピーです。投票を暗号化し、終了時に復号化するこの方法はプライバシーを保護しますが、UMAは過小投票を防ぐために「ロール」メカニズムを追加しました。
このラウンドで十分な票が集まらなかった場合、別のラウンドの投票が追加され、新しい投票者は前のラウンドで復号化された結果を見ることができるようになります。ここにいたずらの余地がある。
ここで、あるシナリオを想定してみましょう:現在の誓約済みUMAが合計2000万だと仮定すると、1000万票を持つ回答は、(1)、(2)、(3)を確定することができます。1つの誓約UMAは1票です)、質問は「2025年にマスクは暗殺されるか」です。
1回目の投票が終わった時点で、YESが800万票、NOが800万票で、この時点でどの回答も1000万票の基準を満たさず、自動的に2回目の投票となる。この時点で残りの400万票がクジラによってコントロールされているのであれば、彼は事実を尊重するためではなく、私利私欲のためにどんな答えにも投票することが完全に可能なのである。
プライバシー投票が機能するのは、最初の投票サイクルで十分な票が集まった場合だけであり、そうでない場合はプライバシー保護がないことは明らかです。
さらに、最初の投票ラウンドの間、チェーン上で誰かの意図を観察することは不可能ですが、操作者がソーシャルメディアで特定の結果に対して大量のトークンを投票することを発表したり、コミュニティの感情的なレベルで炎をあおったり、他の大企業と内々に結託したりすることは十分に可能です。
ウクライナの採掘協定ベッティングケースでは、500万UMA(誓約された国家UMAの約25パーセント)で最終的な答えを決めたのはborntoolateというクジラだとメディアで広く想定されていた一方で25パーセント)が最終的な答えを決めたが、実際にはその背後には私的な陰謀があったのかもしれない。つまり、UMAに関するプライバシー投票は、問題の根本原因ではなく症状を治療するものであり、悪に対抗する効率的な方法ではありません。

また、悪意のある有権者を罰するために役人が介入することが許されるのであれば、ますます起動の渦に深く沈んでいくだけだ。この記事の冒頭で、もし悪意のある有権者を罰するために手作業で介入する形であれば、人の支配の問題を解決するために人の支配を利用することであり、そこには多数の情報源と権力の分配のジレンマが関与しており、結局はあきらめた方が良いということを指摘した。
解決策:人間をAIエージェントに置き換える
上記のペインポイントに対応するため、業界は予言マシンの裁定作業を行うAIエージェントの導入を想定し始め、人間の投票統治への依存を減らしている。しかし、AIエージェントの主な欠点は、幻覚を見やすいことである。チェーンリンクの公式テスト結果によると、GPT-4oを使用したAI予言マシンは、複雑な政治事象を判断する際の正答率が約84%である。非常に高い精度を達成することはまだできません。この値は、大規模なモデルの反復によって改善されますが、エラーはまだ発生する可能性があります。

まだ極めて高い精度を達成できていません。span leaf="">これを受けて、ディープセーフDeepSafeDeepSafeチームは、分散型認証を使って以下のことが可能だと考えています。span text="">個々のAIエージェントのエラーを防ぎます。DeepSafeの既存の分散型検証ネットワークであるCRVAと組み合わせることで、各CRVAノードを大きなAIモデルの通常のディープサーチ機能と組み合わせることができます。
例えば、CRVA1ノードはdeepseekを統合し、CRVA2ノードはchatgptを統合し、CRVA3ノードはgrokを統合することで、すべてのノードが独立したAIになります。CRVAノードは独立したAIエージェントになり、最終的には分散型検証の結果として、各AIエージェントから提出された質問に対する回答の加重平均を実行します。span leaf="">具体的には、CRVAネットワークは、暗号化された抽選アルゴリズムを通じて、複数のノード構成要素から提案者のグループをランダムに選択し、これらの提案者は、「検証可能な推論パス」と呼ばれる結果を提出する際に、十分な推論プロセス、コンテキスト、中間証拠を与えなければならない。"この情報に基づいて、CRVAネットワーク内の他のノードはローカルAIモデルを呼び出し、自ら推論プロセスをレビューすることができる。最後に、すべてのノードは提案者によって発行された答えに署名することができ、こうして分散型検証が達成される。
(CRVAの紹介資料:unibtc凍結事件から学ぶトラストフリーホスティング)。重要性)
さらに、以下のようなデザインも取り入れることができます。前述のUMA予言マシンの設計を取り入れることができます。人々は通常の状況で投票し、CRVAは介入しませんが、結果が操作されたと信じる人がいれば、AIとCRVAが介入して結果をチェックし、間違って投票した人に重いペナルティを与えることができます。
AIの判断と潜在的に大きなペナルティを恐れ、投票者は間違った答えに再び投票することを恐れるはずです。中央集権的な悪のリスクは、CRVAネットワーク自体が高度に分散化されており、人間の統治よりも中立的であるという事実によって、ほぼ相殺することができる。