Cover photo

Interop Design Overview by Mark Tyneway

TL;DR

The Interop protocol is a native OP Stack interoperability feature that will allow for sending tokens between chains and building multichain native applications through horizontal scaling. Ideally, this will help keep fees close to hardware running costs even as smart contract applications scale.

Interop aims to ship by Q4 2024 and the team is currently hiring. To learn more about the Interop protocol or to contribute, join the Github discussion board.

Play Video

Introduction

With vertical scaling, it's going to be very difficult to scale to the entire world.
- Mark Tyneway (@tynes), OP Labs Cofounder & Protocol Developer

Today, most smart contract applications are developed as monolithic applications where all the smart contracts live on the same chain. This makes it difficult to scale as demand grows, leading to high gas fees.

The Interop protocol introduces horizontal scaling and modular architecture to the OP Stack. By sharding the most gas-intensive parts of smart contract applications across multiple chains, Interop aims to keep fees low even at much larger scales.

By sharding gas-intensive parts of smart contract applications across multiple chains, the Interop protocol aims to keep fees low even at much larger scales.

How Interop Protocol Works

To enable secure cross-chain communication, Interop introduces changes and new primitives:

  1. Pre-Deployments

    CrossL2Inbox: This allows smart contracts to read events from other chains. It enforces that initiating messages cannot be from the future and must be from a chain in the dependency set.

  2. Derivation Pipeline Changes

    The derivation pipeline prepares inputs for the state transition function. It's updated to scan data from all chains in the dependency set, filter it, and map it into structured inputs.

  3. Fork Choice Rule

    Ensures integrity of cross-chain messages. Will reorg out any block that includes a message where the identifier doesn't match the actual message content.

  4. Cross-Chain Message Primitives

    • Initiating Message: An event emitted from a source chain.

    • Executing Message: Contains the initiating event, sent to a destination chain.

By default, all cross-chain messages are asynchronous. There are no global synchrony assumptions. However, synchronous behavior can emerge if the same block builder builds blocks for multiple chains or different block builders closely coordinate with each other.

Current Status and How to Learn More

The Interop protocol is under active development, with a target of shipping in Q4 2024. The OP Labs team is currently hiring protocol developers to build it (learn more).

To follow the progress, ask questions, or contribute, join the Interop discussion board on the OP Stack specs Github repo. The team is committed to moving Interop development into the public and incorporating community feedback.

Further Resources

https://github.com/ethereum-optimism/specs/discussions/128

Play Video