Hello friends, Hope you are doing good. In my last tutorial, I gave you an introduction to blockchain technology and this article is the second one of this series. Today I am going to talk about Ethereum. In simple words, Ethereum is an open-source platform of blockchain technology. But unlike the bitcoin blockchain, it offers more functionality. The blockchain in bitcoin tracks bitcoins only. It tracks the ownership and transfer of bitcoins. While Ethereum is not only a payment network for cryptocurrency but also termed as the world computer due to its wide functionality. First, let’s go through the key introductory points of Ethereum, and then we will dive into the details:
What is Ethereum Blockchain?
- Ethereum blockchain is an open-source global platform that supports decentralized applications.
- It offers a programmability feature, coding is done in smart contracts.
- It runs its own currency named Ether and is abbreviated as ETH.
Now let’s take a look at its invention history, and then I will talk about its features in the next sections.
History of Ethereum
In this section, I will give you an idea that how Ethereum was invented and why there was a need of developing such a platform. When bitcoin was invented and people realized the power of blockchain, developers tried to design new applications other than cryptocurrency. The limited functionality of the existing blockchain made it difficult to build different types of projects and hence, arose the need for a new blockchain.
In 2013, Vitalik Buterin presented a white paper giving the idea of the Ethereum blockchain. Afterward, Vitalik and Gavin Woods worked together and built upon that idea. And guys, finally in 2015, the first block of the Ethereum blockchain was mined. So, this was a little history and now before getting you bored, I will move towards the next section explaining the programmability of Ethereum.
- The main function of Ethereum is that it is programmable, which means applications can be built on it.
- It is a general-purpose blockchain capable of executing code.
- The language offered by bitcoin was very limited with limited data types and size, but this is not the case with Ethereum.
- Ethereum is also called Turing complete and I will explain the concept of Turing completeness in the upcoming sections.
Working of Ethereum Blockchain
I am going to tell you about the working of Ethereum Blockchain in this section.
- The memory in Ethereum stores data and code.
- The Ethereum blockchain tracks the changes in data and thus it tracks the changes in its memory.
- Ethereum first loads the program, executes it and finally stores the results in its blockchain.
This procedure is the same as in the computers that we use in our daily life. The difference is that the data in our computer is stored locally while in Ethereum blockchain, the changes in state are distributed and each node has data stored in it. Also, the changes in data are according to the consensus rules. The process can be summarized as:
- Accepting transactions from different nodes or accounts.
- Updating the state for accepted transactions.
- Storing and maintaining the state in its memory.
- The states are maintained until another accepted transaction happens.
- This process is repeated for each change.
Now let’s list down some main components of ethereum technology. I am going to give you a simple definition of each one for a basic understanding.
Components of Ethereum Blockchain
The components of Ethereum are given below:
Peer to peer network:
- Ethereum blockchain is a peer to peer network, all computers or nodes are connected with each other.
- Any device whether a computer or a mobile, connected to the blockchain containing the data are called nodes. All nodes are connected to each other.
- The messages exchanged on the network are called transactions. A transaction involves a value, a recipient, a sender, and a data payload.
- The set of rules that is followed for considering the validity of a transaction and a block in Ethereum I called consensus rules. These rules are enforced by all nodes.
- The consensus algorithm is the procedure to obtain agreement on the longest chain in the distributed Ethereum network. The most commonly used consensus algorithms for Ethereum are proof of work and proof of stake.
- Ethereum transactions and state changes are processed by the state machine called Ethereum Virtual Machine abbreviated as EVM.
- Ethereum virtual machine executes the program in machine language.
- These programs are written in a high level language such as Solidity and then a compile converts the program into bytecode.
- The program written in a high level language is called a smart contract.
So, these were some components and terminologies associated with Ethereum Blockchain. Next, I am going to introduce the cryptocurrency that Ethereum uses.
Ethereum Currency: Ether
The cryptocurrency used on the Ethereum blockchain is ether (ETH). This cryptocurrency acts as fuel for the execution of smart contracts. This currency is integral and users pay it for using the Ethereum network. The purpose of this currency is:
- Storing value.
- Allowing users to perform transactions by exchanging payments.
- Allowing payments for computational costs of code execution means each transaction executes by paying a small transaction fee.
- Running applications (Decentralized Applications).
At the time of writing this article, the currency is worth 2355.44 USD. That was some basic idea of the ether, now let’s move towards smart contracts.
- A program that executes on Ethereum is called a smart contract.
- It is a set of rules or codes that control the transfer of value according to programmed conditions.
- One feature of a smart contract is immutability. Immutability means that the code of a smart contract cannot be changed after its deployment.
- Smart contracts are deterministic. The outcome of the smart contract execution is the same for anyone running it.
Before concluding this article on Ethereum introduction, I will give you an idea of Turing completeness as I mentioned earlier.
- Ethereum is a Turing complete system.
- Ethereum can read and write data to memory and execute programs in the Ethereum virtual machine.
- It can compute any program that a Turing complete machine can.
- The main difference provided by Ethereum is that it combines computing power with blockchain.
- All of the characteristic features of blockchain are combined with the programmability feature and that makes Ethereum a useful invention.
That was all for today. I hope you have got an idea about Ethereum. Next time we will move towards the interesting features of this technology and also we would talk about dApps in upcoming articles. Till then, take care!