头条 政策 人物 行情 技术 对话 百科 返回首页

说了这么久的比特币,对其工作流程你知多少?

时间:2019-02-14 23:15:20

 今天是2月14日,西方情人节,肖恩突然间联想到之前听过的爱情区块链的项目。肖恩认为将“爱情”上链的构想很好,两个人情感生活中的点滴记录上链,以后随时随地可以通过溯源的方式回忆,别具特色。

在区块链系统中,区块链是由一个个区块按照时间顺序串联而成,任何一个节点沿着区块链向上溯源,均可到达区块链的源头,即第一个区块,在比特币中又被称为创世区块。

今天肖恩就以比特币为例,讲解下区块链的工作流程。

区块的组成

说区块链的区块上链之前,我们先来谈谈区块的组成。区块主要有两部分组成,分别是区块头和区块体。其中,区块头主要组成数据有:哈希值、难度系数、时间戳、Nonce数据、Merkle树根数据。区块体主要存储交易的信息,可用于验证比特币的交易记录。

简单介绍下这些数据:

哈希值:索引前一区块;
难度系数:用于控制算法计算的难度(下面有具体解说);
时间戳:区块的时间值;
Nonce数据:用于工作量证明算法的计数器;
Merkle树根数据:总结了所有交易,可以用于快速归纳和校验所有交易数据。

区块的上链

1. 矿工将比特币交易数据打包进行区块,打包了交易数据的区块要连接在区块链当前的最后一个区块后面,需要先解决一道难题。

这道难题涉及到安全散列算法SHA-256。SHA-256即是哈希函数,是把消息数据打乱混合,将之压缩成固定格式的摘要,这个摘要又称哈希值,长度为256bit。
解决这道难题就是,节点需要进行运算,穷举法不断地查找到满足该SHA-256哈希值对应的数值解。这个解决难题的过程我们称之为挖矿。

2. 当这道难题被解决后,解决出这道难题的矿工会将之广播到比特币网络,其他节点收到广播后进行验证,一旦验证通过,这个区块就确定上链。矿工们会马上开始计算下一道难题,开始下一个新区块的挖掘工作。

很多矿工同时进行工作,争相解决这道难题,因为谁先解决这道难题就可以获得区块上链的资格,一旦区块上链矿工即可获得挖矿奖励,目前一个比特币区块的奖励是12.5个比特币。
若两个或两个矿工同时解决难题,这个时候哪个矿工的信息广播速度快,谁获得的认可多,即共识高,其区块就会上链。
系统存在着一个难度系数,当越来越多的矿工加入计算,同等难度的难题被解决的概率会加大,系统会调节难度系数,增加难题的解决难度。同样的,当挖矿的人少了的时候,系统也会通过调节难度系数,降低难题的难度。这样一来,系统就可以保证比特币生成一个区块所需的时间平均为10分钟。

区块一旦被添加到链上,该区块里的数据也将获得全网的认可,具有了全网一致性与不可更改性。以上是借比特币讲述了区块上链的流程,比特币运用的主要是工作量证明共识机制,其他不是运用这种共识机制的项目会有所区别,但最终均可实现信息永久性与不可篡改性。

肖恩认为,不仅是爱情区块链,对于有保存信息的真实性与永久性需求的个人或组织(如证书发放机构)来说,区块链的工作效果正好可以满足他们的需求。

快讯 更多