可扩展性是以太坊区块链开发中的主要关注点之一。一个可扩展的区块链可以同时处理成千上万的交易,但只需要支付低廉的交易费。
由于以太坊上的大量dApps和用例,我们经常会遇到大流量的网络活动。这确实会导致网络拥堵和极高的gas费用。因此,以太坊需要扩容方案。
以太坊平均gas价格
ETH 2.0将主要通过引入分片(sharding)机制来解决部分与扩展性有关的问题。
分片是这次升级的一个重要部分。它将一个大的链分割成小的链(分片)。然后,工作负载将被分配给几个验证器。这种分布大大地提高了可扩展性。同时处理的交易数量将增加。因此,网络拥堵将减缓,而交易费用也将减少。
ETH 2.0(更确切地说,分片)被认为是第一层的扩展(layer 1
scaling)解决方案。这意味着,它有助于扩展区块链本身。然而,为了实现更高水平的可扩展性,我们需要有第2层(layer 2
scaling)的扩展解决方案。
第2层解决方案是那些试图在以太坊区块链之上提高可扩展性的解决方案 — 而不是内部。
本文中,我将回顾第二层解决方案的三个主要类别:
侧链Sidechains
通道Channels
卷叠Rollups
译注:关于Rollups的翻译采用V的建议
https://twitter.com/vitalikbuterin/status/1326360607109640192
#1 — 侧链Sidechains
“侧链”是独立的区块链,与以太坊主网平行运行,独立运作。一般来说,侧链不依赖于主区块链的安全,它们有自己的共识机制。因此,他们被认为是不太安全的。
应用项目:Polygon
Polygon是一个互操作性(interoperability)的第二层扩展解决方案,用于构建兼容Ethereum的区块链。它的原生代币 —
MATIC — 被用于治理、押注和支付气体费用。Polygon使用一个股权证明(PoS)共识机制。
Polygon的主要理念是一个叫做 “链桥chain
bridge”的概念。要使用Polygon,你必须通过链桥使用锁和铸币机制将ETH交换到MATIC。换句话说:
将ETH存入链桥
该ETH被锁定在一个智能合约中
Polygon为你铸造等量的MATIC代币
MATIC代币将被烧毁,而ETH则从智能合约中释放
根据你使用的链桥,交易可能需要几个小时到几个星期。例如,使用plasma桥,交换大约需要一整个星期。
另一个挑战是,Matic或其他基于侧链的解决方案并不依赖以太坊区块链的安全性,他们运行自己的共识机制。
由于这些问题,替代的第二层扩展解决方案,如卷叠Rollup,正在获得更多的青睐。
#2 — 状态通道
“通道”允许通过允许在链外(L2)进行X次交易并向网络提交两个交易到链上(L1)来减少第一层的负载和交易成本。这可以通过以下的2个链外交易工作流程实现:
第一个交易打开连接。参与者必须将以太坊的一部分状态锁定在一个多签名合约中。
第二笔交易关闭连接。当交易完成后,提交最后一个链上交易并解锁状态。
通道工作流程可以处理支付(支付通道)或一般状态更新和计算(状态通道)。
通道是在主网上建立即时提款/结算的一个伟大的解决方案。此外,它带来了高吞吐量和极低的成本。另一方面,建立和结算通道的时间和成本可能很高,如果成员没有达到有效的退出状态,预计退出时间会很长。
应用项目:Celer Network
Celer Network是一个运行在现在和未来区块链之上的系统。利用链外扩展,Celer帮助开发者建立、运营和使用高度可扩展的dApps。
Celer Network采用分层架构(cStack),具有简洁的抽象性。每一层只需要专注于实现其功能:
cChannel:通用的状态通道和侧链套件。这是Celer网络的底层,与不同的底层区块链互动,并为上层提供最新状态和有界时间最终性的共同抽象。cChannel使用状态通道和侧链技术,它们都是链外扩展平台的基石。
cRoute:可证明的最优价值转移路由。cRoute,引入了分布式平衡路由(DBR),它使用分布式拥堵梯度(distributed
congestion gradients)路由支付流量。
cOS:支持链外应用的开发框架和运行时间。cOS是一个开发框架和运行时间,每个人都可以轻松地开发、操作和与可扩展的链外dApps互动,而不会被链外扩展引入的额外复杂性所困扰。Celer
Network允许开发者专注于应用逻辑并创造最佳的用户体验,由cOS来处理繁重的任务。
#3 — Rollups
“Rollups”是在以太坊主网(第二层)之外执行交易的解决方案,交易完成之后,将交易数据送回主网(第一层)。换句话说,Rollups试图从区块链本身卸载交易量,并在一个单独的链上执行交易。
基于Rollup的第2层解决方案有很多好处:
**更高的tps和更低的交易费用:**目前以太坊区块链每秒可以处理15–45笔交易。第2层的扩展解决方案将这个数字提升到1000–4000tps。最后,随着ETH
2.0的推出,以太坊区块链有望每秒处理约10万笔交易。更多的tps也意味着更少的网络拥堵。这可能会减少网络上的交易费用。
更快地交易确认:rollups背后的主要想法是将交易量从主区块链中卸载,并在另一层中处理它们。Rollups在第1层部署智能合约,它们负责存款、提款和验证交易。交易确认也可以在批量模式下进行。
更加安全:rollups依赖于以太坊区块链的安全性。因此,他们被认为是更安全的。
Rollups也有一些挑战:
可组合性:要在同一个rollup上组合使用多种协议(uniswap,compound,…)的交易
流动性缺乏:流动性较低,滑点较高,交易执行较差。
对侧链的威胁:与侧链相比费用更高
然而,总的来说,rollup和第二层扩展解决方案被认为是改善区块链的可扩展性、安全性和去中心化的特殊解决方案。
现在让我们更详细地讨论不同类型的卷积解决方案。
乐观卷叠Optimistic Rollup
Optimistic Rollup使用欺诈证明(fraud
proof)。欺诈证明的主要思想是向第1层发送最小数据,并假设(乐观地认为)它是正确的。在交易有效的情况下,区块链不需要做任何事情。如果它是无效的,它必须识别它,回滚状态,并惩罚发件人。
为了实现这一点,方案使用了一个
“争议解决系统”。它检测欺诈活动,核实欺诈证明,并抑制不良行为者。为了防止不良行为者向网络发送垃圾交易,发送者还必须提供保证金(通常以ETH的形式)。如果在第一层检测到欺诈活动,这个保证金将被削减作为惩罚。
在Optimistic
Rollups中,预计会有很长的提款期(甚至几周)。这主要是因为所有的网络参与者都必须在第1层最终完成交易之前发送证明。另一方面,Optimistic
Rollups在开发者之间很受欢迎,主要是因为该技术使用所有现有的以太坊技术栈,几乎没有修改。
应用项目1:Optimism
Optimism的主要思想是,交易的排序可以在一定时期内拍卖给其他各方。这些其他各方被称为 “排序者Sequencers”和
“验证者Verifiers”。
Sequencers是负责在第二层运行交易并将交易数据和新的L2状态提交给第一层的节点。
Verifiers是负责防欺诈的节点。他们通过将新状态根与排序者提交的状态根进行比较来完成这一工作。
Sequencers和Verifiers都在运行L2Geth —( Geth是以太坊协议最流行的实现)的一个略微修改的版本。
Optimism工作流程将使Ethereum更具可扩展性。有了Optimism,Sequencers和Verifiers将负责处理交易。因此,以太坊主区块链的计算负载将大大减少。此外,由于竞争减少的直接结果,gas费用也将下降。
Optimism项目的一个可能的瓶颈是其Sequencers节点的中心化性质。根据公告,将只有一个Sequencers节点由Optimism团队内部管理。作为一个未来的计划,他们希望将其去中心和,以使项目更加稳定和安全。在那之前,这种中心化的特点使Optimism项目不能成为一个最优的项目。
应用项目1:Arbitrum
Arbitrum有一个不同的争端解决模式。他们不是在第1层重新运行整个交易来验证欺诈证明(fraud-proof)是否有效,而是使用一个互动的多轮模式,缩小争端的范围,只在第1层执行几个指令来验证可疑的交易是否有效。它还运行一个负责给交易下命令的Sequencers。
在arbitrum工作流程中,也有两个主要角色参与:
Sequencers(Batchers):这些节点负责从第2层获取用户交易,并将交易数据提交给第1层。
Validators验证者:这些节点负责读取和处理主层的交易数据,最后更新第2层的状态。
Arbitrum的技术实现比Optimism要复杂一些。例如,它有以下组件:
两个不同的L1智能合约(delayer和sequencer inbox)来发布交易数据。
三种类型的批处理节点(转发者forwarders,排序者sequencers,和聚合者aggregators)。
三种验证策略(防御性Defensive、StakeLatest和MakeBlocks)。
他们自己的虚拟机被称为Arbitrum虚拟机(AVM)。
Arbitrum自己的操作系统(ArbOS)。
这在实现第二层解决方案的时刻,给了开发者和用户很多的灵活性和新的选择和功能。然而,背后的工具和技术的复杂性,使其成为一种应用起来比较困难的技术。
ZK Rollup
ZK Rollup使用有效性证明validity proofs。不会存在争议解决方面的问题。相反,它使用一个叫做
“零知识zero-knowledge”的密码学概念。每一个发布到第1层的批次都包括一个叫做
“zk-snark”的加密证明。当交易批次提交时,该证明可以被第1层合约快速验证,无效的交易可以被立即拒绝。不存在提款周期长的问题。然而,由于EVM的兼容性,实施的复杂性要高得多。它们的计算量也比较大。
应用项目:Loopring
Loopring是一个去中心化的代币交换协议。根据其白皮书:
Loopring作为一套公共的智能合约运行,负责交易和结算,由链下的actor组来汇总和沟通订单。
该协议是免费的,可扩展的,并作为纳入交易所功能的去中心化应用程序(dApps)的标准化构建块。其可操作的标准促进了无信任的匿名交易。
与目前的去中心化交易所协议相比,一个重要的改进是订单能够与其他不同的订单混合匹配,避免了双代币交易对的限制,并大幅提高流动性。
Loopring还采用了一个独特而强大的解决方案,以防止抢跑(front-running):不公平地试图比原始交易顺序提供者更快地将交易提交到区块。Loopring与所在的区块链无关,可部署在任何具有智能合约功能的区块链上。
Loopring被认为是Ethereum最好的基于zkRollup的Layer2解决方案之一
Loopring第2层的资产与在以太坊主网上的资产同样安全。
交易费用降低到以太坊主网费用的1/30–1/100。
Loopring第2层每秒可以结算近2000笔交易,并近乎即时的确认交易。
Loopring与区块链无关,任何基于智能合约的区块链都可以集成到它。
人们对Loopring经常抱怨,这与Loopring
DEX的巨大延迟有关。然而,它仍处于测试阶段,我们仍处于使用此类技术和解决方案的早期阶段。
最后的思考
第2层的扩展解决方案正在解决以太坊区块链最重要的问题:
增加了以太坊的吞吐量(每秒的交易)。
减少了验证延迟(交易被确认的时间)。
大大降低了交易(gas)费用。
而在Rollups的情况下:
它们通过依赖以太坊区块链的安全性来确保高水平的安全性。
这可以通过分离第1层(以太坊区块链)和第2层(侧链或Rollups)中的关注点来实现。简单地说,在基于第2层的解决方案中,主网(第1层)只负责接收输入,将其发送到第2层,并接收回结果。在这样的好处是大部分的复杂工作(计算部分)都发生在第2层。因此,我们可以期待拥有一个更快、更便宜、更可靠的区块链。
我们仍然处于采用L2扩展解决方案的早期阶段。然而,有了L2解决方案和ETH 2.0(一旦推出),以太坊区块链的未来是超级光明的。