为了解锁以太坊的安全和去中心化扩展,有效性汇总使批量交易的验证比简单的重新执行更加高效。第 2 层 (L2) 上的专用节点(称为排序器)将交易捆绑到新的 L2 区块中,而以太坊主网节点则以最小的努力确认这些交易。
Starknet 是一个利用 Cairo VM 的有效性汇总,专门设计用于优化有效性证明的效率。Starknet采用STARKs(可扩展、透明的知识论证)作为证明系统,能够为复杂的计算生成简洁的证明,从而大大降低链上验证过程的复杂性。
在这篇博文中,我们将深入探讨使 Starknet 成为 TPS 性能最高的 L2 的不同组件 - Cairo VM、CASM、Cairo Zero、Cairo 和 Sierra。
为通用计算程序创建有效性证明需要深入掌握 STARK 背后的复杂数学原理。对于每个计算,构建代数中间表示 (AIR) 至关重要,它包含一组准确表示给定计算的多项式约束。Cairo 最初被称为“CPU AIR”,是一个虚拟 CPU 和一个单一的 AIR,能够使用相同的“通用”AIR 描述任何计算。Cairo VM 是专门为有效性证明系统量身定制的,并且不受 EVM(以太坊虚拟机)施加的限制。
开罗虚拟机评估值 目的 证明优化的虚拟机区块链计算模型冯·诺依曼架构基于堆栈的机器基本型字段元素 256 位字内存模型非确定性只读存储器(优化内存访问证明的关键)读\写内存需要更多的计算来生成证明。
CASM(Cairo Assembly)是Cairo VM运行的机器代码。CASM 被转换为强制程序正确执行的多项式约束。CASM 是生态系统中的关键组件,因为无论用户向 Starknet 测序器发送什么内容,所证明的都是正确的 CASM 执行。
Cairo Zero 于 2020 年发布,推出了世界上第一个图灵完备的语言,用于创建 STARK 可证明的程序,彻底改变了可验证的计算。开罗零号程序在本地编译到 CASM 中,然后发送到 Starknet 定序器。尽管具有开创性,但开罗零号由于其低级性质而具有陡峭的学习曲线,并且没有完全抽象出证明程序执行所需的底层加密原语。
Cairo(现在 v2.1.1)克服了 Cairo Zero 的局限性,承诺更安全、更高效的合约编写。Cairo 通过类似 Rust 的语法并抽象出 Cairo Zero 中存在的限制(例如一次写入内存),极大地改善了开发人员的体验。Cairo 从 Rust 世界带来了现代编程概念,例如特征/实现、泛型、枚举匹配,而不会影响底层 CairoVM 带来的证明生成效率。
与开罗一起到来的是塞拉。Sierra 是开罗和 CASM 之间的中间代表。这个附加层确保用户代码在所有情况下都保持可证明。Sierra 编译为“安全 CASM”,这是 CASM 的一个子集,保证对所有输入都可证明。用户代码和经过验证的代码之间的中间层对于保护 Starknet 定序器免受无法证明的事务形式的 DOS 影响至关重要。
Sierra 的一个也许令人惊讶的好处是,由于这种简单的中间表示,Starknet 定序器最终可以直接在本机硬件上运行,而不是通过 CairoVM。为了说明执行 Sierra 的定序器的强大功能,请考虑以下示例:可以使用来自 Sierra 的类型信息来处理本机类型(例如 u32),而不是在 CairoVM 的素数字段中工作。
Cairo 建立在 CairoVM 奠定的基础上,彻底改变了可验证计算。凭借类似 Rust 的语法和现代编程语言功能,Cairo 极大地增强了开发人员体验,简化了合约编写并减少了出现错误的机会。开罗成为推动去中心化创新的强大工具。

