简介
- github地址: https://github.com/AlexiaChen/mpvss-rs
- crates.io: https://crates.io/crates/mpvss-rs
这是一个个人业余用Rust编写的PVSS的密码学相关的库,主要是对 Berry Schoenmakers. A Simple Publicly Verifiable Secret Sharing Scheme and its Application to Electronic Voting这篇论文的实现。
这个库的目的是理解secret sharing相关的东西,并且我们公司的区块链(C++编写)的DPoS共识算法中的randomness generation是用的Publicly Verifiable Secret Sharing(PVSS)。当然有些区块链中的共识是用的Verifiable Random Function(VRF)。
PVSS的方案也用在了ouroboros算法中(Cardano的共识算法)。据说后来的Ourboros Praos用的是VRF了,另外我也看见了Cardano的某位committer也实现了这篇论文的算法, rust-pvss, 里面选择的是P256R1的曲线 ,据作者说后面要加入所有的曲线,但是看目前的提交记录,作者估计不想做这样的体力活了,只实现了一个论文的Demo。
但是要注意的是,我这个库里面实现的素阶群选取不是椭圆曲线上的素阶点群,而是 rfc3526 这里面提到的群.所以要适配到自己已有区块链上是目前是不行的,区块链大部分用的还是基于椭圆曲线的,可能后面我会慢慢迭代加入这些功能,另外就是性能上后续我可能还会考虑做一些优化。
评论区
写评论酷🆒