一个开关改变的不止出站
比特币核心的 onlynet 参数限定节点只使用某一种网络:取值 onion 时,节点只与洋葱服务地址建立出站连接、只对外公告洋葱地址、只把洋葱地址在地址交换中发给对端,公开网络(IPv4、IPv6)的连接尝试被整体关闭。配合 proxy 指向 Tor 的 SOCKS 端口,节点的真实 IP 在协议可见面上不再出现——既不会在握手与地址广播中泄露,也不会出现在给任何对端的候选地址列表里。对隐私要求高的运营者,这是”降低被动暴露”的基础配置,而不是匿名方案的全部。
先解决的问题:从哪儿找到第一个对端
纯洋葱模式最硬的约束是引导。节点出厂内置的 DNS 种子服务器返回的几乎全是普通 IP 地址,onlynet 模式下这些地址一概连不上,等于第一张电话簿作废。可用的路径有两条:其一,手动把可信来源(朋友、组织公开的运行节点)的洋葱地址写进 addnode 配置,长期挂载,让节点经由它们进入网络并逐步积累可用的洋葱对端;其二,从已经联网的节点上把对端地址表导出后复用。两条路都绕不开同一个原则:引导对端必须来自你信任的渠道,因为它们决定你第一眼看到的”网络”是不是真实网络。配置写好后用 getnetworkinfo 的本地公告字段确认洋葱地址已公告,用 getpeerinfo 确认对端清单带 onion 标记,才算配置生效。
公告 v3 地址的前提
onions 网络有两代地址,第二代的 v3 洋葱地址长三十一字节,比旧版的十六字节长得多。比特币的旧地址消息格式装不下 v3,需要节点间的 addrv2 扩展(BIP155)才能交换。现代核心版本在 Tor 隐藏服务模式下默认走这套机制,公告的是 v3;接入网络后,其他节点传播的就是你的 v3 地址,全网路由图谱上你的节点不再对应任何数据中心 IP。
关掉的那扇门:对等数量与传播
代价要摆清楚。全网能直连的洋葱对端只是节点总体的一小部分,onlynet 模式下节点的可连接池显著缩小,结果通常是:出站槽位可能填不满、交易经由更少的路径传播、个别时段区块到达变慢。这些不影响共识安全——节点仍然完整验证每一条区块与交易——但会影响实时体验,尤其对依赖低延迟的业务。另一种误区是把开关当隐身衣:用户代理字符串、连接的时序与流量模式仍是潜在指纹来源,-uacomment 之类的字符串自定义要克制,长期稳定的连接模式也能反推节点存在。这层配置的准确定位是:把 IP 这个最容易泄露、也最容易被利用来定位用户的标识符从协议中剪掉,其余攻击面仍在。
操作与验证清单
以隐私为目的部署时的防御清单:Tor 用发行方最新教程配置隐藏服务;钱包RPC 端口只绑本机;防火墙禁止一切直连出站;引导洋葱对端写死并定期核对;升级时对照发行说明确认 Tor 相关默认值无变化。运行一段时间后,观察日志里块与交易均经 onion 对端到达、getpeerinfo 里公开网络计数为零,即可确认隔离生效。纯洋葱模式不承诺匿名,它承诺的是一件更朴素的事:任何单一观察者在协议层面拿到的只是一个洋葱地址。
别把两个 Tor 模式混为一谈
比特币核心与 Tor 的集成有两种常被混淆的形态:其一,隐藏服务模式,节点对外提供洋葱地址供人连入,自己的出站也可走代理,onlynet=onion 通常与这一形态配合;其二,纯代理模式,节点自身不监听,仅经 SOCKS 拨出连接公开网络,此时公告的仍是真实地址体系之外的隐形势。onlynet 关上的正是第一形态之外的所有公开网络出入口,所以配错形态的表征是:以为隐藏了 IP,实际只是”从家里走了条黑路”。核对办法是逐项看 getnetworkinfo 的 networks 表:ipv4 与 ipv6 条目的 reachable 应为 false,onion 条目 reachable 为 true 且带本地公告地址;再抽查若干 getpeerinfo 记录确认地址列全为 onion。两个开关各就各位,隔离才算落地。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。