跳转到正文
buybitcoinsmart

术语表 /挖矿与共识

自私挖矿

自私挖矿是什么?
自私挖矿是一种策略:矿工隐藏已解出的区块,仅在能使对手的区块作废时才将其发布,从而获得超出其算力份额应得的收益。

扣留已解出的区块通常得不偿失,因为对手可能抢先发布,您的工作量就变得毫无价值。Ittay Eyal 和 Emin Gun Sirer 于2013年发表的一篇论文表明,当算力超过全网算力的约三分之一时,收益计算就会逆转;若再具备传播速度优势,门槛会降至约25%。在比特币主链上,尚未记录到任何类似的情况。

运作方式

自私挖矿把私下领先的优势变成其他所有人白白浪费的电力。

自私矿工找到一个区块后,对此只字不提。此后有几种走向。如果在秘密区块仍然隐藏时,网络其余部分发布了一个区块,自私矿工会立即发布自己的区块,迫使两个等高的链端展开竞争;只要有足够多的诚实算力恰好先收到它的区块,它就可能获胜。如果它转而在私下又找到第二个区块,就拥有了两个区块的领先优势,可以让诚实矿工继续在一条注定失败的分支上挖矿。待他们最终发布区块时,隐藏的两个区块随即发布,他们的区块被丢弃,其工作量没有带来任何收益。

收益是相对的,而非绝对的。每个被丢弃的诚实区块都会减少全网接受的区块总数,因此短期内自私矿工赚到的比特币比正常挖矿时更少。改变的是比例:它在一块更小的蛋糕中分得了更大的一份。随后,蛋糕由难度调整恢复:难度每2,016个区块重新计算一次,并因区块出块缓慢而调高目标。只有在这次重新调整之后(最长可能需要两周),这种策略才会获利。因此,任何尝试者都必须承担为期两周的收入下降,同时其行为在外部从统计上清晰可见。

门槛取决于网络拓扑,而这恰恰是多数概述略去的部分。相关变量是在竞争期间,有多大比例的诚实矿工在自私区块上继续挖矿。若该比例为零,自私挖矿需要超过全网算力的三分之一才能获利;若为一半,四分之一即可;若矿工能够稳定地最先触达每一个对等节点,获利所需的份额还会大幅降低,这就是区块传播速度属于安全属性、而非性能细节的原因。

在哪里会遇到它

自私挖矿出现在学术文献和中继软件的设计中,而不是比特币已观察到的历史中。

三个实际情况使它停留在这些地方。传播近乎即时:Bitcoin Core 0.13于2016年加入的紧凑区块中继,会发送区块的简短摘要,由对等节点根据自己的内存池重建,专用中继网络则进一步缩短其余时间,因此被扣留的区块在竞争中获胜的时间窗口极小。矿池也是公开的:几乎每个区块的 coinbase 脚本中都带有矿池标签,若某个矿池出现异常的最后一刻发布模式,就会因其并不拥有的算力而很快被识别,因为其客户可以在几分钟内将矿机指向别处。

这一术语还常与两个相近概念混淆。区块扣留是针对矿池的破坏行为,参与者提交部分份额,却丢弃真正解出区块的那一份,受损的是矿池,而不是网络。51%攻击则会改写已确认的历史。自私挖矿两者都不是:它没有违反任何共识规则,不会撤销任何付款,窃取的是其他矿工的收入,而不是用户的币。对购买或持有比特币的人来说,唯一的症状是陈旧区块的比例升高,而确认的含义仍与今天完全一致。

请勿混淆

常见问题

比特币上发生过自私挖矿吗?

在主链上尚未记录到任何案例。区块传播速度快、矿池身份公开,以及在难度调整使其获利之前要承受两周的收入下降,这些都对它不利。

自私挖矿会使我的币面临风险吗?

不会直接造成风险。自私矿工没有违反任何共识规则,既不能撤销已确认的付款,也不能花费其没有私钥的币。损失由其他矿工承担,他们的区块会被丢弃。

相关术语

挖矿与共识中的更多术语

阅读本页英文版