0

0

硬核科普:以动物园为例,剖析 zkSync 电路工作原理

DDD

DDD

发布时间:2024-03-05 21:40:02

|

1190人浏览过

|

来源于ChainCatcher

转载

硬核科普:以动物园为例,剖析 zksync 电路工作原理

作者:Haotian

不少人看了@zkSync 新发的动物园科普图文大呼懵圈,把动物园比做电路 circuit,把拥有特殊技能的动物视为「逻辑门 Gate」,把动物们都开心的合影当成「证明 Proof」,这样输入电路的数据在不透露具体内容的前提下,经过一系列复杂计算,生成一个 Proof,就完成一次零知识证明过程。来,我试着硬核科普一下:

1)动物园对应的是「电路」,电路其实是一系列逻辑门约束(加、减、乘、除等公式)的聚合,相当于所有动物们能力的一次集中表现,它也是构成计算机的基本元素。因此传入电路的「数据」一定可被套进各种公式内被执行运算。

在layer2网络中,存储的数据通常是交易哈希值、账户信息和数据余额等。这些数据可以通过转化为公式来进行计算,在电路执行处理之前,必须确保数据能够被公式化。如果数据无法直接转化为公式,则需要进行其他编码转换,以便原始数据可以被处理和计算。这种数据处理的前提是确保数据格式的兼容性,使得在layer2环境中能够顺利进行数据操作和计算。因此,对数据进行适当的编码和转换是确保系统正常运行和数据处理有效性的关键步骤。

在动物园模式中,各种动物对应电路中的逻辑门有特定的象征:木箱代表着不公开显示的数字,也就是所谓的「变量」;玻璃箱则象征着公开展示的数字,作为「公开输入」;而石头则代表那些不可移动的数字,被视为「常数」。这种类比的设定使得逻辑门与动物之间建立了一种奇妙的关联,为电路的理解和学习增添了趣味性和视觉形象。

斑马具有比较两个数是否「相等」的能力,结果相等斑马就开心;鳄鱼则表示「小于」,只有右边的数小于左边的数,鳄鱼才会开心;蜘蛛代表更复杂的多选择门,输入 0 则返回一定是 true,输入 1 则返回是 false;此外还可以让河狸表示除法、松鼠指代百分比;毛毛虫代表加法等等。不同的动物代表不同的加减乘除运算公式,动物们开心或伤心代表公式运算的结构。

很多个动物 + 不同种类的箱子组合起来就是一个电路,比如:要计算一个公式 2 x + 3 = Y,x 代表木箱,Y 代表石头,2 个木箱 和毛毛虫、斑马等前来工作,最后来验证该公式是否成立。注意,不用纠结为啥不同动物具备不同能力,这就是电路元素工作基础原理,是计算机执行计算的基本规则。

一个复杂电路就是形形色色的动物(逻辑门)和箱子(规则)共同构建。

3)假设刚才输入的公式 2x+3 =Y 成立了,相当于斑马 毛毛虫等动物都开心了,然后就会为该公式生成一个「Proof」,需要有一个角色能识别这个 Proof 是否准确才行。因此,为了确保证明的可信性,动物园管理员即电路的构建者,模拟了一个特别的动物叫 Zeek,Zeek 能看出其他动物是否开心,在 layer2 系统中相当于 Verifier。

Zeek 观察动物是否开心的过程其实就是 Prover 系统的验证过程,都开心了则验证通过,Proof 证明才会真正通过上传到主网,并最终确认。当然,动物园成千上万的动物,产生大量证明,Zeek 不可能挨个看,因此 Zeek 也可以观察千千万万个 Zeek 自己的分身状态是否开心,这个过程就叫 Recursive Proof 递归证明。

4)拍照的过程相当于生成 SNARK 证明或 KZG 承诺的过程,而打印的底片则相当于 STARK\SNARK 证明本身,动物园的游客相当于一个个进入的 Transaction 交易,只有动物开心合照才会完成并生成 Proof 证明,最终游客拿着照片出了动物园留底证明才能被上链最终确定。

一个动物园有很多动物,不可能同时都开心并按照预定规则工作,有很多逻辑门,也难免会出现掉线等情况。这样就会出现一些,拥堵卡顿以及报错的情况,因此会产生无效的状态转化,Under- Constrained,也就无法通过最终的验证。

相关专题

更多
vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

金山文档相关教程
金山文档相关教程

本专题整合了金山文档相关教程,阅读专题下面的文章了解更多详细操作。

28

2025.12.30

PS反选快捷键
PS反选快捷键

本专题整合了ps反选快捷键介绍,阅读下面的文章找到答案。

25

2025.12.30

表格中一行两行的方法
表格中一行两行的方法

本专题整合了表格中一行两行的相关教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

cpu温度过高解决方法大全
cpu温度过高解决方法大全

本专题整合了cpu温度过高相关教程,阅读专题下面的文章了解更多详细内容。

5

2025.12.30

ASCII码介绍
ASCII码介绍

本专题整合了ASCII码相关内容,阅读专题下面的文章了解更多详细内容。

31

2025.12.30

GPS是什么
GPS是什么

本专题整合了GPS相关内容,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

wifi拒绝接入
wifi拒绝接入

本专题整合了wifi拒绝接入相关教程,阅读下面的文章了解更多详细方法。

9

2025.12.30

丰网速运介绍
丰网速运介绍

本专题整合了丰网速运查询入口以及相关内容,阅读专题下面的文章了解更多内容。

3

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
R 教程
R 教程

共45课时 | 4.3万人学习

Pandas 教程
Pandas 教程

共15课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号