We have previously talked about what is Ethereum and the key features it provides. The main feature of Ethereum blockchain is to provide a platform for the development of smart contracts which in turn facilitates the development of decentralized applications on the Ethereum Blockchain. Ethereum essentially improved upon the Bitcoin blockchain through its ‘Turing-complete’ programming
We have previously talked about what is Ethereum and the key features it provides. The main feature of Ethereum blockchain is to provide a platform for the development of smart contracts which in turn facilitates the development of decentralized applications on the Ethereum Blockchain.
Ethereum essentially improved upon the Bitcoin blockchain through its ‘Turing-complete’ programming language to allow developers to make applications that run on the Ethereum blockchain.
The essence of how Ethereum works can be explained by throwing light to the following two parts:
- The Ethereum Blockchain
- The Ethereum Virtual Machine (EVM)
The Ethereum Blockchain:
The Ethereum blockchain, like any other blockchain, is a chain of blocks that contains some information. Each block contains some data, a hash and the hash of the previous block. If anyone aims to change the data inside any block, the hashes would not match and the chain would break. Such a discrepancy would be certainly visible to everyone in the network and thus a consensus will not be achieved.
The network here means a connection of nodes. There are two main kinds of Ethereum networks that people use – MainNet and TestNet. There are other private and test networks that are not used widely. The Ethereum TestNet is used to test new developments in the Ethereum protocol and when these tests are successful, the robust developments are then launched onto the MainNet.
Bitcoin stores a list of transactions on the Bitcoin blockchain. Simply put, all the activities of people that exchange Bitcoin with each other are recorded on the blockchain.
Ethereum, on the other hand, also stores a list of Ether transactions but in addition to that, it stores the most recent state of the Smart Contracts (something like code snippets). This makes Ethereum a programmable blockchain.
So instead of putting only the transactions on the blockchain, Ethereum puts a ‘computer’ on the blockchain which has a series of operations. These operations can be transactions of Ether or votes done by the public through a smart contract or anything else. (This is a very broad overview of how the Ethereum blockchain is different than that of Bitcoin; in its essence, it’s much more complex).
The Ethereum Virtual Machine
Like any other programming language, Ethereum also has its own virtual machine called the Ethereum Virtual Machine or the EVM, for short.
The main aim of EVM is to execute a smart contract code. It executes the untrusted code and provides network security.
It is worth noting that the EVM is separate from the MainNet and thus it happens to be the perfect testing grounds for developers to test their smart contract code and avoid any catastrophic incidents later. It can easily be used as a means of learning to develop smart contracts too as all the operations done on the EVM do not affect the blockchain.