自私挖矿:不足半数的算力怎样靠藏块作弊 图 1
自私挖矿:不足半数的算力怎样靠藏块作弊 · 图 1

一、规则里的一条缝隙

比特币选链只认累计工作量最大的分支,不看”谁先说出来”。这条规则在人人诚实转发区块时运转良好,但 Eyal 与 Sirer 在 2013 年的论文里指出,它隐含了一个一厢情愿的假设:每个挖到块的矿工都会立刻公开。如果有人在自家私有分支上继续挖,发现新块先藏起来,等全网快要追上时再一次性放出整条私链,他就能把一部分本应属于诚实阵营的区块变成自己分支上的孤块。这就是自私挖矿:不双花、不改协议、不需要半数算力,只利用”选最长链”与”信息延迟”之间的缝隙。

自私挖矿:不足半数的算力怎样靠藏块作弊 图 2
自私挖矿:不足半数的算力怎样靠藏块作弊 · 图 2

二、策略树:领先就藏,被追平就摊牌

把过程画成一棵距离状态树:攻击者与诚实链的高度差是关键变量。领先一格时,攻击者若又挖到块就拉到领先两格,若诚实网络先出块则差距归零、私链公开认输或继续摊牌;领先多格时,攻击者拥有宝贵的选择权——可以在对手快要追平时突然公布,让诚实矿工刚挖出的块在一瞬间作废。对手阵营的算力越大,每次”作废”砸掉的收入越多,而这些被作废的收入正是攻击者的相对超额收益来源。论文用马尔可夫链求解各状态概率,核心结论有两条:攻击者的收益占比随算力份额超线性放大,也就是说”份额的杠杆”存在;而发动有利可图攻击的算力门槛远低于外界直觉中的半数线,参数取决于网络传播延迟等条件。

三、收益从哪来、谁在买单

自私挖矿不创造币,它重新分配两块蛋糕:一是区块被作废的机会成本,二是矿池记账里的幻觉。诚实矿工照常开机、照常耗电,只是他们挖出的块更频繁地变成无效区块;矿池若按份额结算(PPS 类),这部分损失由池子吸收,若按实际贡献结算(PPLNS 类)则由诚实成员直接承担。这也解释了论文里那个刺眼的提醒:当某个池子被发现使用这类策略时,它的诚实成员是在不知情地补贴作弊,理性反应是离开。

四、现实中的可观测性与争议

批评者长期质疑其现实威力:私链藏得越久,被公开孤块和传播竞态打脸的风险越高,而网络延迟每降低一分,领先两格的威慑就弱一分。实践中被指认的案例大多停留在统计疑云的层面——孤块率异常可以有许多更平凡的成因(网络分区、矿机固件、矿池软件缺陷),链上无法像双花那样给出确凿证据。工程与治理层面的反制同样朴素:更快的块传播、更去中心化的矿池结构、以及矿工社群对”按承诺出块”的行为约束,都在压低策略收益,而协议层始终没有为它打过补丁——因为它本质是规则内的博弈,不是规则外的漏洞。

五、读者该带走的模型

自私挖矿真正的遗产是一个分析范式:评估挖矿攻击不要只盯”51%“这个显性门槛,还要算”规则允许的收益杠杆”。任何依赖”参与者会如实、及时广播信息”的机制,都要补一道”如果他不呢”的追问。对普通持有者,它既不构成紧急威胁,也不值得恐慌——但它提醒所有链下协议设计者:选最长链这种”看起来最客观”的规则,同样可能藏着一把收益的杠杆。

六、延迟、传播与参数敏感性

策略收益对网络参数极端敏感:区块从挖出到抵达全网的时间越短,诚实链追赶私链的算力利用率越接近账面比例,“领先两格再摊牌”的期望优势随之萎缩。这就是为什么卫星广播、FLT 压缩区块与直连高速骨干网这类基础设施在博弈分析里不只是工程优化——它们直接把攻击收益曲线压低了一截。另一个常被误读的细节是”攻击者必须一直领先”:自私挖矿的超额收益并非来自某个天才区块,而是来自对手在虚高的公开高度上反复出无效的块,属于温水煮青蛙式的持续抽血,短期内谁都不觉得疼。这也是它比双花更隐蔽的原因:没有受害者账户余额一夜归零的瞬间,只有每季度财报里多出来的几笔孤块损失。评估矿工行为是否越界,于是必须依赖诚实对照——同一时段、同等算力下不同矿池的孤块率分布,比单点数据有说服力得多。