铜仁市论坛

首页 » 分类 » 定义 » 知识小课堂梅克尔树
TUhjnbcbe - 2021/3/10 20:11:00
治疗白癜风哪的医院好些啊 http://m.39.net/pf/bdfyy/
梅克尔树:一种树状数据结构,其实就是哈希树,哈希数的概念由瑞夫·墨克于年申请专利,故有了别名的由来。在密码学和计算机科学中,哈希树(hashtree)是一种树形数据结构,树的每个叶节点存储了数据块的哈希值,而除了叶节点以外的节点则是存储自己的子节点的哈希值。也就是说每个节点都对应一个哈希值:最底层的节点是每笔交易的哈希,第二层的每个节点都是它下方两个哈希拼接后经过SHA算法后生成的哈希,依次类推直到最顶端只剩一个节点,我们称这个节点为梅克尔根。每个叶子节点的标签都是其所记录内容的哈希值,而将两个兄弟节点的标签串联起来,作为哈希函数的输入,经过计算得到父节点的哈希,如此重复直到最后只剩下一个节点,即根节点,又称作梅克尔树根。大致上一个区块包含了区块大小、区块头、交易数量、交易数据四个部分。其中交易数据被组织成了梅克尔树结构,区块头中包含了上一个区块的区块头部哈希和本区块中的梅克尔根。由于区块拥有了这样的组织结构,区块内部的任何交易信息的改动,总会引起梅克尔树根的哈希值变化,进而包含了梅克尔根的区块头会发生变化,最终导致区块头的哈希发生变化。如果进行了篡改,下一个区块中包含的前一个区块哈希将会跟篡改后的值不匹配。为了不让人发觉本区块的篡改,他必须修改掉后一个区块的头部信息。后一个的后一个头部信息也将需要修改,依次类推,一旦修改了某个区块,后续所有的区块都需要修改才能确保修改的不会被发现。

END

点击阅读原文去

1
查看完整版本: 知识小课堂梅克尔树