请选择 进入手机版 | 继续访问电脑版

图文精华

【区块链基础第二季】-9- Merkle树是什么?

2019-11-29 18:03| 发布者: daisyily| 查看: 29| 评论: 0

前面我们讲了Merkle树,Merkle树也叫二叉哈希树,简单地讲Merkle树它是所有交易的一个归纳或者总结,是用于汇总和验证大型数据集完整性的数据结构。

具体是什么样的,既然叫树,其实有个专业术语叫二叉树,主要是干嘛?是汇总数据的。哈希加密,有根有叶子,我们看这样一个结构,比如说L1,我们为什么叫L呢,这是叶子(leaf)的意思,比如说有4个叶子,这个叶子里面什么东西?其实就是交易记录,我们看区块链浏览器中的区块的话,它的交易是一条一条像流水账一样的交易。



其实在源代码中它其实其实是横向排列的,就把它作为这样一个排列,并不是纵向排列,并不是堆起来是横向排列。那不是奇数就是偶数,比如说L1里面是一个人给一个人交易,还有这个人给这个人交易,我们把它按照几何结构给它排列起来,L1、L2,可能一个区块中它有很多交易,比如说这样一个区块中,它有多少笔交易?可能有2000多笔交易,交易非常长,也非常多,哪如果检验起来是不是非常麻烦,干脆每一条交易做一个哈希,无论多长的东西,它都能变成一个固定的长度组成。无论打多长的数据,它的长度都是固定的,只要输入是固定的,输出就是固定的。哈希算法能把很大的东西进行压缩,这样就减少了数据量。



只要交易是固定的,唯一的哈希也是固定的。收集一个或多个新纪录块,对这些记录进行散列,再将散列配对,散列,再次配对并再次散列,直到单个散列保留。通过这样一个过程,把两两算作一个哈希,这样哈希是不是又减少了,这样最后形成一个哈希,就变成了Merkle根。

这个单独的哈希被称为Merkle树Merkle根。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

精彩评论

沙发等你来坐!

发布文章
返回顶部