golang[41]-区块链-默克尔树构建-创新互联

大自然的启示

Banyan树的启示:印度banyan树,大的一颗可以长到1万平方米以上。其如此巨大的秘密就在于其枝干也会产生根,起到支撑,从而作为附属树干,继续生成分支。大自然给人太多启示……

创新互联是一家专注于网站设计制作、网站制作与策划设计,丰都网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:丰都等地区。丰都做网站价格咨询:13518219792

Merkle Tree

Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树。Merkle树是一种数据结构,Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash。
Merkle树是使区块链发挥作用的基本组成部分。虽然理论上可以在没有Merkle树的情况下制作区块链,但只需创建直接包含每个事务的巨型块头,这样做会带来巨大的可扩展性挑战,可以说无可置疑地使用区块链的能力超出了所有范围,从长远来看,功能强大的电脑。感谢Merkle树,可以构建在所有计算机和大小笔记本电脑上运行的以太网节点,智能手机,甚至是物联网设备

比特币中默克尔树的构建过程:

对于网站中的交易:
https://www.blockchain.com/btc/block/000000000001741120135274584b2a0da45b39c8cc78322a14f9004ae766a8e0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
第一笔hash:
16f0eb42cb4d9c2374b2cb1de4008162c06fdd8f1c18357f0c849eb423672f5f
大小端转换为:
5f2f6723b49e840c7f35181c8fdd6fc0628100e41dcbb274239c4dcb42ebf016

第二笔hash:
cce2f95fc282b3f2bc956f61d6924f73d658a1fdbc71027dd40b06c15822e061
大小端转换为:
61e02258c1060bd47d0271bcfda158d6734f92d6616f95bcf2b382c25ff9e2cc

将两个拼接在一起:
5f2f6723b49e840c7f35181c8fdd6fc0628100e41dcbb274239c4dcb42ebf01661e02258c1060bd47d0271bcfda158d6734f92d6616f95bcf2b382c25ff9e2cc

将上面拼接的字符串进行两次hash如下:

第一次hash结果:
9b2ec096d49fee8b310752082d63d8fe198386ae2172d90533d9186bb28df63d

将上面计算出的hash值再次进行hash:
525894ddd0891b36c5ff8658e2a978d615b35ce6dedb5cb83f2420dbcd40a0c7

大小端转换即为结果:
c7a040cddb20243fb85cdbdee65cb315d678a9e25886ffc5361b89d0dd945852

go语言实现上面的验证过程

golang[41]-区块链-默克尔树构建

参考资料

eth wiki:patricia-tree

[csdn 默克尔树解释]https://blog.csdn.net/wo541075754/article/details/54632929

https://github.com/ZtesoftCS/go-ethereum-code-analysis/blob/master/trie源码分析.md

  • 本文链接: https://dreamerjonson.com/2018/12/10/golang-41-blockchain-merkletree/

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

golang[41]-区块链-默克尔树构建

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。

文章题目:golang[41]-区块链-默克尔树构建-创新互联
URL链接:https://www.cdcxhl.com/article28/dhpjjp.html

成都网站建设公司_创新互联,为您提供企业建站企业网站制作标签优化电子商务网站排名服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化