去年DeFi的热潮后,以太坊上DeFi的应用场景呈现爆炸式增长,造出高昂的交易手续费,为了有更快的交易速度和可交易的费用,人们对侧链、Layer2的需求更加强劲。Rollups是Layer2的一种技术,在今年的大型热门,几个耕耘已久的方案zkSync、Optimism、Arbitrum等也开始广为人知。 如果你密切关注 DeFi,可能会遇到
Layer2这个词。加密原住民经常从
Layer1和
Layer2 的角度谈论区块链,但要理解它们的含义,值得从基点进行解释。像比特币和以太坊这样的区块链通常被描述为
Layer1链,因为它们在其网络上结算每笔交易。与此同时,
Layer2是构建在区块链之上的框架。
Layer2解决方案在改善扩展方面发挥着重要作用。 什么是Lyer 2? 以太坊创建了一个不同于世界上任何以前见过的金融系统,但它存在一些有据可查的问题。以太坊在其当前的迭代中每秒处理大约15笔交易。这导致了许多问题:网络经常变得拥挤,有时将 gas 费用推到极高的水平。
区块链应该是可扩展的、安全的和去中心化的。虽然有一些方法可以通过使用更强大的节点来提高交易速度,但这种方法会损害去中心化。希望以太坊2.0能够提高可扩展性,但升级完成还需要一段时间。随着以太坊的使用量达到每天约100万笔交易的峰值,它今天需要其他解决方案。这就是第2层的用途。
Layer2是建立在基础链之上的,以提高可扩展性。像比特币一样,以太坊可以被认为是Layer1协议。它是网络上所有交易的结算层。
Layer2解决方案提供了一种提高交易速度和扩展性的方法,同时受益于主链的安全性。在某些情况下,他们每秒可以处理数千笔交易,如果以太坊要实现更广泛的采用,这将是必需的。 Layer 2解决方案示例 以太坊的
Layer2解决方案分为几个类别,每个类别在使网络更具可扩展性的方法上各不相同。Channels Channels为用户提供了一种在链下进行多笔交易的方式,同时只向结算层(即以太坊)提交两笔交易。这允许以低成本实现高吞吐量,但是存在限制。参与者需要提前知道,他们还需要将资金存入多重签名合约。这意味着需要定期监控网络以确保资金安全。在用户之间建立渠道也需要时间,因此不允许太多公开参与。 Channels有两种形式:状态通道和支付通道。Channels的例子包括 Connext 和 Raiden。
状态通道最一开始是建立在比特币上,最广为人知的就是闪电网络。简单来说,就是两方在私下建立一条可以互相转帐的通道,转帐完毕后把通道关闭,接着将交易后的状态更新到链上。若交易一笔后即关闭通道,那交易成本就跟在链上一样,所以在实务上,通道一直开着(或是一段时间),交易数笔、数百笔后再上链更新状态,借此平均每笔的交易手续费就大幅降低。也因为只需通道双方验证交易内容,交易速度能大幅提升,让小额支付能够实现,就不需等10分钟后交易才会被打包,甚至要等6个区块的时间。而最早在以太上的状态通道是 Raiden。 Plasma Plasma 于2017年8月由V神跟 Joseph Poon (闪电网格的创始人之一)所提出,概念上是可以有链中链中链(就是Layer2 → Layer3 → … LayerN),借此可达到百万级甚至更高的交易量,不过概念太美好,没人知道怎么操作。
隔年1月 V神提出了 Plasma 的第一个版本 Plasma MVP,是以 UTXOs 模型的设计,接着3月提出了第二个版本 Plasma Cash,同年(2018)Plasma 的提案数呈现着爆炸性的成长(绝大部分都是基于 Plasma MVP 跟 Plasma Cash 做改进)(如下图),强大的社群力量,让大部分关键的问题在同年年底都找到了解答。也为之后的 Optimistic Rollup 打下了基础。 https://ethresear.ch/t/plasma-world-map-the-hitchhiker-s-guide-to-the-plasma/4333 而较著名的开发团队,除了 EF 出来的 Plasma Group 外,还有 OmiseGo 跟 Matic(现在的 Polygon)。Plasma 解决方案使用 Merkle 树创建主区块链的附加链。这有助于以较低的成本进行快速交易,因为区块不在主链上结算,并且不需要在分类账上存储数据。但是,使用 Plasma 可以做的事情是有限的。该框架仅支持某些交易,因此不可能进行更复杂的 DeFi 活动。提款会面临潜在的挑战和更长的等待时间,还需要有人监控网络以检查资金是否安全,以及运营商存储数据。Plasma 解决方案的示例包括 OMG 和 Polygon(Polygon SDK 还设置为支持ZK rollups、 optimistic rollups和独立链)。
Plasma 看似一切美好,但因为资料的可取得性的问题,使得在使用者体验上有点糟糕。Plasma 的所有交易资料都在 Plasma 链上,而 Plasma 链的矿工只需缴交 Merkle root 到 L1 的合约作公证就好。因此若他作恶,在 Plasma 链上交易者,就需有能力证明矿工作恶。 在 Plasma 设计中有”所有者”的概念(UTXOs 的设计中,收款者需要到拿送款者的转出证明,才能动用这笔款项,转出证明只有收款人会拥有),如果该所有者不关心自己的资产,就可能造成资产无效的结果(账户基本的设计,若你不理你的帐号,别人一样可以转帐到你的户头中)。因此每个交易者须有能力自行提出证明,无法委托第三方。
而要证明这件事,用户需要把 Plasma 链上的交易都下载下来,才能证明矿工做了一件不合法的行为,也才能产生诈欺证明到 L1 上的合约来证明矿工作恶。而这个送出的诈欺证明,必需要被确保可以安全地送到 L1 上的合约被执行,因此需要有一段挑战期,让使用者可以下载及验证资料,或是网路塞车造成诈欺证明无法被合约执行。 Sidechains Sidechains与主区块链分开运行,并使用自己的共识算法独立运行。他们通过双向桥连接到以太坊。它们与以太坊虚拟机兼容,但也有局限性:它们不如主网络去中心化,共识算法不是由第 1 层解决的,侧链验证器可以协调以进行恶意操作。 Sidechains的例子包括 xDAI 和 Skale。
Rollups 同年(2018) 9月,在支线专注隐私性的开发的 Barry Whitehat 提出了 zk Rollup,随后 V神也在以太坊研究员论坛发了一篇文章,解释 zk Rollup 是如何运作的,并以On-chain scaling to potentially 500 tx/sec through mass tx validation 为标题,也因此开启了 Layer2 新的一页。隔年(2019)三月,Matter Labs 获得了 EF 的 grant 将 zk Rollup 产品化,也就是大家所知的 zkSync。
所谓的 rollups,一样是在 Layer2 上做交易,不同的是 L1 上会记录每一笔的交易纪录。如果每一笔交易纪录都上链,跟一般 L1 交易有什么不同?简单来说,在合约里用了一颗树来记录每个帐号的状态,树的第几片叶子(index)代表一个帐号地址,因此帐号就从20 bytes 的地址变成了几个 bytes 的 index。以 ZK Rollups 来说,交易都是在 Layer2 被验证过的,所以签章资讯(65 bytes)也不用上链,乐观Rollups 会利用签章聚合的技术,数百个签章最终会被聚合成一个。因此,交易资料从原本100多 bytes 变成了10几个 bytes。因为交易纪录都 ”放上链“,资料可取得性也就不是问题了。 Rollups 通过在第 2 层上执行交易来工作,同时将数据提交到基础链。这意味着他们受益于以太坊的安全性,但可以在第 1 层之外执行交易。
有两种类型的rollups:ZK(零知识)rollups,将多次转账捆绑到一笔交易中,以及乐观rollups,与以太坊并行运行。
ZK rollups通过创建所谓的 SNARK(一种简洁的非交互式知识论证)将事务组合在一起。这是提交给基础层的加密证明,因此只有一笔交易被发送到以太坊。 ZK rollups允许快速交易,但这些交易的范围是有限的。
与此同时,乐观rollups与基础链并排,交易作为调用数据发送到以太坊。乐观rollups提供了可组合性,这是 DeFi 的基本要求,尽管它们会受到更长的等待时间和潜在的攻击。
以太坊上的乐观rollups ZK rollup 解决方案的示例包括 Loopring 和 StarkWare,而乐观rollup 目前正在由 Optimism 开发。 Validity Proof v.s. Fraud Proof Optimistic Rollups 跟 ZK Rollups ZK Rollups 保证了上链的资料都是正确的,资料必须被验证过是合法的(例如没有被双花)才会改变使用者的状态(例如 balance),跟现在各个主链的设计是一样的,称作有效性证明,这种设计假设大家都是坏人,要通过验证才会相信你,确认资料是百分之百的正确听起来很理所当然,但是背后要维护资料的正确性,需要相当高的成本。
Optimistic Rollups 则是相反,假设大家都是好人,送上链的交易都接受,当发现有人作弊,再靠检举机制来更正状态,这称作诈欺证明。这样的机制系统维护成本较低(L1 上不需要验证每一笔资料的正确性),但需要多一个角色来维护系统的安全,也就多一个系统潜在的风险。而要确保他有足过的时间反应,就不能让使用者即时地离开系统,这是 Optimistic Rollups 最被诟病的一点,提款要等七天(现在有第三方流动性提供者,使用者可以请第三方流动性提供者预付使用者的提款。使用者支付手续费来换取快速提款的服务,而流动性提供者则承担资产锁住七天的风险来赚取手续费。不过在协议层以安全性为主要考量,还是需要较长的挑战期。
ZK Rollups v.s. Optimistic Rollups
ZK Rollups 从资料的有效性来看胜过 Optimistic Rollups,离开系统时不需要额外的挑战期,能即时提款离开系统,不过付出的代价就是交易延迟上链。因为产生 zkp 证明需要庞大的运算量,产生一次证明,大约需要10到20分钟,所以说在 Layer2 上做一笔交易,10分钟后你的交易才是有 L1 的安全性。
为了能尽早得知发出的交易是否完成,实操上会把完成的交易先丢上链,等zkp 证明产生后再上链验证其正确性,若验证成功,则交易视同有 L1 的安全性。 但是在通用性上,Optimistic Rollups 没有复杂的 zkp 电路的限制,对于合约的支援度上更好,而且 zkp(SNAKRKs)在使用前需要一个盛大的启用典礼。 zkSync zkSync 1.0 在去年(2020) 六月上线,因为不能执行合约,使用的方案并不多。同年的年初,Matter Labs 已经默默在开发一种新语言 Zinc,是可以在 zkSync 上开发合约的语言。年底,与 Defi 专案 Curve 合作,发表了在 zkSync上可以跑基本版的 Curve(两币交换)。今年三月,Matter Labs 发表了令人振奋的消息,zkSync 支持EVM!只需要部分修改现有的合约就可以部署到 zkSync 上,测试网今年五月已经上线,主网预计8月上线。不过目前测试网上的交易量非常地少,相信在初期还是有相当多问题或是困难,以短期来看,Optimistic Rollups 阵营的速度跟支援度略胜一筹,不过个人相信长期会是 ZK Rollups 的时代,但最终还是由生态系的大小来决定赢家。
在 ZK 这个阵线上有延伸出不同的设计,为了加快速度及减少上链成本,StarkWare 提出了 Validium 的概念,资料不上链但使用 zkp 确保资料的正确性,像是 StarkWare 的 Volition 跟 Matter Labs 的 zkPorter 都是同样概念。 Validium Validium 与 ZK rollup 技术不同,它使用零知识证明,但数据存储在链外。这意味着每秒最多 10,000 笔交易,没有提款延迟和较低的攻击风险,但不可能运行所有类型的智能合约,生成 ZK 证明需要很高的计算能力,并且确定时间可能会更慢。 Validium 解决方案的示例包括 StarkWare 和 DeversiFi。
总结 方案比较如下:
ZK Rollups 有目前这几个较知名的方案: zkSync(Matter Labs)、 Hermez(Iden3)、 Loopring(Loopring)、 StarkNet(StarkWare)跟 Aztec(Aztec)。
Optimistic Rollups 目前几个方案 Optimism(Optimisim,前Plasma Group 成员)、 Arbitrum(Offchain Labs)、 Fuel(Fuel)。 这是目前几大 rollups 的生态系,比较值得一提的是,Uniswap 团队因为社群的投票,也将会在 Arbitrum 上面部署,对于整个 Arbitrum 的生态,相信有很大的影响。
总之,目前有几种旨在解决以太坊扩展问题的第 2 层解决方案。还有一些混合解决方案试图通过结合这些技术来提高网络的可扩展性。如果以太坊充分发挥其潜力,成为全球信任层,则很可能需要这些解决方案以及更多解决方案来与以太坊 2.0 结合扩展网络。 未来,随着新项目评估在Layer 2上运行的利弊,以太坊生态系统可能会发生重大变化。 原文链接:Understanding DeFi: Layer 2 explained
—-
编译者/作者:洁sir
玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。
|