比特币区块链拒绝服务(DoS)攻击研究:成也矿工,败也矿工

摘要:我们发现了一种针对类似比特币区块链的拒绝服务攻击,这种攻击模式比之前的攻击模式成本要低得多(只需全网20%算力)。区块链依赖于激励机制来保证系统安全。我们展示了攻击者如何破坏这些激励机制,从而导致理性的挖矿者停止挖矿。攻击我们提出的攻击者会使系


摘要:我们发现了一种针对类似比特币 区块链 的拒绝服务攻击,这种攻击模式比之前的攻击模式成本要低得多(只需全网20%算力)。 区块 链 依赖于激励机制来保证系统安全。我们展示了攻击者如何破坏这些激励机制,从而导致理性的挖矿者停止 挖矿 。

攻击我们提出的攻击者会使系统处于一种状态,在这种状态下,理性矿工的最佳行动就是停止 挖矿 。

为了诱发这种状态和相应的证明,攻击者生成一个 区块 ,并只发布其 区块 头。而给定一个 区块 头,一个理性的矿工有三种可能的行动:(1)其可以延长主链,然后忽略 区块 头;(2)其可以扩展这个 区块 头(SPV 挖矿 );

(3)其可以停止 挖矿 ,既不消耗算力,也不赢得奖励;

如果理性矿工遵循选项1并扩展主链,找到并广播了新的 区块 ,那么攻击者矿工将使用其相对较高的连接性(如自私 挖矿 )并传播与 区块 头BA相对应的完整 区块 。这会导致两组矿工之间的竞争,其中一组先接收到攻击者的 区块 数据,另一组则先接收到理性矿工的 区块 。

理性矿工很有可能会输掉比赛,而 区块 Bi永远不会被包含在主链当中。与“无攻击”情况相比,这降低了在最后一个完整 区块 进行挖掘的预期收益。

如果理性矿工遵循选项2,并成功地扩展了攻击者的 区块 头BA,则攻击者就不会发布完整的 区块 BA。这导致理性矿工的 区块 永远不会包含在主链当中,从而导致该 区块 的预期回报为零。

因此,在这两种情况下,如果“无攻击”设置中的原始盈利能力不是太高,则攻击者都可以确保诚实的矿工最终会蒙受损失。因此,BDoS攻击者的威胁,意味着诚实矿工最好是放弃,而不是选择 挖矿 ,即选择第三个方案。正如电影《战争游戏》中所说的那样,“唯一能赢的途径,就是不参与。”

BDoS攻击成功的条件现在我们来说下BDoS攻击者成功的条件是什么。具体来说,对于特定的理性矿工i,我们要考虑在什么条件下,无论其他参与者的行为如何,i停止 挖矿 要比继续 挖矿 更有利可图。答案取决于三个因素:首先,如果攻击者的算力足够多,那么攻击将成功;其次,如果矿工i的算力足够少,那么他将成功;最后,如果矿工i一开始利润不高,那么他将成功;

矿工i的盈利因素是,如果没有发生攻击,其在 挖矿 中的每1美元投资都将获得回报。下面的图片显示,对于不同攻击者大小(X轴)和矿工大小(不同曲线)成功进行攻击的最大收益率。

在我们的分析中,我们使用了一个称为收益因子的属性,它代表每美元投资的回报。这取决于 挖矿 设备以及电力成本,以及相关加密货币的价格。

举个具体的例子,如果最大矿工拥有的算力占全网算力的20%,那么一个拥有全网20%算力的攻击者,就可以激励所有的矿工在其盈利系数低于1.37时停止 挖矿 。

目前,对于 比特币 而言,在电价为0.05美元/kWh 的情况下,比特大陆S17 Pro矿机的收益因子接近2,而S9 的收益因子接近1。如果币价大幅下降,难度增加,攻击者将能够激励现有的矿工停止 挖矿 ,从而导致 比特币 网络完全停止运行。此外, 比特币 区块 奖励预计将在2020年减半,这相应会降低矿工的盈利能力。

两种币模型请注意,我们的模型是保守的,在某种意义上低估了攻击者的机会。到目前为止,我们假设一个矿工在利润为0的情况下可以继续 挖矿 或停止 挖矿 。但是,加密货币矿工通常会将 挖矿 工作转移到第二种加密货币上,甚至是暂时性的。如果两种币的初始盈利能力(在攻击前)是相似的,那么在攻击发生时,切换到另一种币上,几乎就是能盈利的。这意味着在这种情况下,我们称之为两种币模型的攻击威胁,甚至要比我们上面分析所显示的还要高。事实上,两种币模型更符合现实场景。例如,有证据表明,矿工们经常会根据盈利率在BTC和BCH之间进行切换。缓解措施以及披露责任我们没有租用 挖矿 设备来进行攻击,也没有做空 比特币 然后跑去躲避,而是遵循安全研究的最佳做法,并经历了一段负责任的披露期。我们向受影响的主要加密货币的开发人员发出了攻击警报,并讨论了缓解措施。

我们建议对共识规则进行小小的修改,这样矿工们就可以对 区块 header在body在之前某个阈值时间(比如1分钟)以上的 区块 给予较低的优先级。这将增加攻击者输掉 区块 传播竞赛的机会,因此可降低BDoS攻击的有效性。不幸的是,这一对策并不是根本性的。正如我们在论文中所解释的,攻击者可以使用智能合约或零知识证明来证明其找到了一个 区块 (而不是发布 区块 头)。使用这些技术,就会使得 区块 传播竞赛中的攻击者 区块 与理性矿工 区块 之间无法被区分,从而使缓解技术无效。

BDoS攻击的另一个可能解决方案,是使用叔块奖励机制,正如以太坊采用的方案。叔块奖励机制将奖励挖到非主链(但与主链直接相连) 区块 的矿工。如果使用了叔块奖励机制,理性的矿工在BDoS攻击中停止 挖矿 的的机会要低得多,因为即使其输掉了比赛,它也会得到奖励(相当于以太坊完整 区块 奖励的7/8)。不过,这是一个折衷方案,因为叔块会降低抵御自私 挖矿 攻击的安全性。此外,另一种类似BDoS的攻击可能会比 区块 头链更长,从而再次造成严重的竞争损失。

结论

BDoS对中本聪共识 区块 链 而言是一种威胁,因为它允许攻击者使用远低于之前攻击的算力执行拒绝服务攻击。我们已经展示了攻击者如何扭曲激励机制,并引导追求利润的矿工停止 挖矿 活动。我们提出的缓解措施很容易实施(不需要网络分叉),但仅会影响BDoS攻击的特定类型。如果没有更有力的缓解措施,中本聪共识 区块 链 的活跃性,就取决于矿工在收入损失的情况下是否愿意遵守协议,也就是要有利他主义。

声明:本文来自比特币网平台用户投稿,观点仅代表作者本人,不代表【比特币网-www.5898.com.cn】立场,文章内容仅供参考,如若转载请标注文章来源:【当前页面链接】

区块链相关

区块链媒体相关

区块链技术相关

挖矿相关

比特币相关