1. 首页
  2. Meta

Buidler DAO: zk-SNARK的构建及案例

TL;DR

  • SNARK 的构建流程是什么样的?
  • 待证明的问题-算术电路-R1CS-多项式
  • 为什么最终要转换成多项式?
  • 因为多项式的特性有效的缩短了验证时间,实现了简洁性。
  • 是如何实现零知识的?
  • 简单来说,就是在推导多项式的过程中,多选取两个随机数,以此推导出的多项式能让验证者无法从中获取原多项式的系数,即证明者的秘密输入,以此实现 ZK。
  • 怎么实现非交互?
  • 在证明开始前,引入了一个第三方,即可信设置,将原本验证者挑选随机数的任务交给了可信设置,从而实现验证者和证明者之间的非交互。

ZK 技术近两年在 Web3 领域备受关注。从 Rollup 开始,越来越多不同赛道的项目都开始尝试使用 ZK 技术。在这之中,SNARK 和 STARK 是大家最常听到的两个名词,为了后期更好地理解ZK技术的应用,本文将从非技术的角度简化阐述 SNARK 的证明逻辑,然后会以 Scroll 的 zk Rollup 为例来说明 zk 证明系统的运行。

文章旨在阐述基本逻辑,便于阅读,会尽量避免术语使用,且不会深入探讨数学转换等细节,如有疏漏,敬请谅解。

2012年1月,加州大学伯克利分校教授 Alessandro Chiesa 与人合作撰写了 SNARK 的论文,提出了术语 zk-SNARK。

zk-SNARK,全称 Zero-Knowledge-Succinct Non-Interactive Argument of Knowledge,是使用了 ZK技术的一种证明系统。需要注意的是,SNARK 是一类方案的名称,有很多不同的组合方法都可以实现 SNARK。

  • 零知识(Zero-Knowledge):只有证明者知道的内容将会被隐藏,除了证明者,其他任何人都无法看到。
  • 简短(Succinct):生成的证明小,验证时间快。
  • 非交互性(Non-Interactive):证明者和验证者之间交互很少,甚至没有。
  • 论证(Argument):验证者的验证只对计算能力受限的证明者有效,因为拥有超强计算能力的证明者可以伪造证明,也就是说,系统具备计算可靠性。
  • 知识(Knowledge):证明者只有知道一些验证者不知道的信息才能计算出证明。

zk-SNARK 要解决的是“计算验证问题”,即验证者能否在不知道证明者隐私的情况下,高效地验证计算结果。

下面将以 zk-SNARK 的简化版构建流程来说明该系统是如何结合零知识达到高效验证的。

zk-SNARK 的构建

将待证明问题转化为多项式

简单来说,SNARK 的思路是将证明陈述是否成立转换成证明多项式等式是否成立

整个转换过程:待求证的问题➡算术电路➡R1CS➡多项式➡多项式之间的转换

- 星际资讯

免责声明:投资有风险,入市须谨慎。本资讯不作为投资建议。

下一篇:熊市期,Web3 产品如何实现用户增长?
« 上一篇
上一篇:长推:oUSD一种新型信用稳定币解决方案
下一篇 »

相关推荐