SUI:zkPairing:椭圆曲线配对的 zkSNARKs_BLS

原文作者: ?Jonathan W., Vincent H., and Yi Sun

创作者:Skyhigh Feng

审核者:DAoctor, Yofu

原文: ?zkPairing: zkSNARKs for Elliptic Curve Pairings

配对是许多加密协议的核心组成部分。本文我们介绍circom-pairing1,一种在 Circom 用于椭圆曲线配对的 zkSNARK 电路的概念验证实现。

基于配对的密码学(Pairing-based cryptography2) (PBC)建立在一个叫做椭圆曲线配对(elliptic curve pairing3)的数学对象存在的椭圆曲线密码学(elliptic curve cryptography4)之上。虽然配对的定义相对复杂,但它们是零知识密码学现代发展的许多加密对象的基础: BLS 数字签名、 KZG 多项式承诺和 zkSNARKs。

由于 ZK 生态系统中的这个关键角色,在 zkSNARKs ?中实现配对极大地扩展了可寻址密码构造的范围,并增加了 SNARKs 的反射能力。特别是,我们设想的应用程序的ZK 身份(ZK Identity5) ,区块链扩容,和可编程的 SNARKs 。最后的“解锁”可能会带来一个未来,任何人都可以在运行中自由组合和联合不同的 SNARKs 。

ConsenSys zkEVM项目Linea推出忠诚度活动以鼓励早期用户使用:5月2日消息,据官方消息,ConsenSys 旗下 zkEVM 项目 Linea 联合 Galxe 推出忠诚度活动以鼓励早期用户使用网络。[2023/5/3 14:39:19]

由于配对涉及许多复杂的椭圆曲线操作,在 zkSNARK 中实现它们会带来许多挑战。首先,对于非自然域上的椭圆曲线算法,我们必须使用zk-ECDSA6 的大整数和 ECC 优化,但是要适应我们的曲线和 BLS12-381的配对涉及到在域扩展上操作的事实。其次,Miller 的计算配对算法Miller's algorithm7允许在标准计算模型中进行许多优化,我们将这些优化移植到 zkSNARK ?设置中。最后,由于配对计算的复杂性,即使最终优化的电路也可能相当大,这意味着需要一些基础设施的最佳实践来适应 ?Circom ?工具栈。

在这一系列的文章中,我们提出了一个在 BLS12-381曲线上的最优 Ate 配对的概念验证 Circom 实现,以及一个在 BLS 签名验证中的应用实例。然后,我们概述了其他潜在的应用,如递归 SNARK 和多项式承诺验证,我们认为这种方法很容易推广应用。

加速器LongHashX推出以ZK为主题的加速计划:4月27日消息,LongHash Ventures 旗下加速器 LongHashX 宣布其 ZK 为主题的加速计划已开放申请,注册开放至 6 月底,加速计划将从 7 月底开始,到 2023 年 11 月的演示日结束。

为期 12 周的加速计划提供两个独立的轨道,包括 ZK 加速器计划以及 ZK Builders 奖学金计划,其中 ZK 加速器计划将选出 5 个项目,可获得 10 万美元的资金和获得来自 zkSync、Scroll、Linea、Herodotus、Taiko 等项目创始团队的指导和支持;此外,ZK Builders 奖学金将选出 20-25 个项目。[2023/4/27 14:31:04]

我们实现了循环配对 circom-pairing8 代码库,它为 BLS12-3819 曲线上的以下操作提供未经审核的 ZK 电路:

Tate 配对是最简单的椭圆曲线配对之一。该算法满足双线性特性,适用于密码学领域,对椭圆曲线的计算和算法的正确实现起到了很好的检验作用。

最佳配对:最佳配对是实践中最常用的配对。计算类似于Tate配对(使用Miller的算法,我们将在以后的文章中讨论) ; 然而,涉及的步骤较少,而每一步的算法更加复杂,最终的结果是一个较短的总计算。

Compound将于今年第二季度上线Aztec旗下隐私Rollup网络zk.money:2月28日消息,去中心化借贷市场 Compound 将于今年第二季度在以太坊Layer2 隐私协议 Aztec 旗下隐私 Rollup 网络 zk.money 主网上线,用户可以通过使用 Aztec Connect 在 Compound 中存款和借款,与主网相比节省 95% 以上的 gas,并且默认情况下具有隐私性。具体而言,用户可以将 ERC20 代币存入 Aztec,并通过 zk.money 发起 Compound 存款或借款请求。Aztec 的 zkrollup 将跨用户批量交易,并通过桥接合约与 Compound 的 L1 合约进行交互。用户将在 Aztec 上收到一个 cToken 或他们借用的任何资产,可以在 Aztec 上的其他 DeFi 协议中使用。目前,Aztec 在compound治理论坛发起提案,申请 10 万美元的赠款来补贴用户在 Compound 的存款和借款相关gas费,以启动此集成的网络效应。

另据 DeFi Liama 数据显示,Compound 目前总锁仓量为 67.2 亿美元,仅支持以太坊主网。[2022/3/1 13:28:32]

BLS10 签名验证(短公钥) : 签名验证允许检查一个BLS 签名. 给定签名 s,生成元 G,公钥 xG,和哈希 hash ,验证电路转换 hash 到椭圆曲线点 H(m), ? 使用maptoG2 下面的电路,然后验证 s 确实是由给定的公钥和消息生成的签名。BLS 签名验证涉及到评估两个最优的 Ate 配对来验证这一点 e(s,G) = e(H(m), xG) , e 表示最佳的 Ate 配对

ZKSwap已于今日向PoS锁仓用户发放治理代币gZKS:ZKSwap官方宣布,已于今日(4月29日)向符合条件的用户发放治理代币gZKS,本次共计向968个地址,发放了7345137个gZKS。gZKS目前仅由360天期限的ZKS锁仓合约产生,参与360天期限ZKS锁仓挖矿的用户,会在L2地址收到对应数量的gZKS空投,锁仓满360天可获得锁仓ZKS同等数量的gZKS ,随实际锁仓时间线性递减至发放0.5倍数量的gZKS。注意,只有在锁仓时间大于等于180天时锁仓才能获得gZKS。

任何用户均可在论坛对应板块发起社区治理相关帖子进行讨论,产生提案初步的想法和意见。gZKS的持有人可以在snapshot上质押50000 gZKS以发起提案,也可以在投票页面进行投票表决,过程均在链上进行,任何人可查询提案及投票结果,公开透明。在有效提案投票结束后,ZKSwap官方会在论坛相应板块公示投票结果和执行计划。[2021/4/29 21:11:01]

散列hash到曲线: maptoG2 的 BLS 签名验证操作通过计算椭圆曲线上的点对。正在签名的消息必须首先散列成一个数值。然后,这个散列值被转换成椭圆曲线上的一个点; 散列到曲线电路执行这种转换。

波卡二层扩容协议Plasm Network成功部署ZK Rollups:据官方消息, 波卡二层扩容协议Plasm Network表示,今天成功在Plasm Network部署ZK Rollups。[2021/1/14 16:10:53]

更详细的文件,我们的电路在这里可用。这些电路没有经过审核,也不打算用作生产级应用的库。

为了说明我们的电路,我们在zkpairing.xyz11 实现了一个演示,它允许用户生成任何 BLS 签名(以特定的输入格式)有效性的证明。如果用户没有一个特定的 BLS 签名他们可以指定以太坊信标链上的任何块号,并且演示会将块数据解析为适当的格式,并生成一个验证该验证者签名的证明区块。对于每个证明,我们提供所有的数据-在三个小文件中-任何人都可以用来在自己的计算机上验证证明!

所有基准测试都运行在32核3.1 GHz、256G RAM、1T 硬盘和400G 交换机(AWS r5.8 xlarge 实例)上。

请注意,验证和Tate 配对是非常大的电路,因此它们需要特殊的硬件和设置来运行。特别是,必须使用 C++ 生成见证服务器,使用 rapidsnark 进行证明,使用补丁版本的 Node.js而不使用垃圾收集生成密钥。所有这些都必须在具有大容量内存的机器上完成; 我们的设置工作流程在《大电路最佳实践》( Best Practices for Large Circuits12 )文档中有详细说明。

因为配对是许多加密协议的核心组成部分,所以用于配对计算的 zkSNARKs 允许我们将以下高级原语放入 SNARK 中:

BLS 签名验证: Boneh-Lynn-Shacham (BLS)数字签名是一种基于椭圆曲线配对的签名方案。由于能够使用 BLS 有效地计算聚合签名和阈值签名,它目前被用于区块链,如 Etherum 2.0、 ZCash ?和 ?Dfinity 。验证 BLS 签名涉及到一个配对检查,检查两个椭圆曲线配对是否相等,因此通过 zkPairing 直接启用。这解锁了潜在的可伸缩应用程序,比如轻型客户机和桥接的签名聚合。

递归 SNARK 验证: 因为 Groth16证明验证只涉及配对检查,所以 SNARK-ing 配对允许 SNARK-ing 整个验证算法,称为递归验证。这使我们能够构建一个 zkSNARK 的 zkSNARK 的... 无限广告,使开发人员能够构建不同的 SNARK 证明,而不是构建一个单一的大型 SNARK 和大大增加可能的 SNARK 的复杂性。我们正在调整我们的电路,以递归 Groth16验证 BN254,并希望在不久的将来发布一个概念证明。

KZG 多项式承诺验证: KZG 多项式承诺是 PlonK 的基础,PlonK 是具有通用可信设置的新一代 zkSNARK 之一。因为验证 KZG 承诺涉及到一个配对检查,zkSNARK-ing 配对使我们能够验证任何建立在 SNARK 中的 KZG 承诺之上的东西,包括 PlonK 验证本身!

很快就会看到第2部分讨论了 zkPairing 的实现技术!

该项目是在 ZKxZK Gitcoin 基金的支持下,在0xPARC 的 ZK 身份工作组期间构建的。

我们借鉴并分享了很多与 circom-ecdsa 相关的技术,特别是在大整数和椭圆曲线算法的优化方面。例如,我们使用 xJsnark 的大整数乘法优化。

我们也从最初的创作者 Jordi Baylina 和 snarkjs 的研究中获益匪浅。他教了我们很多关于 circom/snarkJS 工具栈的知识,并分享了很多关于如何有效地构建大型 ZK 电路的见解。

参考

https://github.com/yi-sun/circom-pairing

https://en.wikipedia.org/wiki/Pairing-based_cryptography

https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627

https://en.wikipedia.org/wiki/Elliptic-curve_cryptography

https://0xparc.org/blog/zk-id-2

https://0xparc.org/blog/zk-ecdsa-2

https://crypto.stanford.edu/pbc/notes/ep/miller.html

https://hackmd.io/@benjaminion/bls12-381

https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-04

https://zkpairing.xyz/

https://hackmd.io/V-7Aal05Tiy-ozmzTGBYPA?view

DeFi之道

财经法学

成都链安

金色早8点

Bress

链捕手

PANews

Odaily星球日报

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

莱特币最新价格NFT:NFT2022不太好过_NFTFundArt

如果说前两年人们提到最多的是区块链和数字货币,去年最火热的词则是元宇宙和NFT。2021年最后一天,周杰伦在社交账号上晒出一张幻象熊图片,把NFT这股浪潮从2021年带到了2022年.

[0:15ms0-8:356ms