Kakarot zkEVM解析

概述

以太坊的出现彻底改变了加密世界,为去中心化应用程序(dApp)带来了多种可能性。然而,这一进步也带来了一个至关重要的难题:如何在安全性、去中心化和可扩展性之间取得平衡,且不在其中任何一方面做出妥协?

在这种复杂的背景下,L2 解决方案应运而生,它既能解决可扩展性问题,又能利用以太坊的安全性和去中心化。Vitalik Buterin 本人认为,在这些解决方案中,zk-Rollup 最有前途。然而,由于以太坊最初的设计并不支持 ZK 证明,因此要将 zkEVM 作为 L2 来构建,就必须在与以太坊虚拟机(EVM)的兼容性和性能之间找到折衷方案。大多数 L2 解决方案都优先考虑兼容性,而 Starknet 则脱颖而出,专注于性能,以牺牲兼容性为代价,实现性能最大化。

在这种不断变化的格局中,Kakarot 提出创新的解决方案,成为 Starknet 的超优化 zkVM 与 EVM 兼容性之间的桥梁。本文探讨了单片区块链的局限性向模块化架构的过渡,并深入分析了 Kakarot 如何将自身定位为实现兼容性与性能平衡的催化剂,将 EVM 的网络效应带入 Starknet 的 ZK 超优化世界。

本文将通过以下几个方面来介绍 Kakarot :

post image

一、问题:

  1. 单片区块链的局限性

  2. Rollup 和 ZK

二、解决方案:

  1. Kakarot 简介

  2. Kakarot 的优势

  3. Kakarot 的历史

三、功能:

  1. Kakarot 目前的运作方式

  2. 技术特点

四、团队和资金:

  1. 团队构成

  2. 资金和投资者

五、路线图:

  1. Kakarot 的发展阶段

  2. 加强 Starknet 生态系统

  3. 证明以太坊层和其他 EVM 链

一、问题:

1.1 单片区块链的局限性

以太坊于 2015 年 7 月 30 日通过 ICO 推出,募集资金超过 800 万美元。其他项目专注于支付和转账等特定功能,而以太坊则被设计为能够处理各种应用的通用区块链技术。它的主要目标是让开发者能够创建各种类型的 dApp,以满足用户的需求,同时在一个安全和去中心化的环境中运行。事实证明,这种方法非常成功。

最初,以太坊的目标是覆盖区块链的所有方面,包括结算、共识、执行和数据可用性。然而,很快人们就发现,这种单一的方法并不能同时有效地解决安全性、去中心化和可扩展性方面的挑战。2017 年出现的 CryptoKitties 和 2021 年的 DeFi 热潮就证明了这一点,当时一笔简单交易的成本可达数百美元。虽然这表明对 Web 3 的需求不断增长,但从长远来看,尤其是对小用户来说,这并不可持续。

这个问题被称为「区块链不可能三角」,突出了去中心化、可扩展性和安全性之间的内在权衡。三者不可能同时实现,必须牺牲一个要素才能完全满足其他两个要素。

为了解决这个问题,以太坊采用了模块化方法,以太坊作为结算层,确保安全性和去中心化,而L2(建立在以太坊之上)则为用户带来可扩展性。尽管模块化的程度会有所不同,尤其是新的数据可用性解决方案,如 CelestiaAvail 或 Eigen Layer,但以下解决方案模块化程度提供了最高的安全性,也是目前使用最广泛的:

  • 以太坊:处理数据可用性、共识和结算

  • L2 :侧重于执行

作为提醒,以下是对每个组件的细分:

  • 执行:处理和执行交易

  • 结算:就商定的状态达成共识

  • 共识:商定信息和交易的顺序

  • 数据有效性:确保所有数据的发布、可见性和可访问性

在现有的各种 L2 解决方案(侧链、状态通道、Plasma 和 Rollup)中,Rollup 是最普遍、最有潜力的选择。简单地说,Rollup 涉及在 L2 上执行多个交易,对它们进行批处理,然后在以太坊上的单个交易中仅发送这些交易中的必要信息。在这一类别中,ZK Rollup 与 Optimistic Rollup 相比具有多项优势。事实上,为了保持长期可持续性,Optimistic Rollup 很可能需要过渡到有效性证明或 ZK Rollup。

来源

1.2 Rollup 和 ZK

如果您想了解有关 ZK 为何优于 Optimistic Rollup 的更多详细信息,我建议您阅读文章《Starknet 第 1 部分:L2 全景分析》,第二节 B 和 C 部分。

综上所述,就连 Vitalik 本人也认为 ZK 是比 Optimistic Rollup 更好的长期解决方案。

我认为,从长远来看,ZK-Rollup 最终会击败 Optimistic Rollup,因为它们具有基本优势,比如用户无需等待七天即可提款。来源

总的来说,我个人的观点是,在短期内,Optimistic Rollup 可能会在通用的 EVM 计算中胜出,而 ZK-Rollup 可能会在简单的支付、兑换和其他特定应用案例中胜出,但从中长期来看,随着 ZK-SNARK 技术的改进,ZK-Rollup 将在所有应用案例中胜出。来源

目前,实现 Optimistic Rollup 的结构比 ZK Rollup 容易,而且它们与 EVM 没有任何兼容性问题。因此,构建 ZK Rollup 更费时,也更具挑战性。不过,ZK Rollup 与 Optimistic Rollup 相比有几个优势:

  • ZK Rollup 更安全,因为它们是基于数学的,而 Optimistic Rollup 则依赖于至少一个网络参与者的诚实。

  • ZK Rollup 没有争议期,因此提款时间非常短。另一方面,Optimistic Rollup 需要 7 天左右的提款期(期限越短,网络安全性越低)。

此外,Optimistic Rollup 的优势只是短期:

  • 易于构建: 随着时间的推移,ZK 领域的研究和发现会越来越多,ZK Rollup 的构建难度也会越来越低。此外,ZK-Rollup 服务(ZK-Rollup-as-a-service)解决方案已经开发出来,只需点击几下,就能轻松部署 ZK-Rollup。

  • 与 EVM 轻松兼容:zkEVM 目前正在努力实现与 EVM 的兼容。

  • 以太坊路线图:旨在提高 zk-Rollup 的效率。

这些解决方案目前面临的主要挑战在于,EVM 的设计并不支持 ZK 证明。因此,EVM 环境中的 ZK 证明并不理想,ZK 项目团队必须解决兼容性问题:

  • 它们可以牺牲性能来优化兼容性。

  • 或者牺牲兼容性来优化性能。

zkEVM(尤其是那些以第一类和第二类为目标的开发者)选择了兼容性,而 Starknet 则优先考虑性能。

折衷的结果是,Starknet 上的开发人员必须学习一种名为 Cairo 的全新编程语言,这种语言针对 ZK 证明进行了优化。这给习惯于使用 EVM 的开发人员带来障碍:

  • 他们可能没有时间或动力去学习一门新语言。

  • 项目可能不具备以两种不同语言重写和维护代码所需的财力或人力资源。

有些团队确实需要使用 Solidity。例如,如果有人为以太坊生态系统编写了一个 DEX 或 AMM,现在已经有 60,000 行代码经过审核,随时可以使用,但它只能在 EVM 链上使用。如果这些开发人员想开始使用 Starknet,他们就必须雇用一个全新的开发团队,编写代码,重新审计代码,并维护两个代码库,Tazartes 认为这 "成本高得令人望而却步"。来源

总而言之:

EVM 允许从以太坊网络效应(用户、工具、软件、dApp......)中获益,但它并未针对 ZK 进行优化。

Cairo 针对 ZK 进行了优化,但缺乏 EVM 的网络效应。

有没有可能将两者的优点结合起来?

有可能,而这正是 Kakarot 目前正在构建的。🥕

二、解决方案:

2.1 Kakarot 简介

Kakarot zkEVM 是用 Cairo 语言编写的 EVM 实现。Cairo 是一种可生成执行轨迹的编程语言,可用于生成 Stark 证明。因此,Kakarot 允许开发可证明的 EVM 应用程序。

通过将 EVM 兼容性与 Starknet 生态系统相结合,Kakarot 实现了两全其美:用户和开发人员既能从 Starknet 的发展和创新中受益,又能在 EVM 环境中运行。

Kakarot 团队的核心观点是 Cairo 是 ZK 技术的最佳工具,未来仍将是该领域的首选。与此同时,EVM 将继续占据主导地位。Kakarot 是两者之间的桥梁,使开发者能够在 Starknet 和其他基于 CairoVM 的链上创建 EVM 智能合约。

支持这一愿景的主要原因如下:

  • Cairo 简化了在这些环境中构建 ZK 应用程序的过程。

  • Cairo 已投产数年,表现出了很高的性能。自 2018 年推出以来,没有出现过任何安全问题,StarkEx 已成功执行了价值超过一万亿美元的交易。

  • Cairo 能够通过 STARK 证明创建可证明的 dApp,与 SNARK 证明相比,STARK 证明具有众多优势。

Kakarot 旨在为 EVM 生态系统带来所有这些优势,同时利用 EVM 的网络效应来加强所有基于 CairoVM 的生态系统。

2.2 Kakarot 的优势

Kakarot 是 2.5 类 zkEVM(当第 9 次预编译实现时),其目标是最终成为第一类。这使得用户可以享受 Validity Rollup 的好处,同时保持与以太坊生态系统的兼容性。

通过使用为 ZK 优化的中间语言 Cairo 语言编写其 zkEVM,Kakarot 成为第一个构建在中间 zkVM 上的 zkEVM。这种独特的架构具有一些独有的优势。

第一个优势增强了安全性。得益于 Cairo 编程语言的强大功能,Kakarot 仅用了 10,000 行代码就构建了 zkEVM。这一点非常重要,因为代码越少,合同审核就越容易,出错的可能性也就越小。此外,Kakarot 从一开始就是开源的,任何人都可以验证代码。

我最担心的是,如果 2 年后我们有 100 亿美元的 ZK-rollup,却因为电路约束代码或其周围的 EVM 封装程序中的错误而被黑客攻击。对于后者,请保持简单并进行形式验证。来源

在编程方面,简单才是王道。

此外,与其他 ZKEVM 完全依赖 ZK 组件的安全性不同,Kakarot 依赖 StarkWare 的专业知识。通过使用 CairoVM,Kakarot 从 StarkWare 的密码专家进行的审计和安全工作中获益匪浅。

该虚拟机已经证明了其作为 STARK 证明最高效语言的效率。

  • StarkEx 及其旗舰 dApp,如 dYdX(从一开始就有,但现在正在迁移到自己的主权链 Cosmos)和 Sorare

  • Starknet,StarkEx 的无许可版本,其 TVL 已超过 1.4 亿美元。

第二点与前一点相关,由于有了 Cairo(默认情况下是可证明的),Kakarot 无需构建电路或多项式。

与其他zkEVM(Scroll、Polygon、zkSync、Linea)不同,Kakarot 是一款从纯软件工程角度构建的 EVM,将 zk 的责任委托给了 Cairo(以及 Starkware 的数百名密码专家),这要归功于 Cairo 的独特用法。

这意味着,其他 zkEVM 必须同时构建 EVM 和可证明部分,而 Kakarot 只专注于 EVM,并将可证明部分委托给 Cairo。这怎么可能呢?因为用 Cairo 编写的程序是可证明的,所以希望利用 ZK 密码学可扩展性特性的开发人员不再需要编写电路。Kakarot 只是一个 zkEVM,它的功能是在可证明虚拟机之上实现 EVM。

得益于这种独特的模块化方法,Kakarot 只用了两个半月就实现了 EVM 操作码。

因此,与其他 ZK 相比,贡献和开发大大简化。此外,与其他团队不同的是,Kakarot 团队目前没有任何密码专家。

当其他人都在构建自己的语言时,Cairo 简化了我们的开发。我们的代码库更具可读性,没有深厚数学密码学知识的人也可以使用。这种易用性吸引了 50 多名开源贡献者,使我们能够在短短三个月内实现全面升级兼容性」Danilo 解释说**(来源)**

最后,Kakarot 是市场上最灵活的 ZK 解决方案。较小的代码规模使其能够快速适应更新。此外,Kakarot 还具有利用 EVM 和 CairoVM 社区的优化和更新的独特能力。

这意味着 Kakarot 可以从 StarkWare、其社区和 EVM 社区的持续研发工作中获益,并迅速实现这些创新!

2.3 Kakarot 的历史

Kakarot 的故事引人入胜,鼓舞人心。

2022 年 7 月 21 日,Cairo 的共同发明人 Shahar 提出了在 Cairo 编码 zkEVM 的奇怪想法。其目标是在默认情况下创建一个可验证的 EVM。

来源

StarkWare 的探索负责人 Abdel 立即被这个想法吸引住了。他召集了一个开源开发人员团队参与该项目,并发挥了至关重要的催化剂作用。他创建了项目的 GitHub 存储库,并多次召集 Starknet 开源开发者社区。他还为项目取名为 "Kakarot",意指著名漫画《七龙珠》中的英雄。

2022 年 10 月,该项目势头强劲。在里斯本举行的 「Starknet 黑客之家」活动中,来自 Starknet  社区的约 70 名开发者聚集一堂。在提议的项目中,有一个名为 Kakarot 的项目,一小群开发者联合起来追求其最初的愿景:在 Cairo 对电动汽车运算码进行编码。这些开发人员中就有现在领导 Kakarot 的三人: Elias (CEO)、Clément (CTO) 和 Danilo(生态系统负责人)。

从那时起,这支专门的开源开发团队就开始专注于在 Cairo 实施 EVM 操作码。在短短三个月内,他们就实现了与 EVM 操作码的完全兼容。