Banyan树的启示:印度banyan树,最大的一颗能够长到1万平方米以上。其如此巨大的秘密就在于其枝干也会产生根,起到支撑,从而做为附属树干,继续生成分支。大天然给人太多启示……git
Merkle Tree,一般也被称做Hash Tree,顾名思义,就是存储hash值的一棵树。Merkle树是一种数据结构,Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash。
Merkle树是使区块链发挥做用的基本组成部分。虽然理论上能够在没有Merkle树的状况下制做区块链,但只需建立直接包含每一个事务的巨型块头,这样作会带来巨大的可扩展性挑战,能够说不容置疑地使用区块链的能力超出了全部范围,从长远来看,功能强大的电脑。感谢Merkle树,能够构建在全部计算机和大小笔记本电脑上运行的以太网节点,智能手机,甚至是物联网设备github
对于网站中的交易:
https://www.blockchain.com/btc/block/000000000001741120135274584b2a0da45b39c8cc78322a14f9004ae766a8e0golang
1 |
第一笔hash: |
eth wiki:patricia-treemarkdown
[csdn 默克尔树解释]http://www.javashuo.com/article/p-rsybixhr-kc.html数据结构
https://github.com/ZtesoftCS/go-ethereum-code-analysis/blob/master/trie源码分析.mdide
本文连接: https://dreamerjonson.com/2018/12/10/golang-41-blockchain-merkletree/源码分析
版权声明: 本博客全部文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!post