Skip to main content

Fuel

Key Takeaways

  • Fuel Network is a layer-2 protocol for Ethereum that enhances overall developer experience, while delivering security and maximum throughput.
  • Fuel supports parallel transaction execution, which boosts compute, state accesses, and transactional throughput.
  • Fuel Network utilizes state-transition fraud proofs and UTXO fraud proofs for efficient and exhaustive fraud-proof mechanisms, optimizing for settlement without a global state tree or account trees to increase scalability and performance.

1. Overview


Fuel Network is a layer-2 protocol for Ethereum that enhances overall developer experience, while delivering security and maximum throughput. Here are some key features:

  • UTXO model: Fuel executes transactions in parallel, enabling it to use more CPU threads and cores than single-threaded blockchains. This boosts compute, state accesses, and transactional throughput.
  • Optimistic rollup design: Fuel is completely decentralized, non-custodial, censorship-resistant, and permissionless. It is the most scalable optimistic rollup in the world, with unique UTXO-based design.
  • Scalability: Fuel's technology gives the Ethereum network a significant boost in scalability and performance, making it suitable for a wide array of use cases. It has a maximum on-chain throughput of 500 TPS (4300 with BLS aggregate signatures) and up to 10,000 TPS surge intake capacity. Fuel supports sending and receiving using any Ethereum address, no registration required, and ETH and all ERC-20 tokens are supported. Non-custodial token swaps and cross-chain atomic swaps are also available.

2. Execution


Fuel supports parallel transaction execution, which enables it to use more CPU threads and cores than single-threaded blockchains. This boosts compute, state accesses, and transactional throughput. Fuel's parallel execution is achieved through strict access lists, similar to EIP-648, allowing execution to be done in parallel across transactions that touch disjoint sets of contracts.

2.1 Sway Language

Sway is a language specific to a domain (Domain-Specific Language or DSL) that was developed for the Fuel blockchain's blockchain-optimized virtual machine, the Fuel Virtual Machine (FuelVM). It has syntax that allows the blockchain virtual machine to be used without requiring overly verbose boilerplate, and it is based on Rust. Sway was created for the Fuel environment, which has high computational requirements, alongside the FuelVM.

3. Settlement


Fraud proofs are a way to verify blockchain transactions by accepting a new block unless proven invalid within a given timeframe. This approach allows light clients to remain secure with minimal trust, assuming that there is at least one honest full node in the network that can produce fraud proofs. The Fuel protocol and FuelVM are designed to be fraud-proof in the Ethereum Virtual Machine.

State-transition fraud proofs are a general-purpose fraud-proof mechanism, but they require a global state tree, which can be a bottleneck. UTXO fraud proofs avoid this by requiring each UTXO spend to "point" to the creation of the UTXO. Proving that the pointer is invalid or the spent item doesn't match the original creation is sufficient for exhaustive fraud proof.

The Fuel transaction format and validation logic are fraud-provable with UTXO fraud proofs. The FuelVM uses an Interactive Verification Game protocol, in which an execution trace is bisected until a single step must be executed to check for a mismatch. The FuelVM instruction set is expressive yet fraud-provable within the Ethereum Virtual Machine.

Fuel's optimization for fraud proofs is the use of the UTXO model, which means Fuel has no global state tree or account trees. The general construction of a fraud proof applied to an account model chain like Ethereum could be prohibitively expensive. Given a pre-state and a state transition, the general fraud proof model requires re-executing the transition locally and comparing the output to the post-state produced by the block producer. If the post-state differs, it was invalid. If applied to Ethereum today, someone could create a transaction that calls many different contracts, and those contracts could each have up to 24kb of bytecode. To locally re-execute, all the bytecode for each of the contracts that were interacted with would need to be provided.

3.1 Hybrid Proving (proposed in 08/2023)

The FuelProver is designed to support multiple proving mechanisms, including Risc Zero, zkSync, Powdr, and others. The concept of hybrid proving combines fraud proofs and ZK proving to create a new category of scalability solutions that bridges the gap between optimistic rollups and ZK rollups. With only one round of interaction needed, the hybrid proving model avoids the multiple rounds required for ORU systems to allow parties enough time to interact and avoid censorship.

The FuelProver offers many promising benefits, and it will also support a fully optimistic option built on the fully fraud-provable virtual machine.

4. Data Availability


Fuel Network utilizes data availability from Ethereum in a way that is similar to how optimistic rollups work. In particular, Fuel Network directly stores transaction data and state root data on the Ethereum network. This approach enables increased scalability and performance while maintaining security and decentralization.

By utilizing Ethereum as a data availability layer, Fuel Network benefits from the security and decentralization of the Ethereum network. This is especially crucial for a layer-2 protocol like Fuel Network, which is designed to improve the developer experience while providing security and maximum throughput.

5. Team


6. Resources


CTRL + J