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