比特币交易的技术实现过程(矿机的协作过程)

在理解比特币如何防止分叉之前,我们要先了解,比特币交易的过程:


1. 由于去中心化,导致买卖双方的诚信保证没有了第三方做担保了。因此信任方通常是由买家或者卖家来担保,就比如我们去吃快餐,先吃后买单的话买家是信任担保,如果先买单后吃的话卖家是信任担保。比特币目前的话主要正规交易都是在虚拟商品上的买卖,而且通常都是需要先付账后才能拿到商品的(比如有些云服务器网站,就是要求先支付比特币后才能拿到云服务的)。


2.信任方负责确认交易是否完成。


3.确认交易是一个复杂的过程:

买家A的区块链节点广播交易信息(如:A支付B100个比特币)给其他矿工节点

比特币矿工对所有订单进行同步和排序,为挖矿做准备(如果挖到矿号,就把订单装进矿号对应的区块里面)。

开始挖矿,最先挖到最优的矿石的那位矿工,把委托的订单放去区块打包,并把矿号标记到打包好的区块中,加上时间戳。

然后把该区块广播出去,并命令其他矿工停止挖矿。

其他矿工拿到区块校验后,将区块写入本地的存储器里面。

而刚刚广播区块的那个矿工(最先挖到矿的矿工),开始进行区块确认,所谓的确认就是为了检测刚刚获得的区块开始是否和原先最先的区块对接得上(检测数据完整性),如果完整的,就先其他所有广播(该区块已经被确认),如果不完整就向附近的节点请求获取缺失的部分数据。

其他矿工收到确认后,紧接着其他矿工进入下一轮的挖矿工作中

买家B的节点客户端也收到的区块被打包的确认后,进行查账,发现自己的账本被更新了,并且多了100块。这个时候买家可以等了大概10分钟了,买家如果觉得保险一点可以多等1小时或者1天,防止交易被回滚。但是通常情况下,对于小额交易没这个必要。


就这样一个交易记录就完成了。

你可能感兴趣的:(区块链)