比特币如何防御双重支付?详解其机制与余额检查方法

2024-06-06
来源:网络整理

(本文根据观看李永乐老师的视频讲解编写)

现实生活中,我们听说过双重支付的问题,比如一个人在卖房子的时候,同时和两个人签订合同;再比如一个人只有1万元,却私下向不同的人宣称,会给对方1万元。

比特币设计了一个机制来防止这种问题,这个机制首先检查交易信息中提到的余额,如果余额合理,矿工就会把交易信息打包,链接到比特币区块链中。

问题一:如何查询余额?

比如网络收到一条消息:A给B转了10个比特币。

此时全网会下载比特币区块链上的所有信息,追溯A所有的历史交易记录,如果区块链交易信息显示A的余额足以支撑这10个BTC的交易,那么这个信息就会被全网接受,否则就不会被接受。

双重支付_双重支付和双重归流_什么是双重支付

问题2:若同时向两人付款,以哪笔交易记录为准?

比如A向全网广播:转10个比特币给B,但同时又发送了另外一条消息,要求转10个比特币给C,而此时A的总余额只有10个,应该以哪条交易记录为标准呢?

这时候,有些人会先收到A给B十个比特币的消息,在检查了自己的余额后就会自动忽略另一条消息;同样,先收到A给C十个比特币的消息的人,在检查了自己的余额后,也会自动忽略另一条消息。

不管收到哪笔交易信息,网络上的矿工随后都会将收到的消息打包,计算出区块中包含的随机数,这就是挖矿。第一个计算出随机数的矿工会将区块放入主链,这笔交易记录就会被全网认可。如果放入主链的交易信息是 A 转 10 个比特币给 B,那么 B 就会得到这些比特币,另一边的矿工会自动停止计算;如果放入主链的交易信息是 A 转 10 个比特币给 C,那么 C 就会得到这些比特币。

分享