一览模块化执行层 Fuel:采用 UTXO 模型支持并行交易执行
撰文:Karen
在 Arbitrum Odyssey 期间因链上负载暂停 Odyssey 活动之际,「模块化」一词也愈加频繁地被提及,今天 Foresight News 要介绍的是一个模块化执行层 Fuel。
Fuel 其实算是最早部署在以太坊主网上的首个 Optimistic Rollup,在 2020 年年底在以太坊上线 V1 版,通过使用与 EVM 不同的执行模型来提供可扩展性,即,基于 UTXO 的高度可并行化的最小执行系统,支持 ETH 和所有 ERC-20 代币。
Fuel V1 最初主要适用于以支付为中心的应用。除了简单支付,还支持带 HTLC (哈希时间锁定合约)的原子兑换、OP_RETURN 式输出(可以在交易中写入任意字符)、使用任何代币支付费用(而不仅仅是 ETH)、使用原子兑换在 10 分钟内提款等特点或功能。
然而,或许是 Fuel V1 用例过少以及不支持智能合约的缘故,在上线后迟迟得不到用户的青睐,根据 L2BEAT 数据,目前的锁仓额仅有不到 10 美元,总共只有 21 笔交易,除了两个月前发生的四笔交易外,再往前推的最后一笔就是在去年四月份了。
Fuel V1 启动后不久,Fuel 开发团队 Fuel Labs 就把全部开发重心转移到 V2 版,并将其定位为模块化执行层,即,为模块化区块链堆栈设计的可验证计算系统。在了解 Fuel 的技术堆栈和架构之前我们先来看下团队 Fuel 背后的团队背景。
Fuel 团队和投资背景
Fuel Labs 的一位联合创始人是 John Adler ,John Adler 也是模块化区块链网络 Celestia 的联合创始人,之前其还在 ConsenSys 做过 Layer2 可扩展性研究。Fuel Labs 的 Sway 语言专家 Emily Herbert 也是一位计算机科学家。Fuel Labs 的其他贡献者可以在官网 查看 。
根据目前公开的资料,Fuel Labs 的资金来源主要有三方面,在 2020 年获得过以太坊基金会的资助,之后还在 Gitcoin 上接收过 捐赠 ,目前该捐赠页面已关闭且没有存档,所以获得的具体捐赠金额并不清楚,不过根据 Fuel Labs 在 2021 年年初的一条推文中表示,有超过 275 位 Gitcoin 贡献者对其进行了捐赠。
此外,在 2021 年 9 月份,Fuel Labs 获得了来自外部投资机构的 资金支持 ,完成 150 万美元融资,领投方为 CoinFund,Fenbushi Capital、Origin Capital 等也进行了投资。
Fuel 技术架构和堆栈
据 Fuel Labs 指出 ,Fuel(V2)的技术堆栈有三个核心支柱,分别为:
-
并行交易执行:Fuel 使用 UTXO(未花费交易输出)模型形式的严格状态访问列表( strict access lis t),因此具有并行执行交易的能力,在计算、状态访问和事务吞吐量方面较具优势)。
-
Fuel 虚拟机(FuelVM):旨在减少传统区块链虚拟机架构的浪费处理情况,同时增加开发人员的潜在设计空间。
-
开发者体验(使用 Sway 和 Forc):Fuel 使用自己的特定领域语言 Sway (受 Rust 启发)和支持工具链 Forc (Fuel Orchestrator)提供较为强大和流畅的开发人员体验。开发环境保留了 Solidity 等智能合约语言的优势,同时采用了 Rust 工具生态系统中引入的范式,并包含利用区块链 VM 的语法。
2020 年第一季度,Fuel Labs 还推出了一种新的以太坊低级语言,为以太坊虚拟机的低级中间语言 Yul(语法简单而实用)添加了各种 QoL 功能,利用 Yul+ 可以实现比 Solidity 便宜得多的交易。
正如在 Fuel V1.1(当前版本)中描述的那样,用户将多笔 Fuel 交易发生到 Fuel 节点,然后进入 Mempool 作为一个未确认的交易,之后客户端将交易组合成一个 Fuel 区块,然后作为 calldata 发送到以太坊,此时这个 Fuel 块就得到了确认。
Fuel 节点与以太坊交互
如果向合约提交了欺诈证明,验证者(Verifiers)会进行解析,以确保不会处理恶意创建的欺诈证明,然后证明者(Provers)再对该欺诈证明处理,即,证明发生了欺诈。
Fuel V1.1 还提供了一个可选的模块,添加了更多功能,如 Token Funnels,这是一个可以接受直接转账的合约,省去了在转移 ERC-20 代币时需要先同意的繁琐流程,不仅降低了双花攻击风险,另外,如果用户将资产转移到合约中,也不会损失该资金。
若要将资金存入 Fuel,仅需发送至 Fuel 合约,此时存款将被添加到 Fuel 链的状态中。
从 Fuel 提款时有两种方案,第一种标准方案时需要在 Fuel 上销毁资产,然后在大概两周左右的延迟后可提款至以太坊上;第二种快速方案采用的是由 HTLC(哈希时间锁定合约)提供支持的原子兑换,通过流动性提供者可以在几分钟之内完成提款。
Fuel Labs 还在构建区块链浏览器,目前还为早期版本,未来将支持基于以太坊的密钥管理(即 MetaMask 和 WalletConnect 用于账户管理和交易签名)。
在 Fuel V2 中,除了 V1.1 之外的特点,以及如上提到的互操作性智能合约之外,V2 还有类似 比特币 的 Predicate 脚本等功能, Predicate 脚本 将能够在 Fuel 上启用大量智能合约应用,同时保持 UTXO 数据模型相对于账户数据模型的性能提升。
Fuel Labs 表示,过去其他基于 UTXO 的智能合约系统在尝试同时与同一个合约交互时会遇到用户竞用(contention)的情况,不过,Fuel 得益于可延展交易设计因此没有竞用问题。Fuel 上的应用程序可以直接与以太坊上的应用程序进行交互。不过,目前,Fuel 还是一个独立的网络,但在未来会完全桥接到以太坊,先是测试网,然后在桥接到主网,以便以太坊资产可以在 Fuel 执行环境中使用。
Fuel Labs 推出 DEX「SwaySwap」
6 月下旬,Fuel Labs 推出类似 Uniswap 的 DEX「 SwaySwap 」,该 DEX 已在 Fuel devnet 上运行,目前为演示应用(非主网部署),功能当前包括兑换和提供流动性。测试过后我们可以发现,SwaySwap 体验确实相当顺畅,所需的 Gas 费非常低,提供流动性仅需要三、四秒钟,兑换所需时间更少,且在点击兑换或者提供流动性后无需再进行任何同意等其他操作。
这是因为,在 SwaySwap 中,兑换、转移以及用来创建为 LP 的这些资产都是原生资产,而非代币,这意味着用户与智能合约交互之前不需要再先批准资产。
如前所述,Fuel V2 将基于 UTXO 的高度可并行化的最小执行系统,也将启用智能合约支持,拥有以太坊式的可互操作的图灵完备智能合约,而不仅仅是简单转账,最新上线的 SwaySwap 目前在体验和交互成本等方面表现出了相对明显的优势,不过,正式上线后尚需进一步验证。