您好,欢迎您来到林间号!
官网首页 小额贷款 购车贷款 购房贷款 抵押贷款 贷款平台 贷款知识 手机租机

林间号 > 区块链 > 以太坊扩容方案,以太坊扩容 optimism

以太坊扩容方案,以太坊扩容 optimism

区块链 岑岑 本站原创

由StarkWare撰写

编译:凹凸侠

TL;DRValidity Rollups是最有希望以安全和分散的方式增加以太坊吞吐量的方法。ZkEVM和Cairo VM (CVM)是有效性总结中使用的两种类型的VM。ZkEVM以牺牲性能和可伸缩性为代价,专注于以太网兼容性。Starknet中使用的Cairo VM将性能和可伸缩性置于兼容性之上。当谈到扩展以太坊时,Rollups是今年的热门话题。在各种类型的roll up中,我们认为有效性roll up(VRs),也称为ZK-roll up,是最有希望以安全和分散的方式增加以太坊吞吐量的方法。这个扩展解决方案的核心是使用有效性证书进行可验证的计算。它们是这样工作的:

运营商不是在以太坊的主网络上处理每个事务,而是将事务执行卸载到离线环境中。这个离线环境,作为第二层,意味着运行在以太坊之上的那一层。

二层运营者在处理大量交易后,返回结果申请以太坊的状态,并验证链下执行完整性的有效性。该证书保证批中的所有事务都是有效的,并且由链验证器契约独立验证。这允许以太坊将结果应用到它的状态。

为什么说Validity Rollups是以太坊最有希望的扩容方式?

有效性总结注意:有效性总结经常被错误地称为零知识总结,但这是不准确的。大多数有效性汇总不使用ZKP,也不用于隐私目的。因此,术语“有效性累计”更准确。

在继续离线虚拟机之前,我们需要回答的第一个问题是:什么是虚拟机(VM)?简单来说就是一个可以运行程序的环境,就像运行Windows操作系统的Mac。对某些输入执行计算后,它会在状态之间转换。以太坊虚拟机(EVM)是一个运行以太坊智能合约的虚拟机。

零知识虚拟机(zkVM)是一个程序执行环境,它与程序输出一起,允许生成易于验证的有效性证书。该有效性证书证明该程序已正确执行。当使用术语“zkEVM”时,它通常是指利用以太坊虚拟机(EVM)并能证明执行了EVM的聚合。这个术语可能会引起误解,因为EVM本身并不产生这些证明;相反,证明是由单个证明机制生成的,它从EVM执行的结果开始。另外,这些证明都是关于有效性而不是隐私性的,所以不是完全的零知识证明。然而,为了保持一致性,我们将在本文中坚持使用传统术语“zkEVM”。

虽然所有的有效性总结都旨在通过使用有效性证明来扩展以太坊,但在选择VM执行离线交易时却有所不同。很多有效性易拉宝选择** EVM的设计(因此得名“zkEVM易拉宝”),试图**以太坊上的L2易拉宝。Starknet使用新的VM-Cairo VM(CVM)-专门设计用于优化验证效率。

这两种方式各有利弊,但zkEVM是以性能换取以太网兼容性的,而Cairo VM则是以性能和可扩展性为主。

zkEVM的方法ZkEVM是一个有效性汇总,其目标是将邰方的经验完全引入到第二层区块链中。它旨在总结邰方的开发者环境。使用zkEVM,开发人员在编写智能合约或将智能合约移植到更具可扩展性的解决方案时,不需要更改代码或放弃他们的EVM工具(和智能合约)。

这种方法的主要缺点之一是降低了有效性证明的扩展潜力。因为zkEVM致力于与以太坊的兼容,所以速度较慢,资源消耗较大。与CVM不同,EVM的设计没有考虑证明的效率。这限制了可以提高效率和可伸缩性的优化的使用,并最终影响系统的整体性能。

EVM的可证明性zkEVM方法的核心挑战植根于EVM的原始蓝图——它不是设计来运行在有效性证明的上下文中的。因此,反映其功能的努力不能释放有效性证书的全部潜力,导致效率没有达到最佳水平。这种低效率最终会拖累系统的整体性能。EVM和有效性证书之间的兼容性受到以下因素的阻碍:

EVM采用基于栈的模型,基于寄存器的模型有效性证明更有效。EVM基于堆栈的特性使得证明其执行的正确性和为其原生工具链提供直接支持变得更加困难。

以太坊的存储布局严重依赖于Keccak和大Merkle Patricia树,不利于有效性证明,并强加了大量的证明负担。比如Keccak对于x86架构来说速度非常快(我们一般在上面运行EVM),但是需要90k步才能证明(内置特殊构建)。Pedersen(一个zk友好的散列函数)需要32个步骤。即使使用递归压缩,zkEVM中Keccak的使用也意味着大量的证明者资源最终由用户付费。

所以各种zkEVM都是为了给以太坊工具提供不同程度的支持——zkEVM和以太坊的兼容性越高,性能越差。(关于zkEVM类型的更多信息,请跳到文章末尾。)

为什么说Validity Rollups是以太坊最有希望的扩容方式?

Cairo-VM的方法zkEVM解决方案投入了大量的开发时间来“使EVM为有效性汇总工作”,并将兼容性置于长期性能和可伸缩性之上。还有一个选择:使用全新的专用虚拟机,并在顶层增加对以太坊工具的支持作为附加层。这是Starknet采用的方法,2021年11月未经许可上线。Starknet是第一个在完全可组合的网络上提供通用智能合同平台的有效性汇总。

Starknet使用Cairo-VM (CVM),一种同名的高级语言。Cairo-VM是一个被设计用来高效生成程序执行有效性证书的VM。

使用Cairo(虚拟机和语言),我们可以:

1.优化有效性的证明——每条指令都有一个有效的代数表示。

2.用于编写可证明程序的类Rust语言。

3.高级Cairo和Cairo汇编(VM指令)之间的中间表示(Sierra),允许高效执行Cairo代码。

开发一种新的语言可以让人们根据它的特定需求对它进行定制,并为它配备可以满足以前未满足需求的功能。

Cairo和编码多样化为了创建关于某些计算的有效性证明,这些计算必须首先被表达为一系列描述它的数学约束。由于优化计算以提高效率的挑战以及对特殊工具的需求,该过程可能非常棘手。

Cairo最初是为了简化这项任务,使向StarkEx添加功能和复杂的业务逻辑变得更加容易。Cairo程序被编译成代数机器码——一系列数字——并由固定的虚拟机执行。使用Cairo,生成描述计算的数学约束的整个复杂性——有效性证明的棘手问题——被一组固定的约束(总共不到50个约束)抽象和捕获。因此,开发人员可以使用有效性证书来扩展他们的应用程序,而不需要了解底层的数学和基础设施,只需要使用他们熟悉的语法来编写代码。

https://twitter.com/EliBenSasson/status/1638270015009968134

Starknet讲的是创新,体现在其多样化的编码方式上。Cairo利用STARKs进行最优扩张的能力并不局限于那些在Cairo本地写合同的人。开发人员可以选择最适合他们的方法:

在Cairo本地编写代码:随着Cairo 1.0的发布,开发人员现在可以使用符合人体工程学且安全的Rust语言,这使得编写程序逻辑变得更加容易,并且不容易出错。

Solidity兼容性:Solidity开发者可以编写可以被Cairo VM使用的代码。该方法提供了类似以太坊的开发者体验,并使Solidity智能合约可移植到Starknet。有两种方法可以实现这一点:

翻译:翻译是指将一种编程语言编写的源代码转换成另一种语言的过程。尼瑟米德团队创造了一个曲速翻译器来翻译实体代码到开罗。Warp使Solidity smart contract可以移植到Starknet,有效地使其成为Type 4 zkEVM。它已被用于翻译和部署Uniswap合同,只需做很少的改动。

ZkEVM:Starknet上的Cairo VM可以用来证明另一个VM的执行情况。Kakarot是一个用Cairo写的zkEVM,可以用来在Starknet上运行以太坊智能合约。Cairo VM和zkEVM不是竞争方法。我们可以同时拥有Cairo VM和zkEVM,而不是二选一!

尽管存在时间很短,但Cairo是TVL第四大最流行的智能合同语言,并已获得超过3.5亿美元的收入。

总结zkEVM的目的是为了汇总邰方环境,让开发者使用熟悉的以太坊工具。然而,这种方法抑制了有效性证明的全部潜力,并且可能是资源密集型的。

Cairo VM是专门为有效性证明系统设计的,不受EVM的限制。它由一种新的、安全的和符合人体工程学的Rust启发的编程语言支持,称为Cairo 1.0,它通过使用STARK来证明以太坊的扩展,形成了一种实现最大效率的强大工具。

看到Cairo每周取得的成绩,以及Kakarot zkEVM和Warp等开发者不同选择的成长,令人兴奋。随着Starknet dApp进入生产阶段,它显示了Cairo的强大功能,我们相信它将用于未来更雄心勃勃的项目中。

由于上面概述的三种明显的扩张方式,以及无疑将在未来几个月提供的其他方式,开发商现在对区块链的扩张有了前所未有的控制。

本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。

温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。

原文地址"以太坊扩容方案,以太坊扩容 optimism":http://www.ljycsb.cn/qukuailian/215411.html

微信扫描二维码投放广告
▲长按图片识别二维码