主页 > imtoken钱包app官方下载 > 区块链安全系列-什么是Eclipse Attack?

区块链安全系列-什么是Eclipse Attack?

imtoken钱包app官方下载 2024-01-20 05:07:26

日食攻击是一种相对简单的基本攻击,攻击者可以通过这种攻击干扰网络上的节点。 顾名思义,这种攻击可以使对等网络中的被攻击节点无法获取有效信息,从而造成网络中断或为更复杂的攻击做准备。

从表面上看,Eclipse Attack 类似于 Sybil Attack。 尽管它们有一些相似之处(攻击者通过攻击节点来破坏网络),但它们最终的攻击目标是不同的。 eclipse攻击针对的是单个节点(原因将在下文解释),而Sybil攻击针对的是整个网络,旨在篡改网络协议的信誉体系。

挖比特币一天能赚多少钱_算力80TH/S一天能挖多少比特币_th/s比特币 什么意思

这个概念在 2015 年的论文“比特币点对点网络上的 Eclipse 攻击”中进行了详细讨论,其中来自波士顿大学和希伯来大学的研究人员报告了他们对 Eclipse 攻击的实验结果,以及对抗这些攻击的预防措施。

Eclipse 攻击的工作原理

比特币矿工需要专门的设备来生成和验证新区块,但非挖矿(或完整)节点只需要很少的计算能力即可运行。 这样,任何人都可以在便宜的设备上运行节点,这也有助于比特币的去中心化。 该软件程序维护一个与对等点同步的事务数据库,以便与网络保持同步。

算力80TH/S一天能挖多少比特币_th/s比特币 什么意思_挖比特币一天能赚多少钱

连接大量节点的限制因素是带宽。 因此,虽然可以运行程序的设备数量众多,但比特币网络中的连接数是有限制的(最多125个连接),普通设备无法直接与其他设备互联。

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

如果发生这种情况,毫无戒心的受害者将受到恶意节点的摆布,攻击者向这些节点提供虚假数据,使他们无法从真实网络中取回。

Eclipse 攻击的后果

th/s比特币 什么意思_挖比特币一天能赚多少钱_算力80TH/S一天能挖多少比特币

如果攻击者可以通过消耗其资源将网络节点从网络中分离出来,那么他们就有动机进行这种攻击。 如果节点被隔离,攻击者可以进行多次连续攻击。

未经确认的“双花”

如果一个未确认的交易被一个独立的节点接受,那么就会出现“双花”的风险。 如果交易在进入区块(提交到区块链)之前可能已经被广播,那么发送者可以很容易地在其他地方进行新交易并花费与之前交易相同的金额。 如果新产生的交易手续费较高,此时矿工会优先处理这笔交易算力80TH/S一天能挖多少比特币,认为这笔交易最先发生,从而使第一笔交易无效。

某些商家和个人接受这些 0 确认交易。 假设商人 Bob 销售高档汽车。 他并不知道爱丽丝已经让他的节点黯然失色,而在看到她订购的豪华跑车后,他也没有任何疑虑。 Alice 创建交易,Bob 将其广播到网络。 看到支付信息快要确认后,他很是满意,将车钥匙递给了爱丽丝,爱丽丝加快了离开的速度。

算力80TH/S一天能挖多少比特币_挖比特币一天能赚多少钱_th/s比特币 什么意思

事实上,交易并没有广播到网络中,Bob只是将交易传递给Alice的恶意节点,Alice控制的恶意节点不会将交易传递给真实节点。 因此,交易将被视为无效,此时爱丽丝在(真实)网络上支付相同的金额,要么支付给她自己,要么支付给其他人。 即使最终在真实网络中看到与 Bob 的初始交易,也无法验证交易,因为 Alice 账户中的资金已被花费。

需要N次确认的“双花”

有 N 次确认的“双花”类似于没有确认的“双花”,但需要更多的准备工作。 许多商家希望在付款被标记为有效之前等待一定数量的确认。 为了解决这个问题,攻击者必须让矿工和商户节点都进行eclipse攻击。 如果攻击者与商家建立订单,他们会将交易广播给(受日食影响的)矿工。 商家可以在区块链网络中看到交易的确认,但是由于矿工和商家所在的网络是隔离的,区块链并没有被大多数真实节点所见证。

攻击者向商户发送虚假的区块链网络信息,商户在看到交易被确认后进行转账。 而当这些被eclipse攻击的节点重新加入真实网络时,真实区块链网络会认为这些节点失效,将其隔离(这类似于51%攻击)。

挖比特币一天能赚多少钱_th/s比特币 什么意思_算力80TH/S一天能挖多少比特币

减少矿工之间的竞争

遭受日食攻击的节点将继续运行,而不会受到网络隔离的影响。 矿工将继续在协议规定的规则范围内验证区块,但添加的区块将在经过真实网络节点的过程中被丢弃。

理论上,对大部分矿工的大规模日食攻击可以用来促进 51% 攻击。 就目前的情况来看,即使对于最足智多谋的攻击者来说,接管大部分比特币算力(约80TH/s)的成本也太高了,攻击者至少需要尝试用算力为超过 40TH/s。

我们假设通过将这种计算能力分配给 10 个参与者(每个参与者大约 8TH/s),攻击者可以通过将这些参与者与网络隔离来大大降低 51% 攻击的要求。 如果其中5个节点遭受日蚀攻击,攻击者可以降低40TH/s的算力寻找下一个区块,攻击者只需要增加20TH/s的算力就可以实现节点控制。

挖比特币一天能赚多少钱_算力80TH/S一天能挖多少比特币_th/s比特币 什么意思

通过对目标执行日蚀攻击可以实现的其他破坏性活动包括操纵节点进行非法挖矿活动,或利用矿工之间的竞争来争夺下一个区块。

减缓日食攻击的影响

有了足够的 IP 地址,攻击者就可以对任何节点执行 eclipse 攻击。 防止这种情况发生最直接的方法是阻止对节点的非法访问,只与特定节点建立出站连接(例如对等网络中已被其他节点列入白名单的IP)。 然而,正如研究论文指出的那样,这不是一个可以大规模实施的解决方案,如果所有参与者都采取这些措施,新节点将无法加入网络。

作者对比特币程序提出了一些调整,其中一些已经在白皮书发布后融入到比特币程序中。 这些措施通过对代码进行少量修改(例如随机选择新连接和增加地址存储空间),使日食攻击的成本越来越高。

总结

Eclipse 攻击是在对等网络上执行的。 作为独立部署它们的一种方式,它们可能很烦人。 进行eclipse攻击的真正目的其实是为了进行其他能够造成更大影响的攻击,或者为攻击者提供挖矿优势。

总体而言,日食攻击尚未造成严重影响,虽然在区块链网络中部署了反制措施算力80TH/S一天能挖多少比特币,但威胁依然存在。 与对比特币和大多数其他加密货币的大多数攻击一样,日食攻击的最佳防御方式是让恶意攻击者无利可图。