以太坊着重强调两点:去中心化和安全性,这使得它处理交易的速度很慢。进而影响了其网络吞吐量,去中心化应用程序(dApp)的扩展能力。
人们想出了许多不同的设计来解决以太坊的可扩展性问题,每种设计都有不同的优点。本指南将介绍以太坊扩展解决方案,并解释它们如何工作以及它们为什么非常重要。
可扩展性是指系统在不牺牲功能的情况下,处理指数级增长的使用量的能力。在区块链技术中,可扩展性是指区块链在不影响功能的情况下,支持增加的交易量的能力。
目前,以太坊处理交易的能力被限制在每秒处理7-15笔交易(TPS)。相反,传统的中心化数据库(如Oracle Database和Microsoft SQL server)每秒可以处理数千笔交易。
以太坊吞吐量低、处理速度慢,是因为它优先考虑去中心化和安全性,而不是可扩展性(可扩展性三难困境)。
以下是以太坊设计影响可扩展性的一些方面:
以太坊的共识算法按顺序处理交易
以太坊使用工作证明(PoW),这意味着网络上的交易必须被所有节点接受和验证。这鼓励了去中心化,也保障了安全性。
缺点是按顺序执行交易会影响交易的最终(确认交易所需的时间)。这进一步导致以太坊无法支持高TPS率。
以太坊将区块大小限制为1MB
以太坊限制了一个区块可以保存的数据量(1MB),因为限制区块大小可以提高去中心化,具体方法是通过使节点更有效地存储区块链历史。更大的区块规模会使人们难以运行完整的节点,进而损害去中心化。
然而,1MB的区块大小限制降低了矿工可以放入一个区块中的交易数据,从而影响网络吞吐量。较小的区块大小也会影响gas的成本,即在以太坊虚拟机中执行操作所需的计算资源。
由于矿工的计算能力有限,它们往往被迫优先考虑费用较高的交易。这在以太坊用户之间造成了一场竞价战争,并迫使交易费用大幅增加。
以太坊扩展解决方案是专门为改善以太坊网络上的交易执行而设计的平台。以太坊的扩展解决方案,如第二层Rollup和侧链,是使用不同机制来增加网络吞吐量的协议。
扩展解决方案可以大致分为两类,“链上”和“链下”,其实就是根据其执行点进行区分的。
第一层扩展解决方案
第一层扩展包括更改区块链网络和重写基础层。“链上”,从字面意义上就意味着对以太坊的可扩展升级是在区块链本身上执行的。
第一层可以通过增加区块大小进行扩展
一种潜在的第一层扩展改进是增加区块的大小。如果以太坊的1MB区块大小变大,矿工将有更多的空间在区块中包含更多的交易数据。
虽然增加以太坊的区块大小会导致TPS速率的增加,但其副作用却是让其向中心化缓慢发展,因为随着区块大小的增加,区块链的大小也会增加——这使得运行完整节点变得困难(除非你有一台超级计算机)。由于这个原因,以太坊社区已经排除了用改变区块大小来进行扩展的方式。
通过使用区块链分片来并行处理交易,以实现第一层扩展
区块链分片是一种对可扩展性的改进,它引入了交易的并行执行,取代了以太坊使用的默认顺序执行模型。在分片中,区块链被分为更小的链(分片),这些链验证和处理独立的交易。
考虑一下以太坊目前的工作方式:
交易被广播到整个网络,直到它们可以被验证。分片不需要所有节点都批准交易。相反,每个分片都有用于审批交易的验证者(称为collator)。
每个序列(分片链上的交易集合)必须由三分之二的collator签名。此外,在实现最终结果之前,被提议的序列必须添加到主链。这些措施有助于确保系统的安全性。
通过分片,以太坊可以在不牺牲去中心化或安全性的情况下提高TPS。随着分片链同时处理不同的交易,网络的整体处理能力会提高。此外,网络参与者仍然可以通过密码证明来证明分片序列的有效性。
之所以被叫做第二层(L2)扩展,是因为它们是在主链(第一层)外执行的。第二层扩展也被称为“链下”解决方案,在一个独立的网络上处理交易,但依赖于主链的安全性。
L2解决方案在设计时通常强调交易速度和可扩展性——这里不太关注去中心化和安全性。因为它们会将交易数据发布到以太坊主网层,L2可以从主网的去中心化和安全性中受益。另外,由于L2解决方案是建立在以太坊之上的,它们不需要自己的原生代币。
这些链下协议可以将多个交易整合为一个交易,并添加到主链。这减少了对网络的压力,并提高了dApp的可扩展潜力。
第二层扩展解决方案包括:
Rollup
State channel
Plasma
Validium
侧链是一个独立的区块链,它与以太坊主网进行交互,但不依赖于它的安全性。侧链通过跨链桥与以太坊连接,使资产在两个链之间转移。
侧链有利于可扩展性,因为它们被设计成具有不同的质量集,以支持高吞吐量。例如,Polygon侧链使用权益证明(PoS)共识算法来实现更快的交易。
第二层解决方案和侧链的主要区别在于它们的安全保证。L2网络享有以太坊的安全保证,但侧链却没有。
侧链由其自己的共识机制来提供保护,而L2受益于以太坊的共识。这就是为什么许多人认为L2比侧链更安全。
好的以太坊扩展解决方案有助于为web3开发人员和用户提供更低的gas费用和更快的交易,同时也保持交易的安全性。
以下是为什么可扩展性解决方案对以太坊是必要的:
降低交易费用
以太坊的gas费用已经成为众所周知的麻烦。扩展可以减少网络拥塞,并会使得交易成本显著下降。
更低的gas费意味着更好的用户体验和更高的dapp使用率。用户将不必处理失败的交易或支付过高的gas费。
更快的交易
许多可扩展性的解决方案是专门为提高以太坊在更短时间内处理更多交易的能力而创建的。
例如,Rollup可以批量处理数千个链下交易到单个链上交易。
这些改进的最终结果是每秒交易(TPS)速率的提高。尽管估量各不相同,但许多人预计L2和分片将推动以太坊的TPS达到数千。
改进的安全性
L2非常适合在不降低网络安全性的情况下扩展以太坊。与链上扩展不同,链下扩展项目不会影响以太坊的去中心化。
尽管这些L2是独立的链,但它们的安全性与以太坊区块链紧密相连。这意味着用户可以安全地与这些项目进行交互,享受可扩展性带来的好处,而无需担心资产安全。
五种最流行的以太坊扩展解决方案是:Rollup、侧链、state channel、plasma 和 Validium。
Rollup
Rollup是把链下执行的多个交易合并或“卷”成一个批处理,并将其传到主链上。单个Rollup可以包含数百(如果不是数千)个交易,它们通过压缩来减少主链必须处理的交易量。
除了提高可扩展性之外,Rollup还提供了类似以太坊本身的安全级别,因为Rollup中的交易锚定在L1链上,这保证了交易的完成。
有两种主要类型的Rollup:Optimistic Rollup和ZK-Rollup,它们是根据交易计算和发布到以太坊的方式来区分的。
ZK-Rollup执行链下计算,并生成一个名为Succinct Non-Interactive Argument of Knowledge(SNARK)或Succinct Transparent Argument of Knowledge(STARK)的密码证明。这些“有效性证明”保证了主链上节点的批量交易的有效性。
Optimistic Rollup假定交易在默认情况下是有效的,并且不会为每个交易包生成有效性证明。然而,Optimistic Rollup中交易的有效性可能会受到欺诈证明的质疑。
ZK-Rollup更安全,因为它们生成有效性证明,但是,这使得它们比Optimistic Rollup慢。
ZK-Rollup是一种复杂的机制,因此很难将EVM兼容性编程到它们当中。因此,与Optimistic Rollup相比,ZK-Rollup的功能有限。
Polygon正在致力于零知识EVM (zkEVM),以增加零知识聚合到以太坊网络的功能,并计划Hermez 2.0。
使用Optimistic Rollup的以太坊L2:
Optimism
Boba Network
Immutable X
使用ZK-Rollup的以太坊L2:
zkSYNC
Loopring
dYdX
StarkNet
作为一名开发人员,我们可以将Rollup集成到dApp中,以提高交易的最终性和可扩展性。通过这种方式,我们的用户就不必支付高昂的gas费、体验中断的交易和缓慢的处理速度——这些在以太坊中经常发生。
侧链
侧链是一种第二层解决方案,它是一个独立的区块链,与以太坊主网并行运行。它们之间的差异可以是加密经济激励机制、共识机制等。
专门为以太坊设计的侧链具有以太坊虚拟机(EVM)兼容性,可以支持智能合约。这意味着我们可以在侧链上部署项目,并利用它们对dapp的可扩展性进行改进。
跨链桥是将侧链连接到以太坊智能合约平台的必要条件。顾名思义,区块链桥为用户在主链和侧链之间移动资产提供了一个网关。
要使用桥,就必须在原始链上锁定一些资产。之后,会有等量的资产在侧链上产生并存入到我们的钱包当中。
我们可以在侧链上自由交易,利用其优越的交易处理能力。如前所述,侧链是为提供可扩展性而设计的,并使用不同的机制来实现这一点。
以太坊侧链:
Polygon
xDAI
SKALE
其他替代的第一层(L1)区块链也可以作为以太坊侧链,特别是与EVM兼容的区块链。这些L1通常提供更低的gas费用,更好的交易最终性,以及在某些特定情况下更丰富的功能。
兼容EVM的L1:
Avalanche
Fantom
Binance Smart Chain
State channel 扩展解决方案
State channel是链下的扩展解决方案,在不需要主链验证每笔交易的情况下,允许双方进行交易。State channel本质上是一个多重签名的智能合约,它只在需要的各方同意的情况下执行。
State channel 如何运作?
Alice和Bob开一个State channel,Bob每天早上都卖她咖啡。让我们假设她在channel中存入了0.4 ETH,这笔交易在主网上发布。
在开始交易之后,只要他们愿意,Alice和Bob可以在链下执行交易。唯一需要注意的是,双方都必须签署交易,这意味着Alice和Bob必须批准每笔咖啡付款。
如果Alice用光了她的存款,她可以在主链上发布退出交易。该交易将为channel的最后一个已知状态,然后记录该状态以确定是否结束。Alice和Bob可能已经进行了十几次交易,但以太坊网络只记录了两笔交易——进入和退出交易。
State channel允许各方进行安全的链下交易,而不必经历漫长的等待时间和高额的交易费用。它还提高了可扩展性,因为矿工需要处理的交易更少,工作速度更快。
使用State channel的以太坊扩展解决方案:
Raiden Network
Connext Network
Celer Network
Plasma链
Plasma的白皮书引入了“子链”的概念,它起源于主区块链或“根链”。虽然Plasma链可以验证交易,但它们依赖于根链的安全性。为了证明交易的有效性,子链向根链提交密码证明。
Plasma链与侧链类似,因为它们通过智能合约与以太坊区块链连接。使用Plasma链需要在子链上获得代币之前,将ETH锁在根链上的智能合约中。
Plasma被认为是一种L2扩展解决方案,因为它直接从以太坊的基础层获得安全性。这就是为什么它们比侧链更安全。
Plasma为以太坊主链上的每个区块发布Merkle根。区块根是我们可以用来验证交易信息的小块信息。如果攻击发生在Plasma链上,用户可以安全退出主链,并使用证明提取他们的资金。
使用Plasma的以太坊扩展解决方案:
OMG Plasma
Gluon Network
Validium
Validium类似于ZK-Rollup,在主以太坊层外执行计算,它们之间主要的区别是Validium使用“链下数据可用性”,而不是像ZK-Rollup那样在主链上发布压缩数据。
Validium通过数据供应者在链下存储数据,使它们在某种程度上具有托管性。然而,像StarkWare这样的一些解决方案使用数据可用性委员会(Data Availability committee, dac)来确保数据提供者行为诚实。
Validium的费用很低,交易速度快(高达100,000 tps)。然而,它们比其他扩展解决方案(如ZK-Rollup)更可信。
使用Validium的以太坊扩展解决方案:
DiversiFi
Immutable X
以太坊扩展解决方案的两个缺点:
复杂性
许多可扩展解决方案实现起来很复杂,这可能会影响它们的功能。例如,以太坊开发团队一直在推迟分片的发布日期,因为升级需要大量的工作。
较低的安全保障
虽然许多L2和L1扩展解决方案在安全性上依赖以太坊,但它们不能像前者那样安全。每一种可扩展的解决方案都会以一些元素(如去中心化和安全性)来换取速度。用户在使用这些平台之前必须充分意识到这些风险。