Skip to content

[research] Alternative definition of finality on EVM counterpart #5713

@deuszx

Description

@deuszx

Finality verification is done using (simplified) eth_getBlockByNumber(<block_hash>, "finalized") – i.e. validators check w/ the RPC node node whether <block_hash> is finalized. The definition of finalized changes depending on what the EVM node is. We're planning on deploying a bridge w/ Base and for base finalized means finalized by the sequencer. This is not as strong as finalization of an L1 batch (ethereum) in which the L2 block was checkpointed.

Consider alternative, stronger, definitions:

Option A — add delay window
Require blocks to be older than N blocks:
block_number <= finalized_number - 20

This reduces risk from short sequencer reorgs.

Option C — verify L1 settlement (strongest)

Track the L2 output root posted to Ethereum and verify the block belongs to a finalized output.

This is how canonical OP bridges work, but it is much more complex.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BridgeLInera<>EVM fungible token bridge

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions