System Architecture
Sui is a distributed ledger that stores programmable objects with globally unique IDs. Each object is owned, and each object has a type.Core Components
Objects
The fundamental unit of storage in Sui. Every piece of data is represented as an object.Owned Objects
Belong to a single address, enable fast-path execution
Shared Objects
Accessible by multiple addresses, require consensus
Immutable Objects
Read-only data that never changes
Wrapped Objects
Contained within another object’s fields
Validators
Validators are the backbone of the Sui network, responsible for:Transaction Processing
Transaction Processing
- Receive and validate transactions from clients
- Execute Move code in the Move VM
- Update object versions and ownership
- Return signed effects certificates
Consensus Participation
Consensus Participation
- Propose blocks containing transactions
- Vote on block validity
- Determine transaction ordering
- Ensure Byzantine fault tolerance (2f+1 quorum)
Checkpoint Creation
Checkpoint Creation
- Aggregate transaction effects into checkpoints
- Sign checkpoint contents
- Broadcast to other validators and fullnodes
- Enable state synchronization
- Minimum 30M SUI stake (for mainnet)
- High-performance hardware (48+ cores, 256GB RAM, NVMe SSD)
- Low-latency network connection (less than 100ms to peers)
- Run
sui-nodebinary with validator configuration
Fullnodes
Fullnodes serve the network but don’t participate in consensus.Transaction Flow
Fast Path (Owned Objects)
For transactions that only touch owned objects (no sharing):Fast path bypasses consensus entirely, achieving finality in a single round of communication.
Consensus Path (Shared Objects)
For transactions that access shared objects:Transaction Lifecycle
- 1. Creation
- 2. Signing
- 3. Submission
- 4. Validation
- 5. Execution
- 6. Finalization
Consensus Protocol
Mysticeti Overview
Sui uses Mysticeti, a cutting-edge DAG-based Byzantine Fault Tolerant consensus protocol.DAG Structure
Blocks form a directed acyclic graph, not a linear chain
Leader-Based Commits
Even rounds have leaders that trigger commits
Pipelining
Multiple rounds process simultaneously
Fast Finality
Commits in 2-3 network round-trips (~500ms)
- Safety: Never commits conflicting transactions
- Liveness: Always makes progress (given 2f+1 honest validators)
- Throughput: Scales with validator hardware and network bandwidth
- Latency: Minimizes time to finality
Block Structure
Storage Architecture
Multi-Tier Storage
Sui employs a sophisticated storage architecture:Authority Store (Perpetual)
Authority Store (Perpetual)
Execution Cache
Execution Cache
In-memory cache for hot objects:
- Recently accessed objects
- Pending transactions
- Temporary execution state
Checkpoint Store
Checkpoint Store
Finalized checkpoint data:
- Checkpoint summaries
- Contents (transaction digests)
- Signatures from validators
Object Versioning
Each object update creates a new version:Gas and Economics
Gas Model
Computation Gas
Based on instructions executed in Move VM
Storage Gas
One-time fee for storing new objects
Storage Rebate
Partial refund when deleting objects
Reference Gas Price
Minimum price set by validators each epoch
Storage Fund
The storage fund ensures long-term sustainability:- Inflows: Storage gas fees from object creation
- Staking: Fund is staked to earn rewards
- Outflows: Rebates when objects are deleted
- Growth: Accumulates over time as network grows
Network Topology
Validator Network
Validators communicate via two networks:- Consensus Network
- State Sync Network
- Purpose: Mysticeti consensus protocol
- Protocol: Anemo (custom RPC framework)
- Topology: Fully connected mesh
- Requirement: Low latency (less than 100ms)
Client Connectivity
Clients connect to fullnodes (not validators directly):Epochs and Reconfiguration
Epoch Lifecycle
An epoch is a period of validator operation (typically 24 hours).Epoch Start
- New validator set activates
- Staking positions locked
- Reference gas price set
- Protocol version determined
Normal Operation
- Process transactions
- Create checkpoints
- Accumulate rewards
- Track validator performance
Validator Selection
For the next epoch:- Stake Calculation: Sum delegation to each validator
- Threshold: Must meet minimum stake requirement
- Committee Formation: Select validators with voting power proportional to stake
- Activation: New committee activates at epoch boundary
Security Model
Byzantine Fault Tolerance
Sui tolerates up to f Byzantine (malicious) validators out of 3f+1 total:Safety threshold: >2f+1 honest validators (⅔ of stake)
Liveness threshold: >2f+1 responsive validators (⅔ of stake)
Liveness threshold: >2f+1 responsive validators (⅔ of stake)
- f = 33M stake can be faulty
- 67M stake needed for quorum
- Network secure if less than 33M stake is Byzantine
Attack Resistance
Double Spend
Prevented by object versioning and quorum requirements
Equivocation
Detected via cryptographic signatures
Denial of Service
Mitigated by gas fees and rate limiting
Sybil Attack
Prevented by stake requirements
Developer Tools
Move VM
The Move Virtual Machine executes smart contracts:- Bytecode Verifier: Ensures type safety and resource safety
- Interpreter: Executes Move instructions
- Gas Metering: Tracks execution costs
- Deterministic: Same inputs always produce same outputs
Indexer
PostgreSQL-based indexer for rich queries:- Object queries by owner, type, or field values
- Event filtering and subscriptions
- Transaction history
- Package and module discovery
Next Steps
Sui Architecture Deep Dive
Detailed technical architecture
Consensus Protocol
Learn about Mysticeti consensus
Objects & Ownership
Understand Sui’s object model
Transactions
Transaction structure and lifecycle