作者:念青,链捕手

原文:《详解 Celestia“亲兄弟”Fuel:模块化执行层和 L2 有何不同?》

9月初,模块化区块链Fuel开发商Fuel Labs宣布完成由Blockchain Capital和Stratos Technologies领投的8000万美元融资。此后不久,Fuel紧接着推出面向开发人员的测试网beta-1,开发人员可以任意向其部署合约,无需许可或白名单,用户也可以与已部署的合约进行交互。

Fuel成了Celestia之后,又一个强调模块化区块链概念的协议。事实上,Fuel和Celestia可以说是“亲兄弟”,两个项目拥有同一个联合创始人John Adler,他也是Optimistic Rollup方案的最早提出者之一。

两个开发团队虽然彼此较为独立,但有交叉的核心成员,因此在技术路线上,两个模块化区块链是互补的关系。Fuel的定位是模块化执行层,而Celestia针对数据可用性和排序进行了优化,它不执行,只处理数据可用性和共识。

Fuel v1 最初是用于单一以太坊的L2扩容方案,也是以太坊主网上的首个Optimistic Rollup,于2020年底部署。但单纯的L2严重受主网性能的制约,即使将执行层分割出去,仍然不能达到彻底扩容的目的,这一点,我们从Optimism、Arbitrum等L2协议的gas费上就可以窥见。

Fuel并不满足于此,试图通过模块化的执行层来优化基础层,并且改进L2的执行状态,真正实现扩容。其创始人将Fuel定位为“去中心化协调的纽带”,以探索更强的可组合性。

一、模块化执行层和L2有什么区别?

我们都知道,区块链一般承担了执行、共识和数据可用性这主要的三个功能:

  • 执行:执行交易以更新状态。
  • 共识:定义状态并验证区块链上的所有节点具有相同的状态。
  • 数据可用性:确保区块数据已发布到网络。

在单片区块链中,数据、共识、执行这三层全都混杂在一个网络中,从数据的验证到交易的执行都得需通过节点运作。因此,节点要想保持全局复制状态,就不能保证网络运行的效率。

例如以太坊,为了保证去中心化,以太坊要求运行完整节点的硬件必须允许消费级硬件,以使任何人都可以成为节点,通过运行一个完整的节点,用户通过验证自己来实现对链的去信任。安全性是有了保证,但牺牲了网络的可扩展性。

目前二层扩容中的Rollup方案主要通过将执行层分割出去,适当解决了一部分问题。计算被转至链下处理和执行,然而交易数据仍保留在主链上,Rollup对于数据可用性并没有改进,这意味着Rollup上的Gas费用仍会因为主网拥堵而水涨船高。

此外,Optimistic Rollup除了必须支付一层主网的费用来发布数据,还需要付出维护L2上的状态(存储)和执行成本。但目前,Rollup对优化状态的关注并不多。

在模块化时代,区块空间将不再是稀缺资源,基础层开始提供更大的存储空间,因此数据不再成为问题。而状态和执行将很快作为新的瓶颈被关注。

因此,基于以上问题,Fuel提出了模块化执行层的概念。

首先,通过轻客户端和欺诈证明解决可扩展性的问题。Fuel采用的方案类似Optimistic Rollup,默认多数节点都是诚实的,所以在发布断言时,不要求随附证明其有效性,而是采取欺诈证明的机制来确保 L2 网络的正确共识。在假设区块链有效的前提下,轻客户端只需下载区块头并检查其工作量证明 (PoW)即可验证交易,而无需下载所有区块。

详解模块化公链Fuel:脱胎于Optimistic Rollup的模块化执行层进行了哪些改进?

因为轻客户端不需要24/7全天候运行并且不直接与链交互,所以计算要求要低得多,运行轻客户端所需的计算资源和存储量比完整节点低几个数量级。

其次,通过新的虚拟机FuelVM改进了EVM低效、浪费资源的执行环境。FuelVM从模块化执行层角度来考虑可扩展性,⽽不是从以扩展特定基础层(例如以太坊)为主的Rollup出发。推崇计算⽽不是数据,并尽量减少状态的使⽤。

Fuel专注于成为模块化区块链中的执行层,这意味着Fuel不实施共识或将区块链的数据存储在Fuel链上。对于功能性区块链,Fuel与其他链交互以达成共识和数据可用性,例如以太坊或 Celestia。

换句话说,Fuel并不满足于成为任何单一区块链的L2,只进行“不痛不痒”的降费,而是更加灵活、彻底,既可以成为L2、也可以成为L1、侧链,甚至是状态通道。就像Celestia一直强调的拥有“可插拔”的可组合性。

Fuel具体用例如下:

详解模块化公链Fuel:脱胎于Optimistic Rollup的模块化执行层进行了哪些改进?

1、作为 Rollup 或 L2

Fuel的模块化执行层配置本身就类似于以太坊上部署的以Rollup为主的L2,但Fuel的技术方案和Zk、OP的Rollup均有不同,而是可以用作有效性或欺诈证明系统。此外,目前Rollup是为单片区块链堆栈设计的,因此有一定的局限性,而Fuel可对一层主网的带宽潜力进行优化。

2、作为 L1

Fuel 技术包括作为完整的L1运行所有组件。这些组件包括共识、数据可用性、结算和交易执行。在这种模式下运行的常见配置是权限证明和通过 Tendermint-BFT 风格的权益证明。但团队表示,即便作为L1在理论上行得通,也仅局限在测试网内,因为Fuel的定位更侧重作为高性能执行层增强现有区块链。

3、作为状态通道

FuelVM 是一种具有确定性状态系统的定价虚拟机架构,这使其非常适合多方通道设计,在这种设计中,各方都必须清楚地了解每个通信步骤或窗口中系统的确切状态。但目前暂未提供开箱即用的基于Fuel技术的通道配置。

4、作为侧链

Fuel技术还支持作为现有L1的侧链运行。这意味着在L1和Fuel之间有一个消息传递桥。在这种配置中,数据可用性将由侧链处理,而结算由第 1 层处理。还可以选择在半可证明的配置中运行它,从而可以使用欺诈证明来确保使用第 1 层作为仲裁者来确保更好的有效性。

二、技术亮点

详解模块化公链Fuel:脱胎于Optimistic Rollup的模块化执行层进行了哪些改进?

Fuel技术优势可以用三个关键词概括:执行并行交易的能力;改进的虚拟机FuelVM;更开发者友好的专用编程语言Sway。

在技术路线上,Fuel和Starkware很像,两者都开发了自己的专用编程语言,并创造了新的更高效的虚拟机。此前,Starkware宣布Cairo1.0上线计划的时候,Fuel 联合创始人John Adler也曾吐槽说,Cairo的很多特征和功能Sway很早就实现了。

1、并行执行交易

目前,并行执行是L1越来越流行的理念,一些新公链如Move语言系统的Aptos、Sui和Linera 都是使用了并行执行。与之相对的则是以太坊为主的EVM采用的多是顺序执行。

在顺序执行中,EVM每次只执行一个交易,而将其他交易搁置,直到交易执行完毕,区块状态才被更新,即使两个交易是独立的。虽然这种执行模式支持闪电贷等特殊用例,但总体而言效率很低,缺乏可扩展性。

并行执行支持在多个处理器核心之间划分交易,提高硬件利用率。在高吞吐量链中,增加硬件资源与可执行的交易数量直接相关。在高频活动期间,验证者节点可以委托更多的核心来处理额外的交易负载。计算资源的动态扩展允许网络在高需求时期实现更高的吞吐量。此外,并行执行改善了交易确认的延迟,交易不需要等待几十或几百个区块,也不需要为优先确认而产生过多的费用。

Fuel 专注于成为模块化区块链中的执行层,这意味着 Fuel 不实施共识或将区块链的数据存储在 Fuel 链上。对于功能性区块链,Fuel 与其他链交互以达成共识和数据可用性,例如 以太坊或 Celestia。

Fuel使用UTXO模型来创建强制访问列表,即用一个列表来控制对同一片状态的访问。模型建立在规范交易排序的概念之上。在这个方案中,区块中的交易排序导致了检测交易之间的关联关系的显著简化。为了实现这个架构,Fuel建立了一个新的虚拟机 FuelVM 和一种新的语言Sway。

相关阅读:《一文读懂“并行执行”及代表项目:Aptos、Sui、Linera和Fuel》

2、新的编程语言 Sway

Fuel 开发了一套独特的编程语言 Sway,Sway在开发环境中保留了Solidity等智能合约语言的优势,同时采用了Rust工具生态系统中引入的范式,简而言之:Rust + Solidity = Sway。

Sway优先考虑编译时分析和安全性,类似于Rust的借用检查器和安全第一语义。此外,它具有Rust的语法,因此也具有较高的性能。当然,Sway并不通用,其目标是更好地服务于VM环境。

3、改进的虚拟机FuelVM

FuelVM旨在减少传统区块链VM架构的浪费处理,同时增加开发人员的潜在设计空间。

FuelVM是在EVM基础上的改进,主要差异如下:

  • FuelVM具有全局共享内存架构,而不是上下文本地内存
  • FuelVM 专为欺诈证明而设计
  • FuelVM 拥有多个原生资产(在以太坊中,唯一的原生资产是ETH。在Fuel中,任何合约都可以使用简单的资产操作码来铸造其基于UTXO的原生资产,并获得原生级调用和优化)。

三、团队及融资情况

John Adler 同时担任了Fuel和Celestia两个项目的联合创始人。此前,John曾在ConsenSys 担任L2可扩展性研究员,从事以太坊 2.0 的第二阶段工作,也是Optimistic Rollup方案的最早提出者之一。

Fuel的联合创始人兼首席执行官是Nick Dodson,此前也曾在ConsenSys担任研究员。

早在2019年年中,John 就和Nick Dodson启动了Fuel v1,作为首个Optimistic Rollup方案,Fuel v1最初专注于稳定币支付,因为在当时稳定币消耗了最大的gas。但当时,Fuel v1使用场景有限,不能搭建图灵完备智能合约,因此在Fuel v1主网启动后不久,团队就开始了 Fuel v2(即 Fuel)的工作。

而Celestia Labs的通信主管Ekram Ahmed也是Fuel的战略顾问。尽管Celestia和Fuel是两支不同的团队,但其管理层存在诸多交叉,在未来发展规划上也会相辅相成。

融资方面,Fuel开发商Fuel Labs在9月初宣布完成8000万美元融资,Blockchain Capital 和 Stratos Technologies 领投,Alameda Research、CoinFund、Bain Capital Crypto、TRGC、Maven 11 Capital、Blockwall、Spartan、Dialectic 和 ZMT 等参投。此前在 2021年9月,Fuel Labs 曾获得150万美元融资,CoinFund领投,Fenbushi Capital、Origin Capital参投。

四、总结

目前,Fuel已经宣布推出赠款计划、上线测试网,并公布SwaySwap等生态项目,但尚未公布主网上线时间,预计最早也会在2023年初。

除了Fuel提出的“模块化执行层”的概念,越来越多的二层扩容方案也开始提出更加灵活的执行层方案。例如,Boba Network近期也提出了“多链执行层”的概念,与第 1 层 EVM 兼容的区块链一起构建多链环境,并宣布了与Moonbeam 、Fantom 、Avalanche等L1的合作。

还有近期完成了720万美元种子轮融资的Rollup临时执行层方案AltLayer,也是从构建dApp的角度出发,提出了“Rollup即服务”的概念,构建了一个由 optimistic Rollup 驱动的瞬态执行层系统,例如,开发人员可在NFT Drop这种消耗性事件之前启动临时执行层,一旦铸造结束,资产就会在L1结算,执行层解散。

模块化正在成为行业最前沿的趋势之一,围绕着执行层、数据可用性等也诞生了诸多新锐项目,它们或许将带领区块链的用户体验达到新的水平。