Understanding Ethereum’s Underlying Architecture and Virtual Machine
This article explains Ethereum’s underlying architecture, contrasting it with Bitcoin, describing its blockchain structure, state management, and the Ethereum Virtual Machine, while highlighting the flexibility of its Turing‑complete language, high‑level contract development, and the trade‑offs of computational cost.
Now, we have discussed Ethereum content, let’s dive into the platform’s underlying functions.
Consider an online notebook application in “What is Ethereum?”
Using Ethereum, this application does not need an entity to store and control its data. To achieve this, Ethereum heavily borrows from Bitcoin’s protocol and blockchain design, but adjusts it to support applications beyond money.
However, Ethereum’s goal is to abstract Bitcoin’s design so developers can create applications or protocols with additional steps, new ownership rules, selectable transaction formats, or different transmission methods.
Ethereum’s Turing‑complete programming language aims to allow developers to write more programs where blockchain transactions can manage and automate specific outcomes.
This flexibility may be Ethereum’s main innovation, as explained in the guide “How Ethereum Smart Contracts Work”.
Ethereum blockchain
The structure of the Ethereum blockchain is very similar to Bitcoin’s, as it is a shared record of the entire transaction history. Every node on the network stores a copy of this history.
The biggest difference with Ethereum is that its nodes store the latest state of each smart contract, in addition to all Ether transactions. (This is more complex than described, but the text below can help you get a grasp.)
For each Ethereum application, the network needs to track “state”, i.e., the current information of all these applications, including each user’s balance, all smart contract code, and where they are stored.
Bitcoin uses raw transaction outputs to track who owns how many bitcoins.
While it sounds more complex, the idea is fairly simple. Each time a Bitcoin transaction completes, the network “breaks” the total amount as if it were paper money, issuing bitcoins in a way that the data’s behavior resembles physical coins or change.
To conduct future transactions, the Bitcoin network must sum all your changes, which are categorized as “spent” or “unspent”.
On the other hand, Ethereum uses accounts.
Like bank account funds, Ether tokens appear in wallets and can be transferred to another account. Funds are always somewhere, but there is no continuous relationship as you might think.
What is the Ethereum Virtual Machine?
Using Ethereum, whenever a program is used, a network of thousands of computers processes it.
Contracts written in a specific smart‑contract programming language are compiled into “bytecode”, a feature called the Ethereum Virtual Machine (EVM) can read and execute.
All nodes use their EVMs to execute this contract.
Remember, each node in the network keeps a copy of the network’s transaction and smart‑contract history and tracks the current “state”. Whenever a user performs an operation, all nodes must reach consensus that the change occurred.
The goal here is to make miners and the node network responsible, shifting transfer responsibility from nations to the network rather than authority institutions like PayPal or banks. Bitcoin miners confirm ownership transfer from one person to another. EVM executes contracts according to the rules originally programmed by developers.
Actual computation on the EVM is performed via a stack‑based bytecode language (machine‑readable 1s and 0s), but developers can write smart contracts in high‑level languages such as Solidity and Python, making them easier to read and write.
As explained in our guide “Ethereum Mining Works”, miners are the ones preventing bad behavior—ensuring no one can double‑spend their money and rejecting contracts that are not compensated.
There are thousands of Ethereum nodes, each compiling and executing the same code.
But you might wonder, isn’t this far more expensive than ordinary computing? Yes, it is. That’s why the network can only be used for specific use cases.
The official Ethereum dev tutorial acknowledges this inefficiency, stating:
“Roughly speaking, using a good heuristic, you will not be able to do anything on the EVM that you couldn’t do on a 1999 smartphone.”
Architects Research Society
A daily treasure trove for architects, expanding your view and depth. We share enterprise, business, application, data, technology, and security architecture, discuss frameworks, planning, governance, standards, and implementation, and explore emerging styles such as microservices, event‑driven, micro‑frontend, big data, data warehousing, IoT, and AI architecture.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.