3个版本 (破坏性)
0.3.0 | 2024年7月30日 |
---|---|
0.2.0 | 2024年6月8日 |
0.1.0 | 2023年8月14日 |
#12 in #accumulator
813每月下载量
150KB
3K SLoC
rustreexo - Rust中的Utreexo
Utreexo是一个基于动态哈希的累积器,旨在用作集合成员资格证明系统,并在比特币网络中用于压缩UTXO集。这是累积器的纯Rust实现,允许证明和验证集合成员资格证明。
用法
Rustreexo提供了两种基本的数据结构来表示累积器,Stump
和 Pollard
。 Stump
是累积器的轻量级版本,仅保留根节点,因此只使用 O(log n)
空间。 Pollard
是累积器的更完整版本,保留了完整的树,因此使用 O(n)
空间。但是,这两个数据结构实现了相同的算法,因此由 Pollard
生成的证明应通过 Stump
验证。以下是使用 Stump
的示例
use rustreexo::accumulator::stump::Stump;
let stump = Stump::new();
// Modify the accumulator, adding UTXOs and removing STXOs, that are proved by del_proof
let (stump, _) = stump.modify(utxos, stxos, del_proof).unwrap();
// Verify a proof for a UTXO
assert!(stump.verify(utxo_proof).unwrap());
完整的示例请参阅 examples/
。
测试
此库包含一个全面的测试套件,涵盖所有实现的算法。要运行测试,只需运行 cargo test
。我们测试内部代码的合理性,并与由 utreexo 库生成的值进行交叉测试。
许可证
rustreexo按照MIT许可证的条款发布。有关更多信息,请参阅 LICENSE 或查看 https://opensource.org/licenses/MIT。
参考
贡献
欢迎贡献!请随时提交一个Pull Request。
依赖关系
~335–510KB
~10K SLoC