我将讨论比特币系统中三种不同类型的可能攻击;
Race Attack
作为一个攻击者,您可能会使用两台不同的机器将同一枚硬币快速连续地发送给不同的供应商。如果供应商在交付货物之前不等待区块确认,他们很快就会意识到交易在挖掘过程中被拒绝。解决这种攻击的办法是,供应商必须等待至少一个区块确认后才能发出货物。
Finney Attack
在这种情况下,攻击者就是矿工。矿工用他的交易挖掘一个区块,但不在系统中释放它。他现在在第二次交易中使用相同的硬币,然后释放预先开采的区块。显然,第二笔交易最终会被其他矿商拒绝,但这需要一段时间。为了降低这种风险,卖方应在放行货物前等待至少六个区块的确认书。
The 51% Attack
在这种攻击中,我们提出了一个不切实际的假设,即某人拥有51%的网络计算能力。这种攻击中的攻击者会挖掘一个私人区块链,在那里他会加倍花费硬币。
由于他拥有大部分的计算能力,他可以保证他的私人区块链在某个时候会比“诚实”网络的链长。然后,他在系统中释放了他的私有区块链,使得之前记录在诚实区块链中的所有交易都无效。
这种攻击是虚构的,因为获取相当于或超过整个网络计算能力51%的计算能力是非常昂贵的。