随着使用需求的不断扩大,以太坊的性能瓶颈逐渐凸显,底层扩展性不足的问题极大的限制了应用程序并同时影响了用户体验。近年来,许多研究和工作都致力于解决这一矛盾,包括对以太坊核心协议进行升级的第一层扩展技术(Layer 1)和构建于基础以太坊协议之上的第二层扩展技术(Layer 2)。虽然Layer 1和Layer 2解决方案并不互斥,两者共同作用才能为以太坊社区提供更好的发展前景,但在以太坊主网的架构限制和Eth 2.0仍未上线的情况下,Layer 2在现阶段被投入了更多的关注,同时也取得了巨大的进展。
相比于Layer 1升级核心协议的直接解决方案,Layer 2采用了迂回的方式来解决当前吞吐量和交易速度掣肘的问题,核心思想是将本应在主网上处理的交易转移到Layer 2上进行,只在必要时才使用Layer 1来保证交易的顺利进行。虽然这种技术理念使得大部分Layer 2是在牺牲掉一定安全性和通用性的情况下才换来吞吐量和成本的改善,但由于其很好的平衡了交易成本、交易速度、用户体验等方面,因此Layer 2扩容技术对很多安全性和确定性要求相对不高的应用具有很强的吸引力。
经过几年的努力,以太坊社区中涌现了多种采用了不同技术路径的Layer 2方案,随着时间的推移和越来越多的技术路径加入竞争,不同方案的优势和缺点也逐步暴露在了使用者和投资者的面前。
作为初代Layer 2方案的状态通道技术,非常适合参与人数确定且需要在一段时间内多次交换更新状态的应用,它采用了“挑战期”这一设定来满足安全性的需要,同时由于交易发生在通道内部,可以为用户提供很好的私密性。但由于“挑战期”的存在而引入的活性假设,使得用户或其受委托方需要一直监控Layer 1以便防止交易的对方在提交状态更新时作恶,而长时间在线对于用户来说是很不友好的。同时,由于每次在交易成员变动时需要对状态通道的法官合约进行修改,这非常不适用于存在大量一次性交易和短时交易的应用。
与状态通道一样,Plasma也是一种管理链下交易的技术,同时依靠底层的以太坊区块链来实现其安全性。但不同的是,Plasma提供了一个可扩展性框架,可创建依附于以太坊“主”区块链的“子”区块链,使得可以在子链上执行许多复杂的操作,在与主链保持最低限度交互的情况下,运行拥有数千名用户的整个应用程序。但Plasma 仍然引入了与状态通道相同的活性假设,同时还引入了数据可用性假设,即用户需要相信运营者会提供所有交易数据,以便在需要时使用这些数据来验证交易的正确性,这要求Layer 1与Layer 2 之间需要经过检查点沟通数据,因此使得退出时间非常长。此外,状态通道和 Plasma 都不支持智能合约,这严重限制了需要具备 EVM 兼容性的应用。
由于状态通道和Plasma存在的原生缺陷和在应用场景中的限制,采用这两种技术路径的项目目前基本处于停滞期,少数的团队还在坚持推进,整体来说活力不强。在这种情况下,亟需另一种可以兼顾容量、速度、安全、可用等方面的全新Layer 2技术路径来解决状态通道和Plasma存在的问题。Rollup是继两者之后最新一代扩容方案的概念统称,核心思想是将多比交易批量打包处理,以实现与Layer 1尽量少的交互以显著降低gas成本。同时,由于Rollup采用以太坊中的calldata来汇总Layer 2上的交易,这使得任何用户在任何时候都能从Layer 1中获取Layer 2的交易信息,因此避免了数据可用性假设这一掣肘Plasma应用的缺陷。
目前的Rollup项目从具体实现方案上又可以分为 ZK Rollup (ZKR) 和 Optimistic Rollup (OR)两类,分别利用密码学中的零知识证明和博弈机制中的欺诈证明来确保网络和数据的安全性,而安全性对于扩容技术至关重要,这也是Rollup成为目前最被看好的Layer 2技术的最重要原因之一。ZKR的理念很简单,是利用将计算和验证分开进行,即所有资金由主链上的智能合约持有,而计算和存储则在链下执行,每个 Rollup 区块都会生成一个状态转换零知识证明,并通过主链合约进行验证,以此来提高吞吐量并降低交易成本。OR则同时借鉴了Plasma和ZKR的设计,它基于Layer2的数据对Layer1的状态进行了“乐观”的预测,将交易不断的向前推进,除非有人发布了不正确的状态转换,其它运营者或者用户则可以指出不合法的交易并回滚不正确的区块、惩罚恶意验证者。
虽然Rollup技术目前已被公认为最优秀的Layer 2解决方案,甚至被称为“短期内唯一的选择”,但ZKR和OR也具有各自的局限性。ZKR虽然速度很快,安全性也很高,但是在实现与智能合约的兼容方面还存在技术难关。而OR虽然可以实现与智能合约的兼容,但仍存在“挑战期”的问题,挑战期设置的太短影响安全性,而过长则会影响交易效率。但总的来说,从安全性、可实现性等方面来说,Rollup技术仍是目前的最优解决方案,未来也极有可能出现利用该技术路径在Layer 2生态系统中占据较大优势的项目。
除了以上三种技术路径之外,侧链解决方案也被寄予了一定的期望。侧链的本质是在基础层上再搭建一条链,在这条链上用采用另外一套验证方式,因此这项技术的安全性是分开的,即主链有主链的安全策略,侧链有侧链的安全策略。因此,这也就成为了目前侧链技术路径存在的最大原生缺陷,即安全性非常依靠侧链本身采用的安全策略,被认为是在一定程度上牺牲了安全性而获取的扩容方案。但是如果能通过改善侧链安全策略将安全损伤控制在一定范围内,凭借其较高的交易效率和与智能合约兼容的特性,有机会成为Rollup之后较优的Layer 2方案。
通过以上分析不难看出,在考察各个Layer 2方案时,主要的衡量指标有安全性、通用性/兼容性、成本、交易时间、吞吐量、用户体验等方面,而现有的技术路径在以上不同的性能方面都多少存在缺陷。在这种情况下,不仅Layer 2的技术路径在不断更新和升级,同一个Layer 2技术路径中也存在多个项目的竞争,因此目前的Layer 2赛道上“百花齐放”,使得不同的Layer 2解决方案被自然的分割成了很多差异化的生态系统,出现了流动性割裂的局面,这似乎与Layer 2起初拓展和连接以太坊社区的初衷背道而驰。在这种情况下,有两种解决方案:
1.利用Layer 1进行跨Layer 2的交易,即将Layer 1作为中转以实现两个Layer 2项目中的资产交互;
2.搭建跨不同Layer 2项目的流动性解决方案,包括利用状态通道、中间代币桥等的项目。
第一种解决方案会面临较高的Gas费以及较长的结算时间,对于大多数用户和较频繁的交易很不友好,也没有从根本上解决以太坊社区扩展性不足的问题,因此跨Layer 2项目的流动性解决方案就成为了必然选择。
优秀的流动性解决方案除了能够搭建不同Layer 2项目间的连接桥梁外,同样也需要满足安全性、通用性、低成本、低耗时以及较好的用户体验等要求,以使得以太坊的Layer 1、Layer 2以及流动性解决方案共同形成一个安全、高效、用户友好的生态整体。在以上目标驱动下,团队开发了基于Substrate的流动性解决方案——Raydius,在满足不同Layer 2生态系统及Layer 1间可以安全、高效、快捷、便宜连接的基础上,还支持可定制、可兼容、可开发的通用流动性方案的实现。
对于Layer 2的流动性解决方案来说,安全性是非常重要的衡量指标。由于引入基于去中心化协议技术的Substrate作为框架,Raydius避免了存在于中心化流动性解决方案中的潜在交易风险,同时由于交易数据都是被记录在以太坊上的,因此在区块频繁同步的情况下可以实现更高的系统安全水平。在链桥设计方面,验证Raydius与其他区块链的交易或同步数据时需要验证者缴纳一定的安全保证金,通过动态控制保证金的阈值从而为Raydius增加了另一层的安全性。
此外,通用性和兼容性对于流动性解决方案的推广和扩大应用范围也至关重要。Raydius提供了可开发、可扩展的接口,利用与EVM 、eWasm可兼容特性和支持通用智能合约的通用特性,它够支持开发者自主构建应用程序,解决了目前很多流动性解决方案只能实现资产转移的困境。同时,Raydius还能够支持多种编程语言,使得熟悉不同编程语言的开发者都能够很方便的拓展应用边界,实现更多样的功能。
目前的Layer 2流动性解决方案总是存在成本与安全性的权衡和取舍,而Raydius在面对这个问题时将选择权交给了用户,通过允许用户根据交易需求和应用的特点自主选择快速通道或标准通道,这能够为具有不同需求的dApp提供更大的灵活性。
通过以上对安全性、通用性、高效性等方面的分析,可以明确Raydius在设计和开发时是将安全性放在首位,同时非常重视通用性和兼容性,此外还兼顾了成本和用户需求等方面,为促进形成一个安全、高效、用户友好的生态整体提供了一个优秀的流动性解决方案。Raydius期待未来随着Layer 2技术的不断进步,可以实现与更多优秀Layer 2项目的合作,共同建立丰富多样、方便快捷的生态。