当前位置: 首页 > 教程 > 区块链 >

区块链双重支出

精华
小牛编辑
90浏览
2023-03-14

双重支出意味着两次花相同的钱。众所周知,任何交易只能以两种方式处理。一个是离线的,另一个是在线的。

  • 离线:涉及实物货币或现金的交易称为离线交易。
  • 在线:涉及数字现金的交易称为在线交易。

下面来看看这个例子:

假如你去餐馆点了一杯价值5美元的卡布奇诺咖啡。可以用现金支付。餐厅的服务提供商立即确认您已付款,并且您收到了咖啡以换取这笔钱。现在是否有可能在其他地方花费相同的5美元再次购买? 答案是否定的。但如果答案是肯定的呢? 这意味着同一个人可以使用相同的现金超过一次。这种类型的问题称为双重支出问题。

在实物货币中,双重支出问题永远不会出现。但在数字现金般的比特币中,可能会出现双重支出问题。因此,比特币交易有可能被复制和重播。这开辟了同一BTC可由其所有者花费两次的可能性。

比特币如何处理双重支出问题?

比特币通过实施确认机制并维护称为区块链的通用分类账来处理双重支出问题。

我们假设您有1个BTC并尝试花两次,与Alice进行了1 BTC交易。再次,签署并向Bob发送相同的1 BTC交易。这两个事务都进入未经证实的事务池中,其中存储了许多未经确认的事务,任何人都不会选择这些事务。无论哪个交易首先得到确认并且经过矿工验证都是有效的。另一项无法获得足够确认的交易是从网络中撤出的。在此示例中,事务T1有效,Alice将接收比特币。

如果这两笔交易都由矿工同时进行,会发生什么?

假设两个不同的矿工同时挑选两个交易并开始创建一个块。现在当确认阻止时,Alice和Bob将等待他们的事务确认。首先获得确认的交易将首先得到验证,另一笔交易将从网络中撤出。

现在假设如果Alice和Bob同时收到第一个确认,则Alice和Bob之间将开始竞赛。因此,无论哪个交易获得来自网络的最大确认数量都将包含在区块链中,另一个将被丢弃。