拒绝服务(DoS)攻击:成也矿工,败也矿工

时间:2021-07-20 23:48编辑:未知

摘要:大家发现了一种针对类似BTC区块链的拒绝服务攻击,这种攻击模式比之前的攻击模式本钱要低得多(仅需全网20%算力)。区块链依靠于勉励机制来保证系统安全。大家展示了攻击者怎么样破坏这部分勉励机制,从而致使理性的挖矿者停止挖矿。

自网络诞生以来,拒绝服务(DoS)攻击问题(也称为洪水攻击)就一直在困扰着网络。DoS攻击者以各种服务为目的,旨在获得乐趣和收益。最容易见到的是,他们会向服务器发送很多的请求,致使服务器太忙,以至于没办法为正常用户提供服务。应付手段一般是通过辨别洪水出处来预防这种攻击。

因此,在所谓的分布式拒绝服务(DDoS)攻击中,攻击者需要协调来自多台计算机的洪泛(Flooding)。

头等仓注:DDoS宽带消耗攻击可以分为两个不一样的层次;洪泛攻击或放大攻击。洪泛攻击的特征是借助僵尸程序发送很多流量至受损的受害者系统,目的在于堵塞其宽带。放大攻击与其类似,是通过恶意放大流量限制受害者系统的宽带;其特征是借助僵尸程序通过伪造的源IP向某些存在漏洞的服务器发送请求,服务器在处置请求后向伪造的源IP发送应答,因为这部分服务的特殊性致使应答包比请求包更长,因此用少量的宽带就能使服务器发送很多的应答到目的主机上。

有趣的事实:分布式源一般是用户的受害机器形成了机器人互联网或僵尸互联网。

像BTC如此的数字货币,则是DoS攻击一个特别有利可图的目的。理论上,期货市场和保证金买卖允许攻击者做空一种数字货币,通过压低该货币的价格来获得收益。而角逐激烈的数字货币,与担忧数字货币影响金融主权的政府,则是其他潜在的攻击者。据大家所知,在实质操作中,还没过对要紧数字货币的成功DoS攻击。

缘由是区块链协议的去中心化性质。在区块链的世界中,并没可攻击的中心服务器。运行区块链的机器被叫做矿机,它们会完全复制区块链数据。虽然发生过对个别机器的攻击,但几台机器的完全关闭(甚至是被破坏),对整个系统的可用性几乎没影响。

更有趣的事实:BTC的点对点互联网是为了抵御攻击而构建的,它吸取了僵尸互联网(僵尸互联网是为抵御反恶意软件企业的攻击而构建的)的教训。

事实上,针对BTC这种区块链的DoS攻击是很昂贵的。中本聪提出的BTC协议依赖工作量证明机制(PoW)来保证系统的安全性,矿工只能证明他们在系统外花费了资源(即计算能力)来创建区块。仅当系统中的大多数计算能力运行正常时,才能维护区块链的安全。因此,攻击者要进行DoS攻击,其拥有些计算能力就要比其他参与者的总和都要高,即51%攻击。对于主要的数字货币来讲,51%攻击的代价对于大部分实体而言都是难以承担的。

这种攻击在2021年底比特币 ABC和比特币SV之间的“哈希战争”中有过尝试,但没成功。

大家发现,中本聪协议的固有特质,会使其容易遭到明显更实惠的DoS攻击,大家借助了区块链协议依靠于安全性勉励的这一事实。在区块链中,参与者(矿工)因参与数字货币挖矿而获得奖励。当这部分勉励手段不再可以促进好行为时,该系统就会处于危险之中。大家将这种攻击称为区块链DoS(BDoS),它剥夺了矿工的理性,使得他们违反规则要比遵循规则更有利可图。

为了充分发挥效力,攻击者需要矿工知道这种攻击行为,与让他们意识到可以通过此攻击行为增加收益的事实。显然,这种方案行为并没在挖矿软件中预先编程。因此,大家觉得,这种攻击并不会带来火烧眉毛的风险,由于矿工们在面对攻击时,需要重新编程挖矿设施,以最大化其收益。

这种攻击的存在,或许并不让人惊讶,它确实是BryanFord和Rainer Böhme所提出理论的一种表现,他们觉得,从理性主体的角度剖析系统功用是有限的,由于外在勉励是没办法与拜占庭行为进行区别的。

下面大家将概述这种BDoS攻击的机制。第一,让大家先从中本聪背景开始讲起。

绝大部分数字货币都在用中本聪为BTC提出的区块链协议。在中本聪区块链中,系统中的所有买卖都被放在区块中,并形成一个不断增长的链。矿工们通过新买卖组成的新区块来扩展这条链,并将其发布给所有其他系统参与者。区块生产的速度,是通过需要矿工们在区块中提供工作量证明(密码难点的解决方法)来调节的。(根据概念,没PoW的区块是无效的)为了勉励矿工们的工作,生产区块将获得一些固定的奖励(比如,目前BTC的固定区块奖励是12.5 比特币)。假如矿工规模不是太大,那样他们就会被勉励来延长区块链,并获得相应的奖励。

因为矿工遍布全球,因此偶尔会有两个或多个矿工同时生产区块,而这部分区块有相同的父块,这致使的结果就是分叉,也就是链出现了多个分支。而要确定哪条链是主链,中本聪提出的规则是:最长链就是主链,所有矿工都要延长这个最长链,而与主链离别的区块与它们的回报都会被忽视。

为了防止失去奖励,矿工在接收并验证最新区块之前就开始采矿。一旦在最新区块的header中接收到它的元数据,矿工们就开始对它进行挖矿。如此就能防止了在旧区块上浪费挖矿资源,增加了挖取下一个区块的机会。一般,这不是好的做法,并引起了不少安全研究者的担心。在轻量级推广客户端用简化支付验证(SPV)协议进行部分区块链验证之后,这种基于区块头的挖矿办法便被应用了,并被叫做SPV挖矿。

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

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

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

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

理性矿工大概会输掉比赛,而区块Bi从来不会被包含在主链当中。与“无攻击”状况相比,这减少了在最后一个完整区块进行挖掘的预期收益。

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

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

目前大家来讲下BDoS攻击者成功的条件是什么。具体来讲,对于特定的理性矿工i,大家要考虑在哪些条件下,无论其他参与者的行为怎么样,i停止挖矿要比继续挖矿更有利可图。答案取决于三个原因:第一,假如攻击者的算力足够多,那样攻击将成功;第二,假如矿工i的算力足够少,那样他将成功;最后,假如矿工i刚开始收益不高,那样他将成功;

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

在大家的剖析中,大家用了一个称为收益因子的属性,它代表每USD资金投入的回报。这取决于挖矿设施与电力本钱,与有关数字货币的价格。

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

现在,对于BTC而言,在电价为0.05USD/kWh 的状况下,比特国内S17 Pro矿机的收益因子接近2,而S9 的收益因子接近1。假如币价大幅降低,困难程度增加,攻击者将可以勉励现有些矿工停止挖矿,从而致使BTC互联网完全停止运行。除此之外,BTC区块奖励预计将在2021年减半,这相应会减少矿工的盈利能力。

请注意,大家的模型是守旧的,在某种意义上低估了攻击者的机会。到现在为止,大家假设一个矿工在收益为0的状况下可以继续挖矿或停止挖矿。但,数字货币矿工一般会将挖矿工作转移到第二种数字货币上,甚至是暂时性的。假如两种币的初始盈利能力(在攻击前)是一样的,那样在攻击发生时,切换到另一种币上,几乎就是能盈利的。这意味着在这样的情况下,大家称之为两种币模型的攻击威胁,甚至要比大家上面剖析所显示的还要高。事实上,两种币模型更符合现实场景。比如,有证据表明,矿工们常常会依据盈利率在比特币和比特币现金之间进行切换。

大家没租用挖矿设施来进行攻击,也没做空BTC然后跑去躲避,而是遵循安全研究的最好做法,并经历了一段负责任的披露期。大家向受影响的主要数字货币的开发职员发出了攻击警报,并讨论了缓解手段。

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

BDoS攻击的另一个可能解决方法,是用叔块奖励机制,正如ETH使用的策略。叔块奖励机制将奖励挖到非主链(但与主链直接相连)区块的矿工。假如用了叔块奖励机制,理性的矿工在BDoS攻击中停止挖矿的的机会要低得多,由于即便其输掉了比赛,它也会得到奖励(等于ETH完整区块奖励的7/8)。不过,这是一个折衷策略,由于叔块会减少抵御自私挖矿攻击的安全性。除此之外,另一类型似BDoS的攻击可能会比区块头链更长,从而第三导致紧急的角逐损失。

结论

BDoS对中本聪共识区块链而言是一种威胁,由于它允许攻击者用远低于之前攻击的算力实行拒绝服务攻击。大家已经展示了攻击者怎么样扭曲勉励机制,并引导追求收益的矿工停止挖矿活动。大家提出的缓解手段比较容易推行(无需互联网分叉),但仅会干扰BDoS攻击的特定种类。假如没更有力的缓解手段,中本聪共识区块链的活跃性,就取决于矿工在收入损失的状况下是不是想遵守协议,也就是要有利他主义。

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

本文标签: 矿工

上一篇:GRV挖矿课程

下一篇:没有了