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

news2024/12/29 9:23:40

1. 引言

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

zk-Bench,定位为:

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

现有其它性能评估工具:

  • 1)https://github.com/anoma/zkp-compiler-shootout:评估了RISC0、Miden、Triton、Plonk、Halo2等。
  • 2)https://github.com/delendum-xyz/zk-benchmarking:评估了RISC0和Miden。

当前,使用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系列博客

  • 为何需关注各ZKP方案的benchmarks?
  • zkVM设计性能分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1135560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVS规则引擎决策流:轻松解决规则执行中的潜在问题

规则引擎的在线调试功能是指用户在编辑、创建或修改规则时,可以实时地测试这些规则执行的效果,以便及时发现和解决潜在的问题。 接下来我们详细看看在线调试的功能: 1、配置对应的规则(这里略过)如下图所示&#xff…

蓝桥云课--1024 第 2 场算法双周赛

2-铺地板【算法赛】&#xff08;找规律&#xff09; 一、题目要求 二、思路 &#xff08;1&#xff09;因为每块地砖都是2*3的规格&#xff1a; 1.n<2或者m<2的时候&#xff0c;则不能使用上述规格的瓷砖 No 2.n<3或者m<3的时候&#xff0c;也不能使用上述规格…

项目管理中,如何建立里程碑式管理?

项目进度控制是项目管理中的重要环节&#xff0c;也是最具挑战性的工作之一。在项目管理中&#xff0c;项目进度失控受到多种因素的影响&#xff0c;导致项目失控。 为了解决这个问题&#xff0c;我们可以借鉴在旅途中学到的经验&#xff0c;通过设立里程碑来了解项目进度&am…

macOS 12 Monterey v12.7.1正式版:开启全新的操作系统体验

macOS 12 Monterey已经向所有兼容的Mac设备推出&#xff0c;为您带来了一系列强大的新功能和改进。这个全新的操作系统版本&#xff0c;不仅带来了更流畅的用户体验&#xff0c;还增强了与iOS设备的无缝集成&#xff0c;让您的设备使用更加高效&#xff0c;更加便捷。 macOS 1…

一文说尽零售数据分析指标体系

零售的本质业务模式是通过在各种渠道上吸引客户来购买我们的商品来实现盈利&#xff0c;其实就是客户-渠道-商品&#xff0c;也就是我们常说的“人、场、货”&#xff0c;除此之外还有供应链、财务等起到重要的辅助作用。因此如果要构建起系统化的零售数据分析指标体系&#xf…

压敏电阻有哪些原理?|深圳比创达电子EMC

压敏电阻是一种金属氧化物陶瓷半导体电阻器。它以氧化锌(ZnO)为基料&#xff0c;加入多种(一般5&#xff5e;10种)其它添加剂&#xff0c;经压制成坯体&#xff0c;高温烧结&#xff0c;成为具有晶界特性的多晶半导体陶瓷组件。氧化锌压敏电阻器的微观结构如下图1所示。 氧化锌…

linux 内存检测工具 kfence 详解(二)

系列博文&#xff1a; linux 内存检测工具 kfence 详解(一) linux 内存检测工具 kfence 详解(二) 回上一篇博文 0. 前言 kfence虽然代码不多&#xff0c;但设计的内容、逻辑比较多。为了更加清晰、轻松地理解kfence&#xff0c;笔者将其知识点分两篇博文&#xff1a; 第一篇…

美海军用于情报、监视和侦察的中大型无人系统概述

源自&#xff1a;中国指挥与控制学会 “人工智能技术与咨询” 发布 简 介 1 引 言 2 超大型无人潜航器 图1 波音“回声航行者”无人潜航器 图2 “虎鲸”超大型无人潜航器 3 中型无人水面舰艇 图3 “海鹰”无人水面舰艇 图4 “海上猎人”无人水面舰艇 4 …

今天玩到一个微信钓鱼小游戏,很有趣,居然还能玩萝卜刀

这款钓鱼冠军微信小游戏很有创意&#xff0c;除了传统的钓鱼玩法&#xff0c;居然还融合了黄金矿工的玩法&#xff0c;很不错的想法&#xff0c;而且居然还能玩最近比较火的萝卜刀&#xff0c;快来扫码体验一下吧&#xff0c;或者微信里搜索 《钓鱼冠军》小游戏&#xff0c;认…

Python轮廓追踪【OpenCV形态学操作】

文章目录 概要代码运行结果 概要 一些理论知识 OpenCV形态学操作理论1 OpenCV形态学操作理论2 OpenCV轮廓操作|轮廓类似详解 代码 代码如下&#xff0c;可以直接运行 import cv2 as cv# 定义结构元素 kernel cv.getStructuringElement(cv.MORPH_RECT, (3, 3)) # print kern…

YOLOv8官方教程:如何训练模型

文章目录 一、简介二、YOLOv8的优点train模式特色 三、训练3.1 单 GPU 和 CPU 训练示例3.2 多GPU训练3.3 Apple M1 和 M2 MPS 训练3.4 恢复中断的训练 四、其他参数五、训练Log5.1 Comet5.2 ClearML5.3 TensorBoard 一、简介 本文介绍YOLOv8如何在单GPU、多GPU和Apple设备上训…

家用小型洗衣机哪款性价比高?热门内衣洗衣机测评

随着现代社会的快速发展&#xff0c;洗衣机已经成为了家家必备的电器产品。但是我们清洗贴身衣物的话&#xff0c;并不能直接扔进洗衣机里面洗&#xff0c;主要原因就是会与其他的衣物产生交叉的感染&#xff0c;而且又不能更好地除去贴身衣物上的细菌&#xff0c;因此一台内衣…

带着问题去分析:Spring Bean 生命周期 | 京东物流技术团队

1: Bean在Spring容器中是如何存储和定义的 Bean在Spring中的定义是_org.springframework.beans.factory.config.BeanDefinition_接口&#xff0c;BeanDefinition里面存储的就是我们编写的Java类在Spring中的元数据&#xff0c;包括了以下主要的元数据信息&#xff1a; 1&…

腾讯云价格计算器有用过的吗?好用!

腾讯云服务器价格计算器可以一键计算出云服务器的精准报价&#xff0c;包括CVM实例规格价格、CPU内存费用、公网带宽收费、存储系统盘和数据盘详细费用&#xff0c;腾讯云百科txybk.com分享腾讯云价格计算器链接入口、使用方法说明&#xff1a; 腾讯云服务器价格计算器 打开腾…

ArcGIS Maps SDK for JS:关闭地图边框(v4.27)

文章目录 1 问题描述2 解决方案 1 问题描述 近期&#xff0c;将ArcGIS Api for JS v4.16更新到了ArcGIS Maps SDK for JS v4.27&#xff0c;原本去除地图的css代码失效了。v4.27需要用.esri-view-surface--touch-none::after控制边框属性。 下面为没有关闭地图边框的效果图。…

电脑录屏快捷键,轻松提升录屏效率

“想问问大家&#xff0c;电脑录屏有快捷键吗&#xff1f;每次都要去定位搜索才能打开&#xff0c;来来回回花费的时间太多&#xff0c;要是有快捷键就方便多了&#xff0c;有人知道电脑录屏的快捷键是什么吗。” 电脑录屏已经成为人们日常学习和工作中不可或缺的一部分&#…

WIFI7协议概述

简介 支持6G频段的320M带宽&#xff0c;提供更快地速度&#xff0c;OFDMA并发数提高至148(wifi6为74)&#xff0c;最大连接终端数对比wifi6提升2倍 支持多链路连接&#xff0c;提供不同的延迟服务 支持rtwt&#xff0c;进行更加细化的节电管理 支持4096QAM高阶调制技术&…

中小型企业选择CRM系统时应该注意哪些?

如今市面上充斥着各种各样的CRM客户管理系统&#xff0c;尽管功能说的天花乱坠&#xff0c;中小企业选型时还是应该以自身需求为主。下面是中小企业选型CRM系统的几个要点&#xff0c;大家可以根据以下需求来筛选。 1、明确自身需求 决定企业选择哪一个CRM系统的前提应是需求…

盘点国产ChatGPT十大模型

什么是ChatGPT ChatGPT是一种基于OpenAI的GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型的聊天机器人。GPT是一种基于深度学习的自然语言处理模型&#xff0c;它使用了Transformer架构来处理文本数据。GPT模型通过在大规模文本数据上进行预训练&#xff…

Clickhouse实时数仓建设

1.概述 Clickhouse是一个开源的列式存储数据库&#xff0c;其主要场景用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用SQL查询实时生成分析数据报告。今天&#xff0c;笔者就为大家介绍如何使用Clickhouse来构建实时数仓&#xff0c;来满足一些实时性要…