词汇表

双重支付

2026/4/16

双重支付是指尝试多次使用相同的加密货币资金——同时将相同的币发送给两个不同的接收者。这是区块链技术旨在解决的根本问题。

问题所在

在传统的数字文件中,数据可以自由复制。如果没有防止复制的机制,数字货币可以被无限复制——相同的币可以被发送给多个人。银行通过维护一个中央账本来解决这个问题。比特币则无需中央权威来解决。

区块链如何防止双重支付

工作量证明共识确保:

  1. 只有一个版本的交易历史被接受(最长的有效链)
  2. 修改历史需要重新做比整个诚实网络更多的工作
  3. 一旦交易有足够的确认,逆转它在计算上是不可行的

0确认攻击

唯一实际的双重支付风险是针对接受0确认交易的商家:

  • 攻击者向商家发送交易TX1(支付商品)
  • 同时向网络广播交易TX2,将相同的币花回给自己
  • 如果TX2先确认,TX1无效——商家被骗

即使等待1次确认也会使这种攻击极其困难。多次确认使其几乎不可能。

51%攻击

如果攻击者控制了超过50%的网络算力,他们理论上可以重写最近的区块以逆转自己的交易。这对于像比特币这样的大型网络来说既昂贵又不切实际,但在较小的PoW币上曾发生过。

另见