Kakarot是一个基于CairoVM的第3类zkEVM,于2022年10月启动。
原文标题:Kakarot: an intro to the first modularzkEVM
原文作者:Elias Tazartes,Kakarot 团队成员
原文来源:medium
编译:Yvonne,MarsBit
注:原文来自Kakarot 团队成员 Elias Tazartes 发布文章,MarsBit整理编译。
TL;DR:Kakarot 是 第3 类(即将成为 2.5 类)zkEVM,构建在 CairoVM 之上。该项目于 2022 年 10 月启动,目标包括:从构建之初开源,用不到 10,000 行代码创建一个 zkEVM。我们在短短六个月内就实现了这一目标。我们将在 2023 年夏末发布测试网。
另,文末提供了一个术语表,用于了解 EVM、zkRollups以及zkEVM 。
CairoVM 的不完整入门
CairoVM是一种支持可证明执行的虚拟机,是Starknet的基础。Starknet 是以太坊生态系统中的通用二层validity rollup。CairoVM 允许使用 STARK 证明 Starknet 上的每笔交易。这需要开发者在相关编程语言 Cairo 中构建去中心化应用程序 (dApp)。
用 Cairo 背后的团队 Lior Goldberg 和 Shahar Papini 以及 Michael Riabzev 的话来说:
“Cairo,一种实用高效的图灵完备 STARK 友好型 CPU 架构。我们描述了一组多项式方程来证明在此架构上的执行是有效的。给定一个想要证明的陈述,Cairo 允许编写描述该陈述的程序,而不是编写一组多项式方程。”
要点:用 Cairo 编写的程序是可证明的,这具有改变游戏规则的优势——用高级语言编写可证明的程序。因此,希望利用零知识密码学的可扩展特性的开发者不再需要编写电路。
那么,用Cairo重写以太坊虚拟机 (EVM) 会产生 zkEVM 吗?
Cairo 的共同发明者Shahar Papini于 2022 年 7 月 20 日发推称:
这个想法很简单:EVM 是一个成熟的、定义明确的 VM 架构。142 个操作码、9 个预编译和更新这些操作码或预编译的民主过程。如果Cairo 构建,是否会“免费”获得 zkEVM,即直接获得零知识的扩展特性?剧透一下,是的。
从那时起,该想法在 Starknet 社区中获得关注。Abdel是 Starkware exploration团队的负责人,也是以太坊核心开发团队的一员,他于 2022 年 10 月开始实施这一构想。大约在同一时间,Starknet 的开源构建者社区在 Onlydust 的帮助下聚集在一起,启动了一个类似的并行项目,前者在里斯本的 StarknetCC 期间吸纳了后者。
到 2022 年底,Kakarot 实现了 100% 的 EVM 操作码
在里斯本的一个黑客之家,一周的专注工作,大约十个人构建了一个 zkEVM。Kakarot核心团队诞生。我们意识到这是可行且强大的。一个简单的zkEVM实现,只需要不到5000行代码。没有电路,没有多项式。只是高层次的、富有表现力的代码。
在 Starknet 基金会和 Onlydust 的帮助下,我们开始了这次冒险。我们的价值观是开源、开放贡献和社区驱动的技术战略。Clément和我领导并协调了这项工作。如今,Kakarot 拥有 40 多个独特的贡献者。虽然 Kakarot 正在为构建生产级 zkEVM 而努力,但我们的价值观是不会改变的:永远开源并对外部贡献开放(+ 每个贡献奖励 -加入我们!)
截至 2023 年 5 月,Kakarot 已实现 100% 字节码等效(相当于第3 类zkEVM),并实现了 9 个EVM 预编译中的 8 个。根据 Vitalik 的分类,它将达到 9 个从而满足类型 2.5 的定义。因此,使用Solidity 或任何其他 EVM 支持的语言编写的 dApp 可以部署到 Kakarot 上,而无需对现有代码进行任何修改。
下一步规划?将 EVM 引入 Starknet 并构建 zkEVM-Rollup-as-a-Service 产品。
当我们分析市场时,我们注意到与其他 zkEVM 相比,Kakarot 处于劣势——一个不到 10 人的团队,预算和品牌知名度不足。部署为通用 zkEVM L2 似乎有风险。那么,还有哪些其他策略看起来合理?将 EVM 兼容性引入 Starknet 并利用分形扩展。
我们坚信 Cairo 将在未来几年被证明是零知识工程的最佳组件。我们还相信 EVM 仍将是开发者最常见的抽象层。这就是我们将 EVM 兼容性引入 Starknet 的原因。很快,团队将能够通过 Kakarot 在 Starknet 上部署他们的 Solidity dApp。
此外,我们认为应用链(或特定于应用的 L3)将比人们预期的更快出现。OP 堆栈获得的吸引力就是一个很好的例子。通过利用 Kakarot 的模块化特性(小而灵活的代码库,适用于任何 Cairo 链),我们能够构建一个 zkRollup-as-a-service 工具。
一句话:帮助特定应用程序将 zkEVM 作为 L3 部署在 Starknet 之上。EVM 环境、低 gas 和快速执行。加密安全。
要先睹为快,请查看基于 Substrate 的 Starknet 排序器Madara。Madara + Kakarot = 基于 Substrate 和 CairoVM 的 zkEVM L3 🔥!
词汇表
l EVM(以太坊虚拟机):EVM是一个图灵完备的虚拟机,在以太坊区块链上执行智能合约。它充当这些合约的运行环境,处理指令并管理网络状态。开发者可以使用 Solidity 等语言编写智能合约,然后将其编译为 EVM 字节码并由虚拟机执行。
l zkRollups:zkRollups 是区块链网络(尤其是以太坊)的 2 层扩展解决方案。他们将多个交易捆绑成一个证明,然后发布在主链上。通过使用零知识证明,zkRollups 可以实现更高的吞吐量和更低的交易成本,同时保持高水平的安全性和去中心化。
l zkEVM(零知识以太坊虚拟机):zkEVM 是一种包含零知识证明系统的 EVM 实现。它通过利用加密技术证明交易的正确性而不泄露其细节,从而允许执行具有更高隐私性和可扩展性的智能合约。