# ​​开罗世界到底是什么


By [0xBai_](https://paragraph.com/@alpies) · 2023-11-10

---

### 破译开罗 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](https://starkware.co/resource/cairo-roadmap-join-the-ride/)（现在 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 极大地增强了开发人员体验，简化了合约编写并减少了出现错误的机会。开罗成为推动去中心化创新的强大工具。

---

*Originally published on [0xBai_](https://paragraph.com/@alpies/Fsf2h8oQzxYiR2m1hwfM)*
