4 个版本

0.2.2 2024 年 8 月 12 日
0.2.1 2024 年 7 月 24 日
0.2.0 2024 年 7 月 1 日
0.1.0 2023 年 11 月 14 日

#723 in 魔法豆

Download history 831/week @ 2024-04-28 688/week @ 2024-05-05 905/week @ 2024-05-12 923/week @ 2024-05-19 878/week @ 2024-05-26 898/week @ 2024-06-02 1613/week @ 2024-06-09 2880/week @ 2024-06-16 3038/week @ 2024-06-23 3045/week @ 2024-06-30 2451/week @ 2024-07-07 3172/week @ 2024-07-14 4189/week @ 2024-07-21 3815/week @ 2024-07-28 3105/week @ 2024-08-04 5698/week @ 2024-08-11

17,002 每月下载量
用于 5 包 (2 个直接使用)

MIT/Apache

82KB
1.5K SLoC

codecov

NMT

Rust 中命名空间 Merkle 树的实现。

警告

此代码未经审计,可能包含关键漏洞。请勿在生产环境中使用。

功能

  • 计算 Merkle 根

  • 创建基于索引的范围证明

  • 验证基于索引的范围证明

  • 创建命名空间范围证明

  • 验证命名空间范围证明

许可

许可协议为 Apache License, Version 2.0

除非你明确说明,否则你根据 Apache-2.0 许可证提交的任何贡献,都应按上述方式许可,没有任何附加条款或条件。


lib.rs:

此包实现了与 https://github.com/celestiaorg/nmt 兼容的命名空间 Merkle 树。以下摘自他们的文档:

命名空间梅克尔树是一种有序梅克尔树,它使用一个修改后的哈希函数,使得树中的每个节点都包含所有后代节点中消息的命名空间范围。树中的叶子节点按照消息的命名空间标识符进行排序。在命名空间梅克尔树中,树中的每个非叶子节点除了包含节点子节点的哈希值外,还包含所有后代叶子节点中找到的最低和最高命名空间标识符,这可以创建梅克尔包含证明,向验证者证明特定命名空间下的树中所有元素都已包含在梅克尔包含证明中。

这一概念首先由@musalbasLazyLedger学术论文中提出。

该实现由Sovereign Labs独立开发,并未得到Celestia基金会的认可。

依赖项

~0.5–1MB
~21K SLoC