双线性映射:零知识证明的引擎

简介: 就像汽车一样,zk-SNARK零知识证明系统是由很多具有不同功能的部件组成的。在我看来zk-SNARK这辆车的引擎就是用来保护私有信息的双线性配对。配对是一种特殊的映射,它模糊了信息但依然允许你进行有限的计算,非常令人着迷。

就像汽车一样,zk-SNARK零知识证明系统是由很多具有不同功能的部件组成的。在我看来zk-SNARK这辆车的引擎就是用来保护私有信息的双线性配对。配对是一种特殊的映射,它模糊了信息但依然允许你进行有限的计算,非常令人着迷。

用自己熟悉的语言学习以太坊DApp开发: Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart

配对的基本概念

配对(Pairing)将输入的两个群成员映射为第三个群的成员,将配对记为e
在这里插入图片描述
上式左边的群由椭圆曲线上的点构成。你可以在很多地方找到椭圆曲线数学的介绍,不过我推荐Nick Sullivan写的这篇。上式右边的群被称为目标群,通常是一些大型有限群。

有趣的是,第一个椭圆曲线配对是法国数学家André Weil二战期间在监狱中给出的:
在这里插入图片描述

配对必须具备一些代数特征,下面是最重要的一个,被称为双线性:

在这里插入图片描述
下面是另一种表达方式:

在这里插入图片描述
配对的另一个重要特征是非退化性(non-degeneracy):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BHFzz20C-1591326183453)(bilinear-pairing/non-degeneracy.png)]

右边的1表示目标群中的乘法单位元。非退化性保证了只要我们选择椭圆曲线上的非单位成员G,就能得到目标群中的非单位元。

双线性配对在零知识证明中的应用

正如Vitalik Buterin指出的,配对可以用于验证一个数学过程是否正确执行,这也是配对在zk-SNARK中的用途。例如,假设我声称自己知道一个满足以下二次方程的数值:

在这里插入图片描述

为了说服你我的确知道上述方程的一个解,一个办法就是告诉你
我知道的这个解,然后你自己带入上述方程去验证。另一个办法
就是我不告诉你这个具体的解是多少,但是使用椭圆曲线上的配对
进行验证。

首先注意,如果:

在这里插入图片描述

那么k要么是0,要么是群的阶的倍数,因此如果以下等式成立,我们
就可以确定二次方程成立:

在这里插入图片描述

由于x²-x-42可以为0或目标群的阶的倍数, 因此我们需要更多x的信息来判断x的确是0,这一问题在另一篇文章已经介绍过了。

利用双线性,我们可以将上述等式重写为:

在这里插入图片描述

进一步整理:

在这里插入图片描述

现在,不需要验证原始的二次方程成立,只需要验证上面这个配对方程成立即可。
我不需要提供x的具体数值,只需要告诉验证人xG就可以了 —— 这隐藏了真实的x,
同时也让验证人可以验证我的x的确让等式成立。


原文链接:双线性配对:零知识证明的引擎 —— 汇智网

目录
相关文章
|
6月前
|
存储 监控 关系型数据库
数据库核心术语解析与应用
数据库核心术语解析与应用
107 0
|
6月前
|
存储 机器学习/深度学习 搜索推荐
深入解析矢量数据库的数据模型与索引机制
【4月更文挑战第30天】本文深入探讨了矢量数据库的数据模型和索引机制。向量数据库以高维向量表示数据,采用稀疏或密集向量形式,并通过数据编码和组织优化存储与检索。索引机制包括基于树的(如KD-Tree和Ball Tree)、基于哈希的(LSH)和近似方法(PQ),加速相似性搜索。理解这些原理有助于利用矢量数据库处理大规模高维数据,应用于推荐系统、图像搜索等领域。随着技术发展,矢量数据库将扮演更重要角色。
|
5月前
|
并行计算 算法 安全
技术心得:安全加解密引擎基础(SKEAES)
技术心得:安全加解密引擎基础(SKEAES)
|
5月前
|
存储 数据库 数据安全/隐私保护
揭秘数据库技术的核心:从结构到策略
一、引言 在信息化快速发展的今天,数据库技术作为数据存储和管理的基石,扮演着至关重要的角色
|
6月前
|
存储 算法 搜索推荐
矢量数据库基础:概念、原理与应用场景
【4月更文挑战第30天】矢量数据库,处理高维向量数据的工具,应用于GIS、推荐系统、图像搜索及语义搜索。核心原理是将原始数据嵌入到高维空间,通过索引算法优化搜索性能。现代深度学习模型如Word2Vec提升向量表示准确性,KD-Tree、LSH等算法加速相似性搜索。随着技术发展,矢量数据库在数据科学领域的重要性日益增强。
|
6月前
|
机器学习/深度学习 Python
网络训练需要的混合类型数据的组织方式
网络训练需要的混合类型数据的组织方式
|
6月前
|
SQL 存储 Oracle
数据库技术--数据库引擎,数据访问接口及其关系详解(附加形象的比喻)
数据库技术--数据库引擎,数据访问接口及其关系详解(附加形象的比喻)
|
存储 数据可视化 关系型数据库
进一步定义地理数据库
进一步定义地理数据库
54 0
|
存储 数据可视化 关系型数据库
MySQL数据库常识之储存引擎
ENGINE = 引擎类型接在建表语句最后,可以指定引擎。