目前Filecoin网络每天会产生6-7百万zk-SNARK证明量,其中每个证明有超100万算法方面的容量,为了保证网络安全,Filecoin改进并大量优化了zk-SNARK以满足目前的需求。
零知识证明
零知识证明中最重要的加密技术就是zk-SNARK,它能让证明者有效地说服验证者其知道某种信息,却无需透露此信息本身,这一属性保证了区块链环境中的安全和隐私互动。目前Filecoin所依赖的主要属性是其效率,zk-SNARK的诞生让使用更少空间去证明存储有效性成为可能。
用一个简单的例子来说明一下:阿里巴巴被强盗抓住,为了保命,他需要向强盗证明自己拥有打开石门的密码,同时又不能把密码告诉强盗。他想出一个解决办法,先让强盗离开自己一箭之地,距离足够远让强盗无法听到口令,足够近让阿里巴巴无法在强盗的弓箭下逃生。阿里巴巴就在这个距离下向强盗展示了石门的打开和关闭。
这个整个过程可以形象化理解为零知识证明,证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。
应用
目前最广泛使用零知识证明场景的项目是zcash的隐私方向。Zcash项目,大家都知道是“隐私交易”。Zcash代表了零知识证明中zk-SNARK的一个应用方向:隐私。隐私有不同的程度,ZCash的隐私交易指的是隐藏交易的发送方,接收方以及交易金额。
Filecoin是存储行业比较热门的项目,去中心化的存储,有个核心问题,怎么证明K工真实有效的存储了指定的数据。Filecoin是通过**证明以及时空证明算法实现(其中就包括零知识证明)。**证明通过零知识证明,证明每一层的数据都经过VDE计算生成,并提供**结果的Merkle树的树根。
在数据处理并存储后,每隔一段时间,需要提交存在性证明,也就是时空证明的算法。时空证明算法的基本思想,随机挑选一个Merkle树的叶子节点位置,需要提供出一条Merkle路径的零知识证明。
**证明的算法,通过零知识证明证明数据已经正确处理,并提供了处理后数据形成的Merkle树的树根。时空证明,即每隔一段时间,随机抽选一个叶子数据,需要K工在一定的时间内提供从该叶子数据到Merkle树根的路径证明。如果,处理完的数据没有保存在一个可靠的存储上,无法在合理的时间内重建整个Merkle树,也就无法提供证明。
Filecoin的改进
为了支持 Filecoin 所需的容量,现在运行了一个新的Powers of Tau Ceremony,原本在Zcash运行的Ceremony基础上将支持的容量增加了 64 倍!
zk-SNARK 在生成成为瓶颈时,支持证明生成的核心操作是高度可并行化的,所以Filecoin利用现代通用 GPU 计算从 CPU 卸载它们。
这允许更高的吞吐量,同时也创造经济效率。通过将可并行化的工作转移到相对便宜的并行处理器上,Fileoin可以让主内存和 CPU 空闲,用于创建数据挖矿者必须证明的高度顺序和内存密集工作负载。
为了提高多个 zk-SNARK 的验证速度,实现了批量验证。因此Filecoin实施了SnarkPack。这允许K工将许多 zk-SNARK 聚合为一个组合证明。这种优化不仅在规模上将验证时间减少了 10 倍以上——它还通过减少必须提交给链的每个证明的平均字节数来减少链带宽。
总结
为了实现这一目标,Filecoin建立了对内积参数的研究,并合作扩展以支持Filecoin网络的需求,而无需新的可信设置。Filecoin通过调整技术以使用两个现有的 Powers of Tau 可信设置安全地应用来实现这一点。通过此举改进,说明Filecoin克服了证明障碍以挖矿加v:xiangsky01
文章链接:https://www.btchangqing.cn/325815.html
更新时间:2023年03月05日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。