Kakarot zkEVM是一种将EVM和ZK证明结合起来的解决方案,它具有ZK Rollup的安全性和EVM的网络效应,可以提供更短的提款时间,更低的兼容性问题,以及更容易的构建。Kakarot团队由6人核心团队、2名顾问和50多名贡献者组成,旨在提高以太坊的扩展性,促进以太坊的去中心化和核心堆栈的多样化。
原文标题:Kakarot zkEVM: Deep Dive Analysis
原文作者:Starknet OG
原文来源:beehiiv
以太坊的出现彻底改变了加密世界,为去中心化应用程序(dApp)带来了多种可能性。然而,这一进步也带来了一个至关重要的难题:如何在安全性、去中心化和可扩展性之间取得平衡,且不在其中任何一方面做出妥协?
在这种复杂的背景下,L2 解决方案应运而生,它既能解决可扩展性问题,又能利用以太坊的安全性和去中心化。Vitalik Buterin 本人认为,在这些解决方案中,zk-Rollup 最有前途。然而,由于以太坊最初的设计并不支持 ZK 证明,因此要将 zkEVM 作为 L2 来构建,就必须在与以太坊虚拟机(EVM)的兼容性和性能之间找到折衷方案。大多数 L2 解决方案都优先考虑兼容性,而 Starknet 则脱颖而出,专注于性能,以牺牲兼容性为代价,实现性能最大化。
在这种不断变化的格局中,Kakarot 提出创新的解决方案,成为 Starknet 的超优化 zkVM 与 EVM 兼容性之间的桥梁。本文探讨了单片区块链的局限性向模块化架构的过渡,并深入分析了 Kakarot 如何将自身定位为实现兼容性与性能平衡的催化剂,将 EVM 的网络效应带入 Starknet 的 ZK 超优化世界。
本文将通过以下几个方面来介绍 Kakarot :
以太坊于 2015 年 7 月 30 日通过 ICO 推出,募集资金超过 800 万美元。其他项目专注于支付和转账等特定功能,而以太坊则被设计为能够处理各种应用的通用区块链技术。它的主要目标是让开发者能够创建各种类型的 dApp,以满足用户的需求,同时在一个安全和去中心化的环境中运行。事实证明,这种方法非常成功。
最初,以太坊的目标是覆盖区块链的所有方面,包括结算、共识、执行和数据可用性。然而,很快人们就发现,这种单一的方法并不能同时有效地解决安全性、去中心化和可扩展性方面的挑战。2017 年出现的 CryptoKitties 和 2021 年的 DeFi 热潮就证明了这一点,当时一笔简单交易的成本可达数百美元。虽然这表明对 Web 3 的需求不断增长,但从长远来看,尤其是对小用户来说,这并不可持续。
这个问题被称为「区块链不可能三角」,突出了去中心化、可扩展性和安全性之间的内在权衡。三者不可能同时实现,必须牺牲一个要素才能完全满足其他两个要素。
为了解决这个问题,以太坊采用了模块化方法,以太坊作为结算层,确保安全性和去中心化,而L2(建立在以太坊之上)则为用户带来可扩展性。尽管模块化的程度会有所不同,尤其是新的数据可用性解决方案,如 Celestia、Avail 或 Eigen Layer,但以下解决方案模块化程度提供了最高的安全性,也是目前使用最广泛的:
作为提醒,以下是对每个组件的细分:
在现有的各种 L2 解决方案(侧链、状态通道、Plasma 和 Rollup)中,Rollup 是最普遍、最有潜力的选择。简单地说,Rollup 涉及在 L2 上执行多个交易,对它们进行批处理,然后在以太坊上的单个交易中仅发送这些交易中的必要信息。在这一类别中,ZK Rollup 与 Optimistic Rollup 相比具有多项优势。事实上,为了保持长期可持续性,Optimistic Rollup 很可能需要过渡到有效性证明或 ZK Rollup。
如果您想了解有关 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 相比有几个优势:
此外,Optimistic 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 目前正在构建的。🥕
Kakarot zkEVM 是用 Cairo 语言编写的 EVM 实现。Cairo 是一种可生成执行轨迹的编程语言,可用于生成 Stark 证明。因此,Kakarot 允许开发可证明的 EVM 应用程序。
通过将 EVM 兼容性与 Starknet 生态系统相结合,Kakarot 实现了两全其美:用户和开发人员既能从 Starknet 的发展和创新中受益,又能在 EVM 环境中运行。
Kakarot 团队的核心观点是 Cairo 是 ZK 技术的最佳工具,未来仍将是该领域的首选。与此同时,EVM 将继续占据主导地位。Kakarot 是两者之间的桥梁,使开发者能够在 Starknet 和其他基于 CairoVM 的链上创建 EVM 智能合约。
支持这一愿景的主要原因如下:
Kakarot 旨在为 EVM 生态系统带来所有这些优势,同时利用 EVM 的网络效应来加强所有基于 CairoVM 的生态系统。
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 证明最高效语言的效率。
第二点与前一点相关,由于有了 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 社区的持续研发工作中获益,并迅速实现这些创新!
Kakarot 的故事引人入胜,鼓舞人心。
2022 年 7 月 21 日,Cairo 的共同发明人 Shahar 提出了在 Cairo 编码 zkEVM 的奇怪想法。其目标是在默认情况下创建一个可验证的 EVM。
StarkWare 的探索负责人 Abdel 立即被这个想法吸引住了。他召集了一个开源开发人员团队参与该项目,并发挥了至关重要的催化剂作用。他创建了项目的 GitHub 存储库,并多次召集 Starknet 开源开发者社区。他还为项目取名为 Kakarot,意指著名漫画《七龙珠》中的英雄。
2022 年 10 月,该项目势头强劲。在里斯本举行的 「Starknet 黑客之家」活动中,来自 Starknet 社区的约 70 名开发者聚集一堂。在提议的项目中,有一个名为 Kakarot 的项目,一小群开发者联合起来追求其最初的愿景:在 Cairo 对EVM 运算码进行编码。这些开发人员中就有现在领导 Kakarot 的三人:Elias (CEO)、Clément (CTO) 和 Danilo(生态系统负责人)。
从那时起,这支专门的开源开发团队就开始专注于在 Cairo 实施 EVM 操作码。在短短三个月内,他们就实现了与 EVM 操作码的完全兼容。
在没有固定核心团队的情况下,完全依靠开源贡献者以及 StarkWare 和 Only Dust 提供的资助,取得了这一令人瞩目的进展。
Shahar 的推特 2022 年 7 月
黑客马拉松启动:2022 年 10 月
操作码等效 2022 年 12 月
组织成为一个真正的项目 Q1 2023
有 StarkWare 和 Vitalik Buterin 本人参与的预种子项目:2023 年 6 月
种子轮融资 2023 年 11 月
就这样,Kakarot 从一条简单的推文开始,通过开源贡献者社区不断发展壮大。如今,Kakarot 正在一个结构化的框架内发展,拥有清晰的愿景、核心团队和数百万美元的资金支持。
如果你是一名开发人员,对参加黑客之家还犹豫不决,那么 Kakarot 就是一个完美的例子,它充分体现了此类活动所代表的独特机遇,以及开源贡献的力量。此外,Kakarot 的快速协作开发证明了Starknet 社区的承诺和实力。所以,不要对 Starknet 生态失望!
Kakarot 提出的独特的 EVM 实施方案最初将在一个独立的测试网上推出。然后,在第一阶段,Kakarot 将作为智能合约部署在 Starknet 上,Starknet 的功能与区块链类似,但不是区块链。该智能合约将解释 Solidity 字节码,并在 Starknet 上执行 EVM 操作码。要理解 Kakarot,可以这样想:在前端,我们有 Kakarot 和 EVM,但在后端,它是 Starknet。
Kakarot 支持所有 EVM 操作码,即指定要执行的操作的指令。每个操作码对应一个特定的操作,如加法、减法、数据移动等。EVM 使用操作码来执行合约或交易。因此,Kakarot 可充当 EVM 字节码解释器,使 Solidity 智能合约在 Starknet 上运行。
已停运的 WARP 项目只允许开发人员将 Solidity 代码转换成 Cairo,而 Kakarot 则不同,它允许开发人员直接在 Solidity 中部署 dApp。此外,用户还可以使用自己喜欢的工具(如 MetaMask)与部署的 dApps 进行交互。
以下是功能的简化解释:
✅ Kakarot 是一套 Cairo 程序,可部署在任何运行 CairoVM 作为运行时的链上。
✅ Kakarot 可以 (a) 执行任意 EVM 字节码,(b) 按原样部署 EVM 智能合约,(c) 调用 Kakarot 部署的 EVM 智能合约的函数(视图和写方法)。
✅ Kakarot 是一种 EVM 实现。
✅ 与 EVM 操作码 100% 等效。
✅ 九项预编译实现八项(实现九项后成为 2.5 型 zkEVM)
✅ 从第一天起就开放源代码。
❌ Kakarot 本身不是一个区块链。它仍然需要运行 CairoVM 的链才能部署。
❌ Kakarot 不是一个编译器。
作为 2.5 型 zkEVM,Kakarot 将与以太坊兼容,允许开发人员在 Kakarot 上进行构建,用户可以像在以太坊或 Arbitrum 上一样与 Kakarot 进行交互。这种无缝集成意味着用户和开发者不会有任何差异。开发人员可以轻松地复制粘贴他们的 Solidity 代码,而且不会有任何改动(准确地说,只有 Gas 费会发生变化)。用户也可以继续使用自己喜欢的工具,如 MetaMask。
目前,Kakarot 已经集成了 MetaMask、Remix、Foundry 和 Ethers 工具,并正在测试 Hardhat、Viem、Truffle-Box 和 Wagmi 等其他工具。
除了与 EVM 兼容外,Kakarot 还采用了 Starknet 公司的 STARK 证明,与 SNARK 证明相比,STARK 证明具有多项优势。简而言之,STARK 证明在证明重要元素方面速度更快、效率更高,而且不需要可信的设置仪式,从而提高了安全性。这就是为什么越来越多的二层解决方案正在向 STARK 证明过渡。
提醒:STARK 代表可扩展、透明、知识论证;SNARK 代表简洁、非交互、知识论证。
Kakarot 团队由一支 6 人核心团队、两名顾问和 50 多名贡献者组成。
Elias 在里斯本的黑客之家领导着这个项目,并自然而然地成为了首席执行官。另一方面,Clément 一直在领导技术工作,并已成为 Kakarot 的首席技术官。最后,从一开始就参与其中的 Danilo 现在是生态系统负责人。
至于顾问,我们有 Kakarot 的精神之父、EIP-1559 的拥护者、StarkWare 的现任探索领导者 Abdel,以及 AVNU 的首席执行官、Starknet 的现任 DEX 领导者 Mentor。
最后,还有 3 位核心开发人员参与了该项目。
在筹资方面,Kakarot 筹集到的确切金额尚未公开。不过,我们知道他们在第一轮筹款之前就获得了 15 万美元。这笔资金来自 StarkWare 和 Only Dust 的资助。
在 Gitcoin 上的一轮捐款中,他们也筹集到了约 12500 美元。
此外,他们迄今已成功完成两轮投资。
第一轮预种子轮投资,得到了生态系统中许多知名人士的支持,其中最引人注目的是:
第二轮种子轮,汇集了众多顶级投资者,例如:
目前,Kakarot 主要专注于进行以太坊基金会的官方测试:蜂巢和执行测试。一旦这些测试完成,Kakarot 将以独立测试网的形式发布其独特的 EVM 实现。这将使团队能够彻底测试其解决方案的稳健性,并在主网启动前进行优化。
测试网计划于今年年底发布,最初将作为内部测试网运行。社区将有机会在该内部测试网公开之前参与其中,预计公开时间为 2024 年初。
随后,Kakarot 计划通过几项举措加强 Starknet 生态系统。
第一项计划是将 Kakarot 的 zkEVM 作为智能合约在 Starknet 上实施。这将使开发者能够构建由 Starknet 技术保护的 EVM dApp。该项目计划于 2024 年第二季度完成。
接下来,Kakarot 可能会探索将其解决方案作为 L3 部署到 Starknet 上的可能性。这将使其成为星之上的首个通用 L3 zkEVM。与 L2 解决方案相比,它将以更低的成本提供超可扩展性解决方案,每秒交易容量更高。此外,它还将受益于以太坊的安全性,因为 Kakarot 会在 Starknet 上结算,而 Starknet 又会在以太坊上结算。
与当前的 L2 解决方案相比,这种被称为分形扩展的机制为游戏或社交网络等各种应用创造了更有利的环境。
此外,Kakarot 还计划与 Madara 和 Karnotxyz 合作开发 L3 zkEVM 即服务解决方案。这将使任何人都能部署兼容的 EVM 应用链,并使用 STARK 证明在 Starknet 结算。
一键式:在 Starknet 之上为特定应用部署 L3 的 zkEVM。EVM 环境、Gas 费低和快速执行。加密安全。
L3 再次提供了几个优势:
在经历了 L1 时代和 L2 时代之后,下一步就是 L3,目前大多数 L2 都在朝着这个方向努力。
然而,L2 和 L3 的激增带来了一个重大问题:用户和流动性碎片化,以及缺乏互操作性。因此,Kakarot 也计划探索部分解决这一问题的方法。他们的首要目标是促进 Kakarot dApp 与 Starknet 之间的互操作性和可组合性,旨在通过设计实现与 Starknet 的互操作性。换句话说,就是促进从 Solidity 到 Cairo 以及从 Cairo 到 Solidity 的通信。
最后,Kakarot 的目标是采用类型 1 来证明以太坊链,并为以太坊生态系统中证明者的多样性做出贡献。证明以太坊至关重要,因为它增强了网络的去中心化,理论上任何人只需一部手机就能运行一个节点。此外,多个验证器的实现也有利于去中心化,因为这样可以确保在其中一个验证器出现错误时的恢复能力。
你明白了:除了旨在提高以太坊的扩展性,Kakarot 还旨在促进以太坊的去中心化和核心堆栈的多样化。
在迅速发展的以太坊扩展世界中,Kakarot 提出了一个优雅而创新的解决方案来改善这种动态。ZK 解决方案要么定位为 zkEVM(不惜一切代价优先考虑兼容性),要么定位为 zkVM(以牺牲兼容性为代价,专注于为 ZK 构建优化的虚拟机),而 Kakarot 则是一种独特的解决方案,巧妙地在这两种模式之间架起了桥梁。它在兼容性和性能之间架起了一座桥梁,将 EVM 带入了 Starknet 的超优化 ZK 环境。
作为第一个建立在中间 zkVM 上的 zkEVM,Kakarot 与其他解决方案相比,具有更高的安全性和灵活性。其雄心勃勃的路线图超越了简单的 L2,这不仅令人兴奋,而且对于加强 Starknet 生态系统,进而加强以太坊本身至关重要。Kakarot 绝对是一个值得密切关注的项目。
最后,我想说,Kakarot 是一个很酷的项目,而且不止我一个人这么认为......