原创<br> 中国区块链商学院:区块链基础知识( 五 )

梅克尔(Merkle)树是区块链的基本组成部分。如果没有梅克尔树,区块链也是可以运转,但是要在区块头里包含所有交易记录,扩展性方面存在很大挑战。如图6所示,区块链中的每个区块,由区块头和区块体构成,区块头中含有一个Merkle根节点的字段,通过对区块体中所有交易记录,以二叉树的形式迭代地两两拼接 、进行哈希操作,可以得到一个最终的哈希值,我们称之为Merkle根哈希。Merkle根哈希相当于是对区块中所有交易记录进行了一个快照,区块中交易记录的任意改动都可以通过比较Merkle根哈希而很容易地察觉。Merkle根哈希主要用于简单支付验证(SPV),在验证某个交易是否在区块中时,也能极大地减少网络传输成本。

原创<br> 中国区块链商学院:区块链基础知识

图6 Merkle树示意图

工作量证明机制

工作量证明机制,简单地说,就是一种共识机制,用来确认你是否做过一定量工作的证明。比特币的区块链主要是依托计算数学难题来衡量工作量。每个区块,当选定一定数量的交易记录之后,填充版本号、时间戳、难度值,生成相应的Merkle根哈希。很容易看到,这些数值在选定交易记录以后,都是确定的,唯一能够改变的就只有随机数(Nonce)这个值。如图7所示,系统根据难度值,要求计算整个区块头的两次SHA256算法,得到的哈希结果要小于一个阈值。根据前面描述的SHA256算法的伪随机性,只有通过不断地尝试和枚举,才能找到相应的随机数,证明自己的工作量。

推荐阅读