Boojum:zkSync的高性能去中心化STARK证明系统

1. 引言

2023年7月17日zkSync官方twitter Say hello to Boojum宣称在不regenesis的情况下,将zkSync Era迁移至Boojum证明系统。

Boojum为STARK证明系统(Plonk+FRI),开源代码见:

其特点为:

  • 采用PLONK形式的算术表示:使得ZK电路相对易于开发、审计、维护和升级。
  • 采用FRI多项式承诺方案:基于Goldilocks域 p = 2 64 − 2 32 + 1 p=2^{64}-2^{32}+1 p=264232+1
  • 提供了自动并行化witness generation,且witness generation函数定义简洁,如|(a, b)| a + b。witness generation用时在考虑Prover性能时不可忽略。
  • 易于扩展:用户可 以多种方式添加自定义门类型,如如增加一些特别的多项式,或复用某些“通用列”。根据自定义电路的扩展接口,可自动化生成prover、verifier、recursive verifier。从而提供高效的开发流程。
  • 单一技术栈:以Rust语言来表示。对于GPU prover的重计算部分,采用CUDA C++编写,但提供了Rust bindings。
  • 性能卓越,Prover仅要求16GB RAM,从而促进未来Prover的去中心化。

Celer Network的https://github.com/celer-network/zk-benchmark中,专门对SHA256做了benchmark,具体场景为:

  • 定义一个电路,用于计算 N = 2 k N=2^k N=2k个字节数据的sha256,其中:
    • 一个隐私输入 x x x:其中 len ( x ) = N = 2 k \text{len}(x)=N=2^k len(x)=N=2k
    • 一个公开输入: h = sha256 ( x ) h=\text{sha256}(x) h=sha256(x)
func benchmark(x, h):
    assert(sha256(x) == h)

测试报告中,对如下方案进行了对比:【本轮测试未启用GPU加速】

  • 1)Circom + snarkjs/rapicsnark:
  • 2)gnark:
  • 3)arkwroks:
  • 4)Halo2(KZG):
  • 5)Plonky2
  • 6)Starky
  • 7)Boojum

其中不同方案的参数为:

框架算术表示承诺方案其它配置
Circom + snarkjs/rapicsnarkR1CSGroth16BN254 Scalar域
gnarkR1CSGroth16BN254 Scalar域
arkworksR1CSGroth16BN254 Scalar域
Halo2(KZG)PlonkishKZGBN254 Scalar域
Plonky2PlonkFRIGoldilocks域blowup factor = 8proof of work bits = 16query rounds = 28num_of_wires = 60 num_routed_wires = 60
StarkyAIRFRIGoldilocks域blowup factor = 2proof of work bits = 10query rounds = 90
BoojumPlonkFRIGoldilocks域

当取N=64KB时,各方案的约束数为:

证明系统约束数(64KB输入的SHA256)
Circom3200万
gnark4500万
arkworks4300万
Halo2400万行(K=22)
Plonky2800万行(K=23)
Starky 2 16 2^{16} 216个transition steps
Boojum50万行(K=19)

测试机器有2种:

  • Linux Server: 20 Cores @2.3 GHz, 384GB memory:模拟具有多CPU核和富裕内存的服务器。
  • Macbook M1 Pro: 10 Cores @3.2Ghz, 16GB memory:模拟开发机

对比结果为:

  • 1)证明时长对比情况为:
    在这里插入图片描述
    在这里插入图片描述
  • 2)内存高峰情况对比为:
    在这里插入图片描述
    在这里插入图片描述
  • 3)CPU使用率对比为:
证明系统CPU使用率(平均每核使用率)(Linux服务器)CPU使用率(平均每核使用率)(Mac开发机)
snarkjs557% (27.85%)486% (48.6%)
rapidsnark1542% (77.1%)N/A
gnark1624% (81.2%)720% (72%)
arkworks935% (46.75%)504% (50.4%)
Halo2(KZG)1227% (61.35%)588% (58.8%)
Plonky2892% (44.6%)429% (42.9%)
Starky849% (42.45%)335% (33.5%)

参考资料

[1] 2023年7月17日zkSync官方twitter Say hello to Boojum
[2] Boojum Upgrade: zkSync Era’s New High-performance Proof System for Radical Decentralization
[3] Celer Network 2023年7月14日博客The Pantheon of Zero Knowledge Proof Development Frameworks (Updated!)

zkSync系列博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值