美文网首页
比特币如何防止双重支付?

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

作者: 经管读书会 | 来源:发表于2021-05-10 10:59 被阅读0次

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

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

    针对这类问题,比特币设计了一套机制来防御。这套机制首先是对交易信息提到的余额进行检查,如果余额数量合理,那么矿工就会将此交易信息打包并链入比特币区块链。

    问题1:如何检查余额?

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

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

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

    比如A向全网广播:转10个比特币给B,但同时他又发了一条,转10个比特币给C,而此时A的总余额只有10个。该哪条交易记录为准呢?

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

    不管接收到的是哪条交易信息,接下来,网络上的矿工都会对自己收到的消息进行打包,计算区块当中所包含的随机数,也就是挖矿,第一个计算出随机数的矿工,就会将这个区块放到主链当中,这条交易记录也就会被全网承认。如果放入主链的交易信息是A转给B十个比特币,那么B将会获得这些比特币,另外一边的矿工也就自动停止计算了;如果放入主链的交易信息是A转给C十个比特币,那么C将会获得这些比特币。 

    以上就是比特币防双重支付的方法。

    结语

    1、  在防止双重支付问题上,比特币区块链会首先检查所有的交易记录,追溯交易信息;

    2、  在确保余额正确的情况下,首先被放入主链的交易信息将会被全网接受。

    参考文献

    [1]微博 @李永乐老师

    相关文章

      网友评论

          本文标题:比特币如何防止双重支付?

          本文链接:https://www.haomeiwen.com/subject/xmabdltx.html