2.1 核心攻击原理
攻击者将网络划分为(至少)两个总算力大致平衡的子群。通过选择性地延迟这些子群之间(而非内部)的消息,攻击者允许它们在独立的链上进行挖矿。然后,攻击者将其自身算力集中在一个子群(区块子群),同时在另一个子群(交易子群)发起其意图撤销的交易。
本文介绍并分析了平衡攻击,这是一种针对工作量证明区块链共识协议的新型安全漏洞利用,主要关注以太坊及其GHOST协议。与需要压倒性算力的传统51%攻击不同,平衡攻击利用节点子群之间策略性的网络通信延迟来创建临时分区,从而以显著更低的算力实现双花。该研究提供了一个理论概率模型,并使用模拟R3金融联盟区块链测试平台的设置进行了实验验证。
核心发现是,PoW区块链,特别是那些使用类似GHOST的叔块记账机制的区块链,可能从根本上不适合联盟链或私有链环境,因为在这些环境中,网络拓扑和延迟可以被操纵或预测。
该攻击通过人为制造导致权重相近的竞争链出现的网络条件,来利用区块链的分叉解决策略。
攻击者将网络划分为(至少)两个总算力大致平衡的子群。通过选择性地延迟这些子群之间(而非内部)的消息,攻击者允许它们在独立的链上进行挖矿。然后,攻击者将其自身算力集中在一个子群(区块子群),同时在另一个子群(交易子群)发起其意图撤销的交易。
本文建立了一个形式化的概率模型来确定攻击成功的条件。
分析使用切尔诺夫界限将挖矿过程建模为泊松过程。关键变量是攻击者必须维持的延迟时间($\Delta$)与攻击者算力占比($\alpha$)以及诚实网络算力之间的关系。
推导了攻击者在被隔离子群中的分支变得比另一个子群的分支更重的概率。为了以高概率成功实现双花,所需的延迟$\Delta$与攻击者的算力成反比。该模型捕捉了这种权衡:攻击者算力越低,所需的网络延迟就越长。 攻击者在时间$t$内,以算力$q$对抗诚实算力$p$所能获得的预期领先优势$L$的简化表达式与泊松过程速率相关:$\lambda = \frac{p}{\tau}$,其中$\tau$是出块时间。攻击者的进展是一个由该过程建模的随机变量。
理论模型在模拟R3联盟的实际环境中进行了测试。
在一个分布式系统中部署了以太坊私有链,模拟R3联盟(约11家参与银行)的条件。在节点子群之间人为引入网络延迟以模拟攻击。
攻击持续时间:单台机器能够在约20分钟内成功对模拟的R3联盟执行平衡攻击。
影响:这表明该攻击不仅是理论上的,而且在联盟链环境中,以适度的资源即可实际实施,因为与公共主网相比,联盟链的总网络算力有限。
图表描述(概念性): 折线图将显示双花成功的概率(Y轴)随着攻击者控制的延迟时间(X轴)增加而急剧上升,即使对于攻击者算力占比较低的情况(由不同线条表示)。对于20%算力的攻击者,其曲线达到高概率所需的时间远少于5%算力的攻击者,但只要有足够的延迟,两者最终都能成功。
虽然两者都容易受到网络层攻击,但本文认为,以太坊的GHOST协议将叔块纳入权重计算,反而可能创造了一个不同的攻击面。平衡攻击专门通过隔离创建平衡的、相互竞争的子树,来操纵“最重子树”规则。比特币的最长链规则容易受到不同的延迟攻击(例如自私挖矿),但平衡攻击是围绕GHOST的机制制定的。
本文最具批判性的结论是,未经修改的PoW协议极不适合联盟区块链。 联盟链参与者较少且身份已知,这使得网络分区攻击比在全球性的、充满对抗的比特币网络上更可行。有限的总算力也降低了获取有意义算力份额的成本。
核心见解: Natoli和Gramoli揭示了区块链安全中一个关键但常被忽视的公理:共识安全是密码学证明和网络同步性共同作用的结果。 平衡攻击并非旨在破解SHA-256或Ethash;而是旨在精准地打破部分同步模型中的“网络”假设。这将威胁从计算层(哈希算力)转移到了网络层(路由、ISP),这是许多联盟链运营商尚未准备好防御的前沿领域。它呼应了经典分布式系统(如FLP不可能性结果)的教训,证明了共识在异步条件下是脆弱的。
逻辑脉络: 其论证的简洁性堪称优雅。1) PoW安全性依赖于一条增长最快的单一链。2) GHOST将其修改为“最重”链,纳入叔块以提高吞吐量。3) 通过创建算力平衡的隔离分区,攻击者迫使生成两个权重相近的有效子树。4) 重连时,GHOST的规则反而成为了攻击向量,而非防御手段。其利用的逻辑缺陷在于,GHOST假设权重反映了诚实的工作量,但在分区网络中,权重反映的是隔离的工作量,这是可操纵的。
优势与缺陷: 本文的优势在于其在以太坊私有链上的实际演示,超越了纯理论。切尔诺夫界限的使用提供了数学上的严谨性。然而,该分析存在学术安全论文中常见的缺陷:它假设了一个近乎完美、持续的网络分区。在拥有多条物理和逻辑路径的真实企业网络中,面对网络工程师的监控,维持如此清晰的分区超过20分钟并非易事。该攻击还要求攻击者识别并瞄准算力精确平衡的子群,这在联盟链中可能需要内部信息。
可操作的见解: 对于任何考虑采用基于PoW的联盟链的企业,本文是一份必须警惕的红旗。最直接的启示是在联盟链环境中放弃纯PoW。 替代方案如权威证明(PoA)、实用拜占庭容错(PBFT)或其衍生协议(如伊斯坦布尔BFT)本质上更具抵抗力,因为它们的安全性源于身份和消息传递,而非算力和网络运气。对于以太坊等公链,缓解措施在于健壮、去中心化的网络基础设施(如以太坊的Discv5)和快速的区块传播(如Graphene)。监控主要矿池之间异常延迟应成为标准的安全实践。这项研究与早期关于日蚀攻击(Heilman等人)和贿赂攻击(Judmayer等人)的研究一起,构成了一个证据体系,表明第一层共识的设计必须明确考虑对抗性网络模型。
诚实节点和攻击者的挖矿过程被建模为独立的泊松过程,速率分别为$\lambda_h$和$\lambda_a$,其中$\lambda = \text{算力} / \text{出块时间}$。令$Q(t)$和$H(t)$为攻击者和诚实网络在时间$t$内挖出的区块数。它们的期望是$\mathbb{E}[Q(t)] = \lambda_a t$和$\mathbb{E}[H(t)] = \lambda_h t$。
攻击者在延迟期$\Delta$内的目标是在一个分区中建立领先优势$z$。攻击者在分区B中的链至少领先诚实节点在分区A中的链$k$个区块的概率,可以使用泊松分布的尾不等式来界定。当网络合并时,攻击成功的条件涉及比较两条竞争链的总权重(包括叔块)。本文推导出了一个连接$\Delta$、$\alpha$(攻击者占总算力的比例)和期望成功概率的条件。
场景: 一个用于贸易融资的联盟区块链,有10家银行,每家运营一个算力相等的挖矿节点。
攻击框架应用:
这个非代码示例使用一个现实的业务场景说明了攻击的步骤。