Omni Protocol Design v0

Tsvetan Dimitrov

Agenda

  • Problem

  • General Solution

  • Requirements

  • Cross-Chain Messaging Protocol Overview

Problem

  • Dispersion of users across rollups.

  • Complicated management of several subcomponents across independent rollups to access all of Ethereum’s users and capital.

General Solution

  • Ethereum requires a native interoperability protocol purpose-built to realign with its original vision of being a single unified operating system for dapps.

Requirements / 1

  • Verification of the state of a source network and relaying state updates to destination networks.

  • Derive security from the source that rollups derive it from - Ethereum L1.

  • Minimal latency to verify and process cross-rollup messages.

Requirements / 2

  • Global compatibility - it must enable applications to be Turing-complete across all rollup envs, ensuring that applications are not limited by the resource constraints of any single rollup

Cross-Chain Messaging Protocol

Source Rollup EVM

xcall

Portal Contracts

DAPP
Contracts

Condition: Source Chain Gas Fees should be paid.

Condition: Source Chain Block should be finalized.

XMsg

XStreamOffset

XStream

SourceChainID

DestChainID

1. Halo constructs XBlocks from XMsgs

XMsg

XMsg

XMsg

Halo

XMsg

XMsg

XBlock

CometBFT

2. Attest to finalized XBlock hashes

0. Halo listens for finalized blocks

XMsg

XMsg

XBlock

BlockHeader

ChainID

BlockHeight

BlockHash

XMsg

XMsg

XMsg

.

.

.

ParentHash

Timestamp

XMsgs are partitioned for inclusion into subranges by the Relayer , verified by Merkle Multiproofs to optimize for submission gas costs.

XReceipt

. . .

XReceipt

XReceipt

XReceipt

XReceipt

CometBFT

ABCI++

Validator Set

Quorum votes constitute an approved attestation.

Validators vote for XBlocks.

XMsg

XMsg

XBlock

XMsg

XMsg

XBlock

XMsg

XMsg

XBlock

XMsg

XMsg

XBlock

Halo

XMsg

XMsg

XBlock

CometBFT

Validator Set

Finalize Commit

Vote

Propose

ABCI++

PrepareProposal

ProcessProposal

ExtendVote

VerifyVoteExtensions

FinalizeBlock

Voting

  • Validators return an array of Votes during the ABCI++ ExtendVote method.

  • Validators should reject vote extensions that contain invalid votes via VerifyVoteExtension.

  • Proposers aggregate votes from the previous block with those from the current one.

  • Quorum votes (66% of validators in the set) constitute an approved Attestation.

  • Validators in the current validator set must vote for all subsequent Attestations.

Why votes from the previous block are included together with votes from the current block?

  • Proof that the previous block has reached consensus.

  • Identifying forks in the chain, ensuring validators only extend the chain from the correct version.

  • Finalize the state changes from the previous block by applying them before starting the process for the current block.

  • Supports deterministic block proposals based on all the valid information available.

Validator Set Change

  • All pending Attestations need to be updated with:

    • The current validator set ID.

    • Removing all attestations by validators not in the current set.

    • Updating the weights (cumulative validator voting power) of each remaining attestation according to the new validator set.

  • Only new validators need to re-attest.

Halo

XMsg

XMsg

XBlock

CometBFT

Relayer

XMsg

XMsg

Submission

XMsg

XMsg

Submission

XMsg

XMsg

XMsg

XBlock

Relayer collects finalized XBlock and signatures

Relayer monitors for approved Attestations

Relayer

XMsg

XMsg

Submission

XMsg

XMsg

Submission

XMsg

XMsg

XMsg

XBlock

Relayer submits Submissions to destination rollup

Destination Rollup EVM

Contract Call

DAPP Contracts

Portal
Contracts

Summary

 

  • Define Problem and System Solution.

  • Define requirements and properties the system must adhere to.

  • Present components and flow of the Cross-Chain Messaging Protocol.

Questions?

Omni Protocol Design v0

By Tsvetan Dimitrov

Omni Protocol Design v0

Introduction to software versioning and release management best practices

  • 7