16个版本
0.7.4 | 2023年12月25日 |
---|---|
0.7.3 | 2022年5月20日 |
0.7.2 | 2022年4月20日 |
0.7.0 | 2022年3月21日 |
0.4.2 | 2020年7月22日 |
#1558 in 魔法豆
365KB
9K SLoC
FBAS分析器
用于分析联邦拜占庭协议系统(FBAS)的库和工具,如Stellar和MobileCoin。相关研究论文在此。
这里实现的实现可以
- 读取节点和组织数据,格式为stellarbeat的JSON格式
- 确定法定人数交集
- 找到所有最小法定人数(这里的最小意味着每个现有的法定人数都是某个最小法定人数的超集)
- 找到所有最小阻塞集(活性的最小必要集)
- 找到所有最小分割集(安全的必要集)
- 模拟不同的法定人数集配置策略,生成用于进一步分析的合成FBAS
为Stellar和MobileCoin网络的分析网站提供动力。
作为工具的使用
- 安装Rust
- (可选) 运行单元测试和功能测试
scripts/tests.py
- 构建
cargo build --release
- 使用来自stellarbeat的旧数据尝试工具
target/release/fbas_analyzer test_data/stellarbeat_nodes_2019-09-17.json --merge-by-org test_data/stellarbeat_organizations_2019-09-17.json -a -p -S --only-core-nodes
- 从stellarbeat获取一些新数据
scripts/get_latest_stellarbeat_data.sh
- 再试一些其他操作
target/release/fbas_analyzer -h
target/release/bulk_fbas_analyzer -h
当然,您也可以使用cargo install fbas_analyzer
来安装。
作为Rust库的使用
将此添加到您的Cargo.toml
[dependencies]
fbas_analyzer = { version = "0.7", default-features = false }
或者,如果您需要模拟功能,请添加此内容
[dependencies]
fbas_analyzer = { version = "0.7", default-features = false, features = ["qsc-simulation"] }
查看API参考以及API如何在src/bin/
中的工具和examples
中的示例中使用。
另请参阅 / 致谢
- 确定法定人数交集和寻找最小法定人数的算法分别受到Lachowski 2019和此实现的启发。
- Stellar Observatory - 一组不同的FBAS分析。
- nodejs_fbas_analyzer
当然还有非常棒的stellarbeat.io :)
依赖项
~3–12MB
~130K SLoC