Plume
  • Introduction
    • Overview
  • Official Tokens
    • PLUME ($PLUME) Token
    • Plume USD (pUSD)
  • Plume Security
    • AML Screening
    • Compliance at Plume
    • Audits and Security
  • Developers
    • Plume Testnet
    • Smart Contracts
    • How-to Guides
      • How to Connect to Testnet
        • Install and Configure Wallet
        • Claim test tokens
      • How to Deploy Smart Contracts
        • Deploy using Remix IDE
        • Deploy using Foundry
        • Deploy using Hardhat
      • How to Verify Smart Contracts
        • Verify using Foundry
        • Verify using Hardhat
      • How to Run a Node
    • Plume vs. Ethereum
    • Gas and Fees
    • Finality
  • Community and Support
    • Community Channels
    • Brand Assets
    • Terms of Service
    • Privacy Policy
  • MORE
    • Glossary
    • FAQ
Powered by GitBook
On this page
  1. Developers

Finality

PreviousGas and FeesNextCommunity Channels

Last updated 2 months ago

Finality in blockchain systems refers to the point at which a transaction becomes irreversible and permanently included in the blockchain's ledger. Plume offers two levels of finality.

Soft Finality - 1 block (~250 ms)

Soft finality refers to the preliminary confirmation of transactions based on the Sequencer's real-time feed. It occurs as soon as the sequencer orders the transaction in its off-chain inbox, locally executes it using the Plume VM, and gives a transaction receipt back to the client. Key characteristics include:

  • Immediate Confirmation: Transactions are confirmed almost instantly as they are accepted and ordered by the Sequencer. This typically takes ~250 ms and doesn't require any other on-chain confirmations.

  • Provisional Assurance: The confirmations are provisional and rely on the Sequencer's integrity and availability. That is, a malicious or faulty Sequencer could deviate between what it promised in the transaction receipt and what is ultimately published in a batch.

  • High Performance: Enables applications to offer rapid responses and real-time interactions, enhancing user experience.

Hard Finality - 64 blocks after posting to Ethereum (~30 minutes)

Hard finality occurs when batched transactions get posted to Ethereum. These batches are typically posted every few minutes during normal traffic on Plume, after which the transaction inherits the full security of Ethereum. It's recommended to wait for two Ethereum epochs, or 64 blocks, to minimize the chances of any potential re-orgs happening on Ethereum. Key characteristics include:

  • Strong Security Guarantees: When included in blocks on Ethereum, transactions inherit Ethereum's security assurances.

  • Decentralized Assurance: Anyone, including yourself, can run a Plume validator node to confirm that the L1 batch is legitimate. Only a single well-behaved validator is needed to ensure that the transaction is finalized.

  • Data Availability: All transaction data is recorded on-chain, ensuring transparency and verifiability.

If any malicious validator tries to deviate from this finalized state, any honest validator can submit a fraud proof challenge within 7 days and win. Once the honest validator has succeeded in the challenge, the correct finalized state will be propagated to Ethereum. Even though the state is finalized within 30 minutes, in order to ensure that there is enough time for honest validators to challenge malicious actors, no messages will be propagated from the Ethereum outbox until after the 7 days is up. This means that withdrawals from Plume are subject to a 7-day delay.

​
​