DApp的可预测性能:从应用链到弹性区块空间
Artela 白皮书
6 月 20 日,新锐并行 EVM Layer1 项目 Artela 发布了《全栈并行化》 的白皮书,旨在全面释放区块链可扩展性,使 DApps 具备「可预测的性能」。
可预测性能是指为 DApp 提供可预测的 TPS,这对于某些业务场景的 DApps 至关重要。部署在公链上的 DApp,在一般情况下,必须与其他 DApps 竞争区块链的计算能力与储存空间,因此在网络拥堵的情况下,会对业务运行上带来比较高的交易执行成本和交易时延,极大地制约了 DApp 的快速发展。可以想象,如果用户在使用一个去中心化的即时通信软件时,由于底层的区块链网络的区块空间被其他 DApps 抢占,用户的消息几乎无法发送和接收,这对于用户体验来说是灭顶之灾。
为了解决「可预测性能」的问题,最常见的做法是使用专用于特定应用的区块链(Application-specific blockchain),也称为应用链(Appchain),是一种将区块空间专门用于特定应用的区块链。
Artela 则创新性地提出弹性区块空间(Elastic Block Space, EBS)的解决方案,基于弹性计算概念,从协议级别根据 DApp 的具体需求来动态调整区块资源,为需求高的 DApp 提供独立的扩容区块空间。
本文将会分别介绍应用链和弹性区块空间,并比较两者的优劣。
应用链发展之路
应用链是为运行单个 DApp 而创建的区块链。应用开发者不是在现有的区块链上构建,而是用一个定制的虚拟机从头开始构建一个新的区块链,执行来自用户与应用程序交互的交易。开发人员还可以定制区块链网络堆栈的不同元素——共识、网络和执行,以满足特定的设计要求,从而解决共享网络上的高拥堵、高成本、特性固定等问题。
应用链并不是一个新概念:比特币可以看作是“数字黄金”的应用链,Arweave 可以看作是用作永久储存的应用链,Celestia 可以看作是提供数据可用性的应用链。
从 2016 年开始,应用链不仅包含单片区块链,还包含多链形态,即由多个互联的区块链构建的生态系统,主要代表是 Cosmos 和 Palkadot 等。Cosmos 是第一个设想多个互联区块链世界,致力于解决区块链的跨链交互问题,可以通过 Cosmos SDK 快速开发并启动一条链,设计了 IBC 协议,可以无障碍地进行区块链交互等;Palkadot 目标是成为一个完美的区块链扩容方案,其生态中的链被称为平行链,Palkadot 一开始就推崇共享安全,不同的平行链可以通过交叉共识信息进行通信。
而 2020 年底,随着以太坊扩容研究聚焦在侧链、子网和 Layer2 Rollups 等几种方案当中,应用链也孵化出相应的形态。侧链比如 Polygon,子网比如 Avalanche,都是通过提升侧链或子网的体验和性能,实现整体服务能力的提升;Layer2 Rollups 则以模块化堆栈的形式支持应用链,其中 OP Stack 和 Polygon CDK 受到了众多项目的欢迎,Layer2 Rollups 解决方案的目标是提高以太坊网络的吞吐量和可扩展性,以满足不断增长的交易需求,并提供更加广泛的互通性和互操作性。
目前,已经有大量的应用构建在跨各种平台的应用链当中。例如 Axie 在 2021 年初推出了其以太坊侧链 Ronin;DeFi Kingdoms 在 2021 年底宣布从 Harmony 迁移至 Avalanche 子网;Injective 于 2021 年 11 月推出其使用 Cosmos SDK 构建的 DeFi 应用链;dYdX 在 2022 年中旬宣布产品的 V4 版本将使用 Cosmos SDK 技术构建独立的应用链;Uptick Network 于 2023 年上线服务 Web3 生态应用发展的基础设施的生态应用链 Uptick Chain,基础设施里还有丰富的商业化协议层。
应用链的优劣势
应用链获得运行其主权区块链的全部权力,而不是依赖底层的 Layer1,这是一把双刃剑。
优势上主要有三点:
-
主权:应用链能够通过自己的治理方案解决问题,保持单独应用项目个体的独立性和自主性,防止各类干扰阻碍;
-
性能:可以满足应用需要的低延迟和高吞吐量,为用户提供良好的体验,极大提高了 DApp 的实际运作效率;
-
可定制性:DApp 开发者可以根据他们的需求定制链,甚至可以打造一个生态系统,提供了足够灵活的演进方式。
劣势上同样也有三点:
-
安全问题:应用链需要为自身的安全负责,包括权衡节点数量、维护共识机制,规避质押风险等,网络相对并不安全;
-
跨链问题:应用链作为独立的链缺少和其他链(应用)的互操作性,面临跨链问题。集成跨链协议又会增加跨链风险;
-
成本问题:应用链需要额外搭建的基础设施很多,需要大量成本和工程时间。此外,还包含运行和维护节点的成本。
对于初创公司而言,应用链的劣势对其进入市场运作的 DApp 的影响是非常大的,多数初创公司的开发团队不仅不能很好地解决安全问题和跨链问题,还会被高昂的人力、时间、金钱成本劝退。但是可预测性能又是特定 DApp 的刚需,因此,市场急需一个 Layer1 的可预测性能的解决方案。
弹性区块空间
在 Web2 中,弹性计算是一种常见的云计算模型,它允许系统根据需要动态地扩展或缩减计算机处理、内存和存储资源以满足不断变化的需求,而无需担忧用量高峰的容量计划和工程设计。
弹性区块空间就是根据网络拥堵程度自动调整区块容纳的交易数量,如果对于特定应用的交易,区块链网络通过弹性计算提供稳定的区块空间和 TPS 保障,这就实现了「可预测性能」。
MegaETH 也曾经提出过类似的「弹性动态扩展」的概念,并认为是 DApp 支持大规模采用的必然发展路径。预测了未来 1-3 年将出现以下技术发展:
-
第一阶段:在验证节点级别进行水平扩展;
-
第二阶段:链级别的静态扩展;
-
第三阶段:链级别的动态水平扩展。
而 Artela 真正落地了这个概念,解决了第一阶段“如何协调验证节点水平扩展去支持弹性计算”的核心问题。当 Artela 网络中的协议增长时,它可以订阅弹性区块空间以处理协议用户和吞吐量的增长。弹性区块空间为具有高交易吞吐量需求的 DApps 提供独立的区块空间,允许它们随着增长而扩展。本质上,区块空间决定了区块链每个区块可以存储的数据量,直接影响交易吞吐量。当 DApps 经历交易需求激增时,订阅弹性区块空间变得有用,以高效处理增加的负载,而不影响底层区块链。
弹性计算的实现又分为「实时弹性」和「非实时弹性」,「实时弹性」一般指分钟级别响应扩容,而「非实时弹性」则只需要在一个限定时间内去响应扩容。Artela 采用了「非实时弹性」的方法,即当网络检测到需要扩容时,会发起一个扩容提议,并在一个或多个 epoch 后(而非实时),整个网络的验证节点才会完成扩容,并提交扩容的证明供其他验证者挑战。
Artela 的弹性区块空间方案其实借鉴了很多分布式数据库的理念,也是区块链分片技术的延续。站在“计算分片”的角度,针对有需求的应用流量去扩容,规避了“跨片事务”的问题,使开发者和用户体验与以前无较大差别。同时,采用落地难度相对较小的「非实时弹性」,在满足很多 DApp 实际的需求的情况下,加强了应用性。
值得一提的是,弹性区块空间作为一种横向扩展区块链性能的解决方案,其前提是「交易可并行化」,只有交易并行度做上去后,才需要横向去扩展节点的机器资源,以提升交易吞吐量。
因此对于像以太坊这样的 Layer1,交易串行问题是最直接的性能瓶颈,区块大小也被可变大小的区块 Gas limit 所限制(上限 30,000,000 gas),因此只能寻求 Layer2 扩容方案。
而对于像 Solana 这样的高性能 Layer1,虽然支持交易并行执行,性能也可以横向扩展,但并不能应对需求高峰期间 DApp 的「可预测性能」的问题。Solana 通过实施「本地费用市场」的解决方案,目的是防止任何单一需求的交易垄断稀缺的区块空间,限制了时间性费用上涨,并减轻了突发需求高峰的负面影响。例如,在 NFT 发行期间,NFT 发行者将迅速消耗每个账户的计算单元(CU)限制,之后的交易必须提高优先费用,才能在该账户的有限空间内得到处理。
可以说,Artela 通过弹性区块空间方案以应对交易需求的激增,也是进一步延伸了 Solana 中的「本地费用市场」的概念,不仅确保了 DApp 的「可预测性能」,还防止了全网范围内的费用激增和拥堵,一举两得。
总结
无论是应用链还是弹性区块空间,本质上都是为了解决不同 DApp 对区块链性能有不同需求的问题,或者说「可预测性能」的问题,两种方案没有好与不好,只有合适与不合适。这两种方案让笔者想起了 「胖协议理论」—— 由 Joel Monegro 于 2016 年提出的理论,围绕「加密协议应该如何捕获(比构建在其之上的应用所捕获的集体价值)更多的价值」展开。
应用链实际上是个瘦协议,特别是当 Layer1 采用模块化架构时,协议层完全由应用层定制,虽然给应用带来了更好的价值累积机制,但同时带来了高昂的成本和有限的安全性。
弹性区块空间实际上是个胖协议,是底层 Layer1 协议层的扩展功能,有效地降低了有「可预测性能」需求的参与者的进入门槛,同时协议也可以捕获应用价值,产生正反馈循环。