即将发币的AO 可能是链上
致力于成为最高效执行层 Fuel做对了哪些事情?
来源:Fuel Network
模块化区块链旨在将区块链功能拆分为独立且专业的模块,并确保每个模块都能高效地完成其特定任务,同时将其他任务外包。其也被视为 2024 年加密领域值得关注的叙事之一。但相较于其他模块,市场注意力似乎一直集中在数据可用性层模块上,例如 Celestia、EigenDA 等项目,而执行层、结算层等模块并没有获得太多关注。但近期随着并行 EVM 叙事的兴起,执行层也逐渐引起了重视。
执行层的主要职责是处理和执行智能合约和交易,为 Rollup 和应用程序提供高吞吐量的环境。Fuel 就是其中一个非常有趣的项目,它专注于避免状态增长,并且不局限于任何一种配置,无论是主权 Rollup、结算链还是单体链。
从 V1 到 V2:有哪些演进?
2020 年 12 月,Fuel Labs 发布了 Fuel V1,这是以太坊主网首个 Optimistic Rollup 解决方案。最初,Fuel v1 仅是为了应对以太坊扩容问题而提出的一个简单方案,通过采用与以太坊虚拟机不同的执行模型来实现可扩展性。Fuel V1 的主要用例是处理以支付为核心的应用,并且还支持带有哈希时间锁定合约(HTLC)的原子兑换、OP_RETURN 式输出、使用任何代币支付费用及在 10 分钟内提币等功能。
然而,由于 Fuel V1 的例过少且不支持智能合约的限制,上线后并未获得用户的广泛青睐。因此,在启动不久后,Fuel 开发团队 Fuel Labs 就将全部开发重心转移到了 V2 版本,并将其定位为模块化执行层。通过模块化设计,Fuel 可根据需求为其他模块化层选择即插即用的工具,从而具有更大的灵活性。此外,Fuel 采取欺诈证明的机制来确保 L2 网络的正确共识。尽管这可能会导致需要更多资源进行验证,但 Fuel 允许用户通过轻客户端进行链的验证,从而减少对全节点资源的需求。近期,Fuel 已宣布将其暂存网络迁移至 Beta-5,开发人员可使用新的 npm create fuels 软件包,从而简化构建全栈 DApp 的过程。且 Fuel 还表示未来将会推出激励测试网络。
Fuel 团队及投资背景
Fuel 的团队非常有趣,其联创 John Adler 同时也是模块化区块链网络 Celestia 的联创。且他还曾在 ConsenSys 从事二层可扩展性研究,并且创建了 Optimism Rollup 设计范式。这不禁也让人好奇,未来 Fuel 作为执行层会和 Celestia 产生何种协同效应。此外,Fuel 首席执行官 Dodson 则是以太坊早期的 Solidity 开发者。
根据公开资料,截止目前,Fuel 共完成了两轮融资。2021 年 9 月,Fuel Labs 完成了 CoinFund 领投的 150 万美元融资轮。随后于 2022 年完成了 8000 万美元融资,Blockchain Capital 和 Stratos Technologies 领投,Alameda Research、CoinFund、Bain Capital Crypto、TRGC、Maven 11 Capital、Blockwall、Spartan、Dialectic 和 ZMT 等参投。
技术堆栈解读
Fuel 的愿景是成为模块化区块链堆栈中最快的执行层,并提供最高安全性和灵活吞吐量。为了实现该愿景,Fuel 的技术架构做了多项设计选择,其中最为核心的是采用 UTXO 模型、虚拟机及编程语言的创新。
UTXO 模型
相比于其他因为性能而迁就 EVM 兼容性的 Rollup,Fuel 选择继承比特币的 UTXO 模型作为其记账模型。与账户模型不同,UTXO 模型中不存在钱包或账户的概念。每个 UTXO 代表一定数量的代币,交易的目的是消耗先前创建的 UTXO 并创建新的 UTXO。但和传统 UTXO 模型不同的是,Fuel 的 UTXO 模型更加通用,不仅可以表示代币的转移,还可以表示智能合约的状态。Fuel 的每个合约 UTXO 都承载着合约的状态和余额,由合约 ID 唯一标识。
相较于账户模型,UTXO 模型的优势在于不需要按照特定顺序处理事务,从而使得交易可以并行执行。Fuel 利用 UTXO 来管理对状态的访问,通过构建严格的访问列表,确保交易的执行顺序符合规范,实现了交易的并行处理。这种并行执行技术使得Fuel能够同时利用多个CPU线程和核心,在处理交易时提高了计算、状态访问和事务吞吐量。
但传统的 UTXO 模型存在并发问题,因为每个 UTXO 都只能使用一次。这导致了一个交易的成功执行意味着其他交易的失败,尤其是在 DeFi 应用中。而在 Fuel 中,用户不会直接签署 UTXO,而是签署合约 ID,以表示他们与合约进行交互的意图。这意味着用户不会直接改变状态,从而避免了UTXO被消耗。最终是由区块生产者决定交易将花费哪个 UTXO 以及相关合约的结果状态。
此外,在 Fuel 上,UTXO 的花费条件是谓词(Predicates)。谓词会对是否会发生交易进行评估,如果发现与其授权条件不匹配,则该交易将不会被包含在区块中。更为重要的是,谓词不会像智能合约那样存储数据,因此不会导致状态增长问题。而且,这种设计不仅能够最小化状态增长,还能够为 Fuel 引入无状态账户抽象功能,避免了账户状态在链上长期存储导致的问题。Fuel 的账户抽象支持各种应用场景,如社交恢复、交易费用补贴等,使得其在多样化的区块链应用中具有广泛的适用性。
全新 VM 架构 FuelVM