火星链 火星链
Ctrl+D收藏火星链
首页 > Filecoin > 正文

NAR:详解「万神殿Patheon」:零知识证明开发框架评测平台

作者:

时间:1900/1/1 0:00:00

我们要感谢PolygonZero团队、Consensysgnark项目、PadoLabs和DelphinusLab团队对本篇文章的宝贵评论和反馈。

零知识证明开发框架评测平台「万神殿Patheon」

过去几个月,我们投入了大量时间和精力,开发了利用zk-SNARK简洁证明构建的前沿基础设施。这个次世代创新平台使开发者能够构建前所未有的区块链应用新范例。

在开发工作中,我们测试并使用了多种零知识证明(ZKP)开发框架。虽然这段旅程收获颇丰,但我们也确实意识到,当新的开发者试图找到最适合其特定用例和性能要求的框架时,多种多样的ZKP框架通常会给他们带来挑战。考虑到这一痛点,我们认为需要一个能够提供全面性能测试结果的社区评估平台,这将极大地促进这些新应用的开发。

为了满足这一需求,我们推出了零知识证明开发框架评测平台「万神殿Patheon」这一公益社区倡议。倡议的第一步将鼓励社区分享各种ZKP框架的可复现性能测试结果。我们的最终目标是共同协作创建并维护一个广受认可的测试平台,评估低级电路开发框架、高级zkVM和编译器,甚至硬件加速提供商。我们希望这一举措能够让开发者们在选用框架时能有更多性能比较的参考,从而加快ZKP的推广。同时,我们希望通过提供一组普遍可参考的性能测试结果,促进ZKP框架本身的升级和迭代。我们将大力投入这项计划,并邀请所有志同道合的社区成员加入我们,共同为这项工作做出贡献!

第一步:使用SHA-256对电路框架进行性能测试

Kava 14主网现已上线:7月13日消息,Kava发推称,Kava 14主网现已上线。[2023/7/13 10:51:41]

在这篇文章中,我们迈出了构建ZKPPatheon的第一步,在一系列低级电路开发框架中使用SHA-256提供一组可复现的性能测试结果。虽然我们承认其他性能测试粒度和原语或许也是可行的,但我们选择SHA-256是因为它适用于广泛的ZKP用例,包括区块链系统、数字签名、zkDID等。另外值得一提的是,我们在自己的系统中也使用了SHA-256?,所以这对我们来说也很方便!

我们的性能测试评估了SHA-256在各种zk-SNARK和zk-STARK电路开发框架上的性能。通过比较,我们力求为开发者提供关于每个框架的效率和实用性的见解。我们的目标是,希望本次性能测试结果能够为开发者在选择最佳框架时提供参考,使之做出明智的决定。

Circomsnarkjs/rapidsnark:Circom是一种流行的DSL,用于编写电路和生成R?1?CS约束,而snarkjs能够为Circom生成Groth?16或Plonk证明。Rapidsnark也是Circom的证明器,它生成Groth?16证明,并且由于使用了ADX扩展,它通常比snarkjs快得多,并尽可能并行化证明生成。

gnark:gnark是来自Consensys的综合Golang框架,支持Groth?16、Plonk和许多更高级的功能。

Arkworks:Arkworks是一个用于zk-SNARKs的综合Rust框架。

ETH交易笔数达一个月低点:金色财经报道,Glassnode数据显示,ETH交易笔数(7日 MA)为41889.679,达一个月低点。[2023/3/6 12:45:28]

Halo?2(KZG):Halo?2是Zcash与Plonk的zk-SNARK实现。它配备了高度灵活的Plonkish算术,支持许多有用的原语,例如自定义网关和查找表。我们使用具有以太坊基金会和Scroll支持的KZG的Halo?2分叉。

Plonky?2?:Plonky?2是基于来自PolygonZero的PLONK和FRI技术的SNARK实现。Plonky?2使用小的Goldilocks字段并支持高效的递归。在我们的性能测试中,我们以100位推测的安全性为目标,并使用为性能测试工作产生最佳证明时间的参数。具体来说,我们使用了28Merkle查询、?8的放大系数和16位工作量证明挑战。此外,我们设置num_of_wires=60和num_routed_wires=60?。

Starky:Starky是PolygonZero的高性能STARK框架。在我们的性能测试中,我们以100位推测的安全性为目标,并使用产生最佳证明时间的参数。具体来说,我们使用了90Merkle查询、?2倍放大系数和10位工作量证明挑战。

下表总结了上述框架以及我们性能测试中使用的相关配置。这个列表绝不是详尽的,我们还将在未来研究许多最先进的框架/技术。

请注意,这些性能测试结果仅适用于电路开发框架。我们计划在未来发布一篇单独的文章,对不同的zkVM和IR编译器框架进行性能测试。

ApeCoin社区AIP-64提议对NFT会议和节日进行可行性研究:8月5日消息,ApeCoin 社区发布 AIP-64,该提案是关于Web3 Village(NFT会议和节日)的可行性研究,投票将于北京时间8月11日9:00结束。[2022/8/5 12:04:30]

此存储库中找到性能代码和SHA-256电路配置。

此外,我们使用以下性能指标对每个系统进行了性能测试:

证明生成时间

证明生成期间的内存使用峰值

证明生成期间的平均CPU使用率百分比。?

请注意,我们正在对证明大小和证明验证成本做一些“随意”的假设,因为这些方面可以通过在上链之前与Groth?16或KZG组合来减轻。

Linux服务器:?20核@?2.3GHz,?384?GB内存

MacbookM?1Pro:?10核@?3.2?Ghz,?16?GB内存

Linux服务器用于模拟CPU核数多、内存充裕的场景。而通常用于研发的MacbookM?1Pro拥有更强大的CPU,但内核较少。

我们启用了可选的多线程,但我们没有在此性能测试中使用GPU加速。我们计划在未来进行?GPU性能测试。

约束数量

在我们继续讨论详细的性能测试结果之前,首先通过查看每个证明系统中的约束数量来了解SHA-256的复杂性是很有用的。重要的是要注意不能直接比较不同算术方案中的约束数量。

元宇宙初创公司Gamium获西班牙最大电信公司Telefonica投资:金色财经报道,巴塞罗那元宇宙初创公司Gamium宣布完成一笔最新融资,但具体金额暂未对外披露,投资方是西班牙最大的通信公司之一Telefonica,据悉Telefonica通过旗下创新孵化部门Wayra完成的这笔投资。数据显示,Gamium已通过虚拟地块销售募集到100万美元欧元资金,目前正在构建一个去中心化虚拟世界,旨在帮助用户在其中创建自己的业务和活动并打造专属线上经济。(theparadise)[2022/7/23 2:33:15]

下面的结果对应64?KB的原像尺寸。虽然结果可能因其他原像尺寸而异,但它们可以粗略地线性缩放。

Circom、gnark、Arkworks都使用相同的R?1?CS算法,计算64?KBSHA-256的R?1?CS约束数量大致在30?M到45?M之间。Circom、gnark和Arkworks之间的差异可能是由于配置差异造成的。

Halo?2和Plonky?2都使用Plonkish算术,其中行数范围从2?^?22到2?^?23?。由于使用查找表,Halo?2的SHA-256实现效率比Plonky?2的高得多。

Starky使用AIR算法,其中执行跟踪表需要2?^?16个转换步骤。

对于SHA-256?,Groth?16框架生成证明的速度比Plonk框架快。这是因为SHA-256主要由位运算组成,其中线值为0或1?。对于Groth?16?,这减少了从椭圆曲线标量乘法到椭圆曲线点加法的大部分计算。但是,连线值并不直接用于Plonk的计算,因此SHA-256中的特殊连线结构不会减少Plonk框架中所需的计算量。

Voice Street&星舟艺术平台将携手巫启贤于7月15日发布数字藏品:7月12日消息,Voice Street宣布将与知名数字藏品平台星舟联手为巫启贤?永不弃绝的情书?铸造1200份虚拟数字藏品,并于7月15日18:00登陆星舟艺术平台公开售卖。

据悉,本数字藏品将以“马来西亚歌神”巫启贤的新歌《永不弃绝的情书》展开,结合当下热门的画风概念与算法程序,融合“New Media Art”与“Cyber Art”等艺术流派,生成1200份,对立于旧视觉艺术。藏品持有者永久将拥有参加巫启贤元宇宙Live House、进入Ark of Panda音乐游戏等众多赋能。[2022/7/12 2:08:13]

在所有Groth?16框架中,gnark和rapidsnark比Arkworks和snarkjs快5到10倍。这要归功于它们利用多个内核并行化生成证明的卓越能力。Gnark比rapidsnark快25%?。

对于Plonk框架,当使用>=4?KB的较大原像尺寸时,Plonky?2的SHA-256比Halo?2的慢50%?。这是因为Halo?2的实现主要使用查找表来加速按位运算,导致行数比Plonky?2少2倍。但是,如果我们比较具有相同行数的Plonky?2和Halo?2?,Plonky?2比Halo?2快50%?。如果我们在Plonky?2中使用查找表实现SHA-256?,我们应该期望Plonky?2比Halo?2更快,尽管Plonky?2的证明尺寸更大。

另一方面,当输入原像尺寸较小时,由于查找表的固定设置成本占大部分约束,Halo?2比Plonky?2?慢。然而,随着原像的增加,Halo?2的性能变得更具竞争力,对于高达2?KB的原像大小,其证明生成时间保持不变,如图所示,其几乎呈线性扩展。

正如预期的那样,Starky的证明生成时间比任何SNARK框架都短得多(?5?倍-50?倍),但这是以更大的证明大小为代价的。

另外需要注意的是,即使电路大小与原像大小成线性关系,由于O(nlogn)FFT,对于SNARKs的证明生成也是呈超线性增长的。

我们还在MacbookM?1Pro上进行了证明生成时间性能测试,如所示。但是,需要注意的是,由于缺乏对arm?64架构的支持,rapidsnark未包含在该性能测试中。为了在arm?64上使用snarkjs,我们必须使用webassembly生成见证,这比Linux服务器上使用的C见证生成要慢。

在MacbookM?1Pro上运行性能测试时还有几个额外的观察结果:

除了Starky之外,所有SNARK框架在原像尺寸变大时都会遇到内存不足(OOM)错误或使用交换内存现象。具体来说,Groth?16框架在原像尺寸>=8?KB时就开始使用交换内存,而gnark在原像尺寸>=64?KB时出现内存不足。当原像尺寸>=32?KB时,Halo?2遇到了内存限制。当原像尺寸>=8?KB时,Plonky?2开始使用交换内存。

基于FRI的框架在MacbookM?1Pro上比在Linux服务器上快大约60%?,而其他框架在两台机器上面的证明时间相似。因此即使在Plonky?2中没有使用查找表,它在MacbookM?1Pro上实现了与Halo?2几乎相同的证明时间。主要原因是MacbookM?1Pro拥有更强大的CPU,但内核更少。FRI主要进行哈希运算,对CPU时钟周期比较敏感,但并行性不如KZG或Groth?16?。

在所有SNARK框架中,rapidsnark是内存效率最高的。我们还看到,由于查找表的固定设置成本,当原像尺寸较小时,Halo?2使用更多内存,但当原像尺寸较大时,整体消耗的内存较少。

Starky的内存效率比SNARK框架高10倍以上。部分原因是它使用了更少的行。

应该注意的是,由于使用交换内存,原像尺寸变大,因此MacbookM?1Pro上的内存使用量峰值保持相对平稳。

Gnark和rapidsnark在Linux服务器上表现出最高的CPU利用率,表明它们能够有效地使用多核且并行化生成证明。Halo?2也展现了良好的并行化性能。

大多数框架在Linux服务器上的CPU利用率是在MacbookProM?1的2倍,只有snarkjs例外。

尽管最初预计基于FRI的框架可能难以有效地使用多核,但它们在我们的性能测试中的表现并不比某些Groth?16或KZG框架差。在具有更多内核的机器上,CPU利用率是否会有差异还有待观察。?

结论及未来研究

这篇文章全面比较了SHA-256在各种zk-SNARK和zk-STARK开发框架上的性能测试结果。通过比较,我们深入了解了每种框架的效率和实用性,以期可以帮助需要为?SHA-256操作生成简洁证明的开发者。我们发现Groth?16框架在生成证明方面比Plonk框架更快。Plonkish算术化中的查找表在使用较大的原像尺寸时显着减少了SHA-256的约束和证明时间。此外,gnark和rapidsnark展示了利用多核以并行化运作的出色能力。另一方面,Starky的证明生成时间要短得多,但代价是证明大小要大得多。在内存效率方面,rapidsnark和Starky优于其他框架。

作为构建零知识证明评测平台「万神殿Patheon」的第一步,我们承认本次性能测试结果远不足以成为最终我们希望构建的一个综合测试平台。我们欢迎并乐于接受反馈和批评,并邀请所有人为这项倡议做出贡献,以便开发者更容易、低门槛地使用零知识证明。我们也愿意为个人独立贡献者提供资助,以支付大规模性能测试的计算资源成本。我们希望可以共同提高ZKP的效率和实用性,更为广泛地造福社区。

最后,我们要感谢PolygonZero团队、Consensys的gnark团队、PadoLabs以及DelphinusLab团队,感谢他们对性能测试结果的宝贵审查和反馈。

标签:ARKNARLONPLOSparkPoint FuelSONAR币3X Long Altcoin Index Token Xplosive Ethereum

Filecoin热门资讯
GATE:Gate.io已上線Liquity?(LQTY)永續合約交易(USDT結算)

Gate.io已上線LQTY/USDT永續合約實盤交易,支持1-20倍做多和做空操作,杠杆率可以在下單時自行選擇.

1900/1/1 0:00:00
TPS:XT.COM關於部分幣種交易大賽活動結束的公告

尊敬的XT.COM用戶:XT.COM交易所舉辦的BDP,DAFI,HEX,KATA,SHI,STG交易大賽已全部圓滿結束.

1900/1/1 0:00:00
TIG:BKEX 关于上线BNBTiger(BNB Tiger Inu) 的公告

尊敬的用户:?????????BKEX即将上线BNBTiger?,详情如下:上线交易对:BNBTiger/USDT??币种类型:BEP20充值功能开放时间:已开放交易功能开放时间:2023年3月.

1900/1/1 0:00:00
加密货币:为什么加密货币价格可能会在一段时间内波动,但这可能是一件好事

自2023年初以来,全球加密货币市场一直在经历零星增长。这种增长的激增可归因于多种因素,例如全球事件、接受率提高、政府法规变化和投资者情绪.

1900/1/1 0:00:00
XETH:LSD当下资本和散户追逐的新宠到底是什么

这几个月我们经历了很多热点,ai,香港板块,EVM升级等各种热点事假,往往还没来得及参与下一个热点就又来了,我们这些韭菜疲惫不堪,却有那么一个赛道在一直发酵,一直有他的热度.

1900/1/1 0:00:00
Gate.io:量化跟单:全民网格交易大赛第5期!$100,000奖池,零投入参赛!

全民网格交易大赛第4期圆满结束,活动奖励已全部发放,感谢大家的积极支持与参与!为了进一步扩大奖励覆盖面,提高用户参与度,Gate.io量化跟单全民网格交易大赛第二期重磅来袭!同样的赛制.

1900/1/1 0:00:00