欢迎光临散文网 会员登陆 & 注册

Hacker Dōjō 密码学专题一:5.2 Plonk证明系统

2023-03-03 00:15 作者:DoraHacks  | 我要投稿

Hacker  Dōjō Web3前沿技术 workshop文稿

研究种类:密码学-Plonk证明系统

资助金额:100 USDT

Bounty链接:https://dorahacks.io/zh/daobounty/147

Workshop回顾: https://b23.tv/6dIm9cy

内容贡献者:密码学专家 Lynndell

本项目由Hacker Dōjō 资助,文章转载请注明出处。

🔸学习量子计算、密码学、Space等Web3前沿技术

🔸认领Bounty,赚取赏金

🔸参与Hackathon,获得资助

更多Web3精彩技术分享尽在Dōjō👇

WeChat: @HackerDojo0


密码学专题一课程安排

第一课:对称加密 (DES、AES、五种加密模式)

第二课:哈希函数 (SHA2、SHA3、MiMC、Rescue、Poseidon)

第三课:群与公钥加密 (群,椭圆曲线群,Diffie-Hellman密钥交换,ElGamal加密)

第四课:数字签名 (BLS、Schnorr、EdDSA、ECDSA)

第五课:零知识证明 (Sigma零知识证明、Groth16PLONK



第五课: Plonk 证明系统

内容概要:

一、Fflonk
二、门约束与线约束
三、Plonk核心协议
四、聚合证明
五、递归零知识证明


多项式承诺与打开

KZG承诺A


KZG承诺B


Dan承诺批量验证A


Dan承诺批量验证B

优势与缺点:增加了证明长度,降低验证方的计算复杂度。



Dan承诺批量验证C

优势与缺点:增加了证明长度,降低验证方的计算复杂度。

Dan Boneh 承诺优点:验证复杂度仅与多项式个数相关,与随机打开点数无关。

多个多项式打开多个点


Dan承诺批量验证D


Fflonk多个多项式组合

令D为某个域。


多项式上的操作


多项式的线性组合与线性分解


对于向量多项式


Fflonk 将多个多项式单点打开等价转化为1 个多项式多点打开。


Plonk证明系统

Plonk门约束和线约束


门约束


线约束

在电路系统中,上述多项式方程实现了信号在电路门之间的运算约束。使用多项式相等表达信号在同一条导线之间的处处相等。在同一条导线上信号处处相等,则两个相等的信号在运算上是可以进行置换的,所以线约束也称为置换约束。

核心知识:坐标对累加器

因此,得出以下关键结论1。



约束汇总


Plonk证明系统

门约束



Plonk核心协议


聚合证明

基于Plonk验证算法开发为验证电路,对应的验证密钥为VK‘存储到以太坊一层,输入多组 ,输出Proof’,将Proof’发生给验证方,则验证方校验,等价于完成对多组 的校验。

难点:验证算法是双线性映射
在电路上表达双线性映射原理,涉及millier-loop。循环次数取决于计算出来的随机数,而不是固定值。因此,循环发生变化,导致电路也发生变化,导致 发生变化。以太坊一层矿工使用变化 校验有风险。因为证明方修改电路,也会导致 发生变化。证明方可以基于有漏洞的电路生成 提交到一层,实现作弊。所以矿工必须要使用一个固定的 ,代表一个固定的验证算法电路。
解决方案:验证电路只验证其他固定部分,不验证双线性映射。把多组双线性映射进行线性组合,耦合到 中,使得以太坊一层的矿工在进行1个双线性映射验证时,等价于把多组的双线性映射的线性组合也验证了。


递归零知识证明

Bn256 曲线标量域小于基域

难点1:基域和标量域之间的转换问题

人类十进制与计算机二进制位宽问题,用4个二进制表达十进制。

难点2:双线性映射的电路

在电路上表达双线性映射的原理,涉及一个millier-loop。循环次数取决于计算出来的随机数,而不是固定值。因此,循环发生变化,导致电路也发生变化,导致VK发生变化。将多个双线性映射的线性组合,然后提交,矿工验证双线性映射,等价于验证了10个双线性映射。则不需要写双线性映射的电路。

zcash使用递归曲线,标量域=基域

难点3:任意长for循环的电路约束

For循环变化,导致电路变化,导致VK变化;

将proof和VK输入到验证电路,验证电路是确定的,则验证电路对应的VK’是确定的,则可以存到以太坊一层合约中。

关于Hacker Dōjō 

Hacker Dōjō 是由Hacker共建的加密、Web3前沿技术开源知识社区。Dōjō 会以直播/音频/文字等形式定期组织分享session, 分享主题主要覆盖L1和L2的共识算法,架构,GitHub repo相关内容,包括不限于以下话题:Scroll / Polygon zkEVM、 Eigen的混合证明系统、Starkware、azTec、 Optimism、Zecrey、Aptos、 Move、密码学(零知识证明、公钥加密、哈希函数、格密码) 、 分布式系统、 以太坊协议栈、 量子计算和量子信息、卫星通信系统和航天器系统设计等。

✨Bounty详情及认领进度详情:https://innovative-laser af4.notion.site/174922df15884848b6ac8b57cb4f2fae?v=612e13dc6b9d44dd8197f755abb9fe9c

✨加入 Dōjō 中文社区微信联系:@HackerDojo0


有关DoraHacks

DoraHacks 是一个全球范围内的极客运动,全球黑客马拉松组织者,也是全球最活跃的多链 Web3 开发者平台之一。DoraHacks.io平台使得世界各地的Hacker和开源开发者可以参与黑客马拉松、Bounty、Grant、Grant DAO,以及公共物品质押等加密原生协议和基础设施进行协作并获得资助。到目前为止,DoraHacks 社区的 4000 多个项目已经获得了来自全球行业支持者超过 3000 万美元的资助。大量开源社区、DAO 和 超过50个主要区块链生态系统正在积极使用 Dora 的基础设施(DoraHacks.io)进行开源融资和社区治理。

官网:https://dorahacks.io/



Hacker Dōjō 密码学专题一:5.2 Plonk证明系统的评论 (共 条)

分享到微博请遵守国家法律