コンテンツにスキップ

マーケットの清算

イベントの結果が判明すると、オラクルはアテステーション(結果のアナウンス)を公開します。このアテステーションにより、ミントは勝利トークンと敗北トークンを区別でき、勝利トークンは額面の全額で償還可能になります。

この一連の流れをマーケットの清算(Resolution)と呼びます

bitCasterは清算に既存のDLC(Discreet Log Contract)のインフラストラクチャを再利用しています。DLCオラクルはbitCasterについて何も知る必要はありません。他のDLCアプリケーションと同様に、イベントをアナウンスし、後でアテステーションを公開するだけです。

  • 特別な統合は不要 — 標準的なDLCオラクルならどれでもbitCasterマーケットに対応できます。
  • 既存のインセンティブ構造がそのまま適用 — 例えば、オラクルが矛盾するアテステーション(同じイベントに対して2つの異なる結果を証明)に署名すると、数学的にオラクルの秘密鍵が漏洩し、運営能力が破壊されます。
  • 責任の所在の明確化 — ユーザーは各マーケットの結果にどのオラクルが責任を持つかを常に正確に知ることができます。オラクルの公開鍵とイベント記述子は、トレードを行う前に確認できます。

オラクル問題へのアプローチについて

Section titled “オラクル問題へのアプローチについて”

予測市場の文脈において、オラクル問題とは、何をもって「正しい答え」とするのか、を確定するのが難しいというものです。

bitCaster では、既存のブロックチェーンベースのDEXとは異なるアプローチをとっています。

Polymarketのようなプラットフォームは、結果に異議を唱えてトークン保有者の投票で最終的に決定するUMAのオプティミスティックオラクルに依存しています。このアプローチには根本的な問題があります:

  • 紛争と投票は「オラクル問題」を解決せず、曖昧にする 明確に特定された当事者が現実を証明する代わりに、責任が分散された多層的なガバナンスプロセスが得られます。
  • 共謀リスク — UMAトークン保有者が共謀すれば、結果を操作できます。腐敗のコストは十分な議決権を取得するコストに過ぎません。
  • 本当のオラクルは1層深く隠されている。 PolymarketのマーケットはPoS(Proof of Stake)ブロックチェーンであるPolygon上に存在します。UMAトークン保有者がPOLステーカーが同意しない結果に投票した場合、ステーカーはチェーンをフォークできます。これによりPOLトークン保有者が究極の「オラクル」になりますが、ユーザーは彼らに対する直接的な救済手段を持たず、この依存関係の存在すら認識していない場合があります。
  • 複雑なインセンティブモデル — 参加者はマーケットがどのように解決されるかを理解するために、紛争保証金、投票ラウンド、エスカレーション期間、トークンエコノミクスについて推論する必要があります。

bitCasterのDLCアプローチは反対の立場を取ります:「結果に責任を持つ人を明確にする」というものです。オラクルは既知の公開鍵を持つ名前付きエンティティです。これはDLCのトラストモデルと同一です

bitCaster では、基本的にはMarket作成者が Nostr の秘密鍵を使ってDLCオラクルとして振る舞うようになっています。これにより、オラクルが嘘をついた場合や誤った答えを返した場合、NostrのIdentityに責任を求めることができます。信用情報は Nostr ネットワーク上に蓄積するので、監査が容易になります。

Nostr 経由の公開は監査可能性のために有用ですが、bitCaster がマーケットを閉じるために必須ではありません。作成者は署名済みのオラクルアテステーションをマッチングエンジンへ直接送信することもできます。エンジンは、マーケットに登録されたオラクル鍵に対して DLC オラクル署名を検証し、取引を終了します。つまりリレーは配送手段であり、信頼の根拠ではありません。

オラクルアテステーションが公開または直接送信されると、ミントは結果を処理し、マーケット自体も閉じます。それ以降は新規の注文や入金は受け付けられません。

例えば、YES/NO の二通りのアウトカムがあるマーケットの場合

  • 勝利トークンは額面の全額で償還可能になります。
  • 敗北トークンは無価値になり、スワップや償還ができなくなります。

マーケットを閉じるもう1つの経路があります。オラクルの発表したデッドラインが経過してもアテステーションが届かない場合、マーケットはデッドラインによって閉じます。勝利トークンの償還ウィンドウはマーケットごとではなくミントごとに設定され、そのミントが発行するすべてのマーケットに同じ長さが適用されます。期間はミントが vesting_period でコミットする値です。

初回リリースでは、アテステーションがない場合の事前決定済み返金規則を定義しません。ミント運営者は、公開したミントポリシーに基づいて返金結果を選択できます。ユーザーは取引前にそのポリシーを確認する必要があります。

償還とは、条件付きトークン(結果にロックされたCTFトークン)を自由に使える通常のecashトークンに変換することです

  • 初回リリースでは、対応ミントが発行した sat ecash が返されます。
  • 通常の sat ecash は、ミントが対応する BOLT11 Lightning 出金フローを通じて Bitcoin に償還できます。

ネイティブ daemon の在庫リタイア

Section titled “ネイティブ daemon の在庫リタイア”

ネイティブ daemon は、ユーザーがリタイアを承認するまで、結果確定済み condition の proof を保持します。アクションと mint 手数料を確認するには、bitcaster-cli wallet retire-condition <condition-id> を実行します。勝利 proof を償還するには、--acknowledge を追加します。daemon は、敗北 proof または経済的に償還できない proof を監査記録として表示可能な状態で保持します。

~/.bitcaster/config.jsondaemon.autoRetireResolvedConditionInventorytrue に設定できます。この設定は、daemon が検証済み oracle attestation を受信したときに、同じ永続的なリタイアフローを承認します。既定値は false です。設定の変更後には再起動が必要です。