教程区块链区块链技术ch066.5 网络层攻击:日蚀攻击、女巫攻击与防御

本页目录

即使区块链的共识层和密码层完美无瑕,P2P 网络层仍然是攻击者的沃土。本节分析三类最致命的 P2P 攻击:日蚀攻击(隔离单节点)、女巫攻击(伪造身份泛滥)、以及 BGP 劫持(割裂全网),并揭示 Bitcoin Core 和以太坊客户端的工程防御手段。


6.5.1 日蚀攻击(Eclipse Attack)

日蚀攻击的目标不是全网,而是单个目标节点。攻击者通过耗尽目标节点的所有连接槽位(通常 8 个出站 + 117 个入站),使得目标只能与攻击者控制的节点通信。

一旦目标被"日蚀",攻击者可:

  • 隔离其视角:使其看到的区块链滞后于主链;
  • 双花欺骗:让目标接受尚未被主网确认的交易;
  • 挖矿劫持:若目标是矿工,使其在攻击者指定的分叉上浪费算力。
graph TD
    subgraph 正常网络
        A[目标节点] --- B[诚实节点1]
        A --- C[诚实节点2]
        A --- D[诚实节点3]
        B --- E[全网其他节点]
    end
    subgraph 被日蚀后
        A1[目标节点] --- M1[恶意节点A]
        A1 --- M2[恶意节点B]
        A1 --- M3[恶意节点C]
        M1 --- M2
        M1 --- M3
        M1 -.->|隐藏主链| A1
    end
    style A fill:#ccffcc
    style A1 fill:#ffcccc

6.5.2 日蚀攻击的四种防御机制

防御一:锚定节点(Anchor Peers / Outbound Connections)

比特币默认维持 8 个出站连接(Outbound) 和最多 117 个入站连接(Inbound)。出站连接由节点主动发起,优先连接已知的、长期在线的"种子"和"锚定"节点:

\text{攻击成本} \propto \text{outbound_targets}

攻击者必须同时控制目标的所有出站目标,成本随出站连接数线性增长。

防御二:地址随机化与计时衰减

节点的地址数据库(peers.dat)采用随机采样 + LRU 驱逐。新地址有老化期(试连失败则扣分),成功连接则保留。这使得攻击者难以长期盘踞。

防御三:非对称连接策略

连接类型数量特性
出站(Outbound)8主动选择,可信度高
入站(Inbound)最多125被动接受,风险高
区块中继专用2(Bitcoin Core v25+)专门维持区块传播,不参与交易

通过限制入站、强化出站,节点将其"信任边界"向主动选择偏移。

防御四:多样连接(Feelers + Outbound Rotation)

节点定期尝试新连接("try" 和 "feeler" 地址),一旦新连接稳定,就随机关闭一个旧连接。这确保了节点的邻居集合持续演化

P(被持续日蚀)=t=1TP(攻击者控制所有当期邻居)P(\text{被持续日蚀}) = \prod_{t=1}^{T} P(\text{攻击者控制所有当期邻居})

随时间 TT 增长,成功概率指数衰减。


6.5.3 女巫攻击(Sybil Attack)

定义:攻击者创建大量廉价节点身份,试图控制网络中的投票/共识/路由比例。

无许可网络中,Sybil 身份是"免费的"——任何人都能运行一个节点并生成新的 Node ID。这使得 Sybil 防御极为困难。

防御:经济/资源门槛

机制原理代表
算力门槛(PoW)节点需投入不可逆算力Bitcoin
质押门槛(PoS)节点需锁定资本Ethereum 2.0
工作量绑定Node ID 的哈希需满足 PoW 条件S/Kademlia
社交信任身份由现实世界的信任网络背书联盟链/PoA

核心不等式:

攻击者成本Sybil=k单身份成本>攻击收益\text{攻击者成本}_{\text{Sybil}} = k \cdot \text{单身份成本} > \text{攻击收益}

只要让每个节点的创建成本足够高,Sybil 即无利可图。


6.5.4 BGP 劫持与互联网基础设施攻击

P2P 网络运行在 TCP/IP 之上,而互联网的路由基础设施(BGP)并非去中心化。攻击者可以:

  1. 前缀劫持:发布错误的 BGP 路由宣告,将目标 IP 段的流量引流到攻击者 AS(自治系统);
  2. 分区攻击:将特定区域(如某国)的节点与主网隔离,形成事实上的链分叉。

防御

  • 多宿主连接:节点使用多个 ISP、多个 IP 段;
  • Tor/匿名网络:隐藏真实 IP;
  • 区块延时广播:部分矿池通过卫星/短波广播区块,绕过地面互联网。

6.5.5 DDoS 与传播阻塞

攻击者向全网发送大量无效交易或超大区块,消耗节点带宽与 CPU。Bitcoin 的常见缓解:

  • 速率限制:每个连接限制 inv/getdata 频率;
  • 最小中继费率:低于 minRelayFee 的交易直接丢弃,不进入 Mempool;
  • 逻辑惩罚:发送大量无效消息的节点被暂时禁连。
graph TD
    A[攻击者发布低费率洪水] --> B[节点A]
    B -->|minRelayFee 过滤| C[直接丢弃]
    B -->|速率限制| D[不超配额]
    B -->|逻辑惩罚| E[断开连接]
    C --> F[不进入 Mempool]
    D --> F
    E --> G[攻击者 IP 被列入临时黑名单]

关键认知:P2P 攻击的本质是利用网络层的信任假设缺失。无论是隔离单节点还是割裂网络,攻击者都是在利用"谁是我邻居?"这个问题在无许可环境中的脆弱性。防御的核心思路始终是:提高邻居选择的不确定性,提高身份伪造的成本


← 6.4 中继策略 | 前往 → 6.6 轻客户端与全节点行为差异

评论

0

评论加载中…

发表评论

0/2000