Search

Search for projects by name

Fuel Ignition logoFuel Ignition

Badges

About

Fuel Ignition is a high-performance Ethereum L2 built on FuelVM and the Sway language.


Value Locked
$420.76 M3.82%
Canonically Bridged
$420.76 M
Externally Bridged
$0.00
Natively Minted
$0.00

  • Tokens
  • Daily UOPS
    3.1948.8%
  • 30D ops count
    4.65 M

  • Stage
    Stage 0
  • Type
    Optimistic Rollup
  • Purpose
    Universal
  • Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    Fuel Ignition is a high-performance Ethereum L2 built on FuelVM and the Sway language.


    Recategorisation

    179d
    10h
    29m
    05s

    The project will be classified as "Other" due to its specific risks that set it apart from the standard classifications.

    The project will move to Others because:

    The proof system isn't fully functional

    Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds.

    Learn more about the recategorisation here.

    Value Locked
    Canonical
    External
    Native
    Activity
    Fuel Ignition
    Ethereum
    Onchain costs
    Calldata
    Blobs
    Compute
    Overhead
    Milestones & Incidents

    Fuel Ignition Mainnet is Live

    2024 Oct 16th

    Fuel Ignition announces its official launch.

    Learn more
    Risk summary
    Risk analysis
    Sequencer failureState validationData availabilityExit windowProposer failure

    Sequencer failure

    Self sequence

    In the event of a sequencer failure, users can force transactions to be included in the project’s chain by sending them to L1.

    State validation

    None

    Currently the system permits invalid state roots. More details in project overview.

    Data availability

    Onchain

    All of the data needed for proof construction is published on Ethereum L1.

    Exit window

    None

    There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable.

    Proposer failure

    Cannot withdraw

    Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.

    Rollup stage
    Fuel IgnitionFuel Ignition is a
    Stage 0
    Optimistic Rollup.

    Learn more about Rollup stages
    Please keep in mind that these stages do not reflect rollup security, this is an opinionated assessment of rollup maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal.
    Technology

    Fraud proofs are in development

    Ultimately, Fuel will use one round fraud proofs with single round performed via a RISC-V-based zkVM. Currently, there is a 7d challenge period.

    • Funds can be stolen if an invalid state root is submitted to the system by the proposer (CRITICAL).

    1. FuelChainState.sol - Etherscan source code, commit function
    2. Fuel docs - Hybrid proving

    All transaction data is recorded on chain

    All executed transactions are submitted to an on chain smart contract. The execution of the rollup is based entirely on the submitted transactions, so anyone monitoring the contract can know the correct state of the rollup chain.

    1. Sequencer - Etherscan address
    2. Fuel docs - Blobs
    Operator

    The system has a centralized sequencer

    While forcing transaction is open to anyone the system employs a privileged sequencer that has priority for submitting transaction batches and ordering transactions.

    • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

    Users can force any transaction

    Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.

    1. FuelMessagePortalV3.sol - Etherscan source code, sendMessage function
    2. Fuel docs - L1->L2 messaging
    Withdrawals

    Regular exit

    The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is finalized the funds become available for withdrawal on L1. The process of block finalization usually takes several days to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.

    Forced exit

    If the user experiences censorship from the operator with regular exit they can submit their withdrawal requests directly on L1. The system is then obliged to service this request or halt all withdrawals, including forced withdrawals from L1 and regular withdrawals initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular exit.

    Other considerations

    Fuel operates via the FuelVM and the Sway language

    The FuelVM makes use of the UTXO model and a register-based design to enable parallel transaction processing. The language used is Sway and it does not support Solidity contracts.

    1. Fuel docs - FuelVM
    Permissions

    The system uses the following set of permissioned addresses:

    Whitelisted addresses that can pause the ERC20Gateway.

    Whitelisted addresses that can pause the FuelMessagePortal and blacklist L2->L1 messages.

    Sequencer 0xEA03…4b37

    Permissioned address submitting tx data as blobs.

    Proposer 0x83dC…9cfF

    Permissioned address that can propose new state roots.

    FuelMultisig 0x32da…f314

    A Gnosis Safe with 10 / 13 threshold. Can upgrade the FuelERC20Gateway, FuelMessagePortal and FuelChainState contracts, potentially gaining access to all funds. It can unpause contracts and remove L2->L1 messages from the blacklist. It can also limit the tokens that can be bridged to L2.

    Smart contracts
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    The system consists of the following smart contracts on the host chain (Ethereum):

    Standard gateway to deposit and withdraw ERC20 tokens. It implements rate limits and a whitelist for tokens. The whitelist is currently active. This contract can store any token.

    Can be upgraded by:

    Upgrade delay: None

    Contract that allows to send and receive arbitrary messages to and from L2. It implements a max deposit limit for ETH, currently set to 115792089237316195423570985008687907853269984665640564039457.584007913129639935 ETH, and rate limits withdrawals. Pausers are allowed to blacklist L2->L1 messages. This contract stores the following tokens: ETH.

    Can be upgraded by:

    Upgrade delay: None

    Contract that allows state root submissions and settlement.

    Can be upgraded by:

    Upgrade delay: None

    The current deployment carries some associated risks:

    • Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on upgrades (CRITICAL).

    • Funds can be frozen if pausers blacklist L2->L1 messages (CRITICAL).

    • Funds can be frozen if the limit of tokens that can be withdrawn is set too low.