风险提示:防范以"虚拟货币""区块链"名义进行非法集资的风险。——银保监会等五部门
资讯
发现
搜索
登录
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情
详解零知识证明算法Marlin
Sin7y
特邀专栏作者
2022-09-23 12:31
本文约998字,阅读全文需要约2分钟
本文对基于R1CS的证明系统的零知识证明算法Marlin进行了详细解读。

arkworks for marlin 

Marlin 

Fractal

RICS

则R1CS成立。

Transition into Polynomial (efficiency)

Prepare

Define polynomial

2. 为向量 z = (x, w) 定义多项式(LDE)

3. 为矩阵 A, B, C 定义多项式(Holographic) 

为了减小verifier计算的复杂度(见paper5.2.1),这⾥用了一个特殊的形式来表示矩阵,以上述示例的矩阵 A 为例:

Linearity check

可以看出,当多项式 t(X) 取遍 H 值时,满足:

同样,也可以从公式推导:

AHP for R1CS

Common

Prover

=>Prover

=>Oracle

=>Prover - sumcheck-1

=> Oracle

=> Prover - sumcheck-1

=> Prover - sumcheck-2

=> Oracle

=> Prover - sumcheck-2

=> Prover - sumcheck-3

=> Oracle

=> Prover - sumcheck-3

Verifier

=> Verifier-sumcheck-3

=> Verifier-sumcheck-2

Recall the equality

=> Verifier-sumcheck-1

Recall the equality

=> Verifier

Polynomial commitment 

协议总共进行了三轮交互,每轮交互承诺的多项式,以及query的点如下:

Optimization

Sum(s(X)) = 0

生成随机多项式:

Reduce sumcheck 

根据COS20. Claim6.7(Fractal)论⽂提到的优化,我们令:

Common

Prover

Verifier

Reduce polynomial numbers for Sumcheck - 2 

对三个矩阵的现行校验,压缩成对一个矩阵的校验,即:

对这个多项式进行稀疏矩阵的表示。 

矩阵多项式,从9个缩减为3个。 

Set b = 1 

令 b = 1

Final Procotol 

Marlin in arkworks

关于我们

Sin7y成立于2021年,由顶尖的区块链开发者组成。我们既是项目孵化器也是区块链技术研究团队,探索EVM、Layer2跨链隐私计算、自主支付解决方案等最重要和最前沿的技术。

微信公众号:Sin7Y

GitHub | Twitter | Telegram | MediumMirror | HackMD | HackerNoon

开发者