EVM vs Stellar Comparison
This document provides a generalized overview of the differences between Ethereum Virtual Machine (EVM) chains and the Stellar Network. It’s meant to help EVM data analysts to understand Stellar chain data better by mapping the concepts.A special thanks to Sydney Wiseman from the Stellar Development Foundation for making this available to the community!
Blockchain Purpose and Design
Stellar
The Stellar Network is designed to create digital asset products and services that improve access to the global financial system. With a focus on simplicity, speed, and cost-effectiveness in transferring assets, Stellar connects financial institutions, payment systems, and individuals. Due to its financial-centric design, Stellar includes built-in primitives for asset management, making it more secure and efficient for financial applications. However, Stellar’s original design was less flexible and had limited the types of financial applications built on Stellar. Since February 2024, Stellar has supported smart contracts written in Rust and compiled as WebAssembly (wasm).EVM
EVM blockchains such as Ethereum allow developers to build decentralized applications (dApps) and deploy smart contracts. Unlike Stellar, EVM chains emphasize flexible programming at the cost of speed, leading to the need for layer-2 (L2) solutions to improve transaction throughput and cost efficiency. Smart contracts on EVM are written in Solidity.Stellar Native Primitives
- Asset Issuance
- Claimable Balances (Airdrops)
- Orderbook (Built-in DEX)
- Automated Market Makers (AMMs)
Tokenization
Stellar allows native asset tokenization, where user balances are represented through trustlines. Standards for tokenization similar to ERC-20 and ERC-721 are available under SEP-41, implemented via the Stellar Asset Contract.Consensus Mechanism
Stellar uses Stellar Consensus Protocol (SCP), a Proof of Agreement (PoA) mechanism derived from Federated Byzantine Agreement (FBA). Transactions are confirmed when overlapping quorums of nodes agree on validity. Stellar closes ledgers every 5 seconds. EVM chains like Ethereum use Proof of Stake (PoS) for consensus.Time to Finality
- Stellar: Deterministic finality, with ledgers closing every 5-6 seconds.
- Ethereum: Probabilistic finality, requiring ~13 minutes (2 epochs) for finality.
Submitting Transactions
Stellar supports bundling up to 100 operations in a single transaction, improving developer experience. However, smart contract transactions (via Soroban) are capped at 1 operation per transaction, similar to EVM. Stellar allows fee bump transactions, where an account can pay fees on behalf of another account. Additionally, 26 operation types are natively supported on Stellar, in contrast to EVM’s 3 core transaction types (regular, contract deployment, execute contract).Ledger State Comparison
Both Stellar and EVM use an account-based model. In Stellar, however, there are additional ledger state types:- Contracts: Persistent data and expiration details for smart contracts
- Accounts: Externally owned accounts with lumen (XLM) balances
- Trustlines: Balances of non-native tokens
- Claimable Balances: Built-in airdrop feature
- Liquidity Pools: AMM built-in mechanisms
- Orderbook Offers: Stellar’s built-in decentralized exchange
Data Concept Mapping
Stellar’s data model is more complex than EVM due to its built-in primitives. The table below outlines equivalent data structures between EVM chains and Stellar, which serves to map the concepts between the two networks:Data Model Details
Blocks
Stellar calls blocks, ledgers. A ledger represents the state of the Stellar network at a given point in time. EVM blockchains refer to state as a point in time as blocks, and the entire blockchain is “the ledger”. Ledgers on Stellar can refer to individual blocks or the full network history.Size Limits
A transaction set within a ledger contains two transaction types: native and smart contracts. The ledger size has separate limits for each transaction type:- Native - the Stellar Network can apply up to 1,000 operations in a ledger. Transactions can bundle up to 100 operations in a single transaction.
- Smart contracts - the Stellar Network dynamically limits the number of smart contract transactions based on network resources consumed (read/write bytes, CPU instructions, etc). See Smart Contract Settings for more details. See Fees and Metering for more information.
Schema Mapping
Transactions
Actions are performed on the Stellar network through operations. Operations are bundled into transactions, with each account able to perform up to 100 operations in a single transaction. Accounts are limited to submitting one transaction per ledger. EVM networks do not have the concept of operations, the lowest level of action is a transaction. This limits accounts to one action per transaction in EVM L1 Layers, which is why L2 solutions and rollups are popular.Transaction Types
Operation types on Stellar are analog to transaction types on EVM networks. The Stellar network natively supports 26 operation types, ranging from payments to orderbook offer management to smart contract invocation. EVM natively supports 3 transaction types: payment (regular), contract deployment, and execute contract, and does not support natively for Orderbook or AMMs.Schema Mapping
Transactions
Operations
Logs and Traces
Events are the mechanism that applications off-chain can use to monitor changes and events in contracts on-chain. Events are an amalgamation of both EVM logs and traces. Stellar has three types of smart contract events:- contract - events emitted by contracts to convey state changes
- system - events emitted by the host environment itself
- diagnostic - details transaction traces intended for debugging purposes