首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

比特币基本原理,我双重支付了你能拿我怎么办?

如果A要给B十个比特币,A自己根本就没有十个比特币,那该怎么办?

比特币

上一回咱们讲了如何保证比特币的交易记录是真实的,现在长话短说,直接上干货,继续开讲下面的问题。

另外一个问题,就是如果A要给B十个比特币,A自己根本就没有十个比特币,那该怎么办?或者说A本来就只有十个比特币,但他同时发了两条消息,一条是给B十个比特币,一条给C十个比特币,那这个时候别人又如何去鉴别呢?这就是第二个问题,如何应对双重支付的问题

比特币支付

好,我们来研究一下这个事。要解决这个问题,我们首先来说一下如何进行余额的检查。什么叫余额检查,就是说你本来只有十个比特币,你非要付给别人二十个,那我就要拒绝,对吧?我怎么去拒绝这件事?我们知道,区块链是把很多的交易信息一块一块打包再把它穿一个串连起来的,而且每一个人在使用这个区块链比特币的时候,他都会下载所有的信息。意思就是从第一个创世纪的这个块开始,一直到后面所有的信息,他都知道。所以如果有一天A说要付给B十个比特币,并且把这件事给广播出去,那么别人接触到这个信息之后就去检查,怎么检查?就会去找A,说你的比特币从哪来的。比如在这个块里面,A已经通过挖矿获得了五十个比特币,然后在这个块里面A已经支付了二十个比特币,这样一来,人们一算,A获得五十,支付了二十,现在还剩三十,所以你付给B二十,这个可以。于是这条消息就会被网络所接受,但是如果A说我要付给B六十个比特币,那么别人就算,一算发现你只剩三十了,你付给B六十个比特币,那么别人会拒绝这条消息,所以它不会被确认,你发出去也没有用。因为别人不能被确认,什么时候被确认?直到你这条消息被别人接受了,并且打包到一个新的块里边。这个新的块里边含有这个消息,就是A付给B十个比特币了,那么就是你的信息被确认了。所以这样就可以解决你的余额的问题,方法就是通过追溯。好,这是第一个要注意的点。

比特币钱包

那么第二个要注意的点就是,如果A进行了双重支付怎么办?什么叫双重支付?比如生活中有这样的一种人,他卖房子的时候同时跟两个买家签约,他把这一个房子卖了两次,这就叫双重支付。同样在比特币上也存在这样一个问题。假如有一个人A,他本来只有十个比特币,但是他几乎同时发了两条消息,第一条消息是A付了十个比特币给B,第二条消息是A付了十个比特币给C,他几乎同时发出这两条消息,那么这会有什么结果?结果就是每一个这个网络上的接收者接收到A的消息之后,都会去算 A的余额够不够,如果有人接触到第一条消息的话,他再接受第二条消息,他就会拒绝。因为网络上的每一个用户,接收到这个A的消息之后都会去追溯,看一看A的余额够不够,所以有些人可能会先接收到上面这条消息,他就会自然而然拒绝后面这条消息,因为他的余额已经不够了。当然也有一些人可能先接触到底下这条消息,这样一来他自然会拒绝上面这条消息。此时接收到了也没有用,因为他们会把这个消息打包在自己这个块里边,此时还没有确认呢,那什么时候确认呢?直到有一个幸运儿,找到了那道数学题的解,然后打了一个新的块。比如说A吧,他突然之间找到了一个数学题的解,找到这个数学题的解就相当于挖到了一个矿,于是他就找到了一个新的块,这个区块里边就包含这条消息:A付了十个比特币给B。然后他又把这个块给链接到刚才的这个上面了。链接到上面去了,这样一来这条消息就会被确认,而这条消息被确认之后,刚才打包了底下这条记录的人一看上面就有个新块,于是所有人都会放弃自己这个块,转而所有人都会站队,站到顶上去,也就是说上面一条消息被确认,而底下这条消息就被抛弃。同样道理,如果底下这个人很幸运地算出了这道数学题,那么这条消息就会被确认,而上面这条消息就会被放弃。所以当我们接收到别人给我们付款的时候,我们不能当时就认为钱已经到账了,我们必须等着。等到什么时候?等到这个块已经形成了,我们这条消息已经被记录到这条主链上了,我们才能认为这个钱真正打给我们了。这就是我们如何去防止双重支付的问题。

比特币支付

还不懂?视频伺候!

好了,还是由于时间关系,我们这次就到这里了。下篇推文再解决另外的问题!

(写文不易,要花大量的时间和精力,大家若喜欢,可以订阅关注,有你们的支持我才能持续地写下去,给大家分享更多知识。谢谢大家的阅读!我们下期见。)

【图文部分来源网络,版权归原作者所有。本文仅代表个人观点,不构成任何投资建议。如有侵权,请联系删除。】

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券