有人可以向我解释一下如何在riak-core中运行merkle树吗?
https://github.com/basho/riak_core/blob/develop/src/merkerl.erl
我不明白它的内容是什么,例如。
谢谢!
答案 0 :(得分:2)
树是一个或多或少的K / V查找树和Merkle树。通过查看160位sha1哈希来定义树。 160位给出20个字节。在树的第一级,我们根据哈希的第0个字节存储多达256个子树。在下一个级别,它是第一个字节,然后是第二个字节,依此类推。
这是一种称为数字树方案,其中哈希中的数字编码树中的路径。这允许我们替换树中的数据。或者,查找概念trie
。同时,我们使用sha1为每个节点的孩子签名,以跟踪给定子树的变化。在运行以查找差异时,我们可以忽略具有相同签名的子树,因为它们必须通过构造等效。
值offset
编码我们当前160位密钥的距离。 offset_key/1
函数偏移到要查看的键中的右侧字节。