Closed AlexiaChen closed 1 year ago
mpvss-rs链接在此: https://github.com/AlexiaChen/mpvss-rs
断断续续的,原本说好元旦发布的,但是补上测试和例子,代码加起来也有1300多行了。
这是第一次上手Rust做的一个个人项目,就写了一个Publicly Verifiable Secret Sharing(PVSS) 的library。目前的secret reconstruction阶段是单线程的,后期的0.1.0就做支持多线程的秘密重构了。写这个库对于我个人在相关密码学上的理解提升是巨大的,我们的BigBang Core公链就是基于PVSS的方案生成的随机数,根据这个随机数产生一个leader节点来出块。当然还有Verifiable Random Function(VRF)的方案来实现PoS或者DPoS共识中的随机数。这些机制都是拜占庭网络下的分布式共识协议的核心机制,当然,分布式共识还有很多东西,不止这点。
mpvss-rs的代码嘛,在专业Rust人员看来是丑陋了,由于个人是新手,还有移动语义的存在,最后个人想快速实现一个原型,所以里面大量存在clone()和unwrap(),暂时就不消除了。慢慢来吧。
这个库暂时还不适用于生产上(非安全的因素,PVSS是可证安全的),由于性能,还有一些实现的原因,里面的素阶群不是椭圆曲线上的,后期的大版本发布可能会加入椭圆曲线的选项。然后,过几天我会改善下文档,发布到crates.io上,这样也许更正式点 :)
最后的最后,对于我个人而言,还是引用费曼的一句话来结束吧:
What I cannot create, I do not understand. -- Richard P. Feynman
mpvss-rs链接在此: https://github.com/AlexiaChen/mpvss-rs
断断续续的,原本说好元旦发布的,但是补上测试和例子,代码加起来也有1300多行了。
这是第一次上手Rust做的一个个人项目,就写了一个Publicly Verifiable Secret Sharing(PVSS) 的library。目前的secret reconstruction阶段是单线程的,后期的0.1.0就做支持多线程的秘密重构了。写这个库对于我个人在相关密码学上的理解提升是巨大的,我们的BigBang Core公链就是基于PVSS的方案生成的随机数,根据这个随机数产生一个leader节点来出块。当然还有Verifiable Random Function(VRF)的方案来实现PoS或者DPoS共识中的随机数。这些机制都是拜占庭网络下的分布式共识协议的核心机制,当然,分布式共识还有很多东西,不止这点。
mpvss-rs的代码嘛,在专业Rust人员看来是丑陋了,由于个人是新手,还有移动语义的存在,最后个人想快速实现一个原型,所以里面大量存在clone()和unwrap(),暂时就不消除了。慢慢来吧。
这个库暂时还不适用于生产上(非安全的因素,PVSS是可证安全的),由于性能,还有一些实现的原因,里面的素阶群不是椭圆曲线上的,后期的大版本发布可能会加入椭圆曲线的选项。然后,过几天我会改善下文档,发布到crates.io上,这样也许更正式点 :)
最后的最后,对于我个人而言,还是引用费曼的一句话来结束吧: