比特币节点的隐私网络版图通常只谈 Tor 和 I2P,但官方文档承认还有第三张网:v31.0 源码 doc/cjdns.md 与参数表里的 -cjdnsreachable 描述了节点接入 CJDNS 的方式。CJDNS 是一个用公钥推导地址、用分布式哈希表路由的加密 IPv6 网络——官方文档把它比作”一个多入口、参与者彼此可达的分布式共享 VPN”,每台参与者都使用 fc00::/8 这个预留 IPv6 地址段的地址。与 IPv4/IPv6 相比,它提供端到端加密,并能保护节点免受流量分析与过滤——最后这半句是文档原话的分量所在:它对抗的是”看你是谁、掐你的连接”这类手段,而不是”你是谁”本身。
一、一个开关改的是”地址怎么被理解”
-cjdnsreachable 默认值为零。翻开 v31.0 源码 src/init.cpp 的参数说明:设置之后,节点把连接 fc00::/8 地址理解为走向 CJDNS 网络,而不是普通 IPv6 本地网。这一个解释权的切换带来两条实际行为:其一,来自 fc00::/8 的入站连接被归类为 CJDNS 网络的对端,而不是内网地址;其二,如果本机有 fc00::/8 地址,节点会把它作为公开地址向邻居广播——不开启,节点会把它当成私网地址而从不外宣。RPC 侧还有一处联动:-rpcallowip 的说明写明,RFC4193 地址段只有在 -cjdnsreachable=0 时才允许——fc00::/8 究竟算不算可信内网,全看这个开关。
二、接入流程在核心之外
官方文档把顺序写得很清楚:CJDNS 的安装与组网在比特币核心之外完成,方式类似配置 VPN——可以装在本机,也可以挂在路由器上;要接进网络,必须先向一个已在线的节点发起出站连接,也就是其文档里的”先找一个朋友”步骤。之后运行核心时加上 -cjdnsreachable,fc00::/8 邻居即可自动可达。若本机同时用 -onlynet 圈定网络,文档提醒可以叠加声明多个网络(例如 cjdns 加 i2p 加 onion),而”只走某张网”的限制同样只管自动出站。核对方法分散在三处:-netinfo 的本地地址栏、getnetworkinfo 的 localaddresses 字段,以及 getnodeaddresses 抽样(运行 bitcoin-cli -addrinfo 能看到本机已知的 CJDNS 地址数量);想看当前连着的 CJDNS 对端,官方文档给的是 -netinfo 4 的网络分列视图。想让节点只走这张网,用 onlynet=cjdns,注意它只管自动出站,入站与手动连接不受约束。-proxy 也认得这张网——参数值带 :cjdns 后缀时会给它单独设置代理,对已在本机跑好 cjdns 守护进程的部署来说,这一层通常用不到。
三、三条诚实的边界
第一,这张网更古老、更小:官方文档明言 CJDNS 的对端数量可能少于 Tor 或普通 IP,文档给出的定位是补充冗余而非替代主干——同时跑 onion 服务加 CJDNS(或全部网络)才是稳妥姿势。第二,隐私画像要按文档原话校准:官方对比表写明 Tor 应用广但相对中心化、I2P 连接带源地址且慢、CJDNS 快但不向中间路由器隐藏收发双方——它保证的是会话加密与不可路由的地址,不是匿名信令。其三,这张网有版本史:核心源码文档写明 CJDNS 支持自 23.0 版加入,更早版本的参数表里没有这一项。
把三张网排一遍用途:Tor 提供成熟的隐匿入口,I2P 提供另一套独立覆盖层,CJDNS 提供快而加密的直连与另一种地址多样性。配置动作也各有对应:Tor 侧可以用 -bind=...=onion 给 onion 入站单独指定监听、配合 -listenonion 自动建隐藏服务;I2P 侧用 -i2psam 指向 SAM 桥;CJDNS 侧则是本机或路由器跑好 cjdns 守护进程后加 -cjdnsreachable。三张网的可达性声明在 getnetworkinfo 与 -netinfo 里分列可查,故障时也按网络分列定位。多挂一张网就多一个故障域的重叠,但也多一分某一网被封锁或抖动时的存活概率——这正是官方文档说”某个网络出问题时提供回退”的含义。本文只说明机制,不构成任何投资或运营建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。