Popular cryptocurrency Ethereum and its coin ETH are very popular this year, so what is it and how does it work?
Ethereum is an open-source public platform based on blockchain technology, which maintains a permanent record of digital transactions and allows the implementation of “smart contracts” -computer programs that automatically execute agreements between two or more parties when a series of conditions established in advance is met.
What is Ethereum (ETH) and how does it work?
A simple way to imagine Ethereum is as an accounting ledger, which, unlike traditional ones, operates in a distributed manner -this means that it does not require a central authority in charge of its maintenance and security. The technology used by the platform to operate as a distributed ledger is called blockchain -sometimes, it is also referred to as DLT or Distributed Ledger Technology, although some consider that both concepts do not designate exactly the same thing.
Without discussing the potential differences, what is undeniable is that both a blockchain and a DLT system share the fact that they are databases distributed over a series of nodes -which are nothing more than computers running special software. These nodes are connected to form a peer-to-peer network, which integrates various security systems typical of asymmetric or public-key cryptography, such as digital signatures.
One of the most interesting functions of Ethereum is that it allows the concept of “value” to be digitized. This means creating financial crypto assets that are either native to the platform -ETH and all compatible ERC20 tokens-; or act as virtual representations of real-world assets -such as works of art or real estate-, which is achieved through a process called tokenization.
Another of Ethereum’s characteristics is that it allows value to be transferred in a “trustless” manner -a term that alludes to the fact that it does not require third parties to act as intermediaries. To function in a truly trustless manner, it is necessary for all Ethereum nodes to have a copy of the database with the current “state” of the network – that is, reflecting the current balance of each and every account.
As we have just indicated, users will be able to make peer-to-peer transactions without asking permission or requiring the intervention of a third party. But such transactions will cause changes in the “state” of Ethereum’s ledger; therefore, they must be verified and validated by a majority of nodes, based on a series of rules determined by a consensus algorithm. For this reason, blockchain networks are considered immutable systems -they cannot be modified if they do not comply with a series of rules- and are resistant to censorship.
The Ethereum network provides infrastructure for distributed computing and economic activities and was originally conceived as the seed of a new internet of “value” – the Open Web or Web3.
Among its functions we can highlight:
- The possibility of carrying out transnational economic transactions, without the need to depend on third parties, nor the time limitations and costs imposed by traditional systems.
- The possibility of issuing tokens -digital representations of value-, which can be used as economic incentive mechanisms.
- The possibility of creating and deploying decentralized applications -Dapps- of all kinds.
- The possibility of programming smart contracts – self-executing contracts that allow the automation of transactions – to design all kinds of business logic without the need for trusted intermediaries.
Ethereum integrates a native currency -called Ether or ETH- that acts as a reward mechanism for miners -nodes that through their computational power execute a series of fundamental operations to reach consensus and protect the integrity of the network.
This is an essential function that is currently achieved through a consensus mechanism called Proof-of-Work. Reaching consensus means that all nodes in the network will share a canonical version of the “truth” – which in this context means agreeing on the most recent “state” of the general ledger, with updated balances for all accounts.
Interestingly, by facilitating the issuance of all kinds of tokens, Ethereum allows users to access a myriad of financial applications framed in what has come to be called DeFi – Decentralized Finance – a financial ecosystem with free and universal access, in which users never give up ownership of their data.
The promise of this new “Internet of Value” is only possible because the infrastructure on which Ethereum stands is public, neutral and freely accessible – it is not controlled by any company or person, but by its own users.
How Ethereum works?
As we have just explained, Ethereum is essentially nothing more than a blockchain. A platform that allows economic transactions, and which is protected by cryptographic mechanisms – which makes it virtually impossible to falsify or delete the entries recorded in its ledger. As a singleton machine, in Ethereum there will always be a canonical version of the truth – a “state”, which will be shared by all nodes.
What sets it apart from other blockchain platforms such as Bitcoin is its high expressiveness and its Turing-complete nature – which allows for the programming of smart contracts with complex logic.
State transition
From a purely technical point of view, Ethereum is what is known in computer science as a state machine of a transactional nature. A state machine is any system that reads inputs (input data), and based on these, transitions to a new “state” (in this case, a change in account balances). In the case of Ethereum, the initial state – the one in which no transactions have yet occurred or been recorded – is called “genesis”.
It is important to understand that, as in all blockchains, Ethereum groups transactions into blocks that will successively link together.
To transition from one state to another, transactions must be considered valid – which in the network’s current consensus system, Proof of Work, requires going through a verification process called mining. Mining is nothing more than a competition between nodes around the world that simultaneously try to create and validate blocks – using their computational resources and presenting cryptographic proof as a guarantee.
The mining node that completes the job the fastest gets a preset number of ETH – the native token of the Ethereum network – as a reward. This means that every time a miner creates and validates a block, the total monetary mass of ETH is increased.
Forks
Previously, we defined blockchains as single instance machines. This means that the most recent state of the ledger shared by Ethereum nodes will be the canonical version that all network participants will accept as valid. When there is no consensus regarding the current “state” of the network due to an unresolvable dispute, a point can be reached where the blockchain ends up forking – this is what is referred to in English as a fork.
The most famous example of this phenomenon would occur in July 2016, when the Ethereum community itself would force a hard fork to recover the ETH deposited in a decentralized venture capital fund – called THE DAO – that had been hacked. This incident would cause a schism in the community and a fork of the blockchain. The nodes that migrated to the new chain make up the network we know today as Ethereum; while those that decided to remain on the original chain -the one that had been hacked- would give rise to a new platform baptized Ethereum Classic.
In general, Ethereum’s way of determining which is the canonical version of the blockchain and avoiding constant forks is through the GHOST protocol -Greedy Heaviest Observed Subtree. Explained simply and plainly, this protocol establishes that the blocks should lengthen the chain by following the route in which the miners have spent the most computational resources.
Accounts
It should be noted that on the Ethereum platform there are two types of accounts:
- EOAs (Externally Owned Accounts): These are those controlled by private keys and are therefore not associated with a smart contract (a common user’s wallet account would usually be a classic example of EOA).
- Contract Accounts: These are those controlled by the code of the smart contract to which they are associated.
An EOA account creates transactions, signs them with its private keys, and sends them in the form of messages. These messages are simple transfers of economic value -when the receiver is the EOA account of another user-; or, on the contrary, they act as an activator of the smart contract of a Contract Account -which will be in charge of executing some action such as transferring tokens, storing a registry, issuing new coins.
It is important to understand that Contract Accounts cannot execute transactions on their own initiative. We can imagine them as automatisms that are inactive by default, and that only the receipt of an external transaction -remitted by an EOA or another Contract Account- triggers them to execute the functions for which they have been programmed.
Data storage
Another interesting aspect of Ethereum is the way it stores the global state of the network – that is, the overall “snapshot” of the balances of all addresses and accounts. To do this, it uses a data structure called the Merkle Patricia tree. This structure allows a large number of independent data to be linked by means of a single hash value – which is the name given to the product obtained after passing the data through a hash function.
The importance of the Merkel tree as a data structure is fundamental, as it allows certain nodes – called light clients – to download and store only the headers of the blocks produced by the miners, instead of synchronizing the entire chain. Nodes that opt for the latter-known as full archive nodes-are forced to execute all transactions in the blockchain‘s history, which leads to considerable hardware requirements.
Gas
Another of the fundamental concepts for understanding how Ethereum works is that of Gas – the unit that determines the fee that must be paid when carrying out a transaction on the platform, whether to transmit value or launch a smart contract.
Charging commissions (fees) for transactions is nothing more than a way of preserving the proper functioning of the network -since Ethereum’s computational resources are limited-, and thus prevent the platform from being congested by spam-like actions.
On the other hand, as we have already advanced before, Ethereum is a full Turing machine. This means that the platform can execute any kind of computational logic, but it is subject to the “halting problem” -if we do not limit by a commission the amount of computation to be executed, programs can enter an infinite loop and never stop, consuming a huge amount of resources.
Therefore, as a unit of measurement, what the gas determines is the computational resources that the user will consume at the moment of performing an operation in Ethereum -sending a token, a simple operation, will consume much fewer resources and gas, than launching a complex smart contract.
The commission paid for a given transaction is calculated by multiplying the amount of gas demanded by the transaction – depending on its complexity – by the gas price. The price of gas is not predetermined: it is the amount of ETH that the user is willing to pay for each unit of gas, measured in Gwei – the wei is the smallest fraction of ETH, we can imagine it as if it were cents of a dollar or euro.
- 1 ETH = 1 trillion Wei.
- 1 Gwei = 1 billion Wei.
- 1 ETH = 1 billion Gwei.
For each transaction, the issuer will set a gas limit – the amount of gas it is willing to consume – and a gas price – the amount of ETH per unit of gas it is willing to pay. The total cost to pay for the transaction will be = gas limit * gas price.
If the minimum amount of gas required to execute the transaction is not available, the transaction will be aborted – the gas that has been consumed, however, will not be refunded.
Mining
The gas paid as a fee for using the Ethereum blockchain is, along with block rewards, one of the rewards miners receive for the computational work they do-basically, the creation and validation of the blocks into which transactions are grouped and recorded.
One of the differences between Ethereum’s blockchain and Bitcoin’s is the block generation interval-approximately 15 seconds in the case of the former, compared to 10 minutes for the latter. Both blockchains share, however, the ability to adjust the difficulty of mining blocks – which allows them to ensure that they are generated within the expected interval. When the block generation time is shortened, the Bitcoin and Ethereum blockchains respond by increasing the difficulty of mining, while when the interval is lengthened, they decrease the difficulty.
The problem with having shorter block intervals in the Ethereum blockchain is that miners will tend to find a greater number of competing blocks – blocks that are also valid, but in the event that they do not end up being part of the longer chain, they are considered uncle blocks – these types of blocks in the Bitcoin blockchain are called orphan blocks. Unlike what happens in Bitcoin with orphan blocks, Ethereum’s uncle blocks do receive a reward – albeit less than that of valid blocks.
EVM (Ethereum Virtual Machine)
Finally, we should talk about the execution environment, which in the case of the Ethereum blockchain, relies on the EVM (Ethereum Virtual Machine).
The EVM is a complete Turing virtual machine. As we have explained above, the only limitations of this with respect to a traditional Turing complete virtual machine, have to do with the use of gas to bound the amount of computation that can be executed – thus avoiding network spam and the problem of stalling.
What is Ethereum governance?
Despite their purely digital nature, blockchain networks also have an important social component – in the end, those in charge of managing the nodes, conferring a market value to the native tokens, and updating the software, are human beings. This second component, which we could define as the platform’s community and its social contract, is especially relevant when any of the protocol’s rules need to be changed to deal with a threat, or when there is a desire to improve it – as is the case with Ethereum, which usually carries out recurring updates to incorporate new functionalities.
The type of changes that can be adopted, and the way they are implemented, are determined by a governance process. Obviously, each of the groups involved in the governance of a public and open network such as Ethereum will have incentives that will not always be aligned – potential disputes will generally revolve around issues related to reward formulas, monetary policy, and power balances.
In this situation, the ability of each group to coordinate around common incentives will be critical in determining its ability to promote the changes that are in its best interest. If one group is able to coordinate better than another, it will be more likely to end up imposing its criteria.
Broadly speaking, there are two opposing models for articulating the governance processes of a blockchain network with the aim of promoting changes in its base protocol: off-chain governance systems -this would be the case of Ethereum- and on-chain governance systems -the most prominent examples are Tezos and Polkadot.
Although on-chain coordination of a blockchain community is generally considered to be simpler, it is also more dangerous because it facilitates the capture of the network by interest groups. As the saying goes “as the law is made, so is the trap”: the moment a formal process for implementing code changes is established, powerful actors will manage to co-opt it.
Off-chain governance
The governance system of the Ethereum network is off-chain – it was designed based on a pro-decentralization ethic, originally put forward by Satoshi Nakamoto in the Bitcoin whitepaper. The fact that the governance process has not been formalized – that is, that it has not been incorporated into the code base of the protocol – means that any proposals for improvement – called EIP in the case of Ethereum – must be submitted by the core group of developers and then submitted for debate among the other stakeholders that make up the community: miners and other node operators, investors and users.
Off-chain governance systems follow similar processes to those of traditional politics. The different stakeholders participating in the network try to impose their criteria and control it through coordination strategies. The game consists of convincing as many members of the community as possible to join their faction.
Since the various stakeholders are not bound by any code of behavior, they will tend to support those measures that are most favorable to their interests. Since these are situations in which there are competing interests and the decisions of some affect others, they are usually analyzed from the perspective of game theory – meaning that the calculations and strategies of the various participants will be conditioned by the expectation of what the others are “likely” to do. Therefore, in off-chain governance systems, blockchain technology, and game theory end up going hand in hand.
How does it work?
Enhancement proposals -EIPs- to implement changes in the Ethereum protocol are submitted by the core developers. They will be responsible for coordinating the rest of the community members – nodes, investors, and users – in order to reach a consensus.
These stakeholder groups will signal their agreement or disagreement with respect to the improvement proposals presented by the core developers, through community and private discussions. Such discussions will allow developers to get a sense of community sentiment – i.e., the likelihood of approval of their software upgrade proposals by node operators, investors, and users. Ideally, all parties will agree and code changes will go smoothly – usually, the process is announced in advance and stakeholders are given a reasonable amount of time to update the software.
However, in the event of a dispute, the community has two options:
- Firstly, the promoters of the upgrade proposal -EIP- can try to persuade the rest of the stakeholders of the benefits of the upgrade for the stability and security of the network, until they gather enough support to tip the balance in their favor.
- If in the end a consensus cannot be reached, the remaining option is to perform a hard fork: the nodes will decide whether to reject the proposed changes and remain part of the original chain, or implement the new version of the software -with the EIP proposed by the developers- and synchronize with the new chain. In this second scenario, we, therefore, have two chains that will have to compete for the brand, users, hash power, and developers’ attention.
Ethereum Governance System Components
EIPs
Ethereum Improvement Proposals -EIPs- are protocol improvement proposals that are raised in a completely off-chain manner. This means that they are neither submitted, registered, nor voted on the Ethereum blockchain. Instead, proposals are raised via open-source repositories – usually GitHub – which allow for large-scale open discussion by community members.
EIPs are usually accompanied by detailed documentation, which should clarify their motivation and how they will positively impact the Ethereum blockchain – usually by optimizing existing services, including new functionality and resolving code flaws (bugs).
According to Ethereum’s general guidelines, EIPs must be supported by technical knowledge and specifications. The author of the EIP must have the necessary influence, or be able to gather sufficient support, for his proposal to be accepted without causing splits within the community. The various stakeholders will have direct access to the EIP documentation, as well as to the discussions associated with its approval. In this way, the procedure ensures that the process is fully transparent and that all points of view are taken into account.
The process followed is the same when EIPs originate from simpler formulas such as Ethereum Request for Comments -ERCs.
ERCs
EIPs sometimes originate as ERCs – that is, as suggestions that are submitted for peer review by the rest of the Ethereum community. Such suggestions generally deal with application standards, as well as the operational processes linked to them – an example would be addressing how certain smart contracts should work.
If the submitted ERCs show promise in terms of the potential improvements they will introduce to the Ethereum protocol, they are then submitted for discussion within the community more broadly. Subsequently, they acquire the status of EIPs, and their ultimate implementation is submitted for consideration. The famous ERC20, which would give its name to the popular tokens of the same name, would be the result of the same process we have just described.
As soon as an ERC reaches the EIP stage, things tend to get more serious. Therefore, to get there, the ERC must first demonstrate that it has sufficient traction and that its potential benefits for the network are very promising.
Ethereum applications
The sheer expressiveness of the Ethereum platform from a computational standpoint makes it suitable for a myriad of applications. Below, we list some of the use cases that are currently demonstrating greater traction, or even what the Anglo-Saxons call “Product/market fit”-i.e., meeting specific market demand.
- DeFi (Decentralized Finance): As the name suggests, these are decentralized protocols that aim to be the cornerstone of a new open financial system. Among the characteristics that differentiate them from the traditional model are their non-permissive nature, resistance to censorship, transparency, efficiency, programmability, as well as the fact that they do not depend on intermediaries. Examples of DeFi protocols are DEX -exchanges that allow the exchange of cryptoassets without the need to rely on a centralized authority- or lending applications that use liquidity pools. One of the main advantages of these types of protocols is the fact that the custody of the funds remains in the hands of the users – which prevents the possibility of hacks and other risks associated with them.
- Gaming and digital collectibles: Ethereum can also be considered an ideal platform for the deployment of games based on blockchain technology. Among the advantages associated with these types of games, we can cite the possibility of issuing digital collectibles in ERC-721 format, which can be transferred from the environment of a particular video game to that of another. Digital collectibles are also known as NFTs -non fungible tokens- and cover a very broad spectrum of interests: stickers of all kinds, works of art, digital representations of limited series objects -clothing, merchandising-, ENS domains. Ethereum allows, in turn, to design specific marketplaces for this type of digital collectibles or NFTs.
- Digital identity: Ethereum platform also allows the development of decentralized digital identity systems. These include Self-sovereign Identity Systems, in which users are not only at the center of identity processes but also become the masters of their identity.