本篇文章给大家谈谈区块链默克尔树,以及区块链 merkle树对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
区块链-默克尔树
Merkle 树是一种组织和构造大量数据以使其更易于处理的方法。在加密货币和区块链的情况下,Merkle 树用于以对资源要求较低的方式构建交易数据。
当在 Merkle 树结构中进行加密货币交易时,它会被散列,然后被赋予一个等效的散列值。每笔交易在 Merkle 树中散列后,产生的散列值与另一个散列值配对,然后再次散列。例如,将散列值“AB”和“AC”组合起来创建“ABC”。
重复这个配对散列值的过程,直到产生最终的散列值。最终的哈希值,即默克尔根,提供了它包含的所有交易的摘要。然后将 Merkle 根摘要插入到块头中。
Merkle 树结构提供了一个区块中交易的易于访问的记录。因此,检查块中的数据是否已更改或篡改非常简单。这是真的,因为对 Merkle 树中的交易(或任何其他相关数据)的任何更改都会导致完全不同的对应 Merkle 根。
如果加密货币不使用 Merkle 树,则每个验证请求都将涉及通过网络发送的大量信息。在 Merkle 树中构建交易数据是一种更有效的资源利用。验证交易不需要账本的完整副本,因为可以在 Merkle 根中验证散列的交易数据,需要在节点间发送的信息少得多,因此分析整体数据完整性的计算能力也更少。
换句话说,Merkle 树结构使用户能够验证单个交易是否已包含在一个区块中,而无需经过下载整个区块链的过程。该技术是加密货币组织交易数据并像它们一样高效运行的重要工具。如果没有默克尔树,对资源的更大需求很可能会导致参与网络的节点更少。
梅克尔树-Merkle Trees
梅克尔树是一种二叉树,能快速检查和归纳大量数据,可用于验证区块中交易记录的完整性。
梅克尔树是区块链的重要数据结构, 其作用是快速归纳和校验区块数据的存在性和完整性。一般意义上来讲,它是哈希大量聚集数据“块”的一种方式,它依赖于将这些数据“块”分裂成较小单位的数据块,每一个 bucket 块仅包含几个数据“块”,然后取每个 bucket 单位数据块再次进行哈希,重复同样的过程,直至剩余的哈希总数仅变为1。
在这颗数中,每个交易都可以单独删除,只需要保存好这笔交易的哈希值即可。这样一来,就可以极大的减小了每个区块的内存,可以存放更多的最新交易。所以在 UTXO 模型中,使用默克尔树结构,就无需担心数据的增长过大的问题了。
使用场景:
1、区块头维护交易的梅克尔树;
2、SPV 钱包通信的交易验证,存放该树。
欢迎留言讨论,有错误请指出,谢谢!
【联系我(QQ:3500229193)或者加入社群,请戳这里!】
什么不存储于区块头
交易数据。区块头不直接存储交易数据,而是只存储交易数据的哈希值,交易数据不存储于区块头。现实的区块链直接将内容数据(如交易数据)存储在数据库中,称为默克尔树。对于足够老的区块,全节点只需存储区块头而不用存储区块内的具体交易信息。
写到这里,本文关于区块链默克尔树和区块链 merkle树的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。
标签: #区块链默克尔树
评论列表