Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 5.33 KB

op-supervisor.mdx

File metadata and controls

72 lines (49 loc) · 5.33 KB
title lang description
OP Supervisor
en-US
Learn the basics of OP-Supervisor.

import { Callout, Tabs, Steps } from 'nextra/components'

OP Supervisor

Interop is currently in active development and not yet ready for production use. The information provided here may change. Check back regularly for the most up-to-date information.

OP Supervisor is a critical service designed to verify cross-chain messages and manage the safety of interoperability between different chains in the OP Stack. It acts as a hub for indexing data that every op-node needs to cross-verify with other chains. Some features and benefits include:

  • Enables secure cross-chain message passing on the Superchain
  • Provides a centralized point for managing interoperability data
  • Supports multiple networks simultaneously
  • Offers potential for public endpoints to aid in node synchronization

Cross-chain message verification

OP Supervisor verifies messages between different chains in the OP Stack, reducing the risk of invalid or malicious cross-chain interactions.⁠ It centralizes the verification process, which reduces the complexity of operating individual nodes⁠.⁠

  • op-geth: queries op-supervisor during block-building to verify if a message is sufficiently safe to include. This process involves checking each executing message and potentially undoing transactions if conflicts or unknown states are encountered.
  • op-node: queries cross-chain safety information and coordinates safety updates between OP stack nodes and op-supervisor. It uses the API provided by op-supervisor to perform actions like:
    • Updating and retrieving various safety levels
    • Checking and returning the cross-unsafe head for a given chain
    • Attempting to promote a block to cross-safe status
    • Attempting to finalize an L2 block based on L1 finality

Log data indexing and management

OP Supervisor acts as a hub for indexing data that every op-node needs to cross-verify with other chains, centralizing the process of managing interoperability data. Maintains the integrity of cross-chain interactions by tracking safety changes⁠ across the Superchain, ensuring consistent application of invalid dependency resolutions. ⁠

op-supervisor indexes two types of cross-chain dependencies:

  • Interop messages (events): op-supervisor maintains an events-index per L2 chain, which determines message-dependencies to check if blocks are safe
  • L1 DA (data availability): op-supervisor tracks the L1 DA for L2 blocks and maintains a DA safety-index per L2 chain, which helps determine how to rewind L2 chains to resolve invalid dependencies

API for cross-chain safety

OP Supervisor provides an interface for op-node to query cross-chain safety information and coordinate safety updates between OP stack nodes and op-supervisor⁠⁠. OP-Supervisor uses a global read API to determine message safety and block safety, utilizing both the events index and the safety index (See op-supervisor's log data indexing). The API is designed to handle potential L1 reorgs that can affect the validity of cross-chain messages⁠.

Key API methods include:

Method Description
UnsafeView and SafeView Returns the Local and Cross heads for their respective levels
DerivedFrom OP Nodes use to check the L1 source of the Supervisor (needed for Safe Head tracking)
UpdateLocalSafe and UpdateLocalUnsafe Tells the Supervisor when the Node's heads change
Finalized Returns the Finalized Head
UpdateFinalizedL1 Signals to the Supervisor new finality signals
CheckMessage Checks logs in the DB directly in tests

For a full listing of API names, see the op-supervisor client.

RPC access to all chains

OP Supervisor requires RPC access to all chains in the dependency set. This allows op-supervisor to verify cross-chain messages and sync data across multiple networks simultaneously, such as OP Mainnet and Base nodes using the same instance.

Benefits of this approach:

  • Scalability: As the number of chains in the Superchain grows, op-supervisor can handle the increasing complexity of cross-chain interactions.
  • Improved reliability: It enables a more redundant setup, which is good for stability in the growing ecosystem.

Next steps