コンテンツにスキップ

アトミックスワップ

bitCasterでの取引は大きく二つのステップにわかれます。

  1. 注文を提出し、マッチングエンジンがマッチを行う
  2. マッチした当事者同士が、ミントを通じたアトミックスワップで決済する

これは Complementary マッチでも Mint マッチでも同じです。Mint マッチでは、片方が通常の sats を完全なアウトカムトークン集合に split する準備が必要になる場合がありますが、マッチした取引そのものは同じトラストレスなアトミックスワッププロトコルで決済されます。

用語は Polymarket CTF Exchange V2 と揃えています。Complementary = 買いと売り、Mint = 買い同士(メイカーが完全セットを split)、Merge = 売り同士で完全セットに統合する(bitCaster では未対応)。

  • Mint マッチ — YES の買い手が NO の買い手とマッチする、またはカテゴリ市場であるアウトカム集合の買い手が完全な補集合の買い手とマッチする場合です。メイカーは完全なアウトカムトークン集合を作成または選択し、自分が欲しい側を保持し、もう片側をテイカーへ sats とアトミックスワップします。
  • Complementary マッチ — 例えば、既に保有している YES トークンを sats で購入したい別の参加者に売却する場合です。売り手は既にアウトカムトークンを持っているため事前の split は不要ですが、交換自体は同じアトミックスワップの安全ルールを使います。

カテゴリカルマーケットの公開 UI は、A / Not A のようなプリミティブな板を表示します。B|C のような複合アウトカム集合は、マッチ後にウォレットと決済で使われる内部詳細です。

板に残る可能性がある指値買いでは、bitCaster は 事前スプリット をデフォルトで有効にします。ウォレットは注文がライブになる前に、必要な通常 sats を完全なアウトカムセットへ split するよう mint に依頼し、その proof を注文用にローカル予約します。split が短時間で完了しない場合、その注文はライブのまま残すべきではありません。上級 CLI ユーザーは --no-preflight-split で opt-out できますが、その場合は後でマッチが来た時点でも通常担保が残っていることに決済が依存します。

マッチングは注文板に対しては確定的です。マッチが受理されると、その約定数量は板に残りません。その後のスワップ失敗ではアトミックスワップのルールに従ってウォレット proof が返金または解除されますが、その注文数量が自動的に公開板へ戻ることはありません。

なぜアトミックスワップが重要か

Section titled “なぜアトミックスワップが重要か”

アトミックスワップは、取引の両側が完了するか、どちらも完了しないかのいずれかを保証します。これはトラストレスなピアツーピア取引に不可欠です:

  • 相手がトークンを送ってくれることを期待してトークンを送る必要はありません。
  • 何か問題が発生した場合(相手が消える、ネットワーク障害が発生する)、短いタイムアウト後にトークンは自動的に返却されます。
  • マッチングエンジンは2つの当事者間で暗号化されたメッセージを中継しますが、資金のカストディを持つことはありません
  1. マッチングエンジンが2つの注文をペアリングし、各当事者の公開鍵を相手に共有します。
  2. 両当事者がそれらの鍵を使用して暗号化チャネルを確立します。
  3. 各当事者がトークンをロックし、カウンターパーティのみが使用できるようにします。時間制限付きの返金パスがあります。
  4. 暗号学的リンク(アダプター署名)が両方のロックを結びつけます。一方を請求すると、もう一方を請求するために必要なシークレットが自動的に明らかになります。
  5. 最初の当事者が請求し、シークレットが明らかになります。2番目の当事者はそのシークレットを使用して自分の側を請求します。

プロセス全体は数秒で完了し、オンチェーントランザクションは不要です。ミントを通じたecashスワップのみです。

完全な暗号プロトコルについては、技術仕様を参照してください。