5分钟看懂Layer2起源、发展及未来
2021-03-29 17:02:44
一、Layer2起源
自以太坊诞生以来,其低下的交易速度就一直被社区诟病,尤其是以太坊目前已经成为了聚集最多生态的公链,越来越多的Dapps(去中心化应用)被部署在以太坊上,越发显得以太坊的交易处理速度低下了。2017年一款去中心化的游戏应用——加密猫,几乎导致以太坊整条公链瘫痪,加密猫盛行的那段时间,以太坊上的大部分应用都无法正常使用。2020年DeFi的大规模爆发,更是让用户感受到以太坊的局限性(那段时间挖矿的用户烧毁了大量的ETH用于支付gas费,相信这些ETH放在今天应该也是一笔不小的财富)。因此,以太坊官方从2019年就开始推进ETH2.0相关事宜,直到2020年正式对ETH2.0的规划有了相对清晰的说明,但是目前不管是社区还是官方,大家一致的共识都是ETH2.0起码也要在两年之后才有可能落地,而这轮牛市加上DeFi的爆发,让用户以及项目方都不愿意再等待两年以上的时间。
HECO(火币生态链)以及BSC(币安智能链)的崛起其实一定程度上受益于以太坊的低效。如果以太坊继续拥堵,那么可以想见的是会有越来越多的用户选择去其他公链交易,尤其是HECO和BSC依托火币和币安,聚集了大量的交易用户,虽然目前这两条公链都仍然摆脱不了中心化的问题,但是其链上DeFi应用的致富效应以及高效的交易处理能力还是可以吸引海量的用户,这一点从MDEX和Pancakeswap的交易量迅速超越Uniswap就可以看出,而海量的用户将会吸引开发者和项目方在HECO和BSC上进行开发及部署,这将进一步完善他们的生态,对以太坊造成冲击。因此,以太坊扩容(可以简单的理解为提高交易速度,降低交易费用)一直是以太坊最为重要的工作。
基于“扩容势在必行+ETH2.0不能马上落地”的背景,Layer2的方案应运而生,并且V神也一直在社区推广Layer2的方案。最为关键的是,Layer2的方案具备经济价值捕获的能力,具备可持续发展的能力,举个简单的例子,因为Layer2的方案可以帮助用户大幅降低gas费,因此Layer2的平台可以在这部分降低的gas费中获取一部分作为平台收入,同时又可以像其他DeFi应用一样把这部分收入拿来赋能自己的代币,可以逐渐形成一个完整的经济模型,这就是可持续发展的基础。
二、Layer2分类
Layer2从概念提出发展到现在,经历了非常多的变化。在本文,我们不会对Layer2的技术方案展开非常详细的介绍,更多的是从读者易于理解的角度去做阐释和对比,以帮助大家对于Layer2的整体发展演变过程有一个基本认知。
其实从Layer2的命名上就可以看出来,最初它的逻辑就是和Layer1(即以太坊公链)做了区分,简单点说,以太坊公链是Layer1,本来所有部署在以太坊上的应用都是直接在以太坊上进行运算及转账的,但是由于这些应用越来越多,因此导致以太坊上拥堵不堪,于是有人提出,是不是可以把一部分的运算工作拿到链下或者其他公链上,然后再把运算结果返回到以太坊上,这样就可以减轻以太坊公链的负担,提高以太坊的性能,打个比方,以太坊就相当于是一条高速公路(Layer1),每一个应用就相当于是一辆汽车,汽车里装满了货物(合约交互数据),随着汽车和货物越来越多,尤其是货物又直接在高速公路上装卸,导致以太坊这条高速公路也越来越堵,于是人们就想了个办法,在高速公路下修建一些站点(Layer2),让货物在这些站点上装卸(在Layer2上做运算和交互),等到货物都装上车以后再把车开到高速公路上(运算结果返回到Layer1上),这样就可以大大缓解高速公路的拥堵情况了。
这个例子基本上就是Layer2和Layer1的一个简单的说明,在这个基础之上形成了一套不同的Layer2的方案。
1、卷叠(Rollup)
Rullup方案目前是以太坊社区最为看好的方案,主要分为Optimistic Rollup和ZK Rollup以及最近大火的Arbitrum Rollup。
表 1. Rollup 方案进展情况,资料来源:欧易 OKEx 研究院
Rollup方案其实更像是Layer1和Layer2的结合,就是把运算放到链下,然后把数据存在链上,这样就可以实现既提高运算速度,又利用了以太坊主网的安全性,又解决了数据可得性的问题。这三类Rollup的方案其实是用不同的方式解决了信任的问题。
Optimistic Rollup沿用了Plasma「欺诈证明」的方式,即任何人都可以对返回链上的数据进行验证和质疑,一旦发现问题,这些数据就将被回滚以保证安全,但是这种方式有个致命问题就是验证期的存在,通常验证期都是2周左右,也就意味着当用户想要从Layer2往Layer1转账的时候,需要等候两周左右的时间,这估计正常用户都会发疯。
ZK Rollup采用了 ZK-SNARK (简明的非交互式零知识证明,zero-knowledge succinct non-interactive argument of knowledge)的方式,有兴趣的用户可以详细了解零知识证明的相关信息,这种方式解决了验证期的问题,但其缺点是计算量大,技术难度高且难以支持虚拟机。不过ZK Rollup正在推出图灵完备的虚拟机,所以将来很有可能取代Optimistic Rollup。
Arbitrum Rollup的设计方案里有一个验证人的角色,验证人需要在链上记录,就需要发送一个主张到以太坊上。同时验证人需要存一笔保证金。如果验证人的主张是假的,那么验证节点的保证金就会丧失。当验证人把主张发送到链上,会有一段时间任何人都可以提出自己的质疑。如果你不同意就会有争端,争端的解决机制就是 Arbitrum 能够实现可扩展性最核心和关键的所在。Arbitrum争端解决机制是这样的,如果双方对某件事持不同意见,有效的解决机制是由大到小进行拆分。比如某笔交易涉及到 10 亿步产生了争议,那么便将 10 亿步拆分成 100 份更小的主张,每个主张包含 1000 万步,这样就把 10 亿规模的争端缩小成了千万规模的。不同意的一方再从这 1000 万中挑出他不同意的,再进一步的由大化小,直到找到最关键的有争议的那一步。找到关键的一步之后,再动用以太坊的合约来决定这一步到底是正确还是错误的。通过这样的方式就可以实现高效的争端的解决。
总体过程如下,当一个节点发送了一个主张,主张是正确的,没有问题,那每 10 分钟发一个哈希。哈希到以太坊链上后没有争端,系统就可以顺利的运行下去。如果有争端则可以通过刚才介绍的高效的方式将争端由大化小,最终得到很好的仲裁,这就是Arbitrum系统高效的所在。
目前为止,这三种Rollup的方式都有了一些支持者,也有一些应用开始尝试部署。
2、状态通道(State Channel)
相当于是用户和用户之间直接建立了一条通道,举个例子,用户A和用户B经常发生转账,因此他们决定直接建立一条通道,然后每个人都在这个通道里存放一定数量的代币,当需要转账时,就从这里直接进行转账交易就好了。
如果用上面的例子进行解释,那么就是用户A和用户B经常有货物往来,他们觉得每次都用公共货车太麻烦,于是干脆两个人一起买了辆货车,来回运货,一起分担费用。但是这里面有两个问题,第一A和B不可能一直做交易,第二是因为这辆车的使用者只有A和B,所以如果一方没有按照约定支付费用的话是没有办法验证的(此处忽略转账证据这类的说法,因为转账证据也可以伪造,同时也没有一个公平的仲裁机制可以快速解决纠纷),因此状态通道的方案不可能大规模的复用,尤其是我们回到以太坊上的交易上来,我们会发现,大部分的交易都是和不同的用户在进行,因此这类方案并没有真正解决以太坊拥堵的问题。
3、侧链(SideChain)
侧链相对来说比较容易理解,就是干脆直接另外运行一条公链,然后把大部分的运算都转移到这条公链上,然后在需要返回结果的时候再把结果返回到以太坊上。这个方案听上去好像非常可行,但是有一个最大的问题就是这条公链的安全性问题。以太坊上之所以能吸引这么多的应用和用户,正是因为它的生态已经构建成形,有足够多的算力(ETH2.0实现以后是节点)来保证以太坊的安全性,但是其他公链并不具备这个安全系数。打个比方,以太坊就像一条非常完备的高速公路,有警察,有救护车,一旦发生问题,可以及时解决,但是如果你在其他路上开车运货,不管是遇到车祸还是遇到抢匪,可能都没有保护措施,那么用户怎么敢在这条路上运货呢。
4、Plasma
Plasma 的特别之处在于设计了一套欺诈证明机制:Plasma 将特定的底层数据发送给用户自己进行保管,解决了数据可得性问题;此外,Plasma 有一个「退出期」设计,即便黑客取得侧链的控制权并尝试取款时,任何用户都可以在「退出期」内提交证据来进行挑战,如果挑战成功,任何人都不能提取这笔资产,并且运营方也将被罚款,由此保证了数据的真实、有效和准确性,解决了资金安全性问题。
然而,Plasma 解决了侧链的问题,却产生了新的问题:首先,用户必须每两周上线一次,以实现对 Plasma 链的监控,否则错过了「退出期」,黑客就可以取出资产;其次,用户必须自己保存底层交易数据,以保证数据的可获得性,但却给用户带来巨大的存储成本。因此,Plasma 对用户并不友好,体验极差。在 2018 年的大熊市背景下,曾经被以太坊社区基于厚望的 Plasma 方案也逐渐被抛弃。
所有Layer2方案都绕不开的一个问题便是生态的隔离,每一个Layer2的方案都有自己的一套生态,如果这些生态系统不能打通,那么对于用户而言,用户体验是割裂的,这虽然解决了一部分以太坊拥堵的问题,但却又带来了新的问题。因此也有人提出将状态通道和Rollup的方案做结合,通过状态通道把各个Rollup方案的生态连接起来,成为一个整体,这的确是一个不错的想法,但是最终能否顺利实现还有待观察。
目前来看,Layer2的所有方案里,Rollup的方案相对来说可行性最高,其中Optimistic Rollup的代表项目是Optimism,ZK Rollup的代表项目是Zksync,Arbitrum Rollup的代表项目是Arbitrum,大家可以对每个项目再做深入了解;
Layer2方案在ETH2.0没有推出之前的确有非常大的价值,因为目前以太坊的拥堵已经对以太坊的生态发展形成阻碍,如果再不提高性能,以太坊第一公链的地位能否保住都是问题,所以中短期来看,Layer2一定会有一波爆发;Layer2方案具备经济捕获价值,原因在于它可以帮助用户节省gas费,因此这部分节省的gas费既可以让项目方创收,又可以赋能代币,因此,Layer2的项目值得关注;
各个Layer2方案对以太坊生态的撕裂是个巨大的问题,因此如果不能在ETH2.0正式推出以前进行生态融合的话,那么Layer2方案将彻底沦为一个过度方案,并且丧失它的价值。