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.
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