当前位置:网站首页>Zero-knowledge proof - zkSNARK proof system
Zero-knowledge proof - zkSNARK proof system
2022-08-04 20:02:00 【Looking Back at the White Speed Dragon King】
This notebook is excerpted from Steven Yue
Three core algorithms:
setup convention circuit, generate random parameters
prove: the prover generates a zero-knowledge proof
verify: the verifier verifies
Completeness:
Proof of knowledge: (verykey)
Prove that the prover does have some information that we don't know, that is, this w does exist
Short Proof: Short and Efficient
Zero-Knowledge: Public input x and proof pi cannot reveal w
PCP Theorem (Probability Verifiable Theorem)
All NP-hard problems can be proved by random sampling by random verification methods

Instead of looking directly at pi, it can only be extracted from itk-bit
In general, it is a random check. The more correct the random check, the lower the possibility of fraud (a bit of a hypothesis test)
Kilian SNARK
PCP may have huge read-only storage area
We will program a commitment in readonly
The prover only needs to attach a Merkle Proof to prove that the data submitted by himself is indeed in the pi when displaying the data
This can avoid storing a large amount of pi information
Non-Interactive Killian SNARK
The verifier does not need to be online when the prover submits the proof, it can verify at random events later
Requires Fiat-Shamir-Heuristic, which can convert any interactive random verification protocol into a non-interactive one
First we need a secure hash function H (random oracle, no matter what the input is, the output value can be regarded as a random number that is not associated with the input) 
The key to the transformation is to rely on the random value of the authenticator to generate a secure hash function
LCPC (Linear)
Two polynomials with different coefficients of order d will only have at most d points coincident
By treating the proved value as the coefficient of the polynomial, and then verifying whether the value of the polynomial at a certain point is equal


So we convert SNARK into polynomial form
But it is difficult for the circuit to become polynomial form, so we need aThe program matrix called R1CS

Polynomial interpolation, Vandermonde polynomial, restores eachA coefficient
Construct into polynomials P, Q, R
Prove that P * Q = R
Summary
PCP theorem is to quickly verify the solution of any NP problem by random sampling method.
LPCP is a constrained version of PCP, which describes the method of quickly verifying the coefficients of polynomials by randomly checking the values of polynomials.
Fiat-Shamir Heuristic can turn an interactive protocol into a non-interactive protocol.
Starting from a mathematical operation circuit, after transforming into an R1CS program matrix, it can be finally restored to a polynomial
边栏推荐
- jMeter Thread group 对应的 constant timer
- 密码学系列之:PEM和PKCS7,PKCS8,PKCS12
- JSD-2204-酷莎商城(管理员模块)-密码加密-Day10
- C语言基础[通俗易懂]
- The difference between Client Side Cache and Server Side Cache
- 关于 SAP 电商云 Spartacus UI SSR 的 state transfer 问题
- 新式茶饮,卷完水果还能卷什么?
- Unreal 本地化 国家化 多语言
- 蚂蚁集团时序数据库CeresDB正式开源
- visual studio 与 visual studio code
猜你喜欢
随机推荐
宏定义小方法
【着色器实现Glitch单项故障闪烁效果(与Television效果不同)_Shader效果第十四篇】
【SQL】触发器同步表数据
阿里的arthas使用,入门报错:Unable to attach to 32-bit process running under WOW64
uwp ScrollViewer content out of panel when set the long width
String中的hashcode缓存以及HashMap中String作key的好处
电脑一键重装系统后连不上远程了?教你设置的方法
awk statistical difference record
c sqlite ... ...
Aura clock chip generation configuration file script
Go学习笔记(篇一)配置Go开发环境
vs Code 运行一个本地WEB服务器
SAP UI5 的初始化过程
C#的Dictionary字典集合按照key键进行升序和降序排列
对比几类主流的跨端技术方案
c sqlite...
visual studio 与 visual studio code
实现菜单拖拽排序
搭建MyCat2双主双从的MySQL读写分离
MYSQL获取数据库的表名和表注释









