What is Ethereum?

What is Ethereum?

Ethereum is a permissionless blockchain supporting smart contracts and widely used for decentralized applications.

What is Ethereum?

Description

Ethereum is a public permissionless blockchain created by Vitalik Buterin in 2013, with the Ethereum whitepaper’s release. Designed to become the "World Computer", Ethereum’s first block was mined in 2015.

Unlike Bitcoin, Ethereum has been designed to develop decentralized and distributed applications and was the first blockchain to support smart contracts. To write code, developers use Solidity, a high-level programming language designed for Ethereum. These are compiled onto the Ethereum Virtual Machine ("EVM") to the bytecode level, comprised of OPcodes.

Each operation on the network costs gas fees paid in ether ("ETH"), the native currency of Ethereum. For instance, transfer of assets, interaction with, and deployment of smart contracts cost gas fees.

What problems does Ethereum attempt to solve?

Ethereum finds its roots from the prior launch of Bitcoin, which has introduced the blockchain to the world. Despite the possibility of adding smart contracts on Bitcoin, its range of applications remained restricted (use of Script’s OPcodes) and not directly incorporated into the network logic.

Ethereum introduces a different model called the account model and features complete support of smart contracts dedicated to building applications for business. As a result, Ethereum increased Bitcoin’s scope from being a "programmable currency" to a "programmable network" that remains both decentralized and distributed globally.

Currently a Proof-of-Work ("PoW") blockchain, Ethereum is expected to migrate to a Proof-of-Stake ("PoS") consensus mechanism in late 2020, through the launch of ETH 2.0.

Core components of Ethereum

Consensus finding and permissionless

Ethereum is a blockchain operated by a network of nodes globally distributed. Anyone can run a node to monitor the network activity and broadcast transactions onto the network: this is why Ethereum is defined as a public permissionless blockchain. Similarly, there are no restrictions to create an account (defined as an external owned address or EOA), as any individual can create as many addresses by generating different private keys.

As of now, Ethereum’s consensus is based on a Proof-of-Work mechanism ("ETHhash") but is expected to transition to Proof of Stake, with the launch of ETH 2.0.

Account model

Ethereum relies on the account model, which contrasts with the UTXO model from Bitcoin. In the account model, a global state stores the list of accounts, including balances, code, and internal storage.

In Ethereum, there are two types of accounts: Externally Owned Accounts ("EOA") and Contract Accounts. Each transaction becomes valid only if the sending account has enough balance. If so, the sending account is debited, and the receiver’s account gets credited with the value.

If the receiving account is not an EOA, its code runs, which can change the internal storage. Also, the code may even create additional messages to other accounts, leading to the additional transfer of balances across accounts.

Smart contracts and the Ethereum Virtual Machine ("EVM")

Ethereum is a programmable blockchain that supports smart contracts.

Ethereum is Turing-complete: any type of computation is accepted but remains bounded by gas fees. In computation, a system is said to be Turing-complete if it can perform any logical step of a computational function. However, to prevent endless faulty executions (e.g., infinite loop), Ethereum introduces gas fees. Users specify the maximum amount of gas to pay for a transaction. This puts a limit at the execution time since all operations cost money and prevent congestion on the Ethereum network. If there is not enough gas, it will return an error ("out of gas"), and the state will be reverted.

Contracts are written in higher-level languages (e.g., Solidity, Vyper) and then compiled to low-level EVM bytecode.

The Ethereum Virtual Machine (”EVM”) is the virtual stack embedded with all Ethereum nodes. Each of these nodes agrees to execute bytecode instructions similarly. Since any node can run the code, the Ethereum Virtual Machine is deterministic, with transaction outcomes being certified.

Once a transaction is sent, validators must verify that the transaction is valid, that there were enough funds to pay for the transaction execution, and that there was no exception during the execution. If any of these conditions are not met, the state is reverted (but fees are not returned to the party initiating the transaction).

Should I use Ethereum?

Ethereum has continuously run for more than five years and has become the leading network for third-party developers to deploy and implement decentralized applications and other utility tokens. Its most popular segments include decentralized financial applications, stablecoins, initial coin offerings ("ICO"), and collectible items ("NFT").

Any enterprise interested in exploring blockchain technology should first start with Ethereum to understand how to deploy contracts and the implications of smart contract immutability. Since multiple enterprise-built blockchains are forked from Ethereum (e.g., Quorum, Hyperledger Besu), Ethereum’s set of contracts is completely re-usable onto these networks.

The full transition to ETH 2.0 will take many years but make Ethereum more scalable thanks to the use of sharding and other scalability & privacy features. However, concerns remain on how composability will occur due to the use of shard chains, which break the state of Ethereum into multiple parts.

In short, as illustrated by the recent release of the Baseline Protocol on the Ethereum public mainnet, Ethereum is here to stay, serving as the core layer and base implementation for the majority of public, private, permissioned, and permissionless applications.

Read more about similar topics