计算轨迹是 Stark 的第一步,也是最简单的一步,但是最为重要的一步。
但是在章节开始之前,你需要必须 🚨掌握以下前置知识:
原文链接:https://www.zk101.io/stark101/1_trace 前往可获得更好的体验
计算轨迹是 Stark 的第一步,也是最简单的一步,但是最为重要的一步。
但是在章节开始之前,你需要必须 🚨掌握以下前置知识:
以上内容均为超级精简版,强烈推荐看一遍。
什么是Trace? Trace,实际为execution trace,是程序在执行过程中生成的中间值,我们在计算的过程中,难免会有很多中间值,比如临时变量,函数返回值,等等。 Trace则是计算过程中所有的中间值,以及最终的执行结果。
我们用一个简单的例子来解释一个 Trace。
首先,我们模拟计算机中两个寄存器:r0,r1.
你可以理解寄存器为一个用于存放数据的空间
前往 zk101.io 获得更好的体验
计算斐波那契数列的方式并不只有一个,你也可以使用只用一个寄存器的方式计算,只不过每次可能需要重新计算前一个的值。这部分会有些复杂,我们这里不展开。
在Stark中,Trace是用于构造多项式的重要数据,ZK技术大部分都基于将计算结果转换成多项式,然后通过对多项式的验证来证明计算的正确性。
这一章节是Stark的第一步,不过这一步并没有体现零知识的性质,随着后续的一些章节,我们会逐步打开Stark的神秘面纱
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!