当前位置:网站首页>零知识证明——zkSNARK证明体系
零知识证明——zkSNARK证明体系
2022-08-04 20:00:00 【白速龙王的回眸】
本笔记整理摘录自Steven Yue大佬
三个核心算法:
setup约定电路,生成随机参数
prove:证明方生成零知识证明
verify:验证方进行验证
完整性:
知识证明:(非常关键)
证明,证明方确实有一些我们不知道的信息,也就是这个w确确实实存在
简短证明:简短高效
零知识:公有输入x和证明pi不能暴露w
PCP定理(概率可验证定理)
所有NP难问题,都可以通过随机抽样,通过随机验证方法证明
不是直接看pi了,只能在里面抽取k位
总的来说就是抽查,抽查的正确次数越多,作假的可能性越低(有点假设检验内味了)
Kilian SNARK
PCP可能有庞大的只读存储区域
我们将readonly那里编程一个commitment
证明方展示数据的时候只需要附带一个Merkle Proof证明自己提交的数据确实是在pi中的即可
这样就可以避免存储大量的pi信息
非交互的Killian SNARK
证明方在提交证明的时候验证方无需在线,它可以在后面随机事件点来验证
需要Fiat-Shamir-Heuristic,它可以把任何交互式的随机验证协议转换为非交互式的
首先需要一个安全哈希函数H(随机预言机,无论输入的是什么,输出的值我们都可以看作是一个和输入没有关联的随机数)
改造的关键就是把验证方的随机值依赖于安全哈希函数来生成
LCPC(线性)
两个d阶的不同系数的多项式,最多只会有d个点重合
通过把证明的值当作多项式的系数,然后验证多项式在某个点的值是否相等即可
因此我们把SNARK转成多项式的形式
但是电路很难变成多项式的形式,所以需要一个叫做R1CS的程序矩阵
多项式插值,范德蒙德多项式,还原多项式的每一项系数
构造成多项式子P, Q, R
证明P * Q = R
总结
PCP定理是通过随机抽查的方法来快速验证任何NP问题的解。
LPCP是约束版的PCP,讲了通过随机抽查多项式取值的方法来快速验证多项式的系数。
Fiat-Shamir Heuristic可以把一个交互式协议变成一个非交互式协议。
从一个数学运算电路出发,变换成R1CS程序矩阵之后,可以最后还原成多项式
边栏推荐
猜你喜欢
SIGIR 2022 | 邻域建模Graph-Masked Transformer,显著提高CTR预测性能
刷题-洛谷-P1307 数字反转
C语言——青蛙跳台阶(递归)
小软件大作用 | 如何省时省力进行Gerber图层快速对比?
Use "green computing" technology to promote sustainable development of computing power
刷题-洛谷-P1317 低洼地
【Attention 演变史】RNN的产生、架构、推广、问题(第一弹)
华为企业组网实例:VRRP+MSTP典型组网配置
【Attention演变史】翻译模型seq2seq (第二弹)
vscode离线安装插件方法
随机推荐
「 WAIC 2022 · 黑客马拉松」蚂蚁财富两大赛题邀你来战!
Desthiobiotin-PEG4-Azide_脱硫生物素-叠氮化物 100mg
Finished product upgrade program
微信小程序云开发 | 赠、删、改城市名称信息的应用实现
奥拉时钟芯片生成配置文件脚本
The book "The Essence of Alipay Experience Design", a record of knowledge related to testing
入门:人脸专集1 | 级联卷积神经网络用于人脸检测(文末福利)
使用 Allatori 进行 Jar 包混淆
Use "green computing" technology to promote sustainable development of computing power
nr部分计算
awk statistical difference record
SAP UI5 的初始化过程
QT 小知识随记
ASP.NET商贸进销存管理系统源码(带数据库文档)源码免费分享
Tensorflow2 环境搭建
【Attention演变史】翻译模型seq2seq (第二弹)
常用正则表达式[通俗易懂]
华为交换机:STP测试实验
SAP UI5 ensures that the control id is globally unique implementation method
按需视觉识别:愿景和初步方案