区块链客户端被网络攻击,区块链客户群体

  

     

  

  本文由智慧链公链社区供稿。   

  

  日蚀攻击(Eclipse Attack)是比特币中的一种攻击方式,2015年在文章《Eclipse Attacks on Bitcoin's Peer-to-Peer Network》(比特币对等网络中的Eclipse Attack)中首次提出。日食攻击的手段不同于我们常见的51%攻击,表现为对特定节点或节点集群的网络攻击,“分区”出现在网络上是为了达到双花等目的。理解eclipse攻击并不困难,只要你对区块链矿业、交易和网络结构有所了解。   

  

  区块链中的恶意攻击   

  

  对于恶意攻击区块链,相信最知名的就是51%攻击了――在工作量证明中,攻击者可以利用全网50%以上的计算能力,通过双倍消费进行欺骗,从而实现交易数据的“篡改”。   

  

     

  

  ETC的51攻击   

  

  这是在《比特币白皮书》中首次提到的。一般人们也认为比特币系统的安全计算能力阈值(甚至大多数工作量证明区块链)是51%,这也使得矿工和用户有意识地保证一个个人或集体不能控制超过50%的比特币计算能力。   

  

     

  

  遭遇ETC 51%攻击曲线   

  

  但实际上,比特币的安全计算能力门槛不是50%而是33%。原因是通过“自私挖掘”,矿工可以通过有意识地隐藏挖掘出的区块,将攻击网络的门槛从50%降低到33%。   

  

  在自私挖掘中,只要恶意者的计算能力超过全网的1/3(33%),连续挖掘两个块的概率与他人的概率之比接近1/4。只要你能在挖第一块的时候尽量躲起来不播,当你的计算能力超过全网1/3的时候,作恶也会有收获。自私挖掘不仅削弱了比特币的安全极限(也是工作量证明),而且因为计算能力投入到“私有链”的挖掘中,削弱了全网计算能力的上限。   

  

  除了自私挖矿,降低区块链网络安全极限的另一种方法就是本文提到的日食攻击。   

  

  日蚀攻击概述   

  

  我们还是以比特币为例。比特币是一种使用点对点网络的区块链应用。网络中的所有节点都是平等的,它们可以无障碍地相互交流。当然,这只是理论上的情况。   

  

     

  

  示意图   

  

  事实上,由于网络带宽和计算能力分布的限制,比特币限制了单个节点可以接收信息并主动与其他节点链接的上限。对于接收信息,单个节点最多只能接收117个节点的信息;对于主动链接其他节点,单个节点只能主动联系其他8个节点。但是,eclipse攻击的重点是单个节点链接和接收的节点信息。   

  

  如果一个节点接收信息的117个节点和外部链接的8个节点都被恶意节点控制,就相当于这个节点被恶意节点隔离了,它接收的所有信息都被攻击者控制了。在这种情况下,我们称节点遭受了“日食攻击”,这看起来类似于传统安全领域的中间人攻击。   

  

  如果恶意者可以控制更多的节点,并在更多的正常节点上发起eclipse攻击,那么恶意者将能够将比特币网络分成两个不同的分区,就像一个叉子一样。   

  

     

  

  日食袭击示意图   

  

  资料来源:币安学院   

  

  如果恶意者有足够的带宽资源,拥有全网40%的计算能力,就可以把比特币网络分割成两个分区。假设每个分区拥有全网30%的计算能力,恶意者不仅可以隔离两个分区之间的信息通信,还可以依靠这40%的计算能力在两个分区发动51%的攻击(恶意者在每个分区的计算能力占4/7)。   

  

  如果恶意者只有网络带宽资源而没有计算能力,仍然可以实现双花攻击。假设恶意的人通过   

过日蚀攻击将网络拆分为两个分区,一个分区占有20%算力而另一个占有80%算力,此时恶意者在先在20%算力分区发起一次交易,同时也在80%分区发起一次转账给自己的交易。

  


  

在日蚀攻击的影响下,两个分区无法沟通,故只能依据自身所在分区的算力进行挖矿,由于80%算力分区占有绝对算力优势,其区块高度早晚会超过20%算力分区,当恶意者解除日蚀攻击后,首先发送在20%分区上的交易将会因为最长链原则被废弃,而80%分区上的双花交易则会被接受。恶意者通过日蚀攻击完成了无需算力占比的双花攻击。

  


  

  


  

日蚀攻击并非理论上存在,在现实中也有过试验《Eclipse Attacks on Bitcoin's Peer-to-Peer Network》论文中便通过生成僵尸网络,利用IP地址对比特币部分节点成功发起了近1小时的日蚀攻击。

  


  

尽管目前比特币已经根据论文团队意见对日蚀攻击进行了防护,日蚀攻击的风险仍然值得所有工作量证明区块链考虑。

  


  

对日蚀攻击的一些思考

  


  

日蚀攻击是对所有工作量证明区块链的一项考验,不仅仅是比特币,以太坊也面临日蚀攻击的风险。Wisdom Chain作为采用工作量证明的区块链也不例外,但通过一些有效机制,Wisdom Chain可以轻松应对日蚀攻击。

  


  

  


  

首先,Wisdom Chain采用了PoW+DPoS的混合共识结构,权益证明类共识算法对于日蚀攻击有良好效果,出块节点需要质押代币,而出块节点之间进行着相互沟通,这令攻击者想要发起攻击必须要质押超额代币,提高了作恶成本。其次,共识机制中的黑名单列表确保了只要发现意图发起日蚀攻击的节点,通过黑名单机制可以预防其成为出块节点威胁网络安全程度。

  


  

当然,日蚀攻击的出现原因在于点对点网络和工作量证明机制,想要从根源上断绝日蚀攻击的风险就必须得从网络结构上下手,这难免会令区块链丧失去中心化等特点。不过,只要通过有效手段提高攻击门槛,并以合理的经济机制激励节点,日蚀攻击对于大多数区块链而言是可以预防的。

相关文章