Facet's Gas Mechanism

Gas payments are an essential part of a blockchain network's operations, playing a crucial role in preventing network spam attacks. By requiring users to pay gas fees for transactions, Facet ensures that computational resources are used efficiently and that malicious actors are deterred from overloading the network with frivolous transactions. Below we'll explain how Facet Protocol’s native gas token, the Facet Compute Token (FCT), is issued and consumed by the protocol.

Breaking from Traditional Two-Way Bridges

Ethereum’s (L1) native gas token is ether. L2s typically simulate the experience of having ether as their native gas token by using a bridge. Users deposit (“bridge in”) L1 ether into an L1 smart contract and in return they are minted the L2 gas token. Users can burn the L2 gas token to withdraw (“bridge out”) L1 ether from the L1 smart contract.

The upgradeability of these bridge contracts involves privileged keys (security councils, multi-sig wallets, etc.), introducing centralization and security risks.

To eliminate the risks associated with upgradeable gas bridges, Facet eliminates the canonical (enshrined) gas bridge altogether.

FCT Issuance, Gas Fee, & Credit

Since Facet transactions are sent as regular Ethereum transactions, you pay gas with your L1 gas (ether).

Here’s the end-to-end process:

  1. User spends L1 gas (ether) to send an L1 Ethereum envelope transaction containing a Facet payload.

  2. Facet mints FCT at a defined rate, based on the payload’s calldata size.

  3. Facet consumes a portion of the minted FCT as a gas fee to process the transaction.

  4. Post execution, Facet credits any residual FCT to the user’s wallet.

Since spending gas (ether) on an Ethereum transaction mints the FCT necessary to process the transaction on Facet, users don't have to think about FCT if they don’t want to. Everything from issuance to consumption happens in the background. Let's explore each of these steps in more detail.

FCT Issuance (Minting)

Once a user sends a Facet transaction via Ethereum L1, Facet automatically mints FCT based on the size of the calldata in the envelope transaction. The amount of FCT minted is directly tied to how much gas the transaction consumes on Ethereum. Specifically, the larger the payload (i.e. calldata size), the more FCT is minted. The issuance rate starts at a predefined amount and follows a halving schedule, meaning the rate at which FCT is minted will gradually decrease over time. This mechanism ensures that the supply of FCT remains in line with network usage while also incentivizing early adoption by issuing more FCT in the earlier years.

For a more comprehensive review of issuance, see FCT Issuance Calculation.

FCT Consumption (Gas Fee)

Facet’s approach to calculating the gas requirements of a transaction is modeled after Ethereum’s EIP-1559, but instead of ether, FCT is used as the gas token. For those familiar with gas calculation on Ethereum, Facet’s approach will feel familiar.

Facet’s gas system ensures that transactions are processed efficiently based on the resources they use. The cost of each transaction is determined by how much computational power and storage it requires, and this base fee adjusts depending on how busy the network is. When Facet is busy, the fee increases to manage demand, and when it’s less busy, the fee decreases. This dynamic approach ensures that users pay a fair price based on the network’s activity, and the total cost reflects the complexity of the transaction.

Those familiar with EIP-1559 will note one key departure: since Facet transactions are already sequenced by L1 validators, there are no additional validators on Facet to reward with a priority (tip) fee. As a result, Facet’s gas calculation only involves the base fee component.

For a more comprehensive review of gas fees, see FCT Gas Fee Calculation.

FCT Credit

After the Facet transaction has been processed and a portion of the minted FCT has been consumed as a gas fee, any remaining FCT is credited to the user’s wallet. This balance can accumulate over time.

Additional FCT Concepts

  • FCT Utility: The only enshrined utility for FCT is for gas fee payments on Facet. At launch, Facet supports a 1-to-1 relationship between Ethereum transactions and Facet transactions ("atomic" based sequencing). Facet will evolve to support the batching of transactions into blobs (e.g. EIP-4844). With this future in mind, an ecosystem of batchers is likely to emerge, and FCT would naturally function as the native gas token for that blob inclusion economy.

  • One-Way Nature: There is no canonical bridge for FCT to be redeemed for ether on L1. Recall, FCT is minted when ether is spent on L1 gas (i.e., burned or awarded to L1 validators), so there is no ether secured in a contract corresponding to the FCT minted on Facet. By restricting the protocol's minting of FCT to a one-way mechanism, Facet eliminates the risks associated with traditional upgradeable bridges.

  • Transferability: FCT is a token and can be sent to another wallet on Facet.

  • FCT Total Supply: The rate of FCT issuance is governed by an annual halving mechanism that steadily decreases the number of new tokens minted per unit of gas spent on Facet transaction payloads. This means that while the total supply of FCT will increase over time, the rate of growth (per unit of gas) will slow down, eventually converging on a maximum supply.

  • No Pre-Mine: There is no pre-mine of FCT, and no privileged wallets. All FCT must be minted via Facet transactions sent on L1 Ethereum.

Last updated