DEV Community

Cover image for Ethereum as a Global State Machine.
Okoli Evans
Okoli Evans

Posted on

Ethereum as a Global State Machine.

Right from inception, the Ethereum project was clearly spelled out in a well prepared document called Ethereum whitepaper. Ethereum has always been developed, tweaked and updated to meet the goal that is the Ethereum project.

What is the Ethereum project? A short summary to this question is that Ethereum was born to be a global state machine that is truly decentralized.

The word global here is pretty self-explanatory... leaving us with state machine.

A global state machine is a globally distributed system that achieves and maintains one outcome or result simultaneously across its entire network. State here refers to the current result at that instant. On a state machine, the outcome is always the same across the entire system or networks, or in the case of Ethereum, nodes.

Now, maintaining a state on a distributed network implies that there is a mechanism to track the change in state in real time across the entire network; this also implies that the entire distributed networks when given a set of code must arrive at the same result after executing the program.

So how do we track state transitions across a global network of computers? It gets tricky... to ensure that Ethereum network is deterministic, all the nodes(computers) across the world that powers the Ethereum blockchain must run an Ethereum compliant program called client.

An Ethereum client must not necessary be written in a particular programming language, but it must be written according to the specifications provided in the Ethereum yellow paper (different from Ethereum white paper).
Those programs written according to the Ethereum specifications are called Ethereum clients.

Ethereum clients, when installed and ran on a computer connects that computer to the Ethereum blockchain network.
Anybody can download any of these clients and install on their system and become an Ethereum node.

Once such system successfully connects to the Ethereum blockchain network, it will download past records of the transactions recorded on the network... afterwards it will become a fullnode; and a validator if the owner meets the preset requirements.

Ethereum is not just distributed, it is also decentralized. That is why it depends on independent computers across the world to run the network. No single computer has a control over what happens on the network, decisions are collectively made by the majority of all the computers on the network. The process by which this democracy is achieved on the network is overseen by an algorithm known as 'consensus mechanism'.

PS: This is still pretty high level; no very technical stuff yet. Anyone can easily understand even without any prior knowledge of blockchain network. If you are intrigued by what you read, feel free to dive down the rabbit hole; simply type in 'what is blockchain technology' on Google and take it on from there. Cheerio.

programming #blockchain #Ethereum #ethereumblockchain

Latest comments (2)

Collapse
 
marvelous007 profile image
marvelous-007

amazing article, keep up the good work!.

Collapse
 
okolievans profile image
Okoli Evans

Thanks mate.