比特币是怎么解决“双花问题”的

什么是双花问题(双重支付)呢?

双花问题是指一笔数字现金在交易过程中被重复使用的现象。

比如,我只有两百块钱,想要把这笔钱支付两次,于是我同时给甲、乙转200元钱。

遇到这种问题,比特币是怎么解决的呢?

大家请仔细想一想,这笔钱是固定的,如何保证这笔钱在交易过程中,只支付了一次呢?

比特币的创始人中本聪在《比特币白皮书》中写道,比特币的支付步骤是这样说的:

1.有一个新的交易,要向全网公布广播。

2.每一个节点,都要将收集到的交易信息,放入一个区块中。

3.每一个节点都要试着在自己的区块中,找到一个足够难的工作量证明。

4.当一个节点找到了自己的工作量证明,都要对全网进行公布广播。

5.当且仅当这个区块中的所有交易是有效且之前从未有过,其他的节点才承认这个交易过程的有效性。

6.其他节点表示承认这个区块,表示认可的方法就是,根据这个区块的编码,往后延长这个链接。

有了上述的步骤,我们就能保证交易的唯一性和确定性。

这样说来,在交易发生的时刻,比特币的交易数据就被盖上了一个时间戳;而在这笔交易数据被打包到区块中这个过程中,就完成了第一次确认,在连续地进行了六次确认之后,这个记录就不能被轻易篡改了。

在这种情况下,当我尝试进行两次支付交易时,由于确认时间较长,后一交易几乎不可能与前一次交易同时确认。在第一次交易确认后,资金在第二次交易中无法确认。区块链的全网记账需要在整个网络中达成共识,就无法产生双花问题。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180911A1YYWI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券