Ethereum: The world computer


The Ethereum blockchain is both open source and public. « Public » means that anyone can store smart contracts on the blockchain and interact with them without any selection or conditions. « Open source » means that everyone can replicate the source code and create it own blockchain by « forking » the exisiting one.

As of today, Ethereum is the most advanced and used Dapp (applicatications based on the Decentralised Ledger Technology) platform. It uses Proof of Work (as bitcoin do) as consensus technology but will switch to Proof of Stake (« Casper ») in the next version. The current version (« Homstead ») is not the final one and we will discuss in a separate article the improvements to come.

Ethereum’s blockchain works in a different manner than Bitcoin’ blockchain. It not only stores transactions, but also programs (Smart Contracts) and monitor the state of these programs that changes every times a user or another contract interacts with it. In other words, users interact with the blockchain through (1) accounts that send transactions (2) to action contracts that are stored on the blockchain.

  • The accounts : there are two types of accounts in the Ethereum network : Externally Owned Accounts (EOA) and Contract Accounts. To make things simple, Contract Accounts are the accounts in the blockchain where the code of the Smart Contracts are stored. User cannot directly access them. The only way for a user to action the code of the Smart Contract is through a transaction sent from it Externally Owned Account. This EOA is like a bitcoin account that you can use with a set of private and public keys to send transaction, the only difference is that you use it to send Ether and to action Smart Contracts.

It is important to note that Smart Contract with each other on the blockchain but i twill not be through transactions but through Messages.

  • Smart Contracts : as we mentioned above, Smart Contracts are programs written in Solidity, an object oriented programming language inspired from Javascript. Basically speaking, when you create a Smart Contracts and deploy it on the blockchain you buy some storage space on the blockchain with Ether in order to store the code and any additonal datas of the Smart Contract. This Smart Contract can be programed to interact with other Smart Contracts autonomously (by sending message), can interact with real life events trough Oracle or only wait to be activated by users through transactions sent from EOA.

One of the main element of the Etherem environnement is the Ethereum Virtual Machine. It function is to transform (« compile ») the human readable code (« Solidity ») into a machine readable code (« Bytecode ») which is store on the blockchain. The EVM is actionned by all the computer connected to the network. So everytime a Smart Contract is added to the blockchain or a transaction is sent to action one, all the computers of the network will execute the request ensuring the utmost security to the network.

Hope this introduction gave you a better idea of Ethereum functionning. If you want to go deeper in the details you can read our article on the programming language « Solidity » and on the consensus mechanisms « Proof of Work » and « Proof of Stake ».

You can also read the following articles :

  • Jacob Dienelt – Understanding Ethereum – 2016

  • Ethereum Community – Ethereum Homestead Documentation (Realease 0.1) – Septembre 2016

  • Vitalik Buterin – Ethereum: Platform Review – June 2016

Follow me on Social media
Passionate since 2014 by the technologies linked to the blockchain, I created this blog to share the last innovations, the start-ups and the cryptocurrencies that we believe will significantly improve this developing industry.