在我们印象中,Layer2的热度已经持续数年,比起去年掀起整个牛市的Defi,和今年出圈的NFT来说,诞生的历史可以说久远的多。往前追溯的话,最早是2014年出现的侧链,然后便是2015年闪电网络的问世。那会以太坊才刚诞生,而比特币开始走入大众视野,转账速度太慢,转账费用太高的性能问题逐渐成为一大痛点,早期的Layer2方案是为了解决比特币支付的问题,不过随着时间的发展,我们会发现大家不再像当初指望比特币成为支付货币,更多倾向于和黄金对标的储值货币,所以扩容对于比特币变得并非那么紧要。随着17年ICO热潮的兴起,以太坊成了最堵的网络,当大家渴望去中心化的大规模应用出现时,却发现一只Kitty猫就让整个网络瘫痪,这让我们在思考去中心化世界是否有必要时有了迟疑。因此以太坊的扩容,成了市场最关心的话题。17年的Plasma和18年的Rollup等新技术提出时,一度让大众以为Layer2近在咫尺,可又一个四年的周期即将走完,才发现Layer2只是一直在路上,何时能真正爆发,成了大家心中最大的疑问。目前来说,只有侧链赛道跑出来了几家,比如侧链扩容方案Polygon和BSC 等交易所公链以及 Solana、Fantom 等新生代高性能公链,已经形成了一定生态规模。但是,作为最主要的依据,是否能真正掌握资产的进出来说,侧链扩容方案并非是现实定义下的 Layer 2。真正被认为是Layer2突破性产品的Arbitrum,虽然已经在生态合作上占据鳌头,目前已有超过 400 个项目获得了接入资格,十几个项目已经成功完成部署,但尚未向用户完全开放,据说是8月底正式开放主网,到时可以观察运行的情况,再做逐步跟踪。
layer2提出的历史背景区块链诞生之初,一直伴随着1个“不可能三角”问题,即安全、可扩展性、去中心化,众说周知,区块链技术区别于互联网,最大的不同就在于去中心的特质,而让资产真正掌握在自己手中,是由于区块链足够安全才能做到的,最终只能牺牲拓展性,去实现另外两个。随着区块链对外部的席卷,越来越多的人参与进来,网络的拥堵导致低下的交易速度,并让手续费也是高企难忍,尤其是越来越多的交易发生在比特币上,无数的Dapps被部署在以太坊上,激发的矛盾越发突出,人们只能寻求更佳的解决方案,来处理这个问题。为了“解决”这个不可能三角问题,人们开始探索各种可能性,因此涌现出来许许多多的解决方案,其中之一便是 Layer 2(二层网络)。何为Layer2Layer2是相对于Layer1而存在的,在解决扩容方案的时候,最开始想到的是对公链本身扩容,即 Layer 1 的扩容,比如早期对比特币进行区块大小调整,隔壁见证的引入,以太坊2.0的转POS和分片机制的实施等,都是在Layer1层面进行的扩容。Layer1的扩容要么进展缓慢,要么对性能的提升没有质的变化,人们开始转向Layer2来寻求希望,去改变去中心化世界没法纳入海量用户的毛病。Layer2是一系列链下扩展性解决方案的总称,Layer 2 平台和协议以减少基础层(根链)负担的方式来处理数据,通过将主链的部分数据处理转移到 Layer 2 上,从而增强整个区块链网络的可扩展性。
Layer 2扩容不改变区块链协议本身,即不篡改 Layer 1 上任何去中心化或安全特性,通过链上智能合约与链下数据的交互,来为其提供了新的功能和性能。简而言之,就是智能合约先在Layer2层执行,最后再将数据写到Layer1层。如前文所述,现在谈到Layer2更多是以太坊的Layer2,所以下文所有的描述和案例都是以以太坊的Lyaer2为准。
Layer2如何提高效率通常来说,以太坊节点的数据是由2个部分组成的,1个部分是世界状态,另1个部分是区块链。以太坊的世界状态是交易直接驱动修改的,可以认为是以太坊全网所有地址的账户余额表。每当以太坊上有一笔交易发送时,都会对世界状态这张余额表产生影响。而区块链的部分记录下了整个交易的过程,即完整的区块链交易数据,每一笔交易都会驱动全网修改区块链数据。
由上述公式我们可以得知,对以太坊来说,一笔交易消耗掉的Gas可以分成两部分,一部分是驱动修改世界状态消耗掉的,即 GasUsed,其大小跟交易的复杂程度呈现正相关关系,交易的复杂程度越高,GasUsed就越高,比如在农场里将LP池收获的Token复投进单币池,在Deposit的时候其实执行了2个动作,即Deposit的还进行了单币Harvest的动作,这里的GasUsed通常比单独的Harvest要高。另一部分是将交易数据写进区块链消耗掉的,即GasPrice,其大小跟交易的优先性呈现正相关关系,当同样复杂程度的交易需求,更高的燃料单价 GasPrice,矿工会更倾向优先处理,交易速度就更快,比如链上拥堵的时候,想要你的交易尽快被打包,一般是通过提过GasPrice,来尽快让矿工执行这一动作。前者消耗掉的Gas远远贵于后者。将交易数据存在区块链数据里,只是消耗存储的Gas。读写世界状态的Gas值要远高于存储消耗的Gas。
那么我们的 Layer 2 怎么在这个过程发挥作用呢?很显然 Layer 2 是将链上一系列复杂的计算动作,全部都转移到了链下去进行,然后再将计算好的结果反馈给主网,以此来降低交易的复杂程度。在 Layer 2 将交易打包上传到 Layer 1 的操作,并不会修改Layer 1 的世界状态,只会修改区块链数据,即只是将交易数据存储进Layer 1 的区块链数据里。这些来自 Layer 2 的交易包不直接修改世界状态,只是将交易数据存进区块链数据很便宜,但有了区块链数据,也可以通过计算完整回溯这些世界状态的修改过程,因此既让交易过程能完美被记录,同时也省下了高额的Gas费用。但要回溯整个过程,也需要大量的Gas费用,所以Layer2的技术需要做到客观可信,让公众只需要在Layer2查询整个过程,而不用在主链上读取,才能实现真正的Layer2。Layer2的技术演进经过几年的技术发展,目前以太坊 Layer 2 扩容架构主要有4大类:状态通道、 侧链、 Plasma 、Rollup。Layer 2 扩容机制的关键点在于 Layer 1 的合约设计、 Layer 2 的协议设计、 跨链数据交互的设计尤其是资产存入和取出时的流程设计。在所有的Layer 2 解决方案中,有一个很核心的问题:即资金出口由谁控制?状态通道状态通道是一种受 BTC 的闪电网络启发的技术,是Layer2的入门级方案,基于状态通道的 Layer 2 项目可以进行链下交易和其他状态更新。状态通道是交易双方在链下构建了另一层,并能够使在该附加层上的任何两个客户之间建立支付通道,用户通过在智能合约中锁定资产的方式,将链上资产转移到通道中,通过私钥签名以后,在链下进行交易,这些通道里的交易是即时性的,费用非常低。状态通道是如今最广泛采用的 Layer 2 方案。例如,比特币的闪电网络、以太坊的雷电网络就是建立在状态通道技术上的。如何使用状态通道?比如建立价值为100美元的以太坊状态通道,首先进行资金锁定,一旦锁定完成,交易者双方可互相发送形式为 [轮次,金额,签名] 的状态更新来实现转账,无需与主链进行交互,只要双方的余额都还为正值即可。一旦有一方想要停止使用状态通道,可以执行 “退出” 操作:将最后的状态更新提交至主链,结算下来的余额会退给发起状态通道的两方。主链可以通过核实签名和最后结余来验证状态更新的有效性,从而防止交易双方使用无效状态来退出状态通道,保证退出机制的安全性。优点:即时提款/主网结算 (前提是通道的参与双方合作的情况下)可能实现极高的交易吞吐量每笔交易有着最低的成本,有利于小额支付 缺点:创建和结算通道的时间和成本 — 对于任意用户之间偶尔的一次性交易来说不太好需要定期查看通道网络,或将此责任委托给其他人,以确保用户资金的安全必须在开启通道时锁定资金,由于资金流动性无法扩容,当众多资金锁在一个状态通道里,只能用状态通道转发的话,这个效率是非常低下状态通道的使用范围仅限于加入通道的用户,无法向通道外的用户发送资金典型项目:RaidenPlasmaPlasma 就是在主区块链上使用第二层的智能合约,依靠底层的以太坊区块链来实现其安全性。
Plasma 允许链中有链,这可使扩展性实现指数级增长。它创建依附于“主”以太坊区块链的“子”区块链,这些子链又可以循序产生它们自己的子链,并能依次循环往复。子链有效性的证明被提交并存储在主链上。Plasma 有一个「退出期」设计,即便黑客取得侧链的控制权并尝试取款时,任何用户都可以在「退出期」内提交证据来进行挑战,如果挑战成功,任何人都不能提取这笔资产,并且运营方也将被罚款,由此保证了数据的真实、有效和准确性,解决了资金安全性问题。以太坊创始人 Vitalik Buterin 为我们做了一个计算,他在 AMA 中提到:如果我们从分片获得 100 倍,从 Plasma 获得 100 倍,这两者基本上可以提供 10,000 倍的可扩展性收益。这意味着区块链将足够强大,可以处理人们试图处理的大多数应用程序。优点:高吞吐量,低交易成本适用于任意用户之间的交易 (如果两个用户都在 Plasma 链上,则每个用户对没有开销) 缺点:不支持通用计算,只能支持基本的代币转移、兑换和其它一些交易类型用户需要定期查看该网络,必须每两周上线一次,以实现对 Plasma 链的监控,以确保用户的资金安全用户必须自己保存底层交易数据,以保证数据的可获得性,但却给用户带来巨大的存储成本退出周期比较长,资产要先从主链转移到 Plasma 链上,Plasma 链进行交易后生成区块,然后返还给主链典型项目:OMG Network、Matic Network、GluonNetwork侧链侧链是构建一条完全独立的区块链,有自己的共识算法 (比如权威证明、DPoS委托权益证明、拜占庭容错等等),有自己的验证者和运营者,可以与主链互相转移资产,而且会选择性地将区块的快照发送至主链,从而防止分叉产生。有了这些快照,就可以有效防止分叉,即便侧链上的验证者串谋起来发动分叉攻击也没用。侧链通过一个双向桥与主链相连。
最早诞生的侧链项目是 Loom,Loom 侧链采用了DPOS机制,然后回 ETH L1 结算,完美的结合 DPOS 的高性能与 ETH POW 的安全性。侧链的交易数据是不保存在链上的,交易结果是由链下返还到链上的,所以和状态通道一样其资本的控制权本质在链下,有一个最大的问题就是安全性问题,由于是另起炉灶的公链,需要侧链上的运营者(或者说矿工)不作恶,其安全是没受到Layer1保护的。事实上,其他几个明星公链已经在做侧链正在做的事情,比如 Solana、Near、Fantom,都可以通过兼容 EVM+桥的方式引流 ETH 上面资产过来,然后再回去 ETH 结算,和侧链能做的事情一模一样,今年大火的 BSC、HECO、OEC等,其实也是以太坊的侧链。优点:较成熟的技术支持通用计算,兼容 EVM 缺点:不那么去中心化使用单独的共识机制,其安全性不受 Layer 1 保护 (因此从技术上来说,侧链不是 Layer 2)一过50%侧链验证者可以实现欺诈典型项目:POA Network、Matic NetworkRoll UpRollup是目前最为主流的扩容方案,其本质是将原本分布在区块中的大量交易数据,打包成一笔集合的交易,发布到链上。其类似于 Plasma 的 Layer-2 扩展方案:用主链上的单个合约来保管所有的资金,并保存一条指向 “侧链” 状态的简洁密码学承诺(通常来说就是一棵由账户、账户余额等状态组成的默克尔树)。侧链的状态是由用户以及链下运营者来维护的,不会占用 Layer-1 的存储空间(这种对存储空间的节约才是可扩展性优势的最大来源)。
Rollup 与 Plasma 有所不同的是,Plasma 会面临交易数据可用性的问题(也是 Plasma 最大的问题)。而 Rollup 则通过在 Layer-1 网络上为每一笔交易公开一些数据解决了这个问题(具体而言,在以太坊上是通过 CALLDATA 交易来实现这个目标的)。因此,几千笔交易可以被打包(roll up)到一个 Rollup 区块中。虽然这种方法的开销是 O(n),也就是说它的开销会随着交易数量的增加而严格线性增长,但它也提供了实用的 100 倍吞吐量提升,因为 CALLDATA 的开销要比 Layer-1 的存储和计算便宜很多。Rollup 也一再被 Vitalik Buterin 认可为他最喜欢的 Layer-2 扩展方案。根据状态转换有效性的保证方式不同,可区分出来两种 Rollup 方案:ZK Rollup 以及 Optimistic Rollup。ZK-Rollup(ZKR)在一个 ZK-Rollup 系统中,运营者(们)必须为每一次状态转换提供一个简洁的零知识证明(SNARK);该证明将由主链上的 Rollup 合约来验证。这样的一个 SNARK 证明了存在一些交易,这些交易是由发起人正确签名过的,并且正确地更新了相关账户的余额,并使旧的默克尔根值变为代表新状态的新值。这就杜绝了运营者提交无效状态或篡改状态的可能。
优点:当需要将资金转移至主链上时,不会出现延迟,因为有效性证明已经对资金进行了验证;不像 Optimistic Rullops 那样容易受到经济攻击的影响。 缺点:仅限于简单的转账,不兼容于 EVM (以太坊虚拟机);有效性证明的计算强度很大,因此对于一些链上交易活动较少的应用而言,不值得采用此技术;典型项目:Loopring、dYdX、Matter Labs 的 zkSyncOptimistic RollupOptimistic Rollup 是一种在 layer2 上使用 OVM (Optimistic Virtual Machine)扩展以太坊通用智能合约的技术。OVM 可以支持任意智能合约逻辑的实现。几乎所有在以太坊上可以执行的计算都可以在 OVM 上执行,包括智能合约的可组合性。OVM 的一大长处是,如果与 EVM 搭配使用,大家就可以用 Solidity 来写码。因此,大部分现有的代码库都可以轻松移植到 OR 上。Optimistic Rollup 的构造大量借鉴了 Plasma 和 ZK Rollup 设计。但某种程度的在扩展性上进行了权衡,以允许在受 Layer 1 保护的 Layer 2 中运行完全通用的智能合约。Optimistic Rollup继承自 Plasma 的「欺诈证明」,默认「乐观地」(Optimistic)相信节点会将最新且准确的数据发布到主链上,所以从安全性来说,会略低于主网。虽然本金丧失风险很低,但可能会付出时间成本(退出期较长)。
优点你在以太坊 Layer 1 上能做的任何事情,都可以在 Optimistic Rollups 上进行,因为 Optimistic Rollups 兼容于 EVM 和 Solidity。所有的交易数据都存储在 Layer 1 链上,意味着 Optimistic Rollups 是安全和去中心化的。 缺点:由于潜在的欺诈性挑战,需要很长的交易确认等待时间。典型项目:Offchain Labs 的 ArbitrumLayer2的技术对比随着越来越多的扩展解决方案出现,每个解决方案都承诺无需信任、安全、经济且易于使用,背后都不可避免地缺乏细微差别。进行全面的尽职调查,深入挖掘每个解决方案很有必要,因此Matter Labs从以下角度对各项方案进行评估,以帮助构建者采用最适合他们需求的解决方案。安全性能/经济可用性,其他
迁移到 Layer-2 扩展方案上需要对钱包、预言机、dApp 和用户习惯的巨大变更。而Optimistic Rollups方案能够兼容EVM,短期内更容易落地具有更强的可移植性,Optimistic Rollup 可以帮助整个生态为这样的迁移作好准备。ZK Rollup在安全性和性能方面取得比较好的权衡,一旦其实现对EVM的完全兼容,它有机会获得越来越多DeFi的青睐。不过,如果Optimist方案在实践上证明可行,这也会对ZK的采用形成一定的冲击,至少会延缓它的采用进程。Layer2的缺陷虽然Layer2是扩展以太坊所非常需要且合乎逻辑的解决方案——它们带有自己的潜在问题和疑问,可能会阻碍以太坊平台实现其成为世界超级计算机的真正愿景。有限的可组合性Layer2之间缺乏相互之间的可操作性。换句话说,Layer2上的dapp无法轻松地同另一个Layer2上的dapp进行通信——这一点破坏了可组合性的力量。在Layer1中,单笔交易可以通过多个DeFi协议交互,打造全新的金融产品;在L2上,该交易只能与存在于其自身链上的DeFi协议进行交互。众所周知DeFi的真正的强大在于它的可组合性。分割流动性不同 Layer2 链上 dapp 碎片化的另一个问题是,它们相关的流动性也被分割了。流动性在任何金融市场中都非常重要,因为它提供了一个健康的市场,买卖双方可以在公开市场会面并交换商品,而不会对买卖价格造成太大影响,引起价格的疯狂波动。目前,所有流动性都存在于以太坊上——它为平台上的所有金融产品和代币提供了一个健康且流动性强的市场。随着向 Layer2 的迁移,我们将看到现有的流动性被分配到以太坊和不同的扩展解决方案中——而不是在以太坊上拥有所有可用的流动性。SUMMARY总 结Layer 2 经过了几年的发展和技术演进,已经得到十足的突破性进展,由其缺陷问题可以得出,最后胜出的 Layer 2 项目,必须要有足够强大的生态,能聚集众多的 Defi 头部项目,才有可能让 Defi 向更深层次突破,毕竟要在 Layer 2 上完全复制 Layer 1 可组合性,才能让其在性能上的百倍体现出价值,从而带来用户指数级的增长。 Arbitrum生态合作全景目前来说, Arbitrum 已经成功走在了前面,成为了当下技术人员、投资者最为倚重的项目,希望其月底主网正式向公众开放后,能吸纳更多的头部Defi项目进驻,完成TVL的飞速增长,吸纳更多的用户进场,实现期待已久的 Layer 2 愿景。
参考资料:https://medium.com/coinmonks/layer-2-wont-save-ethereum-a52aa2bd719b https://medium.com/matter-labs/optimistic-vs-zk-rollup-deep-dive-ea141e71e075https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955https://gourmetcrypto.substack.com/p/layer-2-for-beginnershttps://mp.weixin.qq.com/s/7YIu4Zx2-y2-SDBxoPWj8Ahttps://ethfans.org/posts/layer-2-from-state-channel-to-roll-uphttps://ethereum.org/en/