zk-Bench:SNARKs性能对比评估工具

1. 引言

JENS ERNSTBERGER等人2023年论文《zk-Bench: A Toolset for Comparative Evaluation and Performance Benchmarking of SNARKs》。

zk-Bench,定位为:

  • 定位为首个公钥密码学性能评估基准测试框架和工具,重点关注通用ZKP系统的实测评估。

现有其它性能评估工具:

当前,使用zk-Bench:

  • 1)收集了9个库所实现的13条不同椭圆曲线数据
  • 2)评估了ZKP开发的5个工具
  • 3)提供了Plonk证明系统驱动的密码学协议的评估工具,对达百万级电路的精度为6%-32%

在这里插入图片描述

zk-Bench架构中包含3大部分:

  • 1)arithmetic backend:算术化后端,覆盖了有限域运算和椭圆曲线运算。
  • 2)circuit backend:电路后端
  • 3)dual frontend:双前端:
    • 3.1)Zkalc:为JavaScript库和公开网站:用于:
      • 评估密码学运算的执行时间
      • 不同库和编程语言的性能对比,并图示
    • 3.2) zk-Harness:为web应用。以展示每种ZKP开发工具或库,在不同负载下的计算时长、内存、proof size。

ZKP系统中包含3大类算法:

  • 1) S e t u p ( p p ) − > ( p k , v k ) Setup(pp)->(pk,vk) Setup(pp)>(pk,vk):以公共参数 p p pp pp为输入,计算并输出证明密钥 p k pk pk和验证密钥 v k vk vk
  • 2) P r o v e ( p k , x , w ) − > π Prove(pk,x,w)->\pi Prove(pk,x,w)>π:以证明密钥 p k pk pk、instance x x x、witness w w w为输入,有 ( x , w ) ∈ R (x,w)\in\mathcal{R} (x,w)R,计算并输出proof π \pi π
  • 3) V e r i f y ( v k , x , π ) − > 0 / 1 Verify(vk,x,\pi)->0/1 Verify(vk,x,π)>0/1:以验证密钥 v k vk vk、instance x x x、proof π \pi π为输入,若该proof有效,则输出1,否则输出0。

在这里插入图片描述
其中:

  • 绿色边框:表示前端。前端操作有:
    • Circuit
    • Constraint System
    • Witness Generation
  • 红色边框:表示后端。后端操作有:
    • Setup
    • Prover
    • Verifier
  • 灰色背景:表示公开输入
  • 蓝色背景:表示秘密输入
  • 实线边框:表示链下操作
  • 虚线边框:表示链上操作

ZKP系统中,相同的运算,可具有不同的表示形式:

  • R1CS
  • Plonkish
    在这里插入图片描述

不同算术库和椭圆曲线的性能对比为:
在这里插入图片描述
所用的各种测试机器配置情况为:
在这里插入图片描述
不同库的BN254和BLS12-381基础运算(Field Addition和Field Multiplication)性能对比为:
在这里插入图片描述

ZKP bench系列博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值