Blockchain technology gained public notice with the advent of bitcoin in 2009. Bitcoin is a cryptocurrency which runs on the blockchain technology and is by far, the most popular and most ranked cryptocurrency. Ethereum was initially released in 2015. Within two years of its release, it was ranked the second best blockchain network, Bitcoin being the first. The ethereum network acquired more global interest when china stated that it is the best blockchain network ever created.
Ethereum is a Blockchain network that introduced a built-in Turing-complete programming language which can be used for creating various decentralized applications(also called Dapps). The ethereum network is fueled by its own cryptocurrency called ‘ether’. The ethereum network is currently famous for allowing the implementation of smart contracts. Smart contracts can be thought of as ‘cryptographic bank lockers’ which contain certain values. These cryptographic lockers can only be unlocked when certain conditions are met. The smart contracts are created mainly using a programming language called solidity. Solidity is an Object Oriented Programming language which is comparatively easy to learn.
Bitcoin is a payment network and aims only at the financial sector. Unlike bitcoin, ethereum is a network which can be applied over various other sectors. Ethereum is often called as Blockchain 2.0 since it proved the potential of the blockchain technology beyond the financial sector. The consensus mechanism used in ethereum is Proof of Stakes(PoS), which is more energy efficient when compared to that used in Bitcoin network, that is, Proof of Work(PoW). PoS depends on the amount of stake a node holds.
Ethereum has two types of accounts: Externally owned account (EOA), and Contract account. These are explained as following below.
- Externally owned account (EOA):
Externally owned accounts are controlled by private keys. Each EOA has a public-private key pair. The users can send messages by creating and signing transactions.
- Contract Account:
Contract accounts are controlled by contract codes. These codes are stored with the account. Each contract account has an ether balance associated with it. The contract code of these accounts get activated every time a transaction from an EOA or a message from another contract is received by it. When the contract code activates, it allows to read/write the message to the local storage, send messages and create contracts.