抵御多数哈希攻击的区块链共识与安全机制评估

 

0x01 Majority Hash attack

本文中分析了多数哈希攻击的实际影响,揭示了共识协议的弱点以及如何使得该攻击成为可能。通过讨论防御该攻击的五种先进保护技术及其局限性,得出的结论是在大多数情况下,安全技术无法为多数哈希攻击提供真正的保护,因为这些弱点是从共识协议中继承而来的。

51%攻击是一种旨在使区块链分叉以进行双花的攻击,控制网络总哈希能力一半以上的攻击者可以执行。同样,n交易确认(n-confirmation )和自私挖掘是两种攻击技术,与51%攻击的策略相似都属于多数哈希攻击。由于执行51%攻击所需的巨大攻击成本,因此很长一段时间内被认为是极不可能的。

近来攻击以频繁发生,各种加密货币损失了数百万美元。 多数哈希攻击策略根据特定加密货币所采用的共识机制而有所不同,它使攻击者能够双花相同的加密货币,限制交易,取消区块,甚至完全控制加密货币的价格。具有低哈希能力的加密货币由于容易获得哈希而始终受到多数哈希攻击的威胁。

 

0x02 Blockchain Functionality

比特币区块链中的一个区块的大小通常为1 MB,只要它在大小限制内,它就可以包含许多交易。下图展示了比特币区块链区块的完整布局。块头的大小为80个字节,其中包括版本,先前的哈希,Merkle哈希,时间戳,难度级别和随机数。然后将所有信息哈希值以包括下一个区块头的内部。

数字签名是一种用于验证数据字符串的准确性和完整性的机制。每个块都包含一个基于该块包含字符串的唯一数字签名。下图给出了彼此链接的3个块的局部视图。每个块产生一个数字签名,该数字签名是根据内容而生成的,例如Merkle哈希和先前块的数字签名。数字签名并不总是有资格验证下一个区块,因为比特币区块链设定了确定区块创建时间的难度。因此,在一个块中具有较少的事务并不一定有助于比其他节点更快地创建一个块。

如果难度级别要求数字签名前面有17个零,则矿工需要满足该条件才能验证区块。攻击者对数据字符串进行修改会更改数字签名,并且将无法满足对与其链接下一个块的要求。为了克服这种情况,必须为链上的每个后续块生成一个新的签名。该过程变得非常昂贵,几乎是不可能的,因为攻击者不仅需要为已损坏的块生成新的签名,而且还要为定期添加的任何块生成新的签名。

 

0x03 Consensus Mechanism Weaknesses

本节中讨论了三种广泛采用的共识机制及其弱点。下表显示了共识机制的主要特征以及每种共识易受到的攻击。分析表明,共识机制存在严重局限性,导致网络参与者的体验质量(QoE)较低。该分析用于评估各种安全措施,并基于特定的共识机制来审查攻击方法。

A、工作证明(PoW)

工作量证明(PoW)是一种基于求解数学方程式的共识机制。 PoW首先由比特币发起,然后被许多主要的加密货币迅速实施。矿工是PoW共识的主要支柱,并且授权和记录交易的过程已得到矿工的批准。 PoW共识要求矿工付出大量努力来挖掘区块。该过程涉及尝试答案的随机方法。因此,可能需要一甚至数千次尝试来求解方程。为了识别“目标哈希”,它必须包含比块的哈希低的数字。

PoW共识假设一半的网络节点始终是诚实的矿工;因此,获得超过一半的哈希能力会使这种共识变得脆弱。 PoW的主要缺点之一是能源和硬件需求的成本。研究表明,比特币开采过程的用电量远远超过159个国家/地区。但是挖掘要求和挖掘时间可能会因各个加密货币使用的算法而有所不同。

与其他共识协议相比,PoW的挖掘过程相对较慢。由于少数矿池具有大量采矿能力,因此对这些池的攻击可能会严重破坏比特币网络。最近的攻击证明PoW很容易受到51%攻击的攻击。利用PoW共识的低哈希加密货币更容易受到51%的攻击,因为可以轻松获取所需的哈希。

在分析中表明女巫攻击(Sybil attack )可以通过形成大量恶意节点来成功利用PoW。以太坊协议和私有区块链容易受到平衡攻击(Balance attack )。此外,DDoS和BGP劫持也可用于中断该共识机制的常规流。 AntPool,BW.com,NiceHash,CKPool和GHash.io是一些已经受到DDoS攻击的矿池。

B、权益证明(PoS)

权益证明(PoS)是一种共识机制,它根据参与者在网络的权益来授权区块。拥有大量币的矿工比其他参与者拥有更大的权力。 Peercoin是在2012年使用此共识的第一个加密货币。遵循随机过程来考虑下一个区块的创建者。该过程涉及获取有关加密货币总量以及其维持时间的详细信息。 PoS共识的优势在于它不需要参与者经历耗费高的挖掘过程(例如PoW)。

PoS由于其集中的属性而容易受到攻击。参与者不断地获取大量财富的同时也成为网络中的强大实体,并且能够影响网络的福祉。通过获取大部分供应,恶意的利益相关者可以利用“一无所获”(nothing-at-stake )的问题。 PoS的主观性较弱,实施过程也非常复杂且具有挑战性。获得总股份的51%的成本可能是巨大的。因此与PoW相比,51%攻击的威胁级别可能较低。研究表明远程攻击可以利用PoS 。 PoS可以被女巫攻击利用,而DDoS攻击也可以破坏部分网络。

C、委托权益证明(DPoS)

委托权益证明(DPoS)是一种共识机制,允许股东投票给证人。 DPoS的主要思想是减少能源浪费并提高交易速度。整个块生成过程使这种共识机制比PoW共识快了许多倍。 DPoS包含每股份一票的政策,这使利益相关者可以选择在拥有更多币的同时投更多票。证人因产生区块而获得奖励,但如果证人未能执行所需的任务,他们也将受到惩罚,导致他们没有得到报酬并被投票淘汰。证人必须从随机利益相关者那里获得最多票数,才能执行指示的任务。利益相关者还投票赞成代表们对网络进行改革和更改,然后对该网络进行审查以做出最终决定。

开发DPoS是为了提高交易效率并克服各种其他共识机制引入的限制;但是,它包含严重的缺陷。它无法实现足够的分布性,并且由于验证者数量众多,网络速度变慢。由于集中的方面,它可能是随机攻击者的焦点。 DPoS容易受到51%攻击。攻击者可以说服利益相关者获得51%的投票权来执行51%的攻击。

共识中的弱点使得数字交易处于潜在攻击的高风险中。值得注意的是,多数哈希攻击可以利用这三种共识机制,尤其是对于PoW,因为获得所需的哈希能力成本较低。

 

0x04 Majority Hash Rate Problem

拥有大多数哈希能力的攻击者可能会对区块链网络造成严重影响。 51%的攻击是由于拥有大多数哈希而发生的,并且可能在区块链网络中造成破坏性的影响。揭示漏洞利用的性质和可能的后果非常重要。本节将讨论多数哈希攻击,并通过双花问题和挖掘集中化的风险来说明后果。下图展示了受51%攻击影响的八种主要加密货币。

下图展示了通过区块链分叉实现51%攻击技术的阶段,在相同的块高度2053处生成三个块的情况。随着网络选择跟随中间的块,两个区块被孤立了。 区块2065至2074是自私挖掘的区块,导致取消了合法区块2066上的交易。由于链最长,网络跟随攻击者广播的2065至2074区块。

51%的攻击要求攻击者拥有超过一半的哈希能力。对加密货币的51%攻击使攻击者能够执行恶意行为,包括双花,控制市场价格或对采矿策略进行裁定。我们选择了最近被利用的八种主要加密货币。Verge(XVG)连续两个月遭受两次攻击,分别损失110万美元和175万美元,接着是比特币黄金(BTG),即受影响最大的硬币,损失约1800万美元。其余币也因攻击而损失了很多。每次攻击造成的平均损失总额为250万美元。

自私挖掘是另一种多数哈希攻击,可以通过大约25%的总网络哈希来完成。它可以由包含大量网络哈希的矿工或矿池执行。在这种攻击技术中,矿工在向网络广播其块时变得非常有选择性。他们可以决定放弃奖励而放弃自己的区块,也可以一次广播多个区块。这将取消其他矿工挖出的块,使他们失去奖励和交易费用。在此过程中,独立的节点将加入攻击者以增加其收入,且攻击者将具有更大的哈希能力来获得对网络的更多控制。

双花是一种用于重新花费相同货币的技术,共识机制中的弱点提高了多数哈希率攻击的可能性,成功的利用将允许攻击者取消交易并再次花费同一货币而导致双花。为了进行双花,攻击者首先将其币花费在合法链上。此后他们开始私下建立另一个链条,在链条上没有花费攻击者币的记录。一旦私下开采的链很长,攻击者就会向网络展示新链。由于该链比使用的链长,因此新链将被网络用作合法链,丢弃攻击者花费其硬币的区块。

在PoW共识上双花的可能性取决于对手能够产生的区块数量。但是引入的确认越多,双花的机会就越少。如果攻击者拥有10%的哈希率仍然可以进行双花,但成功的可能性较小。六次确认后,各种交易所都批准了交易批准,以减轻双花问题;但是具有51%哈希能力的攻击者可以秘密地以更快的速度构建区块并进行双花,而不管交易所设置的确认数量如何。

由于哈希能力的优势,采矿集中化在PoW采矿池中是一个重要问题。具有强大系统的矿池可以计算更多的哈希值,比其他方法更有可能解决问题。在整个挖掘过程中,单个池可能涉及成百上千的参与者,这些参与者拥有大量的总网络哈希能力。具有巨大哈希能力的矿池可以协同工作以使网络易受攻击。排名前10位的七个主要比特币矿池均基于中国。因此,一些矿池的主要属性将使区块链成为集中式网络。过去,数个矿池也受到DDoS攻击,阻碍了其挖掘活动,并要求付费以中止该攻击。

2014年7月,GHash.io拥有超过50%的散列能力,成为对比特币和交易所的巨大威胁。他们负责将近24小时的大多数哈希挖掘。但是,在超过阈值后,与该池相关的各种参与者出于网络安全的考虑而停止了其挖掘。达到大多数哈希的主要原因是组合哈希。但是,稍后,GHash.io宣布尚未累积51%的哈希值。他们同意停止接受独立的挖矿资源,并使参与者可以从其他各种矿池中进行挖掘。自2016年以来,该矿池停止了挖掘作业。

下图定义了在24小时内仅六个采矿池在2019年3月10日创建的区块数量。总共产生了137个比特币区块,其中六个采矿池生产了92个区块,使其在此期间占区块总数的67%。块计数是指特定挖掘池生成的块总数,连续块是指池能够按顺序生成块的次数。F2Pool能够在三种情况下生成2个或更多块,而BTC.com也按顺序生成2次块。 Antpool和ViaBTC一次顺序生成块。 BTC.TOP和SlushPool无法生成更长的块链。

多数哈希率问题一直是加密货币的一个严重问题。低哈希币构成了51%的较高利用威胁。攻击者专注于最小化攻击成本以最大化利润的硬币。近年来,仅采用了几种缓解技术来防御多数哈希攻击。

 

0x05 Mitigation Techniques

A、延迟提交区块的处罚系统

有一种针对延迟提交的罚款制度,该系统修改了中本聪共识,以保护网络免受多数哈希攻击。惩罚制度建议大幅度增加攻击成本,以致无法在开发中获得潜在的优势。考虑到区块链从区块链网络隐藏的时间量将施加罚款。该时间是根据块之间的间隔持续时间计算的。这种安全保护技术将连续的分叉通知整个网络,在此期间参与者、矿工和交易所都被禁止执行欺诈性交易,直到延迟解除。这种防御机制主要集中在私人挖掘链上,如果网络遭受了分叉,则无需关注。

惩罚系统遵循下式(1),它是确定要施加惩罚水平的二次函数。例如,假设一个真正的链包含从553到558的区块,并且有一个攻击者设法产生了从553到559的区块,那么将考虑攻击者引入的第一个区块高度来计算惩罚。即,计算公式(1)中的n值,从558中减去553,得到15作为惩罚延迟。

B、延迟工作证明(dPoW)

延迟工作证明(dPoW)是Komodo的安全解决方案。他们开发了dPoW来防止双花问题。大约20个区块链已经使用了这种安全技术。它适用于基于未用交易输出(UTXO)的加密货币。 dPoW共识机制利用分配的PoW区块链保存Komodo交易。因此,为了防御对Komodo区块链的多数哈希攻击,任何现有的Komodo链都允许整个链控制恶意活动。该安全链的主要属性是它不仅遵守识别最长链的规则。它增加了一个安全层,以防止攻击者执行多数哈希攻击。同时它还提供了集成公证节点的依据,这些公证节点可以证明哈希对于网络是否安全。 dPoW在全球部署了64个公证节点,并且每年都会选举这些节点来执行所需的任务。

C、PirlGuard

PirlGuard是一种安全协议,它修改了共识算法以防止遭受51%的攻击。 PirlGuard协议基于Horizen的惩罚协议属性,但主要是为Ethash构建的。当攻击者开始在网络上发布其私有区块时,PirlGuard会通过惩罚攻击者挖掘x个块来立即放弃。受罚区块的数量由攻击者设法秘密挖掘的区块数量决定。

PirlGuard还引入了由主节点控制的公证合同。主节点的主要任务包括通过对Pirl区块链的合法共识来对区块链进行公证和对恶意行为者进行惩罚。公证合同在Pirl和以太坊区块链上实施。

D、ChainLocks

ChainLocks是为保护DASH而开发的一种安全技术。它是由于实施了长期存在的主节点仲裁(LLMQ)来减轻多数哈希攻击而产生。 ChainLocks执行包含“先见之明”策略的全网络投票过程。对于每个特定块,都批准了多个主节点的LLMQ。它要求每个参与者在被关注的区块上签名,以便可以扩展活动链。大多数参与者(60%或更多)会验证不同的块并生成P2P消息(CLSIG),以将事件通知网络中的每个其他节点。除非有足够的成员,否则无法生成(CLSIG)消息。该消息包含一个有效的签名,以确保真实性,并可由网络中的所有节点进行验证。在这种安全保护技术中,交易在第一次确认后得到确认。一旦确认,就不能撤消,因为以后无法确认已签名的块。仅需一次确认,此安全功能就可以提升六个确认并增强安全交易。除了51%的攻击外,ChainLocks还有助于缓解其他安全问题,例如自私挖掘。

E、合并挖掘

合并挖掘是一种允许同时合并多个加密货币进行挖掘的技术。包含相同共识的低哈希加密货币受益于合并挖掘。他们可以通过合并其他具有较高哈希能力的货币来提高哈希能力。合并挖掘不是一种安全技术,但是它是一种可在使用时帮助减轻多数哈希攻击的方法。两个网络中的交易都按顺序进行,并且区块链被分为父区块链和辅区块链。除了增强安全性外,另一个好处是矿工可以同时开采多个区块。由于矿工为两种货币的整个哈希率做出了贡献,因此该技术增强了安全性。

中本聪原则假定区块链网络将始终包含多数诚实节点。但是,该假设完全是错误的,因为可以观察到不止矿池而是各个攻击者都实现了大约一半的网络哈希。多数哈希攻击利用的破坏性吸引了各个研究小组的注意,他们提出了先进的安全保护技术。在以下部分中将分析其有效性。

 

0x06 Analysis

在本节中分析了五种安全保护技术的有效性。其中一些是研究原型,尚未在实际系统上实现。下图提供了一个安全防御机制评估框架,框架还提供了缓解技术的优势,脆弱性,成本和功能。

延迟块提交的惩罚系统是一种基于PoW的安全技术,尚未在实际网络中实现。该技术是研究原型,具有多种局限性。根据该提议,将对私人链施加块延迟。假设攻击者打算击败六个确认时间,那么引入的块延迟将只有21个块。结果,攻击者被迫依次开采另外21个区块以解除延迟,并将其开采的区块包含在正常链中。根据Rosenfeld的说法,无论何时,只要对手拥有网络哈希的51%,无论强制延迟如何,他们都将始终成功。因此,采用这种安全机制时,执行51%攻击的可能性非常大,尤其是当网络哈希能力非常低的币时。此外延迟过程会减慢网络的总体交易速度,并严重影响常规交易。在取消罚款之前,不会确认添加到延迟块的交易。因此,确认某些交易可能需要几个小时甚至几天。因此,该技术不太适合在实际网络中实施,它不能完全有效地抵抗51%的攻击,并且具有中等风险。

Komodo区块链任命公证节点进行公证。指定节点以从Komodo检索信息并将其保存在比特币区块链中。为了进行双花,攻击者需要重写Komodo链和比特币公证节点。攻击者还需要影响大多数公证网络。因此整个过程使该技术相当可靠。但是,由于节点数量有限,该安全技术才得以集中化,从而引入了广为人知的“单点故障”问题,攻击者可以在其中确切地知道要攻击的内容。 dPoW成本效益不高,因为它需要向区块链实施实施费。它只能对基于基于UTXO的区块链的硬币实施。此外,要求参与者等待明确的时间,以完成公证过程。这可能会阻止旨在加快交易速度的特定参与者。公证过程每10分钟进行一次。这10分钟的公证节点时间使攻击者有大量时间对加密硬币进行多数哈希攻击,其中块确认时间仅需几秒钟,这种安全技术的攻击风险较低。

PirlGuard安全技术仅基于Ethash算法。它采用与“延迟提交块的惩罚系统”类似的方法,后者引入了块延迟。如前所述,惩罚系统很容易受到51%攻击。因此,攻击者相对容易获得所需的区块。 PrilGuard还涉及用于公证的主节点,这是一种集中式功能,由于“单点故障”(single point of failure )安全问题而使网络脆弱。 PilGuard确定将51%攻击降低到大约0.03%。因此,惩罚系统和主节点功能都具有较低的风险级别。

ChainLocks的主要限制是它只能保护一种货币。仅具有4100个主节点的Dash可能由于哈希能力低而成为多数哈希攻击的主要目标。只需租用所需的哈希能力,很可能对低哈希货币进行51%的攻击。因此,ChainLocks提供的安全功能不够强大,由于只需要一个确认即可发布一个区块,因此哈希能力远远低于51%的攻击者可以执行双花攻击,从而导致Dash区块链更加脆弱。风险等级被归类为高。

合并挖掘是一种使低信誉的代币抵御多数哈希攻击能力更强的方法。由于允许基于同一算法的两种不同加密货币被同时挖掘的过程,它有助于减轻51%的攻击。但是该过程非常复杂,此过程的主要局限性在于,合并的加密货币必须基于同一共识。另一个缺点是,如果将两个低哈希密码币合并,只要攻击者获得所需的哈希能力,它们仍然可以被利用。因此,合并挖掘仅仅是通过合并哈希能力来增加攻击成本的过程,而不能提供有效的解决方案,风险等级归类为高。

最长链规则使区块链容易受到51%攻击和其他变体的多数哈希攻击。为了提供安全的协议,安全策略必须仅接受一定数量的连续块,而与块生成时间无关。因此,将来的安全策略必须丢弃违反约定阈值的块。尽管该策略应独立于加密货币,但必须根据总哈希强度将阈值调整为特定阈值。

 

0x07 Conclution

基于安全性的评估通过将其分为三级风险级别来揭示每种技术的弱点。在分析中表明所有安全技术都无法为多数哈希攻击提供足够的保护。实施的安全策略缺乏鲁棒性,必须采用更稳健的策略来克服该问题。

通过研究共识协议和保护技术的局限性,揭示了区块链协议中包含的主要弱点,必须探索一种通过完全忽略最长链规则来接受有限数量块的安全策略以有效缓解多数哈希攻击。

(完)