主页 > 下载安卓版imtoken > 比特币如何防止双重支出?

比特币如何防止双重支出?

下载安卓版imtoken 2023-04-22 07:45:04

(本文是在观看李永乐老师视频讲解的基础上整理的)

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

比特币如何防止双重支付

针对此类问题,比特币设计了一套机制来防御它。该机制首先检查交易信息中提到的余额。如果余额合理,矿工会将交易信息打包并链接到比特币区块链中。

问题一:如何查询余额?

比特币如何防止双重支付

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

比特币如何防止双重支付

此时,全网会下载比特币区块链的所有信息,并追踪A的所有历史交易记录。如果区块链交易信息显示A的余额足以支持这10个BTC的交易,则该信息将被接受整个网络,否则将不被接受。

问题2:如果同时支付给两个人,以哪一个交易记录为准?

比特币如何防止双重支付

比如A向全网广播:给B转了10个比特币,但同时他又发了一个给C转了10个比特币,此时A的总余额只有10。占上风?

比特币如何防止双重支付

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

不管收到什么交易信息,接下来,网络上的矿工都会将收到的消息打包比特币如何防止双重支付,计算出区块中包含的随机数,也就是挖矿,第一个计算出随机数的矿工会把这个区块放入主链比特币如何防止双重支付,该交易记录将被全网识别。如果放入主链的交易信息是A向B转了10个比特币,那么B会得到这些比特币,对方矿工会自动停止计算;如果放入主链的交易信息是 A 向 BC 转移了十个比特币,那么 C 将获得那些比特币。