摘 要
Ethereum的可扩展性有限,交易费用正在不断上涨。用户经常要为与许多常用的智能合约支付约50美元。
增加区块链的交易吞吐量是一件具有挑战性的任务,因为交易必须由参与共识的每个节点处理。
最有希望的Layer 2扩展解决方案是ZK Rollup和Optimistic Rollup,它们是为了解决之前Plasma实现的弱点而开发的
区块链牺牲了计算和存储的效率以获得更好的信任。用户可以相信他们所做的交易在未来是有效的,而开发者可以相信他们的代码总是可以供用户使用的。
这是因为区块链上的数据具有极高的冗余度。交易必须由每一个参与维护区块链的节点来处理,而且不断扩大的交易数据集必须永远存储。在这个过程中保持较低的进入门槛,可以使区块链保持去中心化。
如今,最常用的区块链是比特币和以太坊。每一个区块每秒大概可以分别处理5笔和15笔交易。在以太坊中,交易不仅仅是点对点的支付,还有更复杂的智能合约交互,需要比普通交易更多的处理能力。
根据节点实现的不同,以太坊区块链规模为160GB,近期去中心化金融产品的需求加速了增长。昨天,用户支付了370万美元的交易费用和450万美元的通胀补贴来处理和存储他们的交易。Gas Price上涨导致许多最常用的智能合约交互费用在5-50美元之间,用户需要支付基本的交互费用。对于比特币来说,每笔交易的平均费用接近5美元。
有效的区块链扩展解决方案可以增加数据存储或计算(交易处理)能力,而不会给维护区块链的节点增加大量成本。
请注意,要想在扩展方面取得进展,需要能够实现指数级改进的解决方案。以最大的容量运行时,以太坊处理的交易数量微乎其微,相比之下,它上面的活动才能被称为真正的、可观的经济活动。
2015年关于改变比特币区块大小的备受瞩目的辩论是一个很好的例子,它说明了在宏伟的计划中,精力被浪费在一个相对微不足道的改进上。2-8倍的改进可能对缓解短期压力很有用,但它也给所有节点带来了未来更高的交易处理成本。这就限制了可以参与共识的人群,从而降低了去中心化程度。
在底层扩展区块链的主要解决方案不应该是(大幅)增加所有节点的成本,而是将交易验证工作分割成更小的碎片("shards")。分片是许多顶级区块链项目扩展的方式--包括NEAR、Ethereum 2.0和Polkadot。通过从区块链的全局验证器池中随机抽样和轮换每个碎片的验证器,可以证明由此产生的安全性与使用整个验证器池(当前的方法)接近。
"Layer 2 "扩展解决方案的常见定义一般是指任何连接到以太坊的系统,它通过将交易(通过一种或另一种方法)批量化到主区块链,帮助提高交易处理能力。
然而,随着互操作性解决方案变得越来越普遍,什么是侧链(或完全是另一个区块链)和Layer 2技术,更好的分类取决于底层安全模型。侧链可以是特定于应用的(如去中心化的交换链),也可以是通用的,并对自己的安全性负责。Layer 2的安全性来自于底层区块链(如Ethereum)。
Layer 1区块链如NEAR和Solana有自己的验证人,负责区块生产,但已经建立了与以太坊的桥梁,将允许在链之间进行代币转移。tBTC有效地使比特币成为以太坊的侧链(或以太坊成为比特币的侧链,取决于你的角度)。
从比特币的角度来看,以太坊的验证人可以窃取用户的资金。这意味着如果以太坊是比特币的侧链,那么两者没有共享的安全性,因为比特币无法对以太坊执行其规则。这就是为什么Liquid不能被认为是比特币的完全安全的侧链--它有自己的验证人,可以窃取用户的资金。
这些模式一般有两种不同的类型:状态通道和非托管侧链(Plasma和Rollup)。对于这些方法,一般模式大约是:
资产可以从链上移动到链下环境(如ETH到Plasma链)。
交易在链外环境中进行。
链外发生的快照会提交给底层区块链(如以太坊)。
通过在经济上激励参与者(节点和用户)提交正确的数据--或者通过向底层区块链提供完整(零知识)证明--来保证安全性。
状态通道是支付通道的一般形式,这也是比特币的闪电网络所建立的技术。
彼此之间要开通一个状态通道,用户将区块链的部分状态(比如他们的ETH)锁定在一个智能合约中。在通道中,用户可以通过签署按顺序排列的交易来更新彼此的状态(如交易)。如果发生纠纷或要退出通道,用户将最新更新的状态(如账户余额)发送给底层区块链,最新更新的状态就是真相。状态通道可以很好地保护隐私,因为交易对底层区块链是隐藏的,只登记用户的进入和退出。
从概念上看,状态通道很简单,但其设计有一些固有的局限性。
状态通道需要用户(或一些值得信赖的第三方)保持在线监控通道,以防其他用户试图用旧信息退出。它们也不太容易通用于轻松构建智能合约,因为对于开发者来说,与这些渠道进行交互比仅仅部署现有的智能合约代码更加复杂。
此外,状态通道的资本使用效率低下,因为它们需要高额的抵押品。
长期来看,可能更重要的一类Layer 2扩展解决方案是非托管侧链。这是因为它们有可能在上面运行去中心化的金融和其他Web3应用。
非托管侧链的关键在于,用户可以上链和下链,其性能容量比L1区块链高得多,而不必信任侧链的操作者,即拥有与在以太坊主链上交易时相同的安全保障。
最初有希望的非托管侧链设计是Plasma,几年前它被炒作成扩展区块链的银弹。以安全和用户友好的方式实现Plasma的复杂性导致这种模式失宠。
Plasma建立在一个简单的前提下。如果Plasma链上的验证者试图向底层区块链提供关于状态转换的错误信息,即通过提供不正确的余额带着用户资金退出链,用户可以挑战这些信息,并构建自己的证明,证明Plasma链上发生了什么交易。
在实践中,Plasma遇到了一系列需要解决的并发症。比如:
数据不可用 一种攻击,Plasma链的验证者可以向底层链发布数据,但将交易数据留给自己。这样一来,用户就没有必要的数据来挑战验证者提供的信息。
在线要求。要求每个用户必须保持在线,并在恶意Plasma链验证者退出的情况下监控所有交易。
大规模退出问题。如果所有用户都需要退出Plasma链,那么整个Plasma链的状态就必须发布到底层区块链上,对于以太坊来说,这样的证明规模实际上是不可能处理的。
虽然Plasma现金等新的迭代为现有问题提供了解决方案,但确保用户资金安全退出的新问题不断出现。2018年12月,化名BarryWhiteHat以零知识证明的形式提供了这个问题的解决方案。
在ZK Rollups中,侧链的验证者("中继者")收集--或卷展--许多交易,以生成一个简洁的zk证明,证明所有进行的交易都是有效的。然后将证明发布在Ethereum链上。
这种方法完全避免了用户能够安全退出Plasma链的复杂性。但是,这种方法也有两个普遍的缺点:
在Ethereum链上发布的zk-proof的规模很大--这意味着与Plasma相比,zk-Rollups牺牲了最大的交易吞吐量。
以一般的方式构建简洁的zk-proof来执行智能合约是很困难的。目前,ZK Rollups更多的局限于代币转让等特定操作--虽然,去中心化交易所Loopring已经在主网上线,并建立在ZK-Rollups上。
Optimistic Rollups类似于Plasma,但区别在于所有的交易数据必须在链上提供--向底层区块链提供比Plasma更多的交易数据,并允许任何人构建交易有效性证明。具体来说,必须将足够多的数据发布到以太坊链上,以重建整个Optimistic Rollups侧链的状态。
虽然这种方法牺牲了交易处理的另一个指数(对于智能合约),因为必须在链上发布更多的数据,但与ZK Rollups相比,Optimism的方法允许实现智能合约的灵活性和与Ethereum虚拟机的兼容性。
作为一个缺点,Optimistic Rollups需要1-2周(取决于实施情况)的争议期,以确保用户有足够的时间来争议无效的状态转换。加快退出过程的解决方案是建立一个退出市场,用户可以卸载所持侧链的风险。
虽然从底层区块链中获取安全性听起来是最安全的选择,但有一种观点认为,应用程序负责自己的安全,只使用 "Layer 1"区块链作为在特定应用程序链之间传输消息的方式,是一种模式。
这就是Cosmos设计背后的理念。这个理念是,应用与基础层相比,可能会因为太有价值而成为基础层安全的寄生虫。应用程序(稳定币、预测市场等)支付的费用不一定会随着它们所促进的价值转移而扩展,这些应用程序可能会变得比底层区块链更有价值,导致例如以太坊成为应用程序的安全弱点。
这确实在用户体验方面带来了额外的障碍。在一个侧链的生态系统中,用户必须独立地信任他们与之交互的每个侧链(及其运营商)的安全性。
状态通道最有可能在处理某些应用的交易中发挥作用。例如,Graph Protocol正计划为数据库索引服务实现状态通道支付--而且状态通道足够灵活,也可以为条件支付编码简单的规则。
在特定应用链中,SKALE计划在年底前推出,并将带来与Ethereum互通的特定应用链。此外,通往NEAR协议和Solana的桥梁有望为整个生态系统带来更多的可扩展性--尽管两者都可以被视为以太坊的竞争对手。
在这些情况下,应用程序可以将其功能扩展到以太坊之外,可能会减少生态系统对单一链的依赖。例如,Flux Market--NEAR上的预测市场协议,将在MakerDAO的去中心化稳定币DAI中提供投注市场。
ZK Rollups和Optimistic Rollups都是将应用拴在以太坊生态系统上的解决方案,因为它们建立在上面并依靠以太坊提供安全保障。例如,去中心化交易所Loopring建立在ZK Rollups上,7月份处理了1760万美元的交易量(0.4%的市场份额)。
开发Optimistic Rollups最知名的团队是Optimism之前是Plasma Group,顾名思义,它在之前从事Plasma的实现工作。2020年1月,该团队从Paradigm和IDEO筹集了350万美元的风险资金。Optimistic Rollups已经在Ethereum testnet上用Unipig进行了演示,Unipig是Uniswap的一个版本,用于相互交易 "UNI''和 "PIG "代币。
对于这些解决方案中的每一个,仍然存在的大问题集中在可组合性上。在Ethereum上,智能合约能够相互同步调用。这种可组合性的缺乏改变了终端用户的体验,因为从Rollup链上跳上跳下会引入存款与提款的摩擦。
这与当今Web3用户体验最好的部分之一形成鲜明对比,用户可以通过单一的Metamask点击与所有应用进行交互。
如果应用程序将自己部署到自己的侧链中,即使是在较差的可扩展性方面,Optimistic Rollups仍然提供了10-30倍的交易处理能力,这应该给以太坊足够的空间。Ethereum 2.0有助于这些可扩展性解决方案,因为它为数据的发布提供了更多的空间。
Ethereum 2.0将分三个阶段推出,其中最后一个阶段将启用智能合约。然而,已经在第二阶段之后,使用以太坊作为数据层,可以将交易处理能力提高到每秒5万笔交易。
目前需求大于供给,什么样的方案才能满足最直接的交易处理需求值得期待。在某种程度上,上述所有技术(包括理论上限最高的Plasma)都有可能在未来某个环节发挥作用,并且在不断改进。Connext最近推出了Spacefold,它将实现跨不同L2的状态通道延伸和桥接。
目前,其它区块链有机会吸引以太坊上的服务进入更可扩展的环境。然而,几乎所有的Layer 2开发都发生在以太坊上,如果这些解决方案找到了产品与市场的契合点,那么其它竞争者能够提供的功能就会变得很单薄。
作者:Mika Honkasal
翻译:lily