双重支付

来自BitcoinWiki
这是此页面已获认可并且最新的版本。
跳转至: 导航搜索

一次 双重支付 攻击是成功使用同一基金两次。Bitcoin 受到双重支付攻击的保护由于每一个被添加到 block chain的交易都被 verified,而且,这笔交易中所包含的大部分资金都不可能被花掉。

其他的数字系统在授权主源的帮助下禁止双重支付攻击,该来源遵循某些 trade 规则来授权每笔交易。在Bitcoin 情况中,使用一个分散的系统,在该系统中大量的节点遵循相同的规则,在没有中央控制的情况下确认交易 node

Bitcoin 在交易位于网络的初始阶段,容易受到双重支出攻击。交易确认越多,其将被用于欺诈的风险就越小。

攻击类型[编辑]

Race attack[编辑]

如果交易没有确认,接受付款的商店和服务可能暴露于所谓的 “race attack”。例如,两个交易创建于相同的资金,后被发送到不同的商店/服务。在这种情况下,只有一家商店会收到这笔资金——这家商店的交易将首先出现在block chain中。

商店可以采取许多预防措施来减少这种类型的攻击,但如果您在没有任何确认的情况下接受交易,那总是好的。

Finney Attack[编辑]

另一种类型的攻击。商店或服务在没有任何确认的情况下接受交易而受到影响。“Finney Attack” 是一种要求mining expert 将重复的交易添加到block中的攻击。无论商店或服务采取何种预防措施,这种攻击的风险都不能降为零,但它确实需要一个理想的组合因素。它要花很多钱,这绝非易事。就像其他类型的攻击一样,商店或服务必须认真考虑它的政治交易,而不需要任何确认。

Vector76 Attack[编辑]

也被称为“attack with confirmation”。这是前面提到的两起攻击的组合,它使犯罪分子能够在确认后两次使用资金。

Brute Force Attack[编辑]

即使商店或服务正在期待几个交易确认,这种攻击也是可能的。它要求攻击者拥有相对高性能的硬件 (hash 频率)。

犯罪分子将交易发送到支付产品/服务的商店,同时继续在 block chainblock chain叉)中寻找识别该交易的链接。经过一定数量的确认后,商店就会发送产品。若犯罪分子在该点上已发现超过n个区块,那么他打破了 block chain 叉并恢复他的钱, 但若犯罪分子未成功地这样做, 则攻击可被视为失败, 资金正常被发送到商店。

该攻击的成功决定于攻击者的速度(hash 频率) 以及商店/服务确认数量。例如,如果攻击者拥有 Bitcoin 网络的10%的计算能力,并且该商店期望6个成功交易确认,那么此种攻击成功概率将是0.1%。

>50% Attack[编辑]

若犯罪分子控制了超过50% 的Bitcoin网络力量,则上述攻击成功的可能性将是100%。由于犯罪分子可以比网络的其他部分更频繁地生成区块,所以他可以创建自己的 block chain,直到其长于网络的“积分”部分。

参见[编辑]

另请参阅 BitcoinWiki[编辑]