本文主要是介绍零知识证明 - Filecoin存储证明了什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2019年,Filecoin算是火热的区块链项目。3月份,Filecoin公开了相关的代码后,第一时间看了看Filecoin的代码。
区块链部分的代码,比较简单,偏功能验证。个人对存储证明的部分比较感兴趣,也就是FPS。采用零知识证明技术,对存储进行证明是个大胆的尝试。
Filecoin团队,在2019年下半年出了个Lotus(莲花)测试版本。测试网络的硬件配置比较高,256G内存 + Nvidia 2080TI的显卡。测试网络的节点排行榜,也成了竞赛场。算力增长,出块效率,是主要的指标。
别光看Filecoin在国内的热度,深入介绍Filecoin/Lotus相关零知识证明的技术文章寥寥无几。最近有点时间,梳理了一下Lotus的PoREP的数据处理(包括Sector处理以及采用零知识证明)的相关逻辑。
Lotus的电路逻辑比较复杂,电路规模达到了1亿。证明生成的时间也非常长。整个证明计算过程,有很大的提升空间。对Lotus的证明性能提升感兴趣的小伙伴,欢迎和我交流。也希望更多小伙伴一起讨论交流Lotus的相关逻辑。
Lotus整体模块
简单的说,Lotus/Filecoin项目由三部分组成:
1/ Lotus Blockchain部分 - 实现区块链相关逻辑(共识算法,P2P,区块管理,虚拟机等等)。注意的是,Lotus的区块链相关的数据存储在IPFS之上。go语言实现。
2/ RUST-FIL-PROOF部分 - 实现Sector的存储以及证明电路。也就是FPS(Filecoin Proving Subsystem)。Rust语言实现。
3/ Bellman部分 - 零知识证明(zk-SNARK)的证明系统,主要是基于BLS12_381椭圆曲线上,实现了Groth16的零知识证明系统。Lotus官方推荐采用Nvidia的2080ti显卡,也主要做这部分的性能加速。Rus
这篇关于零知识证明 - Filecoin存储证明了什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!