宇宙链 宇宙链
Ctrl+D收藏宇宙链

zkPairing:椭圆曲线配对的zkSNARKs-ODAILY

作者:

时间:1900/1/1 0:00:00

作者

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

简介

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

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

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

Coinbase协议负责人:Base考虑同时采用OP Stack和zk-proofs:金色财经报道,Coinbase协议负责人Jesse Pollak在巴黎ETHCC接受采访时表示,Coinbase的Base网络目前依赖于Optimistic Rollups来连接以太坊主网,但可以考虑扩展到包括zk-proofs。Pollak 表示,他预计到2024年,zk-rollups的多种实现(以zk proofs的形式)将包含在OP堆栈中。他预计这些将在Base、OP 主网和使用其代码库的其他网络中得到采用。[2023/7/21 11:08:05]

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

循环配对

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

基于zk的三层区块链Opside将于第二季度启动Pre-Alpha测试网:3月6日消息,基于zk的三层区块链Opside将于第二季度启动Pre-Alpha测试网,主要目的是完成一个基于“以太坊测试网-Opside(PoW&PoS)-zkRollup(RaaS)''三层网络,为早期应用提供测试环境。目前测试网初级版本目前已在官网开放,部分DeFi和游戏类应用将使用ZK-RaaS部署在Layer3上。[2023/3/6 12:44:33]

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

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

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

Polygon zkEVM主网Beta版将于3月27日发布:金色财经报道,Polygon zkEVM主网Beta版将于3月27日发布,Polygon并没有具体说明测试版网络将包含哪些内容,但表示团队将在未来几周内发布更多细节。

去年10月,Polygon上线了其zkEVM测试网,该测试网为其ZK rollup部署了以太坊虚拟机(EVM),允许以太坊开发人员从主区块链转移他们的智能合约,而无需使用不同的语言重新编程。去年12月,Polygon zkEVM上线最终测试网版本。[2023/2/15 12:07:08]

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

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

演示

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

Partisia Blockchain为Polygon提供基于ZK的隐私计算服务:8月25日消息,结合了多方计算的Partisia Blockchain已开始为Polygon提供基于零知识证明的隐私计算服务,Polygon的开发者可以在Partisia上运行隐私计算,部署智能合约,并通过专用跨链桥将其与Polygon上已有的DApp进行连接。目前隐私计算服务已支持Polygon原生的USDC,未来将扩展至其他Polygon原生代币以及任何Polygon支持的ERC-20代币。[2022/8/25 12:47:26]

基准

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

Layer2跨rollup桥Orbiter测试网络新增支持zkSync2.0:金色财经消息,Layer2跨rollup桥Orbiter Finance的测试网络新增支持以太坊二层解决方案zkSync2.0。[2022/5/25 3:40:54]

运行大型电路

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

我们能用zkPairing做什么?

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

BLS签名验证:Boneh-Lynn-Shacham(BLS)数字签名是一种基于椭圆曲线配对的签名方案。由于能够使用BLS有效地计算聚合签名和阈值签名,它目前被用于区块链,如Etherum2.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的实现技术!

致谢

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

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

我们也从最初的创作者JordiBaylina和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://github.com/yi-sun/circom-pairing

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

标签:ARKNARBLSINGspark币价格MINAR币RBLS币BORING币

火必交易所热门资讯
JZL量化机构研究:Jump Trading – “踩坑”加密世界的传统量化巨头-ODAILY

概览:Crypto头部量化机构分布 概览:Crypto头部量化机构梳理 上期分享复盘 Wintermute–“跌落神坛”的Defi头部做市巨头1.背景:Defi起家.

1900/1/1 0:00:00
SUN平台流动性矿池APY TOP5-ODAILY

据官方数据,10月31日,SUN平台智能矿池2poolLP最高APY超过43%,智能矿池USDD-USDTLP最高APY超过39%。此外,TUSD-TRXLP、3poolLP、USDD-TRXLP收益也十分可观,均超过30%.

1900/1/1 0:00:00
Tether项目周报(1107-1113)-ODAILY

部分黎巴嫩人进行比特币挖矿并使用USDT支付日常开支在黎巴嫩,当地人Gebrael需要现金来支付杂货和其他基本费用时,他首先使用一项名为FixedFloat的服务,将他通过自由职业工作获得的一些比特币换成Tether.

1900/1/1 0:00:00
波场TRON进展周报(2022.12.03-2022.12.09)-ODAILY

过去的一周,波场TRON项目进展顺利,为满足波场TRON全球社区爱好者阅读,本周周报共分为14种语言,请您选择阅读.

1900/1/1 0:00:00
Bitfinex一周简报(1031-1106)-ODAILY

萨尔瓦多与瑞士卢加诺市建立经济合作谅解备忘录Bitfinex支持萨尔瓦多大使CarmenMilenaMayorgaValera宣布的萨尔瓦多和卢加诺市将建立经济合作谅解备忘录。该公告在瑞士卢加诺举行的首届Plan?论坛的第一天发布.

1900/1/1 0:00:00
Tether项目周报(1114-1120)-ODAILY

为什么加密货币老手在近日的市场事件中高度赞扬USDT?对于许多加密货币持有者来说,按市值计算的最大稳定币Tether是一个“避风港”。用户开始在中心化和去中心化交易所积极购买USDT.

1900/1/1 0:00:00