ダークプール / 封印入札 研究ガイド

raw/papers/dark-pool/ 収録 22 論文 — プロトコル解説・実装詳細・実験設計・研究課題

22
論文数
8
GitHub / 実装あり
3
本番稼働
2009–2026
年代
136 TPS
MPC 現ベスト
853 OPS
DP 現ベスト

スループット変遷 — CDA 対応プロトコル比較

非秘匿 CDA(ベースライン)
2000+ OPS
Indifferential Privacy (DP, 2025)
853 OPS ← DP 現ベスト
Volume Match (SPDZ, 2019)
800 OPS(価格なし)
Priority Queue DP (MP-SPDZ, 2023)
136 OPS ← MPC 現ベスト
Prime Match (JPM MPC, 2023)
~10 symbol/秒
PP Dark Pools (Threshold FHE, 2020)
~1 OPS
SecretMatch (GPU FHE, 2020)
0.07 OPS
※ 単位・計測環境が異なるため厳密比較不可。各論文の reported value。

ダークプールはどう動くか

3 つの主要アーキテクチャをステップごとに図解。タブで切り替え、▶ で次のステップへ。

買い手 A BUY 100@50 売り手 B SELL 80@48 Server 1 Server 2 Server 3 ① 注文を秘密分散して送信 🔒 share(A) 🔒 share(B)
ステップ 1 / 3
① 注文を秘密分散して送信:買い手 A の「BUY 100@50」と売り手 B の「SELL 80@48」を、それぞれ 3 つの share に分割して MPC サーバへ送信。各サーバは 1/3 の情報しか持たず、単体では注文内容を復元できない。
入札者 1 入札者 2 入札者 3 Smart Contract commit₁ = H(bid₁,r₁) commit₂ = H(bid₂,r₂) commit₃ = H(bid₃,r₃) ① Commit フェーズ:ハッシュをオンチェーンに記録 commit(bid,r)
ステップ 1 / 3
① Commit フェーズ:各入札者が bid 額をハッシュ化した commit をスマートコントラクトに送信。この時点では bid の中身は誰にも分からない。ZK proof で「bid が valid な値域にある」ことだけを証明。
Client A BUY 100@50 Client B SELL 80@48 DP Operator (semi-honest) IDP Mechanism ① 暗号化注文を operator へ送信 Enc(order) Enc(order)
ステップ 1 / 3
① 暗号化注文を operator へ送信:各クライアントが注文(方向・価格・量)を軽量暗号化して semi-honest な operator へ送信。MPC や ZK は使わないため計算コストが極めて低く、高スループットを実現。
MPC Goes Live — 最初の MPC ダークプール
FC 2009
🔐 MPC 理論・先駆的研究

デンマーク・ビート農家のオークションを MPC で実装した世界初の MPC 実用展開論文。ダークプール文脈での引用源として重要。Shamir 秘密分散 + SPDZ の原型。

Shamir SSSPDZ 原型実社会展開
意義
MPC 実用化の先駆
FuturesMEX — 先物取引所の分散プライバシー化
S&P 2018
🔮 ZK + MPC PoC (Thomson-Reuters データ)

zk-SNARK + SPDZ-2 のハイブリッドで CME Globex 仕様準拠の先物取引所を実装。Retail trader は zk-SNARK のみ、機関投資家は MPC に参加。Thomson-Reuters 実データで feasibility を確認。

Groth16SPDZ-2ZeroCash 型 commitThomson-Reuters
対応市場
低頻度取引は feasible
高頻度取引市場には不十分と著者が明記
Deep Ocean — Blockchain-Agnostic Dark Pool
2019
🔮 ZK プロトコル プロトコル設計のみ

3 者(Alice/Bob/Eve)モデル。Eve はマッチングの relay のみ担当(trusted-but-curious)。Secure Comparison Protocol(Millionaire 問題型)で量の最小値を秘匿計算。Blockchain agnostic な atomic swap で決済。

EC ElGamalZK shufflePedersenMillionaire
形式的セキュリティ証明なし。Eve への信頼仮定が残る。
MPC Dark Side — 3 種のマッチングアルゴリズム比較
2019
🔐 SCALE-MAMBA PoC

SCALE-MAMBA で CDA / Periodic Auction / Volume Match の 3 アルゴリズムを実装・比較。2PC(不正多数)と 3PC(正直多数)の 2 設定で実験。

SCALE-MAMBASPDZCDA2PC/3PC
CDA
10–50 OPS
Volume Match
800 OPS
CDA 10–50 OPS では高頻度取引に不十分。MPC パーティを誰が担うか未解決。
SecretMatch — GPU FHE ダークプール
ICAIF 2020
🔴 FHE (GPU) JPM PoC

GPU 並列 FHE ライブラリを独自開発した JPM の前身実装。Client が FHE 公開鍵で量を暗号化 → Bank が準同型演算で min 値を計算 → Threshold 復号でマッチのみ開示。Volume のみ(価格なし)。

Threshold FHEGPU 並列Post-quantum
スループット
0.07 OPS ← 最低速
FHE のオーバーヘッドが極めて大きく、GPU でも実用速度に未到達。
PP Dark Pools — Threshold FHE マッチング
AAMAS 2020
🔴 Threshold FHE JPM AI Research PoC

buy/sell 方向も暗号化した点が [CSA19] との差別化点。Star topology でクライアントが FHE 暗号化注文を operator へ送信。Threshold 復号(client 参加型)でマッチのみ開示。

Threshold FHEStar topology
速度
~1 秒/match
~1 秒/match では高頻度取引に不向き。Threshold 復号に全 client 参加が必要。
Atlas-X — JPM 本番 DP Axe List
AAMAS 2024
📊 Stream DP 本番稼働(JPM 3 地域)

金融セクター初の DP 本番展開(USA/Europe/Asia)。日次 axe list に continual release DP(Gaussian + Laplace ノイズ)を適用。「正負整数の stream に対する DP aggregator」が新規貢献。

Stream DPGaussian/LaplaceContinual Release本番
運用期間
2 年以上本番稼働
ε の最適選択の自動化が困難。長期的な privacy budget 劣化問題が残る。
Turquoise Plato — 欧州最大 DP の MPC 再現
2020
🔐 SCALE-MAMBA TPU 実データ検証

Turquoise Plato Uncross(TPU)の実際の取引データで MPC ダークプールの feasibility を検証。4000+ 銘柄を複数 MPC エンジンに分散。Periodic auction(価格形成なし)。

SCALE-MAMBASPDZ4000+ 銘柄TPU 実データ
検証
実世界スループット達成
TPU の "modified approximation"(完全一致ではない)。MPC パーティ担当者問題が未解決。
SEAL — Auctioneer-free 封印入札
TIFS 2020
🔮 EC ElGamal + AV PoC

入札者全員が MPC なしで自律的に最高入札を特定する完全分散型封印入札。Anonymous Veto プロトコルを最上位ビットから繰り返し実行。通信量 O(c)(c=bid ビット長)。

EC ElGamalAnonymous VetoNIZK (Schnorr)公開チャネルのみ
通信量
O(c) ← Brandt O(2^c) を改善
入札者が全員 online 必須(同期型)。財務的 penalty なし。
WKA Dark Pool — Witness-Key-Agreement
FC 2021
🔮 Designated-verifier SNARK Bloomberg Tradebook 検証

Designated-verifier zkSNARK でcounterparty 発見を行う新手法。「私は十分な資金と価格範囲を持つ」ことを ZK で証明しつつ共有秘密鍵を合意 → 安全チャネルで取引詳細を交換。

Designated-verifier SNARKECDHBloomberg Tradebook
公開可検証性なし。匿名ネットワークは外部依存。
All for One — 100-Party 完全分散ダークプール
2022
🔐 Full Threshold MPC AWS で l≤100 party 実験

取引参加者全員が MPC パーティとなる"no operator" モデル。Shamir SS(full threshold)で l≤100 party MPC を AWS クラウドで実証。Liquidnet 型(100 party)・Plato 型(25 party)を検証。

Shamir SS (full threshold)SCALE-MAMBAAWSsub-dollar/auction
コスト
sub-dollar/auction
単一 stock のみ実験。Trader anonymity が不完全(buy/sell 方向リーク)。Offline phase コスト大。
FAST — Fair Auctions via Secret Transactions
ACNS 2022
🔮 PVSS + AV 理論 (Concordium 想定)

不正参加者が途中離脱しても deposit 没収 → 残 party で再実行 する fair オークション。PVSS(publicly verifiable secret sharing)で cheater を特定可能。Smart contract が penalty を強制。

PVSSPedersenAnonymous VetoConcordium
Static adversary のみ。Secret deposit の実装方法(PVSS 以外)は open problem。
Riggs — 完全分散型封印入札オークション
2023
🔮 Timed Commitment Rust + Solidity (GitHub ✅)

Non-malleable Timed Commitment (NMTC)で bid を commit。全 commit 公開後、強制開封アルゴリズムで未開示 bid を recover → Smart contract が勝者決定・支払い。Trusted auctioneer ゼロ。

Non-malleable TCRSA グループPedersenRange ProofRust + Solidity
Bid 生成
71 ms
Gas
~2.5M gas ($134/bid)
Gas $134/bid は高い(将来のコスト低下を期待)。Timed commitment の強制開封に時間がかかる。
Prime Match — JPM 本番 MPC マッチング
2023
🔐 Secure Linear Comparison 本番稼働(JPM, 2021〜)

金融セクター初の live MPC 展開。2-round Secure Linear Comparison Protocol (Πmin) で 2 数量の最小値を秘密計算。Bank-to-client(2PC)と Client-to-client(3PC)の 2 モード。

2-round Secure Min2PC/3PC本番 (2021〜)
スループット
~10 symbol/秒
n*(n-1)/2 の 2PC 呼び出しで multi-party にスケールしない。HFT には不向き。
Priority Queue Dark Pool — MPC 現ベスト 136 TPS
PETs 2023
🔐 MP-SPDZ / RSS AWS c5.9xlarge × 3

データ独立優先度キューを MPC 上で実装した CDA ダークプール。Replicated Secret Sharing over ring Z_{2^k} で Batcher マージネットワークを改良。先行 MPC 比で 20× 高速化。

MP-SPDZRSS over Z₂ₖData-independent PQO(log²N)
スループット
136 TPS ← MPC 現ベスト
比較
先行 MPC 0.6 TPS の 20×
FIFO 安定性なし(Batcher マージの制約)。Buy/sell 方向リーク残存。
Correlated-Output DP — 新 DP 概念の提案
AFT 2023
📊 Round DP + MPC GitHub (ABIDES + Scale-Mamba)

Correlated-Output DP(新概念)を提案:出力相関による情報漏洩に対処する DP 変種。Fuzzy order matching + DP liquidity provider で流動性ミスマッチを補填。

Round DPCorrelated-Output DPShamir SSABIDES
Fuzzy matching による完全マッチング不保証。Trusted curator の完全排除に MPC が必要。
Cryptobazaar — 128 入札者を 0.5 秒で処理
2024
🔮 AV-OR + KZG Rust OSS (GitHub ✅)

Anonymous Veto プロトコルで Boolean-OR を分散計算し最高入札を特定。KZG commitment + univariate sumcheck で効率化。128 bidder を 0.5 秒以下で処理。1st/2nd/Vickrey 価格をサポート。

Anonymous VetoKZGPedersenRustBain Capital Crypto
128 bidder
0.5 秒以下
通信
~32 KB/bidder
価格範囲外 bid 防止の range proof は separate 問題として残る。
Renegade — Collaborative zkSNARK CLOB DEX
本番稼働
🔮 Collaborative zkSNARK Arbitrum Mainnet

Ozdemir-Boneh の collaborative zkSNARKで MPC マッチングと ZKP の公開検証を両立。4 種の公開鍵(root/match/settle/view)でアクセス制御。Poseidon ハッシュ + nullifier set で CLOB を実装。

Collaborative zkSNARKPoseidonMerkle CommitmentNullifierArbitrum
状態
Arbitrum Mainnet 本番
Relayer が match key を保持 → IoI 情報漏洩トレードオフ。ZK proof 生成コストの詳細非公開。
Indifferential Privacy — DP 現ベスト 853 OPS
2025
📊 Indifferential DP CPU のみ (JPM / HKU)

Indifferential Privacy(新 DP 概念):完全成立時のみ真値を公開を許容する DP 変種。MPC/FHE 不使用で軽量暗号のみ。8192 orders を 13.3 秒で処理(615 OPS)、ピーク 853 OPS。262K orders まで線形スケール。

Indifferential PrivacyLaplace noiseCDA軽量暗号
ピーク
853 OPS ← DP 現ベスト
vs MPC
MPC の 6× 高速
Partial match では noisy 量のみ保証。完全成立条件への依存が制約。
Jigsaw — TEE × Collaborative SNARK 二重プライバシー
2025
🔮 Co-SNARK (TACEO) Circom/Noir + co-snarks

ZEXE アーキテクチャで witness を秘密共有分割 → サーバ群が MPC で collaborative proof を生成。Naive collaborative SNARK 比で 40–50× 高速化。DEX・sealed-bid auction・voting・lottery に適用。

TACEO co-snarksCircom/NoirShamir SSZEXE ベース
高速化
40–50× (naive 比)
サーバ群が honest majority 必要。オフチェーンサーバの identity 問題が残る。
Humidifi — Solana Dark AMM(暗号なし)
2025
⚠ 暗号プライバシーなし Solana Mainnet ($25.6B/74日)

Prop AMM として Solana 上で稼働。公開フロントエンドなし・Vault 非公開により事実上の Dark AMM として機能。暗号的プライバシーは一切使用していないが Jupiter aggregator 経由で爆発的な取引量を達成。

SolanaJupiterProp AMM暗号なし
取引量
$25.6B / 74日
TVL
$5.33M(極めて効率的)
暗号的プライバシー保証なし。単一 MM 依存。学術的な「プライバシー」とは別物。
zkBSA — Compliance-aware Stealth Address
2026
🔮 RISC Zero zkVM ERC-5564 + zkVM PoC

ERC-5564 stealth address に ZK 監査機能を追加。Whitelist 内 recipient への送金を秘匿証明しつつ auditor だけが復号可能。RISC Zero zkVM で 2^24 whitelist でも 5.3 秒/proof。

RISC Zero zkVMEC-ElGamalMerkle TreeERC-5564
Proof 生成
5.3 秒 (whitelist 2^24)
On-chain 検証
235k gas (固定)
Matching ロジックではなく settlement 層のみ対象。Amount は透明。

未解決の研究課題

論文間のギャップと各著者が認める限界から見えてくる 6 つのフロンティア

課題 1 ★★★★
CDA × 完全プライバシー × 高スループット
MPC で 136 TPS / DP で 853 OPS を達成。しかし MPC は完全秘匿だが遅く、DP は高速だが「完全成立時に真値公開」という条件付き。真の意味での CDA プライバシー × 高スループットは未達。
課題 2 ★★★
Counterparty 発見の情報漏洩
Renegade は IoI(Indication of Interest)で取引方向を開示。WKA は designated-verifier SNARK で改善を試みたが公開可検証性がない。PSI(Private Set Intersection)ベースの発見が理論的候補だが未実装。
課題 3 ★★★
Buy/Sell 方向リーク
All-for-One が明示:trader anonymity が不完全。注文の方向(buy/sell)まで秘匿すると Oblivious RAM が必要で著しく遅い。方向を秘匿しつつ効率的にマッチングできるプロトコルが存在しない。
課題 4 ★★★
DP Budget の長期管理
Atlas-X が本番で直面:continual observation 環境では privacy budget が時間とともに劣化。ε の最適自動選択も困難。長期間運用での budget exhaustion 問題とその管理手法が未解決。
課題 5 ★★★
Trusted Operator への依存
Deep Ocean の Eve、Prime Match の Bank、Atlas-X の Curator — いずれも何らかの信頼を要求する。Riggs は完全分散を達成しているが sealed-bid のみ(CDA 非対応)。完全非信頼 × CDA は未解決。
課題 6 ★★☆
MPC Party の実用的担い手問題
MPC Dark Side・Turquoise Plato・All-for-One が共通して指摘:誰が MPC パーティを担うのか?規制当局か、競合する取引参加者か。技術的には解決しているが制度設計・インセンティブ設計が未解決。