Cover photo

​​开罗世界到底是什么

破译开罗 VM、CASM、开罗零、开罗和塞拉。

介绍

为了解锁以太坊的安全和去中心化扩展,有效性汇总使批量交易的验证比简单的重新执行更加高效。第 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

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 极大地增强了开发人员体验,简化了合约编写并减少了出现错误的机会。开罗成为推动去中心化创新的强大工具。