To understand how Ethereum works let’s have a look at its counterparts:
EVM
The core of the system is the EVM, which stands for Ethereum Virtual Machine. It is a cloud software service, governed by a code that can endure the time and the fast-paced technological progress. This code allows various operations to be executed infinitely.
Ether
Ether (ETH) is a token designed to serve the operational purposes on Ethereum. It allows transmitting value within the system, e.g. transaction fees and the costs associated with utilizing the resources of the system. There’s currently over 90M ETH in circulation, and it is the second largest cryptocurrency by market cap ($24M USD at the time of writing) after Bitcoin.
Ether is used as a system resource allowing to exchange various assets within the network, to collect transaction fees from users for utilizing the network, its resources, and functions, and to reward developers and miners for their contribution to the system’s safe and sound operation.
Ether is not meant to be a global internet currency like Bitcoin. Its main function is to serve as a medium of exchange between fiat or digital money and the computational resources within the network. It is most commonly used to pay for different actions on the Ethereum platform and to collect fees from the users who to use the network’s resources for it.
Mining
Ether has no finite supply, which means that it is issued continuously in accord with the network’s needs at a steady annual rate of 18 million ETH each year. The new ether tokens are created by means of the proof-of-stake mining rewarding miners with the maximum of 5 ETH per each block. This happens randomly.
At first, the mining on Ethereum was based on the proof-of-work (POW) algorithm similar to Bitcoin. It required solving computational puzzles too, but had lower operational requirements, and was, therefore, less costly and more rewarding.To increase the efficiency of the network and to reduce the amount of the spent energy, Ethereum switched to the proof-of-stake (POS) mining this year. The switch didn’t affect the annual amount of mined ether, so it remained limited to 18m.
The proof-of-stake mining doesn’t require any puzzle-solving, instead, the miners are required to prove the ownership of a certain amount of ether in order to create a new block. This method is more energy-efficient.
Having received the reward in ether, miners can then exchange it for other cryptocurrencies or fiat, although one of the most common ways to use it is to create and implement DAPPs on Ethereum.
Accounts
The accounts on Ethereum represent the 20-byte addresses with information about the user’s balance, the storage root, the contract hash code and the nonce, a mechanism of transaction processing represented by an entry to the ledger.
The accounts can be externally owned and controlled by private keys, or they can be controlled by the contract code. In the first case, the transaction has to be created and signed by the owner of the keys. In the second case, the account is governed by the contract that activates it, whenever a message is automatically received. In fact, the contracts are accounts controlled by their own code. They were deliberately designed to act as autonomous agents serving various purposes: from data storage to messaging, to managing accounts and the other contracts.
In the Ethereum network, anyone can create an application with any rules by defining it as a contract. By means of the code, the contracts can send and receive ether, deliver the information about the owned storage, create virtual transactions that go to other contracts.
Programming language
With its native programming language named Solidity, the Ethereum platform has introduced a brand-new concept in coding. Solidity allows running contracts in a distributed way. Structurally, it resembles a browser-based JavaScript language, although Solidity was solely designed to execute the contracts on Ethereum.
Solidity allows compiling instructions into bytecodes distributed throughout the network and read by everyone, to establish agreements, identity, ownership, and protections, which are currently not possible with JavaScript. It is anticipated that with the development of the IoT (the Internet of Things) Solidity will be used extensively to enable communication between appliances and humans as well as machine-to-machine interaction.
Blockchains
Ethereum has three types of blockchains: the public, the private and the consortium blockchain.
- The public blockchain is fully-decentralized and openly available to anyone anywhere in the world. Everyone can see everyone else’s transactions and reach the consensus;
- On the consortium blockchain the consensus is controlled by the selected nodes, so they are partially decentralized;
- The private blockchain is centralized, so the activity within it is restricted by the owner-organization that gives permission to use it to the specific nodes.
The Ethereum’s public blockchain offers many exciting possibilities to its users providing them with access to a large community, the network, its native currency, various tokens, and assets together with the markets they are designed for. Many companies these days are testing the implementation of the private blockchains for business thanks to Ethereum that has introduced new possibilities for securing the data.
Consensus
The process of reaching a consensus determines which blocks will be added to the blockchain and what their current state is. The consensus mechanism named Etash symbolizes making an agreement among the nodes in the network about its state. It uses a special cryptographic hash function (SHA-3) that makes the platform resistant to CPU mining and its monopolization as a result. Etash allows users with the ordinary PCs to download the Ethereum blockchain, mine ether and gain profits. By means of the consensus model proposed by Ethereum, literally, any service that exists nowadays can get decentralized.
Ethereum’s Economic Model
To substitute the centralized trust, Ethereum merges the economic incentives together with the cryptographic verification mechanisms such as proof-of-work and proof-of-stake. In other words, everyone’s participation in reaching the consensus is determined by the amount of the economic resources that he/she possesses.
The dev’s team designed the so-called gas, a measurement for computational steps within the Ethereum network, consumed when the EVM runs various operations (computational steps) on the blockchain. Gas represents the expenses implied by the use of the network resources. It has a cost, a limit, and a fee. It is up to miners to choose whether they want to collect the fee or not. The computational resources expenditures for sending a transaction should not exceed the gas limit, otherwise, the transaction will not take place.
Gas has a fixed cost equal to 10 szabo per unit or 0.00001 ether. Its main purpose is helping to decrease the hacker and spam activity.
Transactions
In the Bitcoin system, the data about the users’ balances are stored in a structure based on the unspent transaction outputs (UTXOs). The UTXO on Ethereum stores a list of accounts stating their balances, as well as the Ethereum-specific data (the code and the internal storage). A transaction is only valid if the sending account has enough balance to pay for it.
Transactions in the Ethereum network are signed as data packages, which store messages sent from the externally-owned accounts to other accounts. By messages, it is implied that the virtual objects or function calls, which cannot exist outside the Ethereum platform. These messages contain the information about the sender and the recipient, the value field (transferred sum) and the start-gas.
Transaction fees in the Ethereum network are named gas costs and are equivalent to the amount of ether that the system is charging for the execution of transactions. Such economic model allows the Ethereum network to develop independently and to cover the costs of the technical implementation.
The block-time or the average time interval between the mining of two blocks in the Ethereum network takes 14 seconds, which is a great advantage. It is possible because the developers of Ethereum decided to avoid the processing power limitations that affect the efficiency and the speed of the network by setting a mechanism to charge fees in accord with the size of the contract.
Smart Contract Execution
The EVM runs the smart contracts, the so-called decentralized autonomous agreements, in isolation from the file system and the network, and recognizes them as objects instead. Within Ethereum users can generate their own tokens and assets as smart contracts. The possibilities of this technology are immense and are currently being developed and implemented in various industries. To continue reading about smart contracts click here.