DeFi Privacy Wiki  /  Dark Pool Research Deep-Dive

Dark Pool Research Deep-Dive

既存研究の解剖・現状課題の可視化・未解決問題の地図 — 23 論文 / 8 タブ / インタラクティブ教育版

1. ダークプール研究の全景

ダークプール(Dark Pool)とは、注文板を公開せず、約定後に取引履歴のみを公開する取引場所である。 伝統金融では機関投資家の large block trade による市場インパクトを抑制する目的で発達したが、 オンチェーンでは 透明性 vs プライバシー という構造的緊張のなかで、 MPC・FHE・ZK・DP・TEE を組合せた多様な設計が試みられている。本ページは 23 本の主要論文を深掘りし、 4 つの構造的バリア10 の未解決問題 を可視化する。

1.1 ダークプールの三大論点

① カウンターパーティ発見

「売りたい人」と「買いたい人」が出会う仕組み。 暗号化したまま match(buy, sell) をどう走らせるか、 また LP がいない初期状態(cold start)をどう乗り越えるか。

PSI / bulletin board / Renegade のリレイヤー設計が代表例。

② MEV・front-running 耐性

operator が user の encrypted order から情報を抜けないか、 pre-trade と post-trade の差分から intent を再構成できないか。 Atlas-X が指摘した Correlated-Output DP はこの軸の代表的脅威。

③ 規制・KYC・監査可能性

SEC Regulation ATS, MiFID II SI, FinCEN Travel Rule への適合。 auditor backdoor を破壊せずに埋め込む設計(threshold decryption / view key / ZKP attestation)が 未だに研究の最前線。

1.2 設計空間(プライバシー強度 × パフォーマンス)

パフォーマンス →(高 throughput, 低 latency) プライバシー強度 →(leakage 小, 設計仮定 強) ダークプール設計空間:技術ファミリー散布図 理想領域 (未到達) MPC Goes Live (2009) MPC Dark Side (2019) All-for-One (2022) Prime Match (2023) Secret Match (2020) ● Priority Queue (2023) ● Kicking-the-Bucket (2022) Atlas-X (2024) Indifferential Privacy (2025) Renegade (ZK + MPC) CryptoBazaar (2024) P2DEX / Penumbra(hybrid) 凡例 MPC FHE Bucket / 量子化 Differential Privacy ZK / Hybrid
右上=高プライバシー+高パフォーマンス。FHE は パフォーマンスは低いが leakage はほぼゼロ、MPC は パフォーマンスはまし leakage は通信パターンに残る、 DP は leakage の上限を数値で保証、Bucket は 速いが anonymity set が小さい。理想領域は依然として空白。

1.3 何を「深掘り」するのか

本ページは既存の 設計空間概観系譜図トリレンマ実装解剖 とは独立に、以下を扱う:

1.4 タイムライン(2009 → 2026)

2009 2018 2019 2020 2022 2023 2024 2025 2026 MPC Goes Live FC 2009 FuturesMEX (S&P 2018) MPC Dark Side 2019 Secret Match ICAIF 2020 PP-Dark-Pools All-for-One (FC22) Kicking-the-Bucket Prime Match USENIX 2023 Priority Queue (PETS) Atlas-X (AAMAS) CO-DP の発見 Indifferential Privacy zk-BSA
青:MPC 系 / 紫:FHE 系 / 橙:Bucket 系 / 黄:DP 系 / 緑:ZK 系。 2009 デンマーク sugar beet → 2023 JPM Prime Match → 2024 Atlas-X/2026 zk-BSA で、研究は 「動くか?」から「漏れないか?」 へ移行。

2. MPC ダークプールの解剖

MPC(Multi-Party Computation)は n 人の参加者が secret share した入力上で関数 f を計算し、出力以外の情報を漏らさない 暗号プロトコル。 ダークプール用途では f = match(orders) を、operator も含む全員が暗号空間で実行する。 本タブでは MPC ダークプールの 4 つのマイルストーン論文を、回路・ラウンド数・通信量・線形性制約 の観点で解剖する。

2.1 マイルストーン論文 4 本の比較

論文年/会議規模throughputプロトコル攻撃モデル制約
MPC Goes LiveFC 2009n=3 (sugar beet)~1200 bidder/30 minBGW + Shamirhonest majority, semi-honestauction (1 回限り)
MPC Dark Side2019 (Cartlidge & Smart)n=3~800 orders/secSPDZ 2-partydishonest majority, maliciousvolume match のみ
All-for-OneFC 2022n≤100AWS < $1/auctionSPDZ + GPU
(LowGear/HighGear)
dishonest majority, malicious線形演算のみ
Prime Match (JPM)USENIX 2023n=2 (bilateral)~10 instr/secSPDZ-2k variantmalicious + abortmidpoint pricing 固定

2.2 MPC Goes Live (FC 2009) — 史上初の MPC 実用化

デンマークの sugar beet root の年次 auction(約 1200 農家)を 3 サーバ(DKS, SCRG, Partisia)で BGW プロトコル+Shamir secret sharing で執行。 2008 年 1 月 14 日に実運用、当日 1229 入札を 30 分で確定。MPC が 論文の世界から本番取引に渡った瞬間として歴史的価値を持つ。

計算する関数(auction clearing price)

// 入力: 各農家 i の 1 ロット辺り入札ベクトル b_i = (b_i^1, ..., b_i^4000)
// 出力: 市場清算価格 p* と各農家の確定数量 q_i

p* = argmin_p  | Σ_i sell_i(p) − Σ_i buy_i(p) |
q_i = quantity at p*

MPC レベルでの注意点

2.3 MPC Dark Side (2019) — Cartlidge & Smart

「市場マイクロストラクチャ屋」と「MPC 研究者」が初めて手を組み、金融現実とプロトコル仮定のギャップ を初めて言語化した論文。 SPDZ 2-party, ~800 orders/sec の volume-match dark pool を PoC 実装

ダークプール特有の MPC 演算プリミティブ

// 共通入力: encrypted order (side, qty, account)
// 公開入力: ベンチマーク価格 p_mid(lit market から)

// プリミティブ① 線形比較(マッチング)
matched_qty = min(buy_qty, sell_qty)        // 比較は dirty work:bit-decomposition で表現
                                            // → SPDZ では ~log(2^32) = 32 round

// プリミティブ② 残量更新
buy_qty  −= matched_qty
sell_qty −= matched_qty

// プリミティブ③ FIFO キュー操作
queue.dequeue()                             // index は secret → oblivious selection が必要

性能内訳(800 orders/sec)

2.4 All-for-One (FC 2022) — n≤100 の壁を AWS < $1/auction で破る

大規模 sealed-bid auction を MPC で執行する場合、n^2 通信 がボトルネック。本論文は SPDZ + LowGear/HighGear pre-processing + GPU 加速 + AWS m5.24xlarge で n=100 でも 1 ドル未満で 1 回 auction を捌く設計を提案。

通信量モデル

Total comm = n × (n−1) × (k_input + k_round × R) × log(2^σ)
where R = depth of comparison circuit ≈ log(price_grid)

n=100, σ=64, R=20 で サーバ間総通信 ~12 GB/auction。GPU 上で SPDZ multiplication を batch 化し、 従来 30 分かかっていた MPC pre-processing を ~90 秒に短縮

2.5 Prime Match (USENIX 2023) — JPMorgan の本番運用記録

世界初の 銀行本番 MPC dark pool。2021-09 から JP Morgan の機関顧客向けに稼働、 bilateral matching(n=2)+ midpoint pricing という思い切った simplification で本番品質を実現。

simplification の哲学

機能従来 dark poolPrime Match理由
マッチング相手数n 多者n=2 (bilateral)n^2 通信を回避、Bank-Client の自然な構造
価格決定各種 (mid / VWAP / pegged)midpoint 固定price discovery を MPC 外に逃がす
注文タイプlimit / market / iceberg / peggedindication of interest (IOI) のみ非線形演算を排除
partial fillありあり (matched = min(buy, sell))線形演算で表現可能

結果:~10 instr/sec というスループットでも 銀行 - 顧客の bilateral 性 ゆえに業務上は十分。 「academic な multi-party setting に固執せず、2-party で良い実利問題 を切り出した」ことが商用成功の鍵。

2.6 MPC vs FHE 性能比較

単位 match の通信量・レイテンシ比較(log scale 概念) MPC Dark Side (2019) ~800 ops/s All-for-One (2022) ~150 ops/s (n=100) Prime Match (2023) ~10 ops/s Secret Match (FHE 2020) ~0.5 ops/s Priority Queue FHE (2023) ~0.1 ops/s Bucket / 量子化 (2022) CEX 同等
FHE は MPC の 1/100〜1/1000。Bucket 系は CEX 同等の throughput を出せる代償として anonymity set が小さい。

3. FHE ダークプールの解剖

FHE(Fully Homomorphic Encryption)は 暗号文のまま加算・乗算・比較を実行できる。 MPC との大きな違いは 「単一サーバで完結する」 点。trust 構造が単純化する一方、 bootstrapping という重い演算が逐次必要になり、throughput は MPC の 1/100〜1/1000 程度。 本タブでは Secret Match (2020) と Priority Queue (2023) を TFHE プログラマブル bootstrap 視点で解剖する。

3.1 FHE スキーム選択(TFHE / CKKS / BFV)

スキーム得意演算不得意演算ダークプール適性
TFHEbit-level 比較・条件分岐
programmable bootstrap
大きな整数の乗算★★★★★ (matching に最適)
CKKS近似実数・SIMD batching厳密比較★★ (price aggregation 用途)
BFV / BGV整数 SIMD batching条件分岐 / 比較★ (sealed-bid 集計のみ)

3.2 Secret Match (ICAIF 2020)

Goldman Sachs のチームによる、FHE のみで完結する dark pool の概念実証。 CKKS を使い volume-match と continuous-time matching を実装。operator が暗号鍵を持たないため、operator は trust 不要

マッチング回路(擬似コード)

Encrypted match(Enc(order_buy[]), Enc(order_sell[])) {
    for i in 1..N:
        for j in 1..N:
            // すべての (i,j) ペアを舐める(oblivious)
            cond  = Enc.LessEq(order_sell[j].price, order_buy[i].price)
            qty   = Enc.Min(order_buy[i].qty, order_sell[j].qty)
            fill  = Enc.Mul(cond, qty)
            order_buy[i].qty  = Enc.Sub(order_buy[i].qty,  fill)
            order_sell[j].qty = Enc.Sub(order_sell[j].qty, fill)
            output[i][j] = fill
    return output
}

性能(論文値)

3.3 Priority Queue (PETS 2023)

FHE で order book 風の優先度付きキュー を実現する画期的な技法。TFHE の programmable bootstrap を駆使し、 暗号文のまま insert / extract-min / decrease-key をすべて oblivious に実行。

programmable bootstrap とは

PBS(c, f): Enc(x) → Enc(f(x))
bootstrap と同時に任意関数 f を適用。乗算ノイズリセットも兼用。

従来の TFHE では bootstrap は identity しか適用できなかったが、 programmable 化により 暗号空間で if-then-else・min・max・LUT 全般 が可能になった。

Encrypted Priority Queue の構造

// 各 slot は (Enc(priority), Enc(payload)) のペアを保持
// すべての操作は LUT (Look-Up Table) として 1 PBS で表現

insert(c_p, c_v):
    for i in 1..size:
        cond_i = PBS(c_p − slot[i].priority, sign_LUT)        // 比較
        slot[i] = oblivious_swap(slot[i], (c_p, c_v), cond_i) // 条件付き入替

extract_min():
    min_idx = argmin_PBS(slot[].priority)                     // O(size) PBS
    result  = oblivious_select(slot, min_idx)
    slot[min_idx].priority = Enc(+∞)
    return result

限界

3.4 FHE ダークプールの根本的トレードオフ

強み

  • operator は trust 不要、鍵は client が保持
  • n=1 サーバで完結 → 通信パターン leakage が無い
  • 非対話型なので latency は 計算時間そのもの

弱み

  • Bootstrap が圧倒的に重い(~1ms / PBS、operation あたり ~100-1000 PBS)
  • 非線形演算(比較)が 1 演算 = 1 PBS 単位で逐次
  • 並列化が 暗号文の冪乗構造に縛られ、単純な GPU SIMD と相性が悪い
  • 鍵管理:client 鍵を失うと 注文が永久に復号不能

4. Bucket / 量子化系:Kicking-the-Bucket 解剖

Bucket / 量子化系は MPC や FHE と異なる発想に立つ。「個々の注文を暗号化するのではなく、 観測者から見て区別不能なバケットに丸める」ことで k-anonymity を確保する。 速いが anonymity set が小さいのが特徴。Kicking-the-Bucket (2022) はこのファミリーの代表作。

4.1 量子化数式と幾何学

注文ボリューム v を粒度 Δ でバケット化:

bucket(v) = ⌊ v / Δ ⌋ × Δ   ∈    { 0, Δ, 2Δ, 3Δ, ... }

direction (買い/売り) は bucket index の偶奇に埋め込む:

encoded_id(v, side) = 2 × ⌊v/Δ⌋ + (side == BUY ? 0 : 1)

Observer は encoded_id しか見えないので、同じ bucket に落ちた全 user が 区別不能。 ただし bucket 内の 正確な volume注文時刻 は別の sub-protocol で隠蔽が必要。

4.2 Δ vs anonymity set の数学的関係

Δ(バケット粒度)と anonymity set サイズの関係 バケット粒度 Δ → anonymity set / 約定品質 anonymity set ↑ 約定精度 ↓ Sweet Spot (実装値) Δ=1 Δ=10ⁿ × ATR Δ=100ⁿ × ATR
Δ を大きくするほど anonymity set は単調増加するが、約定が不正確になる。 Kicking-the-Bucket は ATR(Average True Range)に応じた動的 Δを提案。

4.3 攻撃モデル

passive observer

encoded_id のみ観測。同じ bucket に多数 user がいれば k-anonymity 成立。 ただし注文時刻からのタイミング攻撃は別途対策必要(mixnet / batching が必要)。

colluding pool participant

同 bucket の 1 user が attacker だった場合、残り (k-1) 人に anonymity が縮退。 Kicking-the-Bucket では bucket 当たり最低 k_min 人が揃うまで matching を遅延(k-anonymous batching)。

4.4 制約と限界

4.5 Kicking-the-Bucket vs 他系統

BucketMPCFHEDP
性能CEX 同等
プライバシー保証k-anonymity (heuristic)computational (semantic)computational (semantic)(ε,δ)-DP (formal)
operator trust必要不要 (n-1 まで)不要必要
大規模 order弱い対応対応対応 (noise 加算)
実装難度

5. DP ダークプール:Atlas-X と Correlated-Output DP の発見

Differential Privacy は「1 user が入力を変えても出力分布がほぼ変わらない」ことを保証する形式的フレームワーク。 Atlas-X (AAMAS 2024) は dark pool に DP を持ち込み、同時に Correlated-Output DP (CO-DP) という新しい脅威を発見した。 本タブでは なぜ素朴な DP では足りないかを解剖する。

5.1 古典 DP のおさらい

Mechanism M is (ε, δ)-DP if for all neighboring D, D' and all S:
   Pr[M(D) ∈ S] ≤ exp(ε) × Pr[M(D') ∈ S] + δ

典型的にはガウス雑音 / ラプラス雑音を出力に加える。 ダークプール文脈では「個別 user の order が含まれているかどうかを観測者が判別できない」を意味する。

5.2 素朴な DP の何が問題か(Atlas-X の発見)

古典 DP は 1 回の releasing に対する保証である。しかしダークプールでは:

  1. 同じ user が 複数 day / 複数 venue に注文を分散
  2. 各 venue が独立に DP-noise を加える
  3. attacker は 複数の DP-noisy outputs を結合 してノイズを平均化 → user 単位で intent が判明

これを Correlated-Output DP (CO-DP) 問題と呼ぶ。Atlas-X は明示的にこの脅威を fomalize し、 standard composition theorem では捕捉できないことを示した。

5.3 Correlated-Output DP の脅威モデル

CO-DP 攻撃の流れ User 真の intent: BUY 100 BTC Pool A (DP, ε=1) noisy out: 95 Pool B (DP, ε=1) noisy out: 107 Pool C (DP, ε=1) noisy out: 98 Attacker (aggregator) avg(95, 107, 98) = 100 → intent 完全復元
各 pool が独立に (ε,δ)-DP でも、同一 user の注文が複数 pool に correlateしていれば、 attacker は noise を平均化して原 intent を復元できる。

5.4 Atlas-X の対策:Indifferential Privacy

Atlas-X は Indifferential Privacy という強化定義を提案。

M is (ε, δ)-IndDP if for all neighboring D, D' AND all auxiliary information aux:
   Pr[M(D) ∈ S | aux] ≤ exp(ε) × Pr[M(D') ∈ S | aux] + δ

つまり attacker が任意の auxiliary 情報(他 venue の noisy output 含む)を持っていても プライバシー保証が崩れない。 これは Composition theorem ではなく 定義レベル での補強。

5.5 Indifferential Privacy (2025) の追加技法

5.6 Atlas-X と他系統の関係

Renegade (ZK + MPC) への影響

Renegade は handshake はオフチェーン MPC、settlement は ZK proof という設計。 しかし matching 後の settlement event の timing パターン は CO-DP の脅威を受ける。 → Renegade は random delay + batched settlement で対応中。

Penumbra (sealed-bid batch auction) への影響

Penumbra は ZSwap で per-block sealed-bid batching。 連続 block 間で同一 user の participation が判別可能なら CO-DP リスク。 → Penumbra は per-block fresh ZSwap key + decoy で軽減。

6. 設計トリレンマ:4 つの構造的バリア深掘り

既存ダークプール研究は 4 つの構造的バリア に必ずぶつかる。 どれか 1 つを完全に解いた論文はまだ存在せず、各論文は どれをどの程度妥協するか の選択をしている。 本タブはこの 4 バリアを 1 つずつ解剖する。
1

Computation Cost — 暗号 overhead の壁

本質:暗号空間で行う任意計算は plain text の 10²〜10⁶ 倍 重い。 特に 比較・条件分岐・oblivious indexing がボトルネック。

技法通信量round1 操作 latency
MPC (SPDZ, n-party)O(n²)O(log price_grid)~10 ms / 比較
FHE (TFHE)O(n) (single server)1 (non-interactive)~1 s / 比較
ZK (Groth16, Plonk)O(circuit size)1 (NIZK)~10 s / proof gen

研究機会:(a) HW 加速(GPU / FPGA / ASIC)、(b) プロトコル混合(線形は MPC、非線形は FHE)、 (c) preprocessing の online/offline 分離。

2

Counterparty Discovery — 暗号空間で出会う方法

本質:「売りたい人」と「買いたい人」が 互いを暴露せずに発見 する方法。 plain text なら notice board に貼ればよいが、暗号下では PSIcommittee broker が必要。

主要アプローチ

  • PSI (Private Set Intersection):自分の希望 (asset, side, qty range) のセットを暗号化交換し、共通項のみ判明
  • Bulletin Board + commitments:commitment のみ公開し、match 候補が現れたら open
  • Centralized Relayer:Renegade が採用。relayer が暗号空間で書斎仲介
  • Sealed-bid Batch Auction:Penumbra ZSwap の方式。各 block で sealed bid → batched clearing

未解決:(a) cold start(LP がいない最初期どう乗り越える?)、(b) cross-pool counterparty discovery(pool 間 LP 共有を leakage なく実現)、 (c) MM の正常な活動front-runner の暗号空間での区別。

3

Operator Centralization — トラスト不要 vs 効率の壁

本質:完全 trustless は重く、n-1 corruption tolerance を要求すると O(n²) 通信が必須。 一方 1 operator なら効率は良いが、operator が front-running / order leakage を行うリスク。

各設計の operator trust モデル

システムoperator 数trust 仮定operator 攻撃時の被害
Prime Match (JPM)1 (JPM)full trust全 leakage 可能
All-for-Onen (committee)n−1 corruption tolerablecommittee 全員結託でのみ leak
Renegade多 relayer (open set)少なくとも 1 honest relayerchosen relayer の操作のみ
Secret Match (FHE)1operator は鍵を持たないため 計算 trust のみ必要liveness 攻撃のみ
Penumbra ZSwap0 (validator set)BFT majority honestBFT 破壊に同等

研究機会:(a) TEE による operator hardening(Intel SGX / AMD SEV-SNP)、 (b) auditable operator(後検証で leakage を proof)、(c) economic deterrent(slashing-based operator economics)。

4

Output Correlation Leakage — Atlas-X が暴露した leakage

本質:個別 query は DP / k-anonymity を満たしても、複数 query の相関 で leak。 特に dark pool は 連続時系列 + 同一 user の繰返し参加 という二重の correlation source を持つ。

具体的 leakage チャネル

  • cross-time correlation:1 user の day-by-day 注文の相関 → intent 推定
  • cross-venue correlation:複数 dark pool に同 user → noise 平均化攻撃
  • fill timing leakage:matching 完了 timing パターンから order size 推定
  • settlement chain leakage:on-chain settlement の gas amount / receiver address から逆算

影響Atlas-X 以後、すべての本格 dark pool は CO-DP / IndDP の議論を avoid できなくなった。 Renegade / Penumbra も 後付けでこの leakage チャネルへの対策(random delay, batched settlement, fresh ZSwap key)を実装しつつある。

6.5 4 バリアの相互依存

4 バリアは独立ではなく、互いを悪化させる relationships を持つ:

  • computation cost を下げると(precompiles に移すなど)→ operator centralization が増す
  • counterparty discovery を改善すると(active relayer 設置)→ output correlation leakage 増(active prober として機能)
  • output correlation を抑えると(dummy traffic / random delay)→ computation + UX cost 増

結果として「4 すべてを同時に最適化する設計」は数学的に不可能、というのが現状の業界感覚。

7. 未解決問題:研究機会 10 マップ

本タブは 2026 年時点で未解決の 10 問題 を、研究機会として整理する。 各問題は 本質 / 既存試み / 未解決ポイント / 推奨アプローチ の 4 段でカード化。
1

n=1000 以上のスケーリング問題

本質
MPC は通信が O(n²)、FHE は計算が O(n²)。現状は n≤100 が実用上限。
既存試み
All-for-One (FC22) が AWS GPU で n=100 を達成。Renegade が relayer 経由で擬似 n を拡大。
未解決
n=1000+ の 真に大規模 な MPC は数学的・実装的にまだ open。
推奨
(a) committee rotation(毎 epoch n=20 の sub-committee)、(b) hierarchical MPC、(c) FHE + threshold
2

非線形演算サポート(limit / partial fill / iceberg)

本質
Prime Match は midpoint + IOI のみ。本物の limit order book は 非線形(順序保持・優先度・部分約定)が必要。
既存試み
Priority Queue (PETS23) が TFHE PBS で oblivious priority queue を実現。MPC では Cartlidge & Smart 2019 が部分約定実装。
未解決
throughput 1000 ops/sec を超える 本物の order book はまだ無い。
推奨
(a) FHE-MPC hybrid(線形 MPC + 比較 FHE)、(b) SNARK-friendly hash ベースの commit-reveal scheme。
3

マルチアセット dark pool

本質
(BTC, ETH, USDC, ...) の任意ペアを同時に支援するには、bucket 量子化なら per-asset Δ、MPC なら per-asset 回路が必要。
既存試み
Penumbra ZSwap が validator-side で multi-asset batched auction。Renegade も multi-asset 対応。
未解決
(a) thin asset の cold-start LP 問題、(b) cross-asset bucket での anonymity set 算出。
推奨
(a) numeraire 統一(USDC 経由 routing)、(b) matrix-bucket(asset × side × qty 三次元 bucket)。
4

公開価格発見(public price discovery without leakage)

本質
市場全体の 需給バランス真の clearing price を、個別 user の order を leak せずに公開できないか?
既存試み
Penumbra が ZSwap clearing price を per-block 公開。Atlas-X は (ε,δ)-DP で aggregate 公開。
未解決
個別 leak ゼロ」と「aggregate 完全公開」の両立は formally impossible(CO-DP の指摘)。
推奨
(a) delayed disclosure(数 epoch 遅延で公開)、(b) noisy aggregate(IndDP)、(c) secure MPC oracle
5

MEV 耐性の形式的証明

本質
「この dark pool は MEV 耐性がある」を 定義し、証明する こと自体まだ未確立。MEV definition が曖昧。
既存試み
SoK 論文 (Daian et al, Qin et al) が定義整理。CryptoBazaar (2024) は formal game-theoretic argument。
未解決
(a) operator-MEVbuilder-MEV の区別、(b) strategic order placement による implicit MEV のモデリング。
推奨
(a) game-theoretic equilibrium ベース定義、(b) EigenDA + threshold encryption による pre-confirmation guarantee。
6

規制対応:auditor backdoor の安全な設計

本質
SEC / FinCEN は 監査可能性 を要求。dark pool に backdoor を入れずに、compliance proof を生成できないか?
既存試み
Aztec Connect (now sunset) の view key、Privacy Pools の association set proof。Chainway の auditable rollup。
未解決
(a) selective disclosure の最小権限化、(b) auditor 鍵の multi-sig threshold 化、(c) post-quantum compliance proof。
推奨
(a) zk attestation(KYC verified を NIZK で証明)、(b) threshold view key(n-of-m auditor)。
7

liquidity bootstrapping(cold start 問題)

本質
新規 dark pool は LP がいないため、初期 user は 誰とも match しない。chicken-and-egg。
既存試み
Renegade が centralized relayer による信用 stake で誘致。Hashflow が RFQ 型で MM を呼び込み。
未解決
(a) privacy を維持しながら MM への order flow visibility を提供する方法、(b) token incentive の設計。
推奨
(a) commitment-based MM signaling、(b) indication of interest (IOI) market、(c) tiered visibility(trust 度別の disclosure)。
8

operator による front-running 防止

本質
Renegade のような中央 relayer は order content を見られなくても、order の存在 / timing から front-run できる。
既存試み
TEE-protected operator (e.g. Flashbots SUAVE)、threshold encryption による delayed reveal。
未解決
(a) TEE side-channel 攻撃、(b) operator collusion の経済的 deterrent 設計。
推奨
(a) verifiable execution(operator の MPC trace を後検証)、(b) slashing(malicious operator に経済罰)。
9

cross-pool dark pool 連携

本質
複数 dark pool 間で liquidity を共有しつつ、各 pool の participant 情報を相互に leak しない設計。
既存試み
cross-chain bridge を介した liquidity routing は存在するが、privacy guarantee は弱い。
未解決
(a) cross-pool PSI、(b) federated MPC(pool 間 MPC)、(c) shared anonymity set
推奨
(a) committee-of-committees、(b) cross-pool DP budget coordination。
10

encrypted mempool との融合

本質
Shutter / Radius / Espresso などの encrypted mempool は tx 単位の暗号化。dark pool と組合せると order-level privacy + tx-level privacy の二重保護。
既存試み
Shutter Network が threshold encryption mempool。Penumbra が独自 encrypted mempool。
未解決
(a) decryption key の committee 同期 と pool matching の合成、(b) liveness リスクの増大。
推奨
(a) BLS threshold + DKG rotation、(b) fork-choice level での encrypted mempool integration。

7.11 研究機会ヒートマップ

10 未解決問題 × 4 構造的バリアの関連度ヒートマップ Comp Cost Counterparty Operator CO-Leakage 1. n≥1000 scaling 2. 非線形演算 3. multi-asset 4. price discovery 5. MEV resistance 6. 規制 / auditor 7. cold start 8. operator FR 9. cross-pool 10. encrypted mempool High Med Low
赤=強い結びつき(その問題はそのバリアを直撃)。CO-Leakage 列は 5 / 8 / 9 で赤、構造的問題が深い。

8. 論文インデックス(23 本詳細カード)

raw/papers/dark-pool/ 配下 23 本を 家族・要点・数式・課題 で詳細カード化。 フィルタで family ごとに絞り込み、クリックで展開。
MPC Goes Live (Bogetoft et al., FC 2009)
Family: MPC ・ 史上初の本番 MPC sugar beet auction (Denmark)

要点:BGW + Shamir secret sharing で 3-server n=1229 の sealed-bid double auction。2008-01-14 当日 30 分で清算完了、MPC が論文から本番取引へ。

数式p* = argmin_p |Σ sell(p) − Σ buy(p)|、価格は離散グリッド step-wise 探索

課題:年次 1 回限り、線形演算限定、honest majority 仮定

MPChonest majorityproduction

MPC Dark Side (Cartlidge & Smart, 2019)
Family: MPC ・ 800 orders/sec PoC、ダークプール特化の最初の MPC 設計

要点:SPDZ 2-party、volume-match のみ。市場マイクロストラクチャ屋 × MPC 屋 の最初の真面目な対話。

数式matched_qty = min(buy_qty, sell_qty) を SPDZ で 32 round 比較

課題:limit order book サポート無し、operator collusion で全 leak

MPCmaliciousPoC

All-for-One Dark Pool (FC 2022)
Family: MPC ・ n≤100、AWS <$1/auction の large-scale MPC

要点:SPDZ + LowGear/HighGear preprocessing + GPU 加速で n=100 を実用化。preprocessing を別 phase 化することで online 軽量化。

数式:通信量 O(n² × R × log(2^σ))、n=100 で 12 GB/auction

課題:preprocessing 段階の設定の重さ、線形演算限定

MPClarge-scaleGPU

Prime Match (Asharov et al., USENIX 2023)
Family: MPC ・ JPMorgan 本番、bilateral midpoint matching

要点:n=2 + midpoint pricing + IOI のみ という思い切った simplification で 銀行本番を達成。2021-09 から稼働。

数式fill = min(client_qty, jpm_qty)、価格は p = (best_bid + best_ask) / 2

課題:~10 instr/sec の throughput、bilateral 限定で multilateral discovery 無し

MPCproductionJPM

PP Dark Pools (AAMAS 2020)
Family: MPC ・ Privacy-preserving dark pool with auction simulation

要点:MPC dark pool を multi-agent simulation 上で性能評価。market quality 指標(spread, depth, price impact)を測定。

課題:実際の trader 行動 modeling の妥当性、attack scenario の網羅性

MPCsimulation

Secret Match (ICAIF 2020)
Family: FHE ・ Goldman Sachs による FHE-only dark pool 概念実証

要点:CKKS で volume-match を実装、operator は 鍵を持たないため trust 不要。N=10 で ~5 秒。

数式fill[i][j] = LessEq(sell[j].price, buy[i].price) × Min(buy[i].qty, sell[j].qty)

課題:O(N²) ペアループ、bootstrapping 律速、CKKS 近似性

FHEtrustless operator

Priority Queue Dark Pool (PETS 2023)
Family: FHE ・ TFHE programmable bootstrap で oblivious priority queue

要点:暗号文のまま insert / extract-min を実行、order book 風機能を FHE で初実装。

数式PBS(c, f): Enc(x) → Enc(f(x)) で 1 PBS 当たり LUT 1 適用

課題:1 操作 O(size) PBS、size=64 で 10 秒、ノイズ蓄積

FHETFHEpriority queue

Kicking-the-Bucket (2022)
Family: Bucket / 量子化 ・ ATR-driven dynamic bucketing

要点bucket(v) = ⌊v/Δ⌋ × Δ、direction を bucket index 偶奇に埋め込み。CEX 同等 throughput 達成。

数式encoded_id(v, side) = 2⌊v/Δ⌋ + (side==BUY ? 0 : 1)

課題:large block trade で anonymity set=1、Δ-ε 攻撃

Bucketk-anonymity

Correlated-Output Differential Privacy (Atlas-X 関連定式化)
Family: DP ・ CO-DP の formal definition

要点:複数 query の output 相関から DP guarantee が崩れる現象を formalize。standard composition では捕捉できないことを示す。

数式Pr[M(D) ∈ S | aux] ≤ exp(ε) Pr[M(D') ∈ S | aux] + δ (Indifferential Privacy)

課題:実装コスト(noise coordination)、auxiliary information のモデリング

DPCO-DP

Atlas-X (AAMAS 2024)
Family: DP ・ Indifferential Privacy framework for dark pools

要点:Indifferential Privacy + noise coordination + dummy traffic の 3 段構成。multi-pool / multi-day attacker に対する保証。

数式:noise coordination — pool A と pool B の noise を 正に相関させ平均化攻撃を無効化

課題:noise coordination の oracle 設計、privacy budget の管理

DPmulti-pool

Indifferential Privacy Dark Pool (2025)
Family: DP ・ Atlas-X の続編、production-grade 設計

要点:bounded queries per user、dummy traffic injection、cross-pool budget coordination の 3 技法を組合せ。

数式:privacy budget per user Σ ε_i ≤ ε_total、超過時は matching reject

課題:UX 影響(reject される user)、dummy traffic の経済負担

DPproduction-ready

Renegade Dark Pool (whitepaper 2023+)
Family: ZK + MPC ・ relayer-based on-chain dark pool

要点:handshake は off-chain 2-party MPC、settlement は on-chain ZK proof。relayer は中央集権だが、open set で入替可能。

数式:handshake は commit(order) → MPC compare → reveal match、settlement は SNARK(state_transition)

課題:relayer 信頼、CO-DP 攻撃(settlement timing leakage)

ZKMPCproduction

CryptoBazaar (2024)
Family: ZK ・ ZK-based encrypted order book + game-theoretic MEV resistance

要点:ZK で encrypted order book を実装、formal game-theoretic な MEV 耐性を主張。

数式:order = (commit(price), commit(qty), nullifier)、match は Plonk style circuit で検証

課題:proving time、relayer-MEV の completely 排除は未達

ZKgame-theoretic

P2DEX / Dark Pool MPC (2022)
Family: Hybrid ・ MPC + on-chain settlement for cross-chain dark pool

要点:MPC matching + on-chain settlement の合わせ技、cross-chain assets サポート。

課題:cross-chain message の atomicity、operator economics

Hybridcross-chain

zkBSA (2026)
Family: ZK ・ Zero-Knowledge Batched Sealed-bid Auction

要点:batched sealed-bid auction を ZK で証明、Penumbra 系の進化形。per-block fresh circuit で CO-DP 軽減。

課題:proving time per block、validator overhead

ZKbatched auction

Humidifi Dark AMM (Solana, 2025)
Family: AMM ・ Dark pool 機能を Solana AMM に統合

要点:Solana の高速性を活かし、encrypted intent + AMM matching。Light Protocol の compressed account を使用。

課題:encryption overhead、Solana validator の TEE 信頼

AMMSolana

Riggs (2023)
Family: Sealed-bid ・ Decentralized sealed-bid auction with VDF

要点:VDF (Verifiable Delay Function) で時相的 commit-reveal を強制、committee-free sealed-bid auction。

課題:VDF parameter、liveness が VDF prover に依存

Sealed-bidVDF

SEAL (TIFS 2020)
Family: Sealed-bid ・ Sealed-bid auction with smart contracts

要点:on-chain sealed-bid を smart contract で実現、commit-reveal scheme + 経済 deposit。

Sealed-bidsmart contract

FAST (ACNS 2022)
Family: Sealed-bid ・ Fair sealed-bid auction with threshold encryption

要点:threshold encryption committee + smart contract の組合せ、fairness を経済罰で保証。

Sealed-bidthreshold

FuturesMEX (S&P 2018)
Family: Sealed-bid ・ Privacy-preserving futures exchange via TEE + MPC

要点:TEE (SGX) + MPC を組合せ、derivatives 取引のプライバシー保護。centralized exchange の operator-side プロトタイプ。

課題:SGX side-channel、TEE attestation chain の信頼

Sealed-bidTEEMPC

Turquoise Plato (2020)
Family: Industry analysis ・ EU 規制下の機関 dark pool 解析

要点:MiFID II 下での Turquoise Plato Block Discovery の運用解析。LLM Wiki 文脈では 規制対応 reference

analysisMiFID II

WKA Dark Pool (FC 2021)
Family: Theory ・ Withdraw Knowledge Attack on dark pools

要点:dark pool の取引 receipt から逆算する WKA 攻撃 をモデル化。CO-DP の前駆研究。

attacktheory

Deep Ocean (2019) / Jigsaw (2025)
Family: Industry / 設計提案

要点:Deep Ocean は industry-side dark pool 設計提案、Jigsaw は 2025 の最新 ZK + intent-based dark pool 提案。

designindustry


関連ページ