原文作者:PaweenPitimanaaree
以太坊一直是用户和开发人员的首选区块链,在DeFi和NFT上的TVL超过550亿美元。然而,如此高的网络采用率也给以太坊网络带来了重大问题,尤其是在其可扩展性方面,因为目前的网络在保持理想的去中心化程度的同时,每秒平均只能处理13.5笔交易。
为了提高以太坊的可扩展性,过去几年开发了多种方法,目前正在研究更多方法。这些解决方案包括状态通道、Plasmas、Validiums、Rollups和侧链。
虽然它们可能被分类为不同的类别,但实际上它们并不完全不同。一些基本思想本质上是相同的,并且通常建立在以前的思想之上。
因此,本文的其余部分旨在概述这些以太坊扩展解决方案实际上是如何随着时间的推移而发展的。
以太坊扩容解决方案
以太坊扩展解决方案的示例。
状态通道
状态通道是以太坊扩容最早也是最简单的方法。关键思想是在链下处理交易,只将最终结果发布回主网络。这将减少到主网的不必要的中间交易,从而减少潜在的网络拥塞。
状态通道用户流。以太坊交易的数量可以减少到2笔——打开和关闭通道。
以下是链下交易在幕后的工作方式。想象一下2个用户A和B想要在他们之间转账。如果A向B发送10美元,B向A发送5美元,最后A向B发送20美元。而不是在链上分别发送这3笔交易,如果他们同意A应该在单笔交易中向B发送总共10-5+20=25美元。
为了概括这个想法,一组参与者可以打开一个状态通道并将资金锁定在主网上通道的多重签名智能合约中。然后,他们可以在他们之间解决链下交易,并且只有在同意解锁资金并关闭通道后才将最终状态更新到以太坊。
状态通道主要用于需要就彼此的行为达成一致的两方之间的微交易和支付。它们不能很好地扩展以支持智能合约,因为
dApp通常涉及大量最终用户,这使得各方之间的协议更加复杂。
智能合约dApp通常可以由任何人在以太坊或状态通道上无需许可地进行交互,从而在每个网络上创建不同的事实。
Plasma
Plasma定期将Merkle根状态哈希发布到以太坊。在有人提供欺诈证明并质疑其有效性之前,所有状态更新都被视为有效。
Plasma链只是一个由运营商运行的独立区块链,它定期将检查点保存到以太坊网络。这些检查点存储为Merkle根状态哈希以提高gas效率。这意味着任何交易计算都可以卸载到Plasma链以实现可扩展性,同时利用以太坊层来验证Plasma链的状态更新正确性。
为了确保状态转换正确,Plasma采用了防欺诈机制。每个过渡都被认为是正确的,直到有人在该时间段内对其提出质疑。任何不正确的状态转换都将被简单地丢弃,而新的转换将建立在先前正确的转换之上。
Plasma在正常情况下可以很好地工作。然而,问题之一是当操作者宕机或恶意时。如果运营商停止提供交易信息,那么没有人将能够生成证明来使状态转换无效。因此,运营商的任何恶意行为最终都会在主网中被接受。
在这种情况下,为所有用户实施“大规模退出”方案,以使用最新的有效状态退出Plasma生态系统。但是,整个状态数据将被转储到以太坊上,这可能会引发网络拥塞。
另一个问题是非EVM兼容性。通用智能合约的状态没有明确的类似所有权的结构,这意味着任何人都可能在状态转换中取得进展,从而使这些合约无法退出游戏。
Validium
Validium在以太坊上发布Merkle根状态哈希和ZK证明作为检查点。状态更新的正确性由ZK证明来验证。
Validium还运行自己的区块链并将Merkle根状态哈希发布到以太坊,类似于Plasma。它们的主要区别在于状态更新验证机制。Plasma依赖于防欺诈机制,而Validium使用零知识(ZK)证明,例如ZK-SNARKs和ZK-STARKs。
ZK证明是生成的计算连同状态更新一起提交给以太坊,以确保状态转换是有效的。尽管ZK证明的复杂生成过程可以在链下计算,但链上验证相当容易。这使得Validium可以在以太坊上更新状态和证明后立即确定。
然而,由于其复杂的密码计算,ZK证明与EVM字节码存在兼容性限制。因此,当前可用的Validium应用程序仅限于简单的用途,例如代币传输,仅涉及简单的加减运算。
除了EVM不兼容之外,数据可用性仍然是一个问题。Validium仍然依赖于链下数据存储来确保交易数据始终可以重建为完整的区块链状态。但是,这为安全模型增加了另一层信任,因为它需要信任另一方始终可用并正常运行,即使该方是去中心化的。
Rollup
Rollup发布状态根和压缩交易信息。
Rollup解决了数据可用性问题。它们可以被认为是下一代Plasma链和Validium。除了状态更新之外,交易信息作为calldata在以太坊上发布。这意味着给定在以太坊上提交的所有calldata,总是可以从头开始重建区块链的当前状态。因此,我们不需要单独依赖任何第三方,如DAC来存储状态树。
有两种主要类型的Rollup:OptimisticRollup和ZKRollup。
OptimisticRollup
与Plasma链的工作方式类似,Optimisticrollups认为状态转换是有效的,直到有人挑战。任何人都可以通过在以太坊网络上的“验证者合约”上实施的防欺诈机制来质疑并声称状态更新不正确。
防欺诈机制有多种方法:
Optimism使用单轮交互式证明,以太坊必须在链上执行整个L2交易以进行验证。这种方法可以立即防止欺诈,但会带来大量的计算gas成本。
Arbitrum使用多轮防欺诈,执行链下二进制搜索来查找无效转换状态更新的“操作码”。只有一个操作码在链上执行,这意味着这里所需的gas要低得多。
最终,防欺诈可确保以太坊上发布的状态有效且完全可重构,而无需信任外部各方。Optimisticrollups也与EVM兼容,这意味着在以太坊上运行的任何dApp都可以轻松移植,而无需更改任何代码。这使得OptimisticRollup作为以太坊扩展解决方案被广泛采用。
ZKRollup
ZKrollup只是Validium和数据可用性的结合。该链定期在以太坊上提交其哈希状态以及压缩的交易数据,并使用有效性证明来验证状态转换。
与Validium类似,ZKRollup无法有效地与EVM兼容,因为为完全集成的EVM环境生成证明可能需要数小时才能完成。追求使用EVM或ZK-EVM开发ZKrollup的项目正在平衡EVM兼容性和性能之间的权衡。事实上,Vitalik将ZK-EVM分为4种类型,从完全等效于以太坊到部分兼容EVM,如图1所示。
不同类型的ZK-EVM。
目前,只有尚未与EVM等效的Type4和Type3是可行的,因为必须采取更多的变通方法来使用ZK证明来充分发挥EVM的功能。但是随着以太坊变得对ZK-SNARK更加友好并且正在进行更多的研究和开发,我们应该能够看到Type2和Type1ZK-EVM在未来变得普遍。
侧链
侧链是独立的区块链,运行自己的区块参数和共识机制。他们可以通过双向桥与以太坊通信。然而,与任何其他扩展解决方案不同,侧链不会将任何交易或状态数据发布到以太坊;因此不要继承以太坊的安全性。由于侧链有自己的区块参数,它们可以通过调整某些参数轻松支持比以太坊提供的更高的吞吐量。然而,他们通过牺牲安全性和去中心化来实现这些目标,例如具有中心化验证者或需要高端计算硬件。由于以太坊的愿景是专注于去中心化和安全性,侧链并不是以太坊基金会作为扩展解决方案的重点,尽管它们被认为是减少以太坊交易流量的最有效方法之一。
扩展解决方案的未来
过去的扩展解决方案随着时间的推移而发展——解决了以前扩展设计中的关键问题,例如状态转换验证和数据可用性。在当前阶段,rollup被认为是扩展以太坊的最先进的解决方案,因为它们利用了以太坊安全性和EVM兼容性以适合通用用途。然而,在Rollup方面仍有许多可能的改进领域,以实现进一步的安全性、去中心化和可扩展性:
去中心化Rollup排序器——Rollup可以利用类似PoS的机制来选择排序器,以降低中心化和审查风险。
Rollup之间的直接通信通道——在没有以太坊作为媒介的情况下,在Rollup之间进行桥接和消息传递可以增强用户体验并降低交易成本。
虽然像Rollup这样的链下扩展解决方案已经可以提供多重可扩展性,但以太坊也有自己的计划,通过ETH升级在基础层进行扩展。以太坊分片作为重要的里程碑升级之一,将能够通过与Rollup的集成进一步协同提升以太坊的可扩展性。
分片作为Rollup的数据可用性层——64个以太坊2.0分片链中的一些可以用作Rollup的“数据仓库”,以便在其上发布哈希根。从理论上讲,分片和Rollup可以将以太坊吞吐量提高到100,000TPS。
代码可执行分片——其他分片链将能够运行EVM字节码和以太坊等智能合约。然而,由于之前的分片链使用提供的大吞吐量,这种实现的实际需要有待确定。
凭借足够的可扩展性,以太坊可以支持当前使用的web2服务的高交易吞吐量。向金融的未来迈出了重要的一步。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。