gpt4 book ai didi

algorithm - 我正在尝试实现一个 merkle 树一致性证明,但我坚持理解算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:36 25 4
gpt4 key购买 nike

我正在尝试用这篇论文实现默克尔树一致性算法:

https://books.google.de/books?id=CokSDQAAQBAJ&lpg=PA147&dq=merkle%20consistency%20proof&hl=de&pg=PA148#v=onepage&q&f=false

但是,我有点卡在一致性检查上,因为当我执行 ConsProofSub 部分时,我总是陷入无限循环。

例子:

新树有8 , 老树有7叶子。

通过前面的函数,我获得了 m = 7 ,我的新树的叶子作为矢量 Etrue作为b .

函数通过递归代码流,直到我们到达这种情况:

E 现在有 2元素,所以 n = 2 .

m = 1 ,由于递归调用中先前的减法 m < k ,以及 b = false .

我们不属于 m = n && b = false如果,作为 mn不相等。

k现在再次计算为 2 ,因为上限正在纠正结果 1/2来自 log2(n)/21 .

我们陷入了m <= k情况下,我们再次使用完全相同的参数递归调用该函数。现在我们处于无限循环中。

但是,我似乎无法弄清楚我做错了什么。我感觉像天花板在k计算是问题。它基本上不可能脱离循环,因为k似乎总是高于m经过一些迭代。

对我这里的错误有什么建议/提示吗?

编辑:有趣的是,当 n 为奇数时,算法似乎 可以完美运行。它似乎只对偶数失败。我刚刚用一棵 7 片叶子的新树对其进行了尝试,它的效果非常好,提供了证明一致性所需的正确节点。

但是,我仍然无法弄清楚必须进行哪些更改才能使其适用于偶数。

最佳答案

这本书似乎有错误。 m = nb = true 的情况需要分开处理。可以在 RFC 6962 中找到该算法的更详细描述。 .

修复方法如下:

enter image description here

关于algorithm - 我正在尝试实现一个 merkle 树一致性证明,但我坚持理解算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41674058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com