21 个版本
新版本 0.8.0 | 2024 年 8 月 14 日 |
---|---|
0.7.0 | 2024 年 6 月 13 日 |
0.6.4 | 2024 年 2 月 17 日 |
0.6.3 | 2023 年 12 月 14 日 |
0.3.0 | 2023 年 3 月 29 日 |
#649 in 魔法豆
每月 2,041 次下载
用于 15 个 包 (5 个直接使用)
84KB
2K SLoC
txoo
什么是 txoo?
txoo
是一个针对比特币网络的预言机,它对链的顶端和每个区块中消耗的输出进行证明。它使用与 BIP-158 紧凑区块过滤器类似的 GCS 过滤器。
对于需要验证通道的链上状态而不直接访问比特币网络的闪电网络设备来说,这个预言机非常有用。这对于没有网络访问的安全区域特别有用。
no_std
提供了支持。
安全模型
预言机在特定时间对链的顶端和每个区块中消耗的输出进行证明。
消耗的输出通过表示区块中交易输入中所有出点的 Golomb 编码集合 (GCS) 过滤器进行总结。证明包括一个“过滤器头部”,它哈希当前 GCS 过滤器以及上一个过滤器头部。这允许客户端验证整个过滤器历史没有被篡改。
消耗/非消耗的证明包括支出交易,要么在 SPV 证明中,要么在没有过滤器误报的情况下是完整的区块。
运行 txood
cargo run --package txood --release
或者如果您在同一台机器上运行 bitcoind
,使用此命令进行初始运行,这将更快(在快速机器上约 45 分钟)
cargo run --package txood --release -- --preload
检查最后 256 个证明
cargo run --package txoo-cli --release -- check
从最近的区块开始的一个快速本地测试
cargo run --package txood --release -- -d data --start-block 760000
请注意,如果您不是从创世区块开始,过滤器头部将不会匹配,因为它涵盖了所有先前区块的过滤器。
检查预言机
要检查我们的测试网预言机,请确保 bitcoind --testnet
正在运行并
cargo run -p txoo-cli -- -n testnet -s https://vls.tech/txoo/testnet/ check
运行覆盖率
cargo install cargo-kcov
./scripts/run-kcov
查看覆盖率报告
基准
cd txoo-bench
cargo bench
待办
- 发出证明
- 修剪
- 签名
- 已花费输出的SPV证明
- 考虑使用不同大小的多个GCS过滤器,这样我们可以为仅监视少量outpoints的应用程序使用小型过滤器,并为监视大量outpoints的应用程序使用大型过滤器
依赖项
~8–18MB
~227K SLoC