3个版本 (破坏性)

0.3.0 2024年7月30日
0.2.0 2024年6月8日
0.1.0 2023年8月14日

#12 in #accumulator

Download history 10/week @ 2024-05-03 42/week @ 2024-05-10 54/week @ 2024-05-17 22/week @ 2024-05-24 21/week @ 2024-05-31 203/week @ 2024-06-07 150/week @ 2024-06-14 201/week @ 2024-06-21 95/week @ 2024-06-28 80/week @ 2024-07-05 40/week @ 2024-07-12 112/week @ 2024-07-19 413/week @ 2024-07-26 136/week @ 2024-08-02 92/week @ 2024-08-09 106/week @ 2024-08-16

813每月下载量

MIT许可证

150KB
3K SLoC

rustreexo - Rust中的Utreexo

Build Status License Version Downloads

Utreexo是一个基于动态哈希的累积器,旨在用作集合成员资格证明系统,并在比特币网络中用于压缩UTXO集。这是累积器的纯Rust实现,允许证明和验证集合成员资格证明。

用法

Rustreexo提供了两种基本的数据结构来表示累积器,StumpPollardStump 是累积器的轻量级版本,仅保留根节点,因此只使用 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