Starknet 作为 Validity Rollup,在以太坊之外执行所有计算,并使用 zk-STARK,即零知识简洁透明知识论证,来证明其结果。与需要可信设置的 SNARK 不同,STARK 利用基于哈希的密码原语和低阶多项式约束来生成可扩展和透明的证明。
Starknet 的核心是 AIR(代数中间表示)——一种高级约束系统,将程序执行转换为一系列低阶多项式。任何执行,包括 Cairo 指令,都被简化为过渡约束,表示状态之前和之后之间的确定性关系,从而将整个计算投影为多项式一致性问题,而不是机器步骤模拟。
Starknet不运行EVM,而是Cairo VM,一个专门为STARK友好的算术设计的虚拟机。Cairo将指令定义为代数跟踪段,然后构建成大规模的执行跟踪。该跟踪被转换为多项式承诺,并通过FRI(快速里德-所罗门交互式Oracle证明)进行验证,该算法确保多项式不偏离允许的阶数。
通过利用FRI,Starknet的证明在跟踪大小上是准对数的,允许生成可以扩展到数千到数百万步计算的证明,而验证的开销保持较小。以太坊不需要重新运行计算;只需验证多项式的完整性。这构建了一个轻量级验证者模型,将复杂性转移到证明者身上。
Starknet的优势来自递归证明系统。证明者可以为大型计算生成STARK证明,然后在另一个STARK中再次证明该证明,从而创建递归压缩管道。最终结果是一个理论上可以代表任意计算的证明,但仍然可以以固定成本由L1验证。
在执行层面,Cairo不仅仅是汇编虚拟机;它是一个面向证明的指令集,其中每个指令都是专门设计的,以生成STARK友好的多项式跟踪。像范围检查、内存访问、偏移量等指令都被建模为与FRI兼容的多项式约束,因此整个虚拟机都是一个数学编码引擎。
Starknet还引入了Sierra——一种中间表示层,防止不可证明的Cairo代码被执行。通过Sierra,整个代码确保从构造上是可证明的,消除了由于无法以代数方式证明的指令而导致的有效性证明失败的风险。
作为有效性汇总,Starknet依赖于通过Merkle Patricia-like结构对以太坊的状态承诺,但不仅仅是哈希树。状态存储在优化为证明局部性的patricia-trie中,因此可以通过STARK进行状态更新验证,而不会给L1带来大量数据的负担。
Starknet的安全模型遵循密码学安全性的范式,而不是像EVM或优化汇总那样的加密经济假设。不需要扩展博弈论;如果证明错误,以太坊将通过数学拒绝它。换句话说,只要其密码学假设正确(冲突抵抗+低阶多项式安全性),Starknet就是安全的。
从分布式系统的角度来看,Starknet在初期实现了集中式排序器,但其长期设计包括去中心化的证明者和排序器,这将构建一个多证明者的管道网络,其中不同的实体可以为不同的批次生成并行证明。这导致了分布式零知识证明市场。
总体而言,Starknet是一个基于多项式的确定性计算机器,而不是普通区块链。它将每种执行形式简化为可以通过以太坊概率验证的数学约束系统。凭借递归能力和AIR结构,Starknet朝着一个新的范式发展——在这个范式中,区块链不再是执行机器,而是数学计算的验证机器。
