日蚀攻击
日蚀攻击是一种相对简单但有效的基础攻击,可让攻击者破坏网络内的节点。顾名思义,此类攻击使对等网络中的目标节点无法获取有效信息,从而导致网络中断或为更复杂的攻击铺平道路。
乍一看,日蚀攻击似乎与女巫攻击相似。虽然这两种攻击都旨在通过破坏节点来影响网络,但它们的目标不同。日蚀攻击的主要目标是单个节点,而女巫攻击旨在影响整个网络,特别是针对网络协议的信誉系统。
2015年,波士顿大学和希伯来大学的研究人员在题为《比特币点对点网络的日蚀攻击》的论文中详细讨论了这一概念,报告了他们对日蚀攻击的实验结果并提出了应对措施。
日蚀攻击的工作原理
比特币矿工需要专门的设备来生成和验证新区块,而非挖矿全节点则只需要极少的计算能力即可运行。这意味着任何人都可以在低成本的设备上运行节点,这对比特币的去中心化有积极作用。为了与网络保持同步,该软件维护着一个与对等节点同步的交易处理数据库。
比特币网络中节点的连接数受到带宽的限制,因此虽然很多设备都可以操作节点,但是最大连接数却被限制在125个,这使得普通设备无法直接与其他设备互联互通。
在日蚀攻击中,攻击者确保目标节点的所有连接都是通过攻击者控制的其他节点建立的。攻击者从自己的 IP 地址对目标节点发起洪水攻击,这可能导致受害者在软件重新启动时连接到攻击者的 IP。这可以通过强制重新启动受害者的节点(即进行 DDoS 攻击)或简单地等待软件自动重启来实现。一旦受害者连接到这些恶意节点,他们将无法从真正的网络获取数据,而是会从攻击者那里收到错误的信息。
日蚀攻击的后果
如果攻击者能够消耗网络节点的资源,使之与网络隔离,那么就有了实施日蚀攻击的动机,一旦有节点被隔离,攻击者就可以利用这种情况进行进一步的持续攻击。
未经证实的“双重支付”
如果独立节点接受未经确认的交易,就会出现“双重支付”风险。如果交易在进入区块链之前已被广播,则发送者可以很容易地在其他地方发起新交易,试图再次花费相同的金额。如果新交易的费用相对较高,矿工可能会优先考虑它,认为它是第一笔交易,从而使原始交易无效。
某些商家和个人会接受这些未经确认的交易。例如,一位名叫 Bob 的豪华汽车经销商可能会毫无怀疑地接受 Alice 的高级跑车订单。Alice 创建交易并将其广播到网络。Bob 看到付款即将得到确认,感到很满意,并将车钥匙交给 Alice,让她开车离开。
但实际上,这笔交易从未传播到网络;鲍勃只是将交易传输到爱丽丝的恶意节点,而恶意节点不会将其转发到真正的网络。因此,这笔交易被视为无效,爱丽丝以后可以在真正的网络上再次花费相同的金额,无论是将其转给自己还是转给别人。即使爱丽丝和鲍勃之间的初始交易后来出现在真正的网络上,也无法验证,因为爱丽丝的账户余额已经被消耗了。
双重支付的 N 次确认
N 次确认的双重支付概念与无确认的双重支付类似,但需要更多的准备工作。许多商家喜欢等待一定数量的确认后再确认付款的有效性。为了实现这一点,攻击者必须同时对矿工和商家节点执行日蚀攻击。如果攻击者与商家建立了交易,他们会将交易信息广播给受到日蚀攻击影响的矿工。商家将在区块链网络内看到已确认的交易,但由于矿工和商家的网络都是隔离的,因此该区块链实际上尚未得到大多数合法节点的确认。
攻击者通过虚假的区块链网络信息向商家发送消息,商家看到交易已确认后,就会继续发货。然而,当这些被入侵的节点重新连接到真实网络时,真正的区块链网络会将其视为无效,从而将其孤立(类似于 51% 攻击)。
矿工之间的竞争减弱
遭受日蚀攻击的节点继续正常运行,不会仅仅因为与网络隔离而受到影响。矿工仍将根据协议验证区块,但添加的区块将在真正的网络节点处理过程中被丢弃。
理论上,对大多数矿工进行大规模日蚀攻击可以为 51% 攻击创造有利条件。即便如此,即使是资源最丰富的攻击者,为了控制大部分比特币哈希算力(约 80 TH/s),也会面临高昂的成本;攻击者至少需要超过 40 TH/s 的哈希算力才能尝试这种方案。想象一下,这种哈希算力均匀分布在 10 个参与者之间(每个参与者约 8 TH/s);如果攻击者可以日蚀其中 5 个节点,他们可以将总哈希算力降低到 40 TH/s,让他们有额外的哈希算力来搜索下一个新区块,因为只需要 20 TH/s 就可以控制节点。
通过对目标节点进行日蚀攻击,攻击者还可能实施其他破坏性行为,包括操纵节点进行非法挖矿或利用矿工之间的竞争来获取下一个区块。
减轻 Eclipse 攻击的影响
如果攻击者获得足够多的 IP 地址,他们就可以对任何节点发起日蚀攻击。为了防止这种情况发生,最直接的方法是限制未经授权的节点访问,方法是仅允许向特定节点(例如,对等网络中其他节点列入白名单的 IP)进行出站连接。然而,正如研究论文中指出的那样,这不是一个可扩展的解决方案,因为如果所有参与者都实施此类措施,新节点将无法加入网络。
作者对比特币协议提出了一些调整,其中一些调整在白皮书发布后已被纳入比特币计划。这些调整包括微小的代码修改,例如随机选择新连接和增加地址的存储空间,这些可以有效提高执行日蚀攻击的成本。
结论
日蚀攻击是一种可以在对等网络上执行的攻击。作为一种可部署的独立攻击技术,它非常麻烦。这种攻击的真正目的是为执行可能产生更大影响的其他攻击铺平道路,或为攻击者提供挖矿优势。
总体而言,虽然日蚀攻击尚未造成严重影响,区块链网络也已经部署了一些预防措施,但威胁仍然存在。与比特币和大多数加密货币面临的其他攻击类似,防御日蚀攻击的最佳策略是确保恶意攻击者无法从中获利。
风险警告
虽然加密货币市场提供了巨大的增长潜力和创新机会,但它也具有很高的市场风险和价格波动性。加密资产的价值可能在短时间内大幅波动,可能导致投资者遭受重大财务损失。此外,加密货币市场面临多种风险因素,包括技术风险、法律和监管不确定性、网络安全威胁和市场操纵。我们强烈建议用户在做出任何投资决策之前进行彻底的研究和尽职调查,并咨询专业的财务顾问。所有投资决策均由用户自行承担风险。感谢您对 Venkate 的信任和支持!
构建加密货币交易所的未来
灵感与创新的交汇之处
Venkate Exchange 是一个创新的加密货币交易平台,其名称和灵感源自印度神话中象征财富和繁荣的神 Venkateswara。