#merkle-tree #merkle #poseidon #tree #data #structure #data-structures

no-std poseidon-merkle

实现 Dusk Network 的 Merkle 树,使用 poseidon 哈希函数的 Crate

10 个版本 (6 个重大更新)

0.7.0 2024年8月14日
0.6.0 2024年5月22日
0.5.0 2024年1月3日
0.4.0 2023年12月13日
0.2.1-rc.02023年6月30日

803神奇豆

Download history 13/week @ 2024-05-04 18/week @ 2024-05-11 180/week @ 2024-05-18 33/week @ 2024-05-25 13/week @ 2024-06-01 22/week @ 2024-06-08 13/week @ 2024-06-15 7/week @ 2024-06-22 1/week @ 2024-06-29 1/week @ 2024-07-06 6/week @ 2024-07-13 20/week @ 2024-07-20 2/week @ 2024-07-27 118/week @ 2024-08-03 173/week @ 2024-08-10 138/week @ 2024-08-17

431 每月下载量
5 crates 中使用

MPL-2.0 许可证

54KB
944 代码行

dusk-merkle

一个稀疏的 dusk_merkle Merkle 树,使用 poseidon 哈希算法进行层聚合,并对其高度和基数进行参数化。

Height 0             h
                    / \
                   /   \
                  /     \
                 /       \
                /         \
Height 1       h           h
              / \         / \
             /   \       /   \
Height 2    h     x     h     h
           / \         / \   / \
Height 3  h   x       x   h h   h
Position  0               5 6   7

除了树本身之外,此 Crate 还定义了一个开环设备,可用于在 "zk" 功能下创建用于零知识应用的 Merkle 开环电路。

类型 Item<T> 将预定义的 poseidon 哈希的聚合与聚合部分结合,并允许使用自定义数据类型进行自定义聚合。

基准测试

提供 poseidon 树计算的基准测试

cargo bench

以及使用 PLONK 的开环证明生成基准测试

cargo bench --features zk

这需要一个夜间工具链。

许可证

本项目采用 Mozilla 公共许可证,版本 2.0。有关详细信息,请参阅 许可证文件

依赖关系

~3.5–4.5MB
~99K SLoC