当前位置:网站首页>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
边栏推荐
- Quantitative trading robot system development
- Aura clock chip generation configuration file script
- Embrace the Cmake child is simple and practical, but inflexible
- The establishment of simple data cache layer
- Go学习笔记(篇一)配置Go开发环境
- 面试官:JVM运行时数据区包含哪几部分?作用是啥?
- SAP UI5 确保控件 id 全局唯一的实现方法
- 如何推动乡村振兴的落地
- 如何使用 jMeter Parallel Controller - 并行控制器以及一些常犯的错误
- vehemently condemn
猜你喜欢
随机推荐
奥拉时钟芯片生成配置文件脚本
5 g NR notes
really time ntp service start command
完善的交叉编译环境记录 peta 生成的shell 脚本
Nuxt.js的优缺点和注意事项
二叉树的前序遍历
Red5搭建直播平台
「 WAIC 2022 · 黑客马拉松」蚂蚁财富两大赛题邀你来战!
String中的hashcode缓存以及HashMap中String作key的好处
[Awards for Essays] Autumn recruitment special training to create your exclusive product experience
《支付宝体验设计精髓》一书,跟测试相关性知识记录
02 ts 变量定义,类型
新式茶饮,卷完水果还能卷什么?
Use "green computing" technology to promote sustainable development of computing power
图片延迟加载、预加载
Go study notes (Part 1) Configuring the Go development environment
微信小程序云开发 | 赠、删、改城市名称信息的应用实现
c sqlite ... ...
vs Code 运行一个本地WEB服务器
seata源码解析:seata server各种消息处理流程