713 / 736ANON

Bitcoin Anonymity Networks

Bitcoin node のための Tor、I2P、CJDNS

Bitcoin Anonymity Networks は、node が通常のインターネットアドレスを直接さらさずに P2P 接続を開始または受け入れるための transport layer です。Bitcoin Core は Tor v3、I2P、CJDNS をサポートしますが、各 network が保護する traffic の範囲と限界は異なります。

Bitcoin node の通信に使う別々の network path です。Tor は SOCKS proxy と onion services、I2P は SAM interface 経由の tunnel、CJDNS は暗号化された IPv6 overlay を使います。これらは transaction、blockchain、consensus を変更せず、それだけで利用者の匿名性を保証しません。

anonymity network が扱うのは nodes 間の transport であり、Bitcoin transaction の内容ではありません。通常の IP address を接続相手から隠したり経路観測を難しくしたりできますが、公開された金額、address の関連、timing、on-chain heuristics は別の問題として残ります。 [5]

Bitcoin Core は outbound connection を Tor SOCKS proxy 経由にし、inbound connection 用の Tor v3 onion service を作成できます。version 22.0 以降は Tor v2 address を無視します。設定を誤ると DNS または clearnet traffic が意図した経路を外れるため、-proxy、-onion、-onlynet、-bind、firewall の組み合わせが重要です。 [1]

I2P connection は、通常 127.0.0.1:7656 にある SAM interface 付きの外部 I2P router を使います。Bitcoin Core は version 22.0 から I2P をサポートし、connection を受け入れる場合は既定で永続 I2P address と key を作ります。-i2pacceptincoming=0 では outbound connection ごとに一時 address を使いますが、I2P の接続相手には開始側の address が見えます。 [2]

CJDNS は fc00::/8 の address と public key based routing を使う暗号化 IPv6 overlay です。Bitcoin Core は version 23.0 から -cjdnsreachable で対応します。文書は、CJDNS が中継 routers に対して送信者と受信者を隠さず、peers が少ない状況で単独利用すべきでないと明記しています。 [3]

BIP 155 は可変長 address と、Tor v3、I2P、CJDNS 別の network IDs を持つ sendaddrv2 と addrv2 message を導入しました。node はそれらの endpoints を保存し gossip できます。ただし address の通知だけでは、その network を利用していることや特定 traffic がそこを通ったことの証明になりません。 [4]

複数 network の併用は、node が peers への異なる経路を持つため、可用性を高め eclipse または partition attack を難しくできます。同じ設定が別々に見える identities を結び付ける場合もあります。攻撃者は uptime、挙動、同時に通知される address、clearnet と overlay network の traffic を比較できます。 [1]

Tor、I2P、CJDNS は latency、利用可能な peers 数、endpoint の可視性、Sybil resistance で異なる trade-off を持ちます。onlynet mode は別 network への漏出を抑えますが、peer 集合が小さいと同期が遅れ、少数 nodes への依存が高まります。どの選択肢も wallet の誤りや blockchain analysis を解決しません。 [3]

検証では実際の sockets と node state を確認します。getnetworkinfo、-netinfo、-addrinfo、getpeerinfo は local address、既知 endpoints 数、具体的 connections を示します。Bitcoin Core の設定だけでなく、稼働中の Tor または I2P router、CJDNS interface、DNS path、binds、firewall、inbound と outbound traffic が意図した network を本当に使うかも調べます。 [2]

理解を深めるには、この項目とあわせて次もお読みください Bitcoin のプライバシー, Full Node, Bitcoin Core, Dandelion++, トランザクション, Lightning Routing. 次の項目からも参照されています Paralelní Polis(パラレル・ポリス), Reusable Proofs of Work, Mix Network, Sybil Attack.

01Tor は Bitcoin transaction を匿名にしますか?

いいえ。Tor は node の network path や通常の IP address を隠せますが、transaction は blockchain に公開記録されます。Coin selection、address reuse、金額、timing、exchange との関連は、Tor が正しく動いていても利用者を結び付ける可能性があります。

02Bitcoin に最適な anonymity network はどれですか?

threat model なしに一つの答えはありません。Tor は最も広くサポートされ、I2P は異なる内部 network、CJDNS は高速な暗号化 overlay を提供しますが endpoint の隠し方は同じではありません。検証済み設定、独立 peers 数、identity correlation の抑制が名称より重要です。

DOC · 001Bitcoin Core — Tor support in Bitcoin文書 DOC · 002Bitcoin Core — I2P support文書 DOC · 003Bitcoin Core — CJDNS support文書 DOC · 004BIP 155 — addrv2 message仕様 DOC · 005Tor Project — How Onion Services Work文書
改訂日: 一次資料を優先 · 投資助言ではありません