美文网首页币圈与区块链金融基础技术与业务
【学习笔记】merkle树及设置意义

【学习笔记】merkle树及设置意义

作者: 吴轩霆 | 来源:发表于2018-10-30 07:30 被阅读29次

Merkle树(默克尔树)

默克尔树是一类基于哈希值的二叉树或多叉树,其叶子节点上的值通常为数据块的哈希值,而非叶子节点上的值,是将该节点的所有子节点的组合结果的哈希值。

【学习笔记】merkle树及设置意义

默克尔树一般用来进行完整性验证处理,在处理完整性验证的应用场景中,默克尔树会大大减少数据的传输量及计算的复杂度。

通常,要确定一个数据块是默克尔树中的一员,只需要树根及这个区块和通向树根沿途的中间哈希值,可以暂时忽略树的其他部分,这些就已经足以让我们验证了。

由此可见,哈希加密算法的验证相比于正向求解要容易

1. 默克尔树的意义:(节约硬盘空间,每个节点都可以存储交易,每个节点都有权验证交易)

为了同时确保不损害区块的hash,交易被hash为一棵Merkle Tree,这个Merkel Tree只有root节点被包含进了这个区块的hash。老的区块能够被压缩通过将这个树的分支进行拔除(stubbing off branches of thetree)。而内部的hash是不必被保存的。个人并不需要这个区块,只需要这个区块的hash(索引)就可以,有ipfs,公共节点,高信任度节点帮忙存储。

一个剔除交易的区块头大概会是80byte大小。如果我们假设区块每10分钟就生成一个,那么80bytes * 6 * 25 * 365 = 4.2MB 每年。2008 年PC系统通常的内存容量为2GB,按照摩尔定理预言的每年增长1.2GB的大小,即使将全部的区块头存储在内存之中都不是问题。

2. 这里会有一个取舍,存储空间与安全,假设因为默克尔数,保留的节点(交易)太少,就可能造成安全问题,一个攻击者拥有超过全网的算力的成本是相对较低的,当然这主要针对小区块链系统。

相关文章

  • 【学习笔记】merkle树及设置意义

    Merkle树(默克尔树) 默克尔树是一类基于哈希值的二叉树或多叉树,其叶子节点上的值通常为数据块的哈希值,而非叶...

  • merkle树

    Merkle树是一种哈希二叉树,它是一种用作快速归纳和校验大规模数据完整性的数据结构,生成整个交易集合的数字指纹,...

  • Merkle树

    所谓比特币交易就是从一个比特币钱包向另一个中转账,每笔交易都有数字签名来保证安全。一个交易一旦发生那么就是对所有人...

  • merkle树

    默克尔树(又叫哈希树)是一种二叉树,由一个根节点、一组中间节点和一组叶节点组成。 最下面的叶节点包含存储数据或其哈...

  • Merkle树

    Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树。Merkle树是一种...

  • 默克尔树学习笔记

    参考引用原博客地址 Merkle Tree学习 谈谈以太坊的Merkle树 如侵权请联系删除。 以前有过一点的密码...

  • Merkle Tree算法学习

    默克尔树详细讲解推荐文章Merkle tree wikipedia Merkle Tree Structure M...

  • 比特币中常说的merkle树是什么?

    磨链输出计划 区块基础-merkle树 Merkle tree中文叫做梅克尔树,这当然不是一棵真正的植物树,mer...

  • 默克尔树在区块链中的应用

    1 MT树(Merkle tree) 默克尔树是一种哈希二叉树,1979年由Ralph Merkle发明。与标准二...

  • Merkle-Patricia-Tree

    学习路径 深入理解mpt树可以按照下面的顺序 merkle-tree Trie ...

网友评论

    本文标题:【学习笔记】merkle树及设置意义

    本文链接:https://www.haomeiwen.com/subject/csswtqtx.html