编者按:本文来自区块律动BlockBeats,作者:0x88,Odaily星球日报经授权转载。链上扩容并不是一个「新」问题。早在2017年,以太坊和比特币拥堵、无法满足用户需求的弊病就已经显现了,从那时起,陆续有开发团队提出相应的解决方案,只是随后而至的熊市降低了人们的交易热情,这类方案也就淡出了投资者的视野。直到今年5月份,随着流动性挖矿及Uniswap的火爆,人们再次发现:Gasprice一路飙升到500Gwei,未确定交易数达14万余笔。有人调侃,以太坊的性能都不足以提供一个DeFi项目的正常使用。也因此,链上扩容的问题又重新成为了热议的话题。谈到扩容,就不得不提到区块链的不可能三角问题。对一条公链来说,安全性、去中心化程度、可扩容性三者不可兼得。理论上,为确保去中心化程度及安全性,链上的每一条信息都需要通过所有节点的认证才能达成共识,这意味着一条链的吞吐量就等于一个节点的吞吐量。人们尝试从多个角度来解决扩容问题。最直接的方式就是从不同维度「修改」这条链:小到调整区块大小、尝试不同共识算法,大到改变链的组成及数据传输结构——每种改变都会不同程度地妥协系统的去中心化程度和安全性。利用分片技术是一种新的尝试:让每一分片处理各自片中产生的交易。想法很美好,但目前分片技术在区块链上的应用还不成熟,诸多问题尚未被解决,尤其是跨片通信与互操作性。链下扩容算是唯一还算成熟的技术。这一方案的主要逻辑是将一层主链负担减到最低,二层完成应用逻辑。能够实现这一方案的原因是并非所有的交易都需要达成全局共识,并非每一笔交易都需要改变全局状态,一层公链只需要负责保证公共可验证性就已足够。
从上图可见,以太坊的Layer2项目已经非常丰富,但以太坊依然会堵,为什么Layer2的应用很少有人用呢?为更深入了解Layer2生态的发展现状与问题,律动BlockBeats与Layer2头部项目Matic创始人兼CEOJDKanani和CelerNetwork的联创董沫博士进行了讨论。在下文中,我们试图以最一线的视角回答一个核心问题:为什么Layer2看似成果显著,但为什么离我们还是那么远?Layer2的生态发展
即便不曾体验过Layer2带来的便捷,大家或多或少都听说过Layer2项目或者代币。从技术架构来说,Layer2方案百花齐放,比如适合大规模转账的zkRollup,Optimsm和Offchainlabs在做的OptimisticRollup,Celer提出的HybridRollup和状态通道网络,以及一些还在坚持Plasma的项目。DeFi热潮兴起后,CelerNetwork的董沫博士明显感受到了市场对底层基础设施的态度转变:「Layer2生态其实一直都在稳步推进,开发者也是越来越活跃,随着以太坊拥堵问题再次显现,开发者对Layer2的关注也在不断的增强。」不光是开发者关注,更重要的是,不同公链也在布局自己的Layer2扩容生态,包括Polkadot,OasisLabs,Nervos等等。那么,在如此众多的方案中,这些项目面对的最大技术难题又是什么?不同的路径中间,摆放着各式不同的路障。Matic的JD认为:「对于Matic的Plasma解决方案而言,大规模退出问题十分棘手。Matic的Plasma+PoS混合架构中PoS数据可用性层最大程度地减轻了退出问题。应用多个验证节点取代单一节点的认证能够将欺诈及数据可用性问题缩减至近乎为零。」董沫博士告诉律动BlockBeats:「Celer的HybridRollup虽然没有OpitmisticRollup中『谁来决定交易打包的顺序和与主链的连接』问题,以及『如何设计出块节点的激励机制来避免交易censorship』的问题,还有『如何尽量加快交易确认的延迟』的问题,但『如何帮助轻节点监控交易的有效性』的问题仍然存在。」在与一线开发者的讨论中,我们发现,目前状态通道网络其实已经没有什么尚未突破的难点了,它基本上已经是一项能进入生产环境使用的技术——基于Celer的游戏平台CelerX每天都在使用状态通道技术,用户已经能在无感知的情况下使用着区块链技术与支付平台。但或许很多人都很疑惑:为什么即便已经有那么多的Layer2解决方案,为什么这次DeFi热潮的冲击下,以太坊网络还是会如此拥堵?JD认为造成这种割裂的原因主要有两个,一是开发者问题,「对大多数开发者们来说,他们希望在不改变原有代码的情况下将应用迁移至Layer2。因为对代码进行任何改动会涉及到可观的审计及维护费用。但如果Layer2项目方能够让应用开发者们简单的完成迁移,这将在一定程度上促进开发者迁移的意愿。」其次是用户端的问题。「对用户来说,选择使用以太坊主链,还是Layer2应用是一件非常棘手的问题。用户需要明白使用两者的利弊,或者说,Layer2项目方能直接让用户实现无感地与Layer2进行交互。在没有合理的激励措施下,将资产在一层与二层间转移对于用户来说是极具挑战性的。」此外,董沫博士也认为:「进出Layer2的过程往往比较复杂,这个对于技术和用户都是门槛,同时对于生态更是门槛。Layer1的基础设施已经比较完善,而在应用迁移到Layer2的过程中,还需要有相应配套的基础设施,这些东西都不难做,但是需要一点时间。」DeFi项目适合部署在Layer2上吗?
让我们再回到DeFi的问题上来。DeFi应用中的多频、复杂交互是导致本次以太坊拥挤的本质原因,那么DeFi应用是否适合部署在Layer2上呢?董沫博士认为:「理论上来说非常适合,Layer2可以极大地降低交易成本。但这里面的核心难题还是之前提到的两点:生态支持和时间的检验。」目前,DeFi繁荣的生态是非常依赖应用的组合性的,单木不成林。这种组合性其实在一些基础性协议,比如Maker、Uniswap的长期运行和检验后迎来的综合性爆发。从开发者的角度看,最适合Layer2的,可能是那些类似于dYdX、LoopringDEX等这种相对来说不依赖组合性的DApp,然后慢慢再聚沙成塔的一个过程。除了内生生态,外部生态的环境也很重要。大家可以想象一下,如果没有交易平台的支持:你挖了基于Layer2的红薯,如果还要等很长时间才能转回到Layer1,之后发送到交易平台再完成交易的话,可能市场价格早就变了。此外,虽然理论上这中间不存在安全性问题,但实际上,无论是工程化,还是生产级的产品质量,都需要时间的检验和信心的积累。据了解,近期已经有部分DeFi项目迁移至了Matic,包括上文提到的去中心化衍生品交易平台dYdX也迁移至了基于零知识证明的Layer2解决方案StarkWare。JD认为,长期来看DeFi项目终将迁移至Layer2。那么具体到每类项目,DeFi项目应该选择怎样的Layer2解决方案呢?如何给DeFi选择Layer2方案?
对于这个问题,可以先对zkRollup、OptimisticRollup和HybridRollup的优劣势做一个简单的对比。根据CelerNetwork的董沫博士的介绍,zkRollup的特点是二层区块的交易数据和零知识证明上链之后,交易有效性就能立刻确认。而由于零知识证明的特性,正确性验证是很简单的操作,可以直接在Layer1完成验证,确认及时性比较高,适合转账。当然,这个方案也有缺点。「首先验证链路的构造没有一个通用的解决方案,所以目前没有很好的办法做到很广义的虚拟机逻辑。简单来说,zkRollup必须对每一个用例定制;其次是程序正确性的验证相对复杂,要对多项式curcuit做验证;最后是二层打包节点负担重,成本高,计算零知识证明所需时间长,用户延迟的体验角度仍然比较差。」而OptimisticRollup主要的缺点是它本身的交易延迟有点高。这个延迟甚至比Layer1还要高,但它的优点是可以支持无限参与者的任意智能合约逻辑。一次可以打包很多,在董沫博士看来,「交易排序和打包机制没有很好的解决办法,只是需要比较复杂的矿工剩余价值拍卖的机制来选择打包节点,且容易出现censorship的问题。」除此之外,Celer的HybridRollup方案有点像混动车,将OptimisticRollup以及Celer的SGN结合在一起,「优点是可以解决OptimisticRollup交易延迟比较高的问题,同时解决了区块打包中的交易排序和付费问题。」董沫博士表示。当然,不是所有的交互都有那么高的安全性要求,只有涉及到交易时的操作安全性要求会比较高,但很多应用的数据交互并不需要那么高的安全性要求。因此,我们大概可以这么考虑:很多对安全性要求不高的操作可用侧链来确认,与此同时,还可以在同一条侧链上组合多个Rollup来达到应用层类分片的效果,提高可组合性。即使确认出现了问题,还是可以通过最终的主链确认,进行事后的纠错。在明确了各类Rollup解决方案的优缺点后,律动BlockBeats认为各类DeFi应用可按照需求选择与项目特征最匹配的扩容方案:对于去中心化交易所以及各类支付平台,应用中需要进行大规模转账,zkRollup将会是合适的解决方案。应用zkRollup的去中心化交易所Loopring就是一个很好的例子,另外近期Tether也在考虑将ERC-20的USDT迁移至zkRollup的Layer2上。若应用内需要执行复杂的合约逻辑,且对吞吐量要求较高,那么OptimisticRollup或者HybridRollup的机制与此类应用比较契合。合成资产平台Synthetix尝试使用OptimisticRollup来大幅提升预言机报价频率,以此解决在一层网络会遇到的交易暂时停滞问题。在Rollup解决方案中,HybridRollup尽量优化降低了延迟,提高用户体验,但对于安全性做了一定的妥协。因此许多底层Layer1项目,像以太坊、波卡、Near、Conflux,都选择了使用Celer的状态通道作为他们的二层扩容解决方案。在以太坊2.0到来之前,如果计算复杂、用户热度高的应用能够选择迁移至二层网络,以太坊网络拥挤问题可以得到一定程度缓解。而随着Layer2的解决方案逐渐成熟,在技术难点逐一被解决、用户体验被进一步优化后,未来也一定会有更多的应用会选择迁移或直接部署在二层网络。只是目前来看,短时间内要想大规模用上部署在Layer2的DeFi项目,仍有待时日。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。