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