258 / 736BWH

Block Withholding Attack

扣留区块解的攻击

设想一名矿工不断向矿池提交工作证明,但找到能够产生有效区块的结果时,却把它藏了起来。面板上,他仍像一位正常工作的参与者,矿池却失去了一次获得奖励的机会。这就是经典的 Block Withholding Attack。它破坏矿工之间的合作,而留下的迹象有时与普通的运气不佳相似。要理解它,需要分清日常工作证明、真正的区块,以及收入如何分配。

Block Withholding Attack 指矿工向矿池提交普通工作证明,却故意不提交找到的有效区块解。这样,矿池可能仍把他的工作计入贡献,却收不到相应的区块奖励机会。

Mining Pool 汇集矿工的工作,并按约定规则分配奖励。它不能等到每位小矿工都找到完整区块后,才认可他们的贡献。Bitcoin Developer Guide 解释了 shares 的作用:这些满足较宽松条件的结果,可以持续证明矿工做过工作。极少数结果也能满足比特币网络更严格的条件。攻击者提交普通 shares,却丢弃这种更有价值的发现。机器依然在真实计算、消耗电力,并不是零成本地假装挖矿。 [3]

这取决于结算模式。Meni Rosenfeld 区分了 Pay Per Share(PPS)和 Pay Per Last N Shares(PPLNS):前者由运营方为接受的 shares 付费,后者根据规定范围内最近接受的 shares,分配实际获得的区块奖励。因此,在 PPS 下,只要运营方履行承诺的付款,缺失区块造成的收入缺口就由它承担。在 PPLNS 下,可供参与者分配的钱变少,攻击者本人也包括在内。同一个被丢弃的发现,可能让不同的人承受损失。真正重要的是矿池的具体规则,而不是面板上的“挖矿”标签。 [1]

单纯丢弃发现,可能是一种代价不小的破坏行为。攻击者要支付设备和电费,还放弃本可以通过诚实挖矿获得的收入。Ittay Eyal 也研究了更复杂的情形:竞争矿池把部分算力用于诚实挖矿,把另一部分用于攻击其他矿池。在某些假设下,这样分配可能增加其总收入。但数学模型的结果并不承诺扣除全部成本后仍有利润。仅凭受害者损失,无法判断攻击者在整件事上是否赚了钱。 [2]

两种说法都涉及没有公开的区块,但区块接下来的去向不同。Eyal 和 Emin Gün Sirer 描述的 Selfish Mining,是在私有链分支上挖矿,再有策略地公开其中的区块。攻击者希望自己的分支胜出,并领取奖励。相比之下,矿池内部经典的 Block Withholding Attack 会丢弃找到的区块,并不需要建立一条获胜的私有分支。还有一些变体只是延迟提交。因此,阅读分析时,应先弄清作者研究的究竟是哪种策略。 [4]

假设在某个时期内,按算力和难度,一名诚实矿工平均应找到 1 个区块。Rosenfeld 也使用的 Poisson 模型,描述的是预期速率恒定、彼此独立的随机发现。按照这个模型,一个都找不到的概率约为 37%。当期望值为 3 个区块时,这个概率约为 5%。这不是“有罪的概率”:我们计算的是假设诚实挖矿时出现零结果的机会,而不是看到零结果后发生欺诈的概率。例子要求条件适当稳定,并且观察期事先确定。平均数并不规定区块必须在何时出现。 [1]

Eyal 指出,把攻击归因于某个具体的小矿工十分困难。仅拿出一个没有发现区块的账户还不够。应在同一时期内比较接受的 shares 与区块,同时考虑 shares 的难度,也就是其代表的工作量。Hashrate 是计算速度,根据这些证明估算出来的数值同样会波动。还要检查中断、记录缺失和条件变化。矿池可能有理由调查问题,但并没有足够证据指控某个人。 [2]

Eyal 讨论了区块发现者奖金、信誉积累,以及答案已知的测试任务。但每种措施都会改变一些条件。奖金把更多奖励分给发现者,可能加大小矿工收入的波动。信誉规则让更换矿池更困难;测试任务需要维护和可靠的判断。它们不是打开开关就能获得的万能保护。运营方必须同时评估效果与副作用,并诚实说明措施实际上能识别什么。 [2]

Bitcoin Developer Guide 区分了找到区块与网络验证区块。隐藏发现不会改变交易有效性的规则,本身也不能让人花掉别人的币或改写已确认的历史。它主要破坏共同挖矿的经济利益与信任。读者可以抓住三个问题:隐瞒了什么、按约定规则是谁损失了钱,以及到底有哪些证据?介绍这一机制,并不是指控任何目前运营的矿池。 [3]

要获得更完整的理解,请将本词条与以下词条结合阅读: Mining Pool, Pay Per Last N Shares, Hashrate, Selfish Mining.

DOC · 001Rosenfeld — Analysis of Bitcoin Pooled Mining Reward Systems一手来源 DOC · 002Eyal — The Miner’s Dilemma一手来源 DOC · 003Bitcoin Developer Guide — Mining文档 DOC · 004Eyal and Sirer — Majority is not Enough一手来源
修订日期: 来源优先 · 非投资建议