Overview
The Two-Block System
Obsidian alternates between two types of blocks:
Block 1 Block 2 Block 3 Block 4
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ TXN │ → │ MSG │ → │ TXN │ → │ MSG │ → ...
│ Block │ │ Block │ │ Block │ │ Block │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
↓ ↓ ↓ ↓
Transactions Messages Transactions Messages
Smart Contracts Data Smart Contracts Data
State Changes No EVM State Changes No EVMTransaction Blocks (TXN)
Standard Ethereum blocks. Execute smart contracts, transfer tokens, update state. Everything you know from Ethereum.
Message Blocks (MSG)
Dedicated data blocks. Store signed messages permanently. No EVM execution, no state changes (except fee collection).
This separation means:
Messages don't compete with transactions for block space
Dedicated capacity for data storage
Predictable inclusion times for both types
Message Lifecycle
Step by Step
Create — Application creates message with payload
Sign — User signs with their wallet (includes chainId, nonce for replay protection)
Submit — Send via
eth_sendMessageBlobRPCQueue — Message enters PMQ (if bid attached) or SMQ (if free)
Include — Next message block pulls from queues
Propagate — Block syncs across all nodes
Permanent — Message stored in blockchain forever
Block Timing
Block time
6 seconds
Message block interval
Every 2nd block
Message inclusion time
6-12 seconds (typical)
PMQ priority
Included in next MSG block (if space)
SMQ standard
FIFO, may wait if queue is full
Data Flow
Consensus Integration
Obsidian uses standard Ethereum Proof-of-Stake consensus with these additions:
messages_root — A merkle root of all messages in the block, validated by consensus
committee_attestation — An aggregate BLS signature from the message validation committee
This means messages have the same security guarantees as transactions: validated by the full validator set, finalized by Casper FFG.
Per-Message Committee Validation
Obsidian uses a two-stage validation model with per-message committees:
Key insight: Messages are always fully validated at the edge node on arrival. The committee attestation certifies the block's integrity, allowing other validators to skip redundant re-verification.
Fail-safe: If committee attestation is missing, invalid, or below threshold, validators fall back to full verification.
→ Full Committee Validation Details
Next: Message Blocks — Deep dive into how message blocks work
Last updated