Snark as a Service是个比较有意思的服务,在Filecoin生态中专门提供零知识证明的计算服务。在Sector大小为32G的情况下,证明需要的数据量在8M左右。
Sector的状态管理基于状态机。通用状态机的实现是通过go-statemachine实现。状态的存储通过go-statestore实现。在这些模块的基础上,storage-fsm实现了Sector的状态定义以及状态处理函数。
PoREP的电路验证了Sector的计算过程,从Labeling,Encoding到Column Hash。注意的是,在Sector大小为32G的情况下,电路包括144个挑战节点的计算。电路相应的公开输入除了comm_d和comm_r外,还有各个Merkle树的路径信息。
Lotus的PoSt包括两部分:winningPoSt和windowPoSt。winningPoSt是在获取出块权时,需要提供的PoSt证明。从所有有效的Sector中,抽取一个Sector,并抽查该Sector上的66个叶子。
本文介绍几个在 Filecoin 挖矿运维的过程中会用到的几个系统配置和小工具。
本文介绍 Filecoin 挖矿的环境变量,以及一些常用的运维操作。
Filecoin官方宣布了SDR的优化版本。在AMD3970x上,P1的性能2小时10分钟。优化思路比较清晰,通过预读取base/exp parent的数据,让数据的准备和sha256的计算并行。
Filecoin逻辑梳理及源代码导读
Filecoin - PoRep和PoSt算法源代码导读
Filecoin - Lotus存储证明了什么?
今天IPFS/Filecoin的各种群炸开了锅,原因是Filecoin内部开发人员透露,下一个Filecoin的测试网络需要搭配GPU。而且Filecoin内部测试使用的是2080ti的显卡。
Filecoin官方在11月25号强制升级。升级前的SDR算法实现在越界漏洞,Exp父亲节点的依赖只和上一层的前一半的数据有关。SDR算法可以通过多个并行计算提高性能。升级后的SDR算法修复了漏洞,并同时加强了Base父亲节点的依赖关系。
AMA的形式还是比较正式的,社区提出的问题,会经过删选确认。Filecoin的创始人胡安回答了差不多100个问题。代码的演变也反应了filecoin团队的思考。整个sector的处理更模块化,更合理。更高兴的是filecoin团队对bellman零知识证明的部分也在积极的优化。
Lotus代码更新的频度变的快了,每天都有不少代码merge进来。目前零知识证明的CRS,已经从V20更新到V24版本。目前测试网络也进入了testnet3阶段。在之前的V20的版本基础上,V24版本对Sector处理也有些变化。
利用Groth16计算证明之前,需要计算出H。目前,普遍采用的是FFT算法。