Build on BNB Chain - Course 1 | BNB Chain Fundamentals
EVM Model - Part 1
EVM Model - Part 1
Hi! In this video, I’m going to talk about the Ethereum Virtual Machine (EVM) model, and I’ve split this topic into two parts. In this first part, we’ll cover:
- Decentralization + Permanence = Blockchain 2.0
- Technical Background of Ethereum
- Externally Owned Accounts
- Transactions
- BNB Transfer Transactions
- Contract Addresses
Blockchain 1.0 vs Blockchain 2.0
- Blockchain 1.0: The emergence of Bitcoin, focusing on peer-to-peer value transfer without centralized authority.
- Blockchain 2.0: The rise of smart contracts and decentralized applications. Platforms like Ethereum and BNB Chain enable these innovations.
Key Concept:
Decentralization + Permanence = Blockchain 2.0
- Decentralization: No single point of control; nodes across the network maintain and secure the blockchain.
- Permanence: Once recorded, blockchain data is immutable and tamper-proof.
Ethereum’s Technical Structure
Ethereum-compatible blockchains use a Virtual Machine (EVM). Each node runs an instance of the EVM, allowing them to execute smart contracts and decentralized applications (dApps).
Account Types in EVM
There are two main types of addresses:
1. Externally Owned Accounts (EOAs)
- Controlled by a private key
- Used to send transactions, interact with smart contracts, and hold tokens
2. Contract Addresses
- Represent deployed smart contracts
- Each contract has a unique address and can execute functions or store data
Account States
Each Ethereum account contains:
- Balance: Amount of native tokens (e.g., BNB)
- Nonce: Number of transactions sent
- Code: Exists only in contract accounts; stores compiled bytecode
- Storage: Also exclusive to contracts; stores persistent data
Key Generation Process
- Private Key: Created using the ECDSA algorithm
- Public Key: Derived from the private key
- Public Address: Used to receive funds and identify users on-chain
Note: The public key cannot reveal the private key—ensuring security.
Transactions in EVM
A transaction is a message between accounts that triggers state changes in the EVM.
Key properties of a transaction:
- From: Sender address
- To: Receiver address
- Value: Amount of token transferred
- Nonce: Sender's transaction count
- Timestamp: Time of initiation
- Gas Limit: Max computational effort
- Gas Price: Fee offered per unit of gas
- V, R, S: Signature components
- Data: Smart contract bytecode or function parameters
BNB Transfer Transactions: A Scenario
Suppose:
- Account A has 0.5 BNB and nonce = 52
- Account B has 0 BNB
If Account A sends 0.3 BNB to Account B:
- Account A: Balance becomes 0.2 BNB, nonce becomes 53
- Account B: Balance becomes 0.3 BNB, nonce stays unchanged
Smart Contract Deployment and Addresses
- Smart Contract source code (e.g., Solidity) is compiled into bytecode.
- A contract creation transaction includes this bytecode in the data field.
- A unique address is generated using:
- Bytecode
- Sender address
- Sender’s nonce
- Once confirmed, the smart contract is deployed at this new address with:
- Balance
- Nonce
- Code (bytecode)
- Storage (persistent state)
Final Thoughts
That wraps up Part 1 of the Ethereum Virtual Machine (EVM) model. In the next video, we’ll dive deeper into smart contracts, gas mechanics, and EVM execution.
Comments
You need to enroll in the course to be able to comment!