
DAOrayaki |zkPairing:椭圆曲线配对的 zkSNARKs
撰文: Jonathan W.,Vincent H.,and Yi Sun
编译:Skyhigh Feng
配对是许多加密协议的核心组成部分。本文我们介绍 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 。
由于配对涉及许多复杂的椭圆曲线操作,在 zkSNARK 中实现它们会带来许多挑战。首先,对于非自然域上的椭圆曲线算法,我们必须使用 zk-ECDSA6 的大整数和 ECC 优化,但是要适应我们的曲线和 BLS12-381 的配对涉及到在域扩展上操作的事实。其次,Miller 的计算配对算法 Miller's algorithm7允许在标准计算模型中进行许多优化,我们将这些优化移植到 zkSNARK 设置中。最后,由于配对计算的复杂性,即使最终优化的电路也可能相当大,这意味着需要一些基础设施的最佳实践来适应 Circom 工具栈。
在这一系列的文章中,我们提出了一个在 BLS12-381 曲线上的最优 Ate 配对的概念验证 Circom 实现,以及一个在 BLS 签名验证中的应用实例。然后,我们概述了其他潜在的应用,如递归 SNARK 和多项式承诺验证,我们认为这种方法很容易推广应用。
循环配对
我们实现了循环配对 circom-pairing8 代码库,它为 BLS12-3819 曲线上的以下操作提供未经审核的 ZK 电路:
-
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 配对
-
散列 hash 到曲线: maptoG2 的 BLS 签名验证操作通过计算椭圆曲线上的点对。正在签名的消息必须首先散列成一个数值。然后,这个散列值被转换成椭圆曲线上的一个点; 散列到曲线电路执行这种转换。
更详细的文件,我们的电路在这里可用。这些电路没有经过审核,也不打算用作生产级应用的库。
演示
为了说明我们的电路,我们在 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 )文档中有详细说明。
我们能用 zkPairing 做什么?
因为配对是许多加密协议的核心组成部分,所以用于配对计算的 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 的实现技术!
参考
1.https://github.com/yi-sun/circom-pairing
2.https://en.wikipedia.org/wiki/Pairing-based_cryptography
3.https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627
4.https://en.wikipedia.org/wiki/Elliptic-curve_cryptography
5.https://0xparc.org/blog/zk-id-2
6.https://0xparc.org/blog/zk-ecdsa-2
7.https://crypto.stanford.edu/pbc/notes/ep/miller.html
8.https://github.com/yi-sun/circom-pairing
9.https://hackmd.io/@benjaminion/bls12-381
10.https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-04
比推快讯
更多 >>- ZachXBT:Steam 游戏 BlockBlasters 包含恶意代码,已造成约 15 万美元加密资产损失
- 数据:当前加密恐慌贪婪指数为 44,处于恐慌状态
- 欧易将上线 ASTER (ASTER) USDT 永续合约
- 高盛上调标普 500 指数 2025 年底目标至 6,800 点
- 已通过 ETH 波段盈利 7605 万美元的大户再购入 1 万枚 ETH
- 特朗普披露 TikTok 美国资产投资者为梅铎长子、甲骨文及戴尔创办人
- Hyperliquid 已上线 STBL 永续合约
- 当前 236.9 万枚 ETH 等待退出 PoS 网络,约合 102 亿美元
- Aria 推出机构级链上 IP 投资平台 Aria PRIME
- Metaplanet 增持 5419 枚比特币,总持仓量达 25555 枚
- Metaplanet 以约 6.33 亿美元再购入 5419 枚 BTC,买入均价约 11.67 万美元
- 鲸鱼向币安转入 1.68 万枚 ETH,若出售或亏损 146 万美元
- Crypto.com CEO 回应安全质疑:去年钓鱼事件已及时上报且无客户资金受损
- Bithumb 将上线 0G 韩元交易对
- 多项加密货币动态,市值损失与交易量激增并存
- Kyle Samani 驳斥 Vitalik “DeFi≈搜索”观点:类比推理很容易得出错误结论
- 上周以太坊现货 ETF 净流入 5.58 亿美元
- CZ 创立的 Giggle Academy 9 小时内筹集超 100 万美元
- Gitcoin 遭冒充钓鱼公告利用 GitHub 通知系统大规模传播
- 了得资本关联机构 Trend Research 向 Binance 存入 16,800 枚 ETH
- L1 节点轻协议 Over Protocol 将迁移至 Base
- 数据:Hyperliquid 平台鲸鱼当前持仓 105.1 亿美元,多空持仓比为 0.88
- 新世界发展前行政总裁郑志刚宣布成立数字资产公司
- 0G Labs 已上线主网
- Kaia 与 LINE Next 将在 LINE 内测“合规稳定币超级应用”
- “麻吉大哥”ETH、PUMP 与 HYPE 多单浮亏超 1200 万美元
- 知名分析师:重申以太坊将在 4000-5000 美元区间震荡,4200 以下为买点
- 彭博社:Crypto.com 遭遇未报道的攻击,导致用户个人数据泄露
- Arca 首席投资官:不看衰 Uniswap,但看跌 UNI
- 华检医疗与创胜集团签署 15 亿美元创新药管线资产 RWA 代币化战略合作协议
- 鲸鱼通过两个钱包买入 ASTER,目前浮盈 600 万美元
- 特朗普与马斯克共同出席查理·柯克悼念活动,并握手交流
- 某巨鲸向 HyperLiquid 转入 357 万美元 USDC,以 20 倍杠杆开多 BTC 和 ETH
- 布局 RWA 数字资产的华检医疗市值两月暴涨 140 亿港元
- 一地址抛售 3000 枚 ETH,价值 1314 万美元
- 此前合约亏约 4300 万美元的钱包开多 ASTER,仓位价值 388 万美元
- 特斯拉夜盘涨近 2%,Snap 涨超 15%
- 分析:DAT 公司年内融资超 200 亿美元,机构称高峰已过
- 韩国今年 1-8 月虚拟资产涉非法交易报告数已超过去两年总和
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0052%
- “麻吉大哥”平仓 ASTER 三倍空单,获利 7.9 万美元
- 数据:一地址提取 239 万枚 HYPE,账面浮盈超 9000 万美元
- Syndicate 联合创始人:预测市场与 DAO 更为接近,两者都涉及“社交行为与资本的结合”
- 欧盟数字欧元计划取得新进展,发行仍需时日
- 币安 P2P 调整 USDT 交易对吃单费
- Notion AI Agents 被曝提示词注入风险,隐藏 PDF 可诱导泄露私密数据
- 加密市场弱势震荡,部分强势品种回落,比特币险守 11.5 万美元
- 马斯克回应与特朗普同框:“为了查理”
- 美股三大股指期货低开,纳指期货跌 0.07%
- 数据:过去 24 小时全网爆仓 1.99 亿美元,多单爆仓 1.26 亿美元,空单爆仓 7,233.67 万美元
比推专栏
更多 >>观点
比推热门文章
- 高盛上调标普 500 指数 2025 年底目标至 6,800 点
- 已通过 ETH 波段盈利 7605 万美元的大户再购入 1 万枚 ETH
- 特朗普披露 TikTok 美国资产投资者为梅铎长子、甲骨文及戴尔创办人
- Hyperliquid 已上线 STBL 永续合约
- 当前 236.9 万枚 ETH 等待退出 PoS 网络,约合 102 亿美元
- Aria 推出机构级链上 IP 投资平台 Aria PRIME
- Metaplanet 增持 5419 枚比特币,总持仓量达 25555 枚
- Metaplanet 以约 6.33 亿美元再购入 5419 枚 BTC,买入均价约 11.67 万美元
- 鲸鱼向币安转入 1.68 万枚 ETH,若出售或亏损 146 万美元
- 稳定币L1成新角斗场,Circle、Tether、Stripe竞逐主导权