和小明一起体验比特币交易 交易需要确认才能完成
有一天,小明在网上闲逛的时候发现了一家网店,里面的商品新潮有趣,而最重要的是,它支持比特币支付。
(越来越多的商店支持比特币支付 图片来源:金色财经)
作为比特币的坚定信仰者,他与店主聊得非常投机,决定以10个比特币的价格购买一件商品。出于对店主的信任,小明与店主约定,由前者将10个比特币打到后者的地址上,而后者在收到比特币后再将商品发出。
店主打开自己的比特币钱包,创建了一个新的比特币地址,并告知小明。店主创建新地址的本质是生成了一个密钥对,这个密钥对由一个公钥和一个私钥组成,其中私钥只有店主自己知道,而公钥则是公开的,可以用来验证支付的真伪。
小明收到店主的地址信息后,打开了自己的比特币钱包客户端,并指示客户端将10个比特币发送到店主的收款地址。钱包客户端里储存着小明所有地址的私钥。
(小明打开自己的比特币钱包客户端 图片来源:金色财经)
为了简化问题,我们假设小明在其中一个地址里放了11个比特币,而本次支付只从该地址进行扣款。在发送比特币时,钱包客户端以该地址的私钥对本次交易进行签名,并向全网公布这次交易信息。
这个时候,网上所有的节点或者说每一个矿工都有权利验证这个交易是否有效。验证方法也很简单,拿出这个地址的公钥对照即可。
在这个环节,A和B两位矿工也接到了这个交易信息。在经过验证确认交易有效后,他们把这个交易放进比特币内存池里,等待上传到区块链主链。过了一段时间,A的电脑算出了一个符合条件的随机值,系统宣布一个新的合格区块诞生,并向整个网络公布了这一消息,其他节点(包括B)收到后就开始在这个数据块之后开始新的挖矿工作。而小明和店主的交易信息就被打包放进了A挖出的数据块里,并且得到了初步确认。当下一个区块衔接到这个区块时,交易就会得到进一步的确认。
经过一段时间的等待确认后,店主发现10个比特币已经到达他的地址,他把商品发给了小明,本次交易宣告完成。
其实如果店主和小明都在同一个比特币交易所完成开户,那么小明和店主的比特币交易可以通过交易所内部进行结算确认,因为双方的比特币都只在交易所内流通,因此无需上传到区块链上。
这样就不用花费漫长的时间等待交易信息上传到区块链上进行确认,也提升了比特币交易的便利性。
声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,不代表金色财经立场。