# Ethereum Transaction Journey: From Initiation to Finality ![Ethereum Transaction Flow](https://hackmd.io/_uploads/rykYeVGoJe.jpg) Here's a comprehensive breakdown of what happens when a transaction traverses Ethereum's network: ## Initial Phase: User to Network 1. **Transaction Creation**: User cryptographically signs a transaction using their private key, creating a secure data structure that includes nonce, gas limits, recipient address, ETH value, and optional data payload. 2. **Network Propagation**: The signed transaction enters Ethereum's P2P network through gossip protocol, where each node shares it with ~50-100 peers to achieve exponential network coverage within seconds. 3. **Mempool Inclusion**: Nodes validate the transaction's structure, signature, nonce, and gas parameters before adding it to their local mempool, where it's prioritized by gas price and awaits selection for a block. ## Consensus Layer Operations 4. **Validator Selection**: The Beacon Chain deterministically selects the next block proposer using RANDAO-derived randomness, providing a provably fair, stake-weighted chance for each validator. 5. **Execution Payload Request**: The selected validator's Consensus Layer client requests block data from its paired Execution Layer node via the Engine API, passing parameters including timestamp and fee recipient address. ## Execution Layer Processing 6. **Transaction Selection**: The Execution Layer solves a sophisticated optimization problem to select the most profitable transactions from the mempool while respecting gas limits and nonce sequentiality. 7. **Execution Payload Creation**: Selected transactions are executed through the EVM, calculating state changes, consuming gas, and generating execution receipts - all bundled into a complete execution payload. 8. **Payload Delivery**: The execution payload is returned to the Consensus Layer with all execution data including state root, receipts root, and transaction list, crossing the crucial boundary between execution and consensus domains. ## Block Creation and Distribution 9. **Beacon Block Creation**: The validator encapsulates the execution payload within a Beacon Block structure, adding consensus-specific data like RANDAO reveal, attestations, and validator operations. 10. **Block Proposal**: The validator signs the complete Beacon Block and broadcasts it to the network precisely during its assigned slot time. 11. **Block Propagation**: The proposed block spreads through the network via optimized gossip protocol pathways, reaching 95% of validators within ~1 second. 12. **Block Attestation**: Validators assigned to the current slot verify the block's validity and submit cryptographic votes (attestations) supporting it, with attestations aggregated to reduce network load. ## Consensus Formation 13. **Block Inclusion**: The network applies the LMD-GHOST fork choice rule to determine the canonical chain, with the heaviest attested branch becoming the head of the chain. 14. **Justification**: When a checkpoint block (first in an epoch) receives attestations from 2/3+ of validator stake, it becomes "justified" - the first step toward irreversibility. 15. **Finalization**: When a justified checkpoint is followed by another justified checkpoint in the next epoch, the earlier checkpoint becomes "finalized" - making its chain history economically irreversible. ## Transaction Settlement 16. **Transaction Confirmation**: Transactions in finalized blocks achieve Ethereum's strongest security guarantee - reversal would require sacrificing billions in staked ETH. 17. **State Update**: All network nodes permanently update their local state database to reflect transaction effects, including account balances, smart contract storage, and event logs. This end-to-end process takes approximately 12-15 minutes for full finalization, though transactions are typically visible in the blockchain and considered probabilistically secure within 12 seconds (one slot time). Why does it happen? I will explain in my next article, this one is becoming too long. Like and share if you find it useful !