它们是比特币节点通信的独立网络路径:Tor 使用 SOCKS proxy 与 onion services,I2P 使用 SAM 接口隧道,CJDNS 则是加密的 IPv6 overlay;这些机制不改变 transaction、blockchain 或 consensus,也不能单独保证用户匿名。
匿名网络处理节点之间的传输,而不是 Bitcoin transaction 的内容。它可以向对端隐藏普通 IP 地址或增加路径观察难度,但公开金额、地址关联、timing 与 on-chain heuristics 仍是独立问题。 [5]
Bitcoin Core 可通过 Tor SOCKS proxy 路由出站连接,并为入站连接创建 Tor v3 onion service。从版本 22.0 起它忽略 Tor v2 地址;错误配置可能让 DNS 或 clearnet 流量绕过预定路径,因此 -proxy、-onion、-onlynet、-bind 与 firewall 必须配合。 [1]
I2P 连接使用带 SAM 接口的外部 I2P router,通常位于 127.0.0.1:7656。Bitcoin Core 从版本 22.0 起支持 I2P,并在接受连接时默认生成持久 I2P 地址及密钥;使用 -i2pacceptincoming=0 时,每个出站连接采用临时地址,但 I2P 对端仍会看到发起者地址。 [2]
CJDNS 是使用 fc00::/8 地址和基于 public key routing 的加密 IPv6 overlay。Bitcoin Core 从版本 23.0 起通过 -cjdnsreachable 支持它;文档明确说明 CJDNS 不会向中间 routers 隐藏发送者和接收者,peers 较少时也不应只依赖它。 [3]
BIP 155 引入了 sendaddrv2 与 addrv2 消息,使用可变长度地址,并为 Tor v3、I2P 和 CJDNS 设置独立 network IDs。Node 因而能保存和 gossip 这些 endpoints;仅宣布地址不能证明该 node 使用此网络,也不能证明特定流量经由它传输。 [4]
同时使用多种网络可提高可用性,并因 node 拥有通往 peers 的不同路径而增加 eclipse 或 partition attack 的难度。同一配置也可能关联看似独立的 identities:攻击者可比较 uptime、行为、共同宣布的地址,或 clearnet 与 overlay network 上的流量。 [1]
Tor、I2P 与 CJDNS 在 latency、可用 peers 数量、endpoint 可见性和 Sybil resistance 上有不同取舍。onlynet 模式可限制向其他网络泄漏,但更小的 peer 集合可能拖慢同步并增加对少数 nodes 的依赖;任何选项都无法修复 wallet 错误或 blockchain analysis。 [3]
核验必须查看实际 sockets 与 node 状态:getnetworkinfo、-netinfo、-addrinfo 和 getpeerinfo 会显示本地地址、已知 endpoints 数量和具体 connections。除 Bitcoin Core 配置外,还要检查运行中的 Tor 或 I2P router、CJDNS interface、DNS path、binds、firewall,以及入站和出站流量是否确实使用预定网络。 [2]
要获得更完整的理解,请将本词条与以下词条结合阅读: Bitcoin 隐私, Full Node, Bitcoin Core, Dandelion++, 交易, Lightning Routing. 反向关联还来自: 平行城(Paralelní Polis), Reusable Proofs of Work, Mix Network, Sybil Attack.
01Tor 会使 Bitcoin transaction 匿名吗?+
不会。Tor 可隐藏 node 的网络路径或普通 IP 地址,但 transaction 仍公开写入 blockchain。Coin selection、地址复用、金额、timing 及与 exchange 的关联,即使 Tor 正常工作也可能识别用户。
02哪种匿名网络最适合 Bitcoin?+
没有 threat model 就没有统一答案。Tor 支持最广,I2P 提供不同的内部网络,CJDNS 是快速加密 overlay,但不会以相同方式隐藏 endpoints。经过核验的配置、独立 peers 数量和对 identity correlation 的限制比名称更重要。