📅  最后修改于: 2020-12-18 09:47:29             🧑  作者: Mango
比特币是最安全的加密货币,可在协议的多个级别提供安全性。它经常造成持续的复杂攻击。在本节中,我们将研究比特币系统中的各种可能的攻击。
Sybil攻击发生在对等网络中。恶意攻击者希望在比特币网络上进行这种攻击。这样,网络中的节点会同时操作多个身份,从而破坏信誉系统中的权限。它的主要目的是获得网络中的大多数影响,以在系统中执行非法操作。
Sybil攻击很难检测和阻止,但以下措施可能会有用:
竞赛攻击要求接收者接受未经确认的交易作为付款。作为攻击者,您可以使用两台不同的计算机将同一枚硬币发送给不同的供应商。如果供应商交付货物而无需等待块确认,他们将很快意识到在采矿过程中交易被拒绝。解决方案是,供应商必须至少等待一个块确认后才能发送东西。
当攻击者与受害者的节点有直接连接时,更容易引发这种攻击。因此,建议关闭到节点的传入连接以接收付款,以便您的节点识别自己的对等节点。并且不允许付款人直接将付款提交给收款人。
Finney攻击是以Hal Finney命名的。 Finney攻击是双重支出问题的类型之一。在此攻击中,攻击者是通常开采区块的矿工。在该区块中,他包括一个交易,该交易将他的一些硬币发送回自己而不进行广播。当他找到预先开采的区块时,会在第二次交易中发送相同的硬币。第二笔交易将被其他矿工拒绝,但这将需要一些时间。为了防止这种攻击,卖方应至少等待六个街区确认后才能放行货物。
Vector76攻击是Race攻击和Finney攻击的组合,因此即使只有一个确认的交易仍可以撤消。在这种攻击中,一名矿工创建了两个节点,其中一个连接到交换节点,另一个连接到区块链网络中连接良好的对等节点。现在,矿工创建了两项交易,一项高价值和一项低价值。然后,攻击者将高价值交易预购到交换服务。宣布区块后,他迅速将预先开采的区块直接发送到交换服务。当交换服务确认高价值交易时,被破坏的攻击者将低价值交易发送到区块链网络,最终拒绝高价值交易。结果,损坏的攻击者的帐户被存入高价值交易的金额。可以通过禁用传入连接并仅连接到连接良好的节点来保护此攻击。
51%的攻击是对区块链网络的潜在攻击。它是指试图控制网络超过50%的挖掘能力,计算能力或哈希率的单个矿工或一组矿工。在这种攻击中,攻击者可以阻止新交易发生或被确认。他们还可以撤消在控制网络时已经确认的交易,从而导致双重支出问题。
当矿工形成有效的交易区块时,个人将广播该区块给网络上的其他矿工。只有根据区块链上的现有记录,一个区块中的所有交易均有效时,才能接受该交易。但是,腐败的未成年人的网络哈希率超过50%时,不会向其他网络广播解决方案。它导致形成两个版本的区块链。一种是区块链的公开版本,随后是合法的矿工。第二种是没有将其广播到网络其余部分的腐败矿工所使用。
这种类型的攻击是虚构的,因为获取计算能力的成本很高,该能力占整个网络计算能力的50%以上。