行业资讯

区块链中的日蚀攻击是什么?
2021-05-08 16:38:36
阅读()
来源:互联数据
摘要:     区块链中的日蚀攻击是什么?作为简单的基础攻击,干扰被攻击者网络上的节点。日蚀攻击(Eclipse Attack)是比特币中的一种攻击手段,最早在2015年于《Eclipse Attacks on Bitcoin's Peer-to-Peer Network》(比特

区块链中的日蚀攻击是什么?作为简单的基础攻击,干扰被攻击者网络上的节点。日蚀攻击(Eclipse Attack)是比特币中的一种攻击手段,最早在2015年于《Eclipse Attacks on Bitcoin's Peer-to-Peer Network》(比特币的点对点网络中的日蚀攻击)一文中被提出。日蚀攻击的手段不同于我们常见的51%攻击,其表现为对特定节点或节点集群进行网络攻击,让网络出现“分区”以此达到双花等目的。想要理解日蚀攻击并不难,只要对区块链挖矿、交易和网络结构有所理解即可。


国外服务器免费测试http://www.hkt4.com/cloud/usa.html


从表面上看,日蚀攻击(Eclipse Attack)与女巫攻击(Sybil Attack)相似。尽管它们具有某些相似之处(攻击者通过攻击节点扰乱网络),但它们最终的攻击目标是不同的。日蚀攻击的目标是单个节点(原因将在下文中说明),而女巫攻击的目标是整个网络范围,旨在篡改网络协议的信誉体系。


什么是比特币中的日蚀攻击


一、针对区块链的日蚀攻击在哪个阶段?


我们以比特币作为例子:


比特币作为一个采用点对点网络的区块链应用,矿工需要专用设备生成验证新区块,但是非挖矿(或完整)节点仅需要非常小的算力即可运行。通过这种方式,任何人都可以在廉价设备上运营节点,这也有助于比特币的去中心化。软件程序维护了与对等方同步的事务处理数据库,以便与网络保持同步。网络中的所有节点相互是平等的,相互之间也能无障碍地进行沟通链接,当然这只是理论情况。


实际上,由于网络带宽限制和算力分布限制,比特币限制了单个节点可接收信息和主动链接其他节点的上限。对于接受信息,单个节点最多只能接收117个节点的信息;对于主动链接其他节点,单个节点只能主动联系其他8个节点。而日蚀攻击的重点便是对单个节点所链接的和所接收的节点信息。


1、如果一个节点所接收信息的117个节点和对外链接的8个节点全部都是由恶意节点操控的话,相当于该节点被恶意者所孤立,其所有接受的信息都受到攻击者控制,这种情况我们便称该节点遭受了“日蚀攻击”,看起来和传统安全领域的中间人攻击类似。


2、如果恶意者可以控制更多的节点,对更多的正常节点发起日蚀攻击,那么恶意者将可以把比特币网络拆分为两个不同的分区,就像分叉一样。


3、如果恶意者掌握了足够的带宽资源,且自身拥有全网40%的算力,它可以将比特币网络拆分为两个分区,假设两个分区各占有全网30%的算力,恶意者不仅可以通过隔离两个分区之间的信息沟通,并且还能依靠这40%的算力在两个分区中都发起51%攻击(恶意者在每个分区的算力占比都是4/7)。


4、如果恶意者只有网络带宽资源而没有算力,依然可以实现双花攻击。假设恶意者通过日蚀攻击将网络拆分为两个分区,一个分区占有20%算力而另一个占有80%算力,此时恶意者在先在20%算力分区发起一次交易,同时也在80%分区发起一次转账给自己的交易。


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


蚀攻击并非理论上存在,在现实中也有过试验《Eclipse Attacks on Bitcoin's Peer-to-Peer Network》论文中便通过生成僵尸网络,利用IP地址对比特币部分节点成功发起了近1小时的日蚀攻击。尽管目前比特币已经根据论文团队意见对日蚀攻击进行了防护,日蚀攻击的风险仍然值得所有工作量证明区块链考虑。


在日蚀攻击中,攻击者会确保目标的所有连接都建立在攻击者所控制的节点上。攻击者将首先从自己的IP地址向目标地址发送泛洪,受害者可能会在程序重启时连接到攻击者的IP地址。可以强制重启(即对目标进行DDoS攻击),或者仅等待程序自动重启。


如果攻击者通过消耗网络节点的资源,能够使其从网络中分离,那么他们就有动机实施此类攻击。如果节点被隔离了,攻击者就可以实施几次连续攻击。

日蚀攻击的核心元素


二、日蚀攻击的核心元素:


对于区块链的恶意攻击,相信最为人熟知的便是51%攻击——在工作量证明中,攻击者拥有全网50%以上的算力便可通过双重花费行为进行欺诈,实现对交易数据的“篡改”。这一点最早在比特币的白皮书中便有所提及,一般人们也会认为比特币系统(乃至于大多数工作量证明区块链)的安全算力阈值为51%,也让矿工和用户有意识的确保某一个体或集体不能控制比特币50%以上的算力。


但实际上,比特币的安全算力阈值并非50%而是33%,原因在于通过“自私挖矿”,矿工通过有意识地隐藏发掘出的区块,可以将对网络发起攻击的门槛由50%降低到33%。


在自私挖矿中,只要恶意者的算力超过了全网的1/3(33%),那么其连续挖掘到两个区块的概率与其他人连续挖掘到两个区块的概率比值接近1/4。只要能尝试在挖掘到第一个区块时隐藏不广播,当你的算力超过了全网1/3时,作恶就存在收益。自私挖矿不仅削弱了比特币(也是工作量证明)的安全界限,由于该算力投入到了“私有链”的挖掘中,也削弱了整个网络的算力上限。


降低区块链网络安全界限的方式除了自私挖矿外,另一种方案便是本文所提到的日蚀攻击了。


三、防御日蚀攻击的一些例子:


日蚀攻击的例子有很多,日蚀攻击对所有工作量证明区块链都有影响,不仅仅是比特币,以太坊也面临日蚀攻击的风险。


0

上一篇:618电商节:香港vps5元一个月
下一篇:硬盘挖矿有哪些币?
HKT4为您的网站提供全球IDC资源
立即免费测试