Simulation Extractable Versions of Groth’s zk-SNARK Revisited学习笔记

news/2024/3/28 20:34:49/文章来源:https://blog.csdn.net/mutourend/article/details/130336072

1. 引言

等人2020年论文《Simulation Extractable Versions of Groth’s zk-SNARK Revisited》,开源代码实现见:

  • https://github.com/Baghery/ABPR22(Rust,基于arkworks开发。使用了Multi-Scalar Multiplication (MSM)技术来优化 G 2 G_2 G2 G T G_T GT的exponentiation运算。)

以 Ubuntu 20.4.2 LTS操作系统,Intel Core i9-9900 processor at base frequency 3.1 GHz,128GB内存台式计算机为例,对不同曲线的性能进行了对比:(对每个约束,Prover重复100次,Verifier重复1万次。Prover以16个线程的多线程模式运行,Verifier为单线程模式。)

Curvezk-SNARKSecuiryPCPT, nsProof, bytesVerifier, 1 proofVerifier, 100 proofsVerifier, 1000 proofs
BLS12-381Gro16Weak SE5026127.51.90 ms0.19 sec1.90 sec
BLS12-381GM17Strong SE11042127.53.32 ms0.322 sec3.32 sec
BLS12-381BG18Strong SE5052223.13.52 ms0.352 sec3.52 sec
BLS12-381ABPR21-CRHStrong SE5042223.14.85 ms0.360 sec3.50 sec
BLS12-381ABPR21-ROStrong SE5041191.22.39 ms0.194 sec1.91 sec
MNT4-298Gro16Weak SE4830149.02.67 ms0.267 sec2.67 sec
MNT4-298GM17Strong SE10025149.03.80 ms0.380 sec3.80 sec
MNT4-298BG18Strong SE4879260.74.32 ms0.432 sec4.32 sec
MNT4-298ABPR21-CRHStrong SE4881260.74.45 ms0.311 sec3.05 sec
MNT4-298ABPR21-ROStrong SE4875223.53.33 ms0.271 sec2.68 sec
MTN6-298Gro16Weak SE5794186.24.94 ms0.494 sec4.91 sec
MTN6-298GM17Strong SE11427186.27.07 ms0.707 sec7.07 sec
MTN6-298BG18Strong SE5831335.28.07 ms0.807 sec8.07 sec
MTN6-298ABPR21-CRHStrong SE5824335.28.34 ms0.582 sec5.72 sec
MTN6-298ABPR21-ROStrong SE5810298.06.11 ms0.501 sec4.97 sec
MNT4-753Gro16Weak SE30247376.529.1 ms2.91 sec29.1 sec
MNT4-753GM17Strong SE83120376.541.6 ms4.16 sec41.6 sec
MNT4-753BG18Strong SE30863658.847.3 ms4.73 sec47.3 sec
MNT4-753ABPR21-CRHStrong SE30887658.845.5 ms3.41 sec33.8 sec
MNT4-753ABPR21-ROStrong SE30760564.733.9 ms2.94 sec29.2 sec
MTN6-753Gro16Weak SE33298470.653.6 ms5.36 sec53.6 sec
MTN6-753GM17Strong SE83121470.676.9 ms7.69 sec76.9 sec
MTN6-753BG18Strong SE33358847.188.5 ms8.85 sec88.5 sec
MTN6-753ABPR21-CRHStrong SE33359847.185.4 ms6.33 sec63.1 sec
MTN6-753ABPR21-ROStrong SE33345753.064.4 ms5.42 sec53.8 sec

简称说明:

  • SE = Simulation Extractable
  • PCPT = Per-Constraint Proving Time
  • ns = nanoseconds
  • RO = Random Oracle
  • CRH = Collision Resistant Hash

本文方案与Groth16、GM17等方案性能对比为:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下使用ftp下载服务器数据

首先确认服务器地址 比如我要从uniprot获取数据,需要先ping服务器地址: 可见,ftp地址不需要前面的https 匿名登录 匿名:anonymous 密码:任意邮箱,如123163.com 这里的传输模式我使用的是二进制&#xff…

Revit进入Unity教程

一、背景 小伙伴们是否有Revit进入Unity交互的需求呢? 二、实现功能 1.Revit进入Unity,包含模型属性,材质,轻量化等 2.实现BIM构件点选,高亮,属性展示 3.实现BIM模型分层显示,爆炸等效果 学习教程&…

xilinx zynq+vitis实现命令行编译输出xsa以及bin文件

执行菜单命令【开始】—【所有程序】—【Xilinx Design Tools】—【Vivado2020.1】—【Vivado2020.1Tcl Shell】,弹出命令界面 或者cmd命令下输入call D:\soft_install\vivado2020.1\Vivado\2020.1\bin\vivado.bat -mode tcl 2.输入打开工程指令: open_project …

SpringBoot整合Redis,一篇带你入门使用Redis

本文介绍如何将Redis整合到SpringBoot项目中,以及如何配置、封装和使用 文章目录 前言环境搭建项目结构添加依赖 Module封装RedisConfig配置封装常见操作为ServiceRedisServiceRedisLockUtil 测试 前言 参考链接: 英文官网链接中文官网链接Redis githu…

【Matlab】基于紧格式动态线性化的无模型自适应控制

例题来源:侯忠生教授的《无模型自适应控制:理论与应用》(2013年科学出版社)。 对应书本 4.2 单输入单输出系统(SISO)紧格式动态线性化(CFDL)的无模型自适应控制(MFAC) 例题4.1 题目要求 matlab代码 clc; clear all;%% 期望轨迹…

mybatis-plus的代码生成器的应用

目录 1.工程引入mybatis-plus3-generator代码生成器2.只需要关注mybatis-plus-config.properties然后生成代码3.分别添加依赖解决报错4.加入其它配置然后测试效果 3.4版本 1.工程引入mybatis-plus3-generator代码生成器 mybatis-plus3-generator放入项目工程中,父工…

Java8函数式编程(Lambda表达式,Stream流,Optional)

一.函数式编程思想 面向对象思想主要是关注对象能完成什么事情,函数式编程思想就像函数式,主要是针对数据操作;代码简洁容易理解,方便于并发编程,不需要过分关注线程安全问题 二.lambda表达式 1.概念 lambda表达式…

COMSOL锂离子电池仿真技术与应用

背景: 随着各国燃油车禁售时间表的推出,新能源汽车的地位愈发稳固。而锂离子电池作为电动车的核心动力源,也越来越受到市场的追捧。锂离子电池在制作过程中涉及正极、电解液、负极、隔膜等材料的选取与匹配,极片设计参数的选择等…

如何开发一款用户体验优秀的语音交友app?

在数字时代,人们越来越依赖智能手机上的应用程序来与他人进行交流。其中,语音交友app成为了最受欢迎的应用之一。然而,开发一款成功的语音交友app需要深入了解用户需求与体验。本文将探讨如何开发一款用户体验优秀的语音交友app。 着眼于用户…

[oeasy]python0135_变量名与下划线_dunder_声明与赋值

变量定义 回忆上次内容 变量 就是 能变的量上次研究了 变量标识符的 规则 第一个字符 应该是 字母或下划线合法的标识符可以包括 大小写字母数字下划线 还研究了字符串(str)的函数 isidentifier查询字符串 是否为合法标识符 最后发现 这个isidentifier函数有时候不好使&…

记录bingAI解答pyjwt参数和头部的问题

python jwt.encode()函数的参数是哪些 正在搜索: python jwt.encode()函数的参数 正在为你生成答案… 已收到消息. 在Python中,jwt.encode()函数的参数有三个:第一个是payload,主要用来存放有效的信息,例如用户名,过期…

PCL点云库(1) — 简介与数据类型

目录 1.1 简介 1.2 PCL安装 1.2.1 安装方法 1.2.2 测试程序 1.3 PCL数据类型 1.4 PCL中自定义point类型 1.4.1 增加自定义point的步骤 1.4.2 完整代码 1.1 简介 来源:PCL(点云库)_百度百科 PCL(Point Cloud Library&…

ZLMediaKit流媒体服务器 RTSP推流时候的堆栈

先直接看图 这是ffmpeg向流媒体服务器推流时候的堆栈 引入C 11之后 堆栈会显得特别繁复冗余 看起来 也没有 以前没有C11之前那样 简单明了 太复杂了 标记下 很多函数名字被我改了 因为原来的看起来 同名函数太多了 C11 和lambada 匿名函数 让看堆栈 成了地狱模式 断点断在…

Revit中如何绘制轴线?CAD图纸转轴网操作

一、如何用revit来制作这么一个简单的轴线呢? 01 、新建项目 绘制轴线,首先新建项目建筑样板 02 、轴线快捷键 绘制轴线的快捷键需要牢记,因为经常使用GR 03 、编辑轴线类型 当你画好第一条轴线,需要对轴线类型属性进行调节,一般…

基于tensorflow2.x的多GPU并行训练

由于最近训练transformer,在单卡上显存不够,另外一块卡上也无法加载,故尝试使用双卡并行的策略。将基本的流程、遇见的难题汇总在这里。分布策略解释 使用官方给出的tf.distribute.MirroredStrategy作为分布策略。这个策略通过如下的方式运行…

【架构设计】什么是CAP理论?

1、理论 CAP理论是指计算机分布式系统的三个核心特性:一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)。 在CAP理论中,一致性指的是多个节点上的数据…

宝安日报:联诚发跨界创新“追光”十九载!

世界一流声光电智造一体化服务商、国家级高新技术企业、国家级专精特新“小巨人”企业、博士后创新实践基地、深圳自主创新百强企业……这些熠熠生辉的关键词,是位于宝安区航城街道的深圳市联诚发科技股份有限公司(以下简称:联诚发&#xff0…

KingSCADA3.8保姆级安装教程

大家好,我是雷工! 最近开始学习KingSCADA,今天这篇详细记录安装KingSCADA3.8的过程。 首先下载需要的安装版本,此处以从官网下载的最新版本KingSCADA3.8为例,双击:Setup.exe ; 一、安装主程序 1、点击“…

AutoSAR内存映射

总目录链接>> AutoSAR入门和实战系列总目录 总目录链接>> AutoSAR BSW高阶配置系列总目录 文章目录 为了防止不必要的内存缺口(RAM 中未使用的空间),不同大小(8、16 和 32 位)的变量根据其大小映射到特…

工业树莓派远程I/O控制套装—更高效、更灵活、更便捷

一、背景 在完整的生产过程中,许多传感器设备和执行设备不完全安装在同一位置,大多分散部署在各个生产环节中。如果采用本地控制的方式,就需要用到多个控制器,但是成本较高,且不利于管理,所以最理想的解决…