当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
刷题-洛谷-P1200 你的飞碟在这儿Your Ride Is Here
基于Nodejs的电商管理平台的设计和实现
完善的交叉编译环境记录 peta 生成的shell 脚本
node 的运行命令
How to manually download and install SAP Fiori tools - Extension Pack for Visual Studio Code
uwp ScrollViewer content out of panel when set the long width
微信小程序云开发 | 赠、删、改城市名称信息的应用实现
awk 统计差值记录
如何使用 jMeter Parallel Controller - 并行控制器以及一些常犯的错误
二叉树的前序遍历
2022年国内手机满意度榜单:华为稳坐国产品牌第一
QCustomPlot 坐标轴间隔显示刻度标签
电脑一键重装系统内存完整性无法打开怎么办
刷题-洛谷-P1319 压缩技术
Chrome安装zotero connector 插件
The list of Kubernetes - watch mechanism
In July 2022, domestic database memorabilia
LED的C语言应用程序
宏定义小方法
拥抱Cmake小朋友 简单又实用,但是不灵活








