Riak,merkle树,实施

时间:2014-01-23 10:10:00

标签: hash tree erlang riak

有人可以向我解释一下如何在riak-core中运行merkle树吗?

https://github.com/basho/riak_core/blob/develop/src/merkerl.erl

我不明白它的内容是什么,例如。

谢谢!

1 个答案:

答案 0 :(得分:2)

树是一个或多或少的K / V查找树和Merkle树。通过查看160位sha1哈希来定义树。 160位给出20个字节。在树的第一级,我们根据哈希的第0个字节存储多达256个子树。在下一个级别,它是第一个字节,然后是第二个字节,依此类推。

这是一种称为数字树方案,其中哈希中的数字编码树中的路径。这允许我们替换树中的数据。或者,查找概念trie。同时,我们使用sha1为每个节点的孩子签名,以跟踪给定子树的变化。在运行以查找差异时,我们可以忽略具有相同签名的子树,因为它们必须通过构造等效。

offset编码我们当前160位密钥的距离。 offset_key/1函数偏移到要查看的键中的右侧字节。