Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the National Agency. Neither the European Union nor National Agency can be held responsible for them.

3.2 Ethereum

Introduction to Ethereum

Next to Bitcoin, Ethereum is the second largest cryptocurrency as measured by market capitalization. The Ethereum network is a blockchain-based platform focused on programmable contracts (smart contracts) and decentralized programs (dApps). The associated cryptocurrency is called Ether (ETH). Ethereum is also often referred to as a “world computer”. The term world computer comes from the fact that Ethereum does not just store the state of currency ownership like Bitcoin does, Ethereum can track the state of any kind of arbitrary data and execute all code that can be put into binary data format.

Ethereum (ETH) is a decentralized open-source platform based on blockchain technology. It allows any interested developer, individual or company to run and develop their own dApp or even a decentralized organization (DAO) using smart contracts. Ethereum has memory that stores both code and data and it uses the Ethereum blockchain to track how this memory changes over time like a general-purpose stored program computer Ethereum can load code into its state machine and run that code storing the resulting stage changes in its blockchain.

To understand the basics of Ethereum, watch this Generation Blockchain introduction video. Click here to watch the Generation Blockchain video on the Basics of Ethereum.

Inventors of Ethereum

Vitalik Buterin is the initial inventor and co-founder of Ethereum. In the early stages of Bitcoin's development, Buterin ran a magazine that was publishing on the topic of Bitcoin. Through this, he identified aspects that he saw as room for improvement. Vitalik Buterin then co-founded Ethereum with Anthony Di Iorio, Mihai Alisie and Charles Hoskinson. Buterin first explained the Ethereum Blockchain in a white paper in 2013. Ethereum was intended to unleash the full potential of Bitcoin. It combines a synthesis between radical openness and radical privacy. Buterin wanted to create a platform that is a mining system and provides a platform for developing one’s own software applications.

Ether Currency Units The cryptocurrency of the Ethereum blockchain is called Ether. Ether is a means of payment for every transaction or creation of smart contracts, as well as the use of various services on the Ethereum platform. All changes made on the world state of Ethereum cost Ether.

To interact with the Ethereum Blockchain, one needs to buy Ether. Ether is the fuel of the entire platform. Ether is also distributed as a reward to Ethereum stakers and validators. Ether is subdivided into smaller units down to the smallest unit possible which is named wei 1 ether is 1 quintillion (1018) wei.

What are smart contracts?

Smart Contracts are digitized, determined contracts between two or more people or software programs. The code can either be the sole manifestation of the agreement between the parties or can also act as a complement to a traditional text-based contract and execute certain provisions, such as transferring funds from party A to party B. The code itself is replicated across multiple nodes of a blockchain and, therefore, benefits from the security, permanence, and immutability that a blockchain offers. It is possible to use smart contracts to develop a DAO or a dApp.

1

are operated by a network of computers

2

execute agreed steps automatically when a specified event occurs

3

automatically track changes within the set terms of the contract

4

are stored on the blockchain

Smart contracts

On the Ethereum network, smart contracts exist as independent users that can be interacted with, and thus, they have the same status as human users. This also means that they can be viewed and monitored by anyone in the network. Conditions are defined in the contracts, which anyone can check for correctness. Depending on whether the triggering event occurs, the smart contracts automatically execute the linked commands. These smart contracts are stored on the Ethereum Blockchain.

Smart Contract Example

For example, the smart contract includes the understanding that a person will receive their money for the package when it arrives three days after the order is placed. Moreover, such a smart contract is connected to software that is capable of checking on the status of the package (i.e., whether it has been delivered or not). Once the package has arrived, the smart contract automatically releases the recipient's Ether amount stored and locked up in the smart contract to the sender of the package. If the software would detect that the package has not been delivered. Here, the smart contract could override itself and the buyer will get their money back.

Smart Contracts and the Ethereum Blockchain

What makes Ethereum special, however, are the smart contracts that turn the Ethereum network into a decentralized computer. Smart contracts, as the name suggests, are smart contracts or small programs that run on the Ethereum network and can, for example, regulate Ethereum transaction conditions. Unlike the Bitcoin network, the nodes on the Ethereum network are also responsible for processing these contracts. Through smart contracts, it is possible to develop so-called decentralized Apps. DApps are publicly accessible decentralized applications. Since ultimately everyone can run an Ethereum node, all dApps have the same functionality and can offer services built on top of the infrastructure accordingly.

Ethereum dApps 

Everywhere in the world, developers are building dApps on top of Ethereum and creating innovative dApps. There are almost no limits to dApp development. There are financial applications, decentralized exchanges (DEX), social media platforms, messenger services, games and others are just a couple of examples for dApps. Smart contracts can be seen as back-end APIs running in the blockchain while dApps are the front- end or UX. They represent the visible layer connecting users or other applications with the smart contracts running in the blockchain. You may think of app stores that we are already familiar with. Just like with dApps, there are countless apps in the app store today. These apps trust the app store with payment management and thus involve a third party and the need for established trust. Traditional developers are also dependent on the App Store's favor. App stores can remove apps from their stores as the ultimate authority. Accordingly, the consumer's choice also depends on the influence of third parties such as Google or Apple. Conclusively, this means that the content they generate is in the hands of third parties and influenced by unwritten rules of the industry. This is different with dApps which are built on Ethereum. Here, the data is in the hands of the users. Developers can offer dApps freely and independently of an app store provider, eliminating the pre-selection of an app store altogether. Running an Ethereum node is not a requirement for implementing DApps. Instead, there are private offerings in the cloud that can provide access to existing nodes. 

Ether supply

As compared to Bitcoin which sets the maximum supply at 21 million, Ethereum does not have a limit. There will never be an end to Ether production. How many Ether exist has a direct impact on its price. Generally, the greater the number of coins that are publicly available, the lower its value. The total amount of Ether is still fluid, as the recent network upgrade to PoS have made an increase and decrease in both directions possibly in terms of Ether supply.

The differences of Ethereum and Bitcoin

Bitcoin and Ethereum differ in many aspects. While Bitcoin is a cryptocurrency, Ethereum is a platform. For this reason, Bitcoin is primarily a store of value and medium of exchange whereas Ethereum is seen as a general purpose blockchain.

Ether is the native token on Ethereum's blockchain. Bitcoin is and always has been the largest cryptocurrency as measured by market capitalization and Ethereum is the second largest. Transactions are faster on the Ethereum network than on Bitcoin’s due to the fact that the Ethereum blockchain is slightly faster than the Bitcoin blockchain. It is also important to note that Ethereum was created as a complement to Bitcoin and not as competition. While Bitcoin has been able to establish itself as a cryptocurrency, Ethereum aims to establish a decentralized world computer. In this sense, a comparison between the two cryptocurrencies is a difficult one.

Ethereum Transactions

To learn how Ethereum transactions work in accordance with smart contracts, listen to the Generation Blockchain podcast episode on the topic.

Click here to listen to the Generation Blockchain Podcast episode on Ethereum Transactions & Smart Contracts.

Ethereum Smart Contracts

In a previous section, you have already gained a high-level overview of smart contracts which will be deepened in the following.

As you already know, smart contracts are a type of Ethereum account. Thus, they have a balance and can be the target of transactions. Smart Contracts must not be controlled by a user, instead, they are deployed to the network and run as previously programmed. Actual user accounts can interact with a smart contract by submitting transactions that execute a function defined on the smart contract. Smart contracts can define rules, like a regular contract, and automatically enforce them via the code. Smart contracts cannot be deleted by default, and interactions with them are irreversible. They can only be overwritten by authorized parties. Smart contracts are simply programs stored on a blockchain that run when predetermined conditions are met.

They typically are used to automate the execution of an agreement so that all participants can be immediately certain of the outcome, without any intermediary’s involvement or time loss. They can also automate a workflow, triggering the next action when conditions are met.

From an implementation standpoint, Vitalik and his co-founders designed the so-called Ethereum Virtual Machine (EVM) for running byte code in the blockchain. Every node in the network runs said EVM, and it is ready to execute any arbitrary code. Creating a new contract in the blockchain implies sending the program representation in byte code as part of the transaction data payload. Once the EVM runs the transaction and the block is added to the ledger, the programmer then receives the public address where it was published. From there, anyone that is given access to it can then start interacting with the contract at that address. 

There are three important aspects of smart contracts. The execution context, the gas fee, and the immutability. 

Execution context 

Smart Contracts run in isolation meaning that they can only see data available on the Ethereum blockchain or call other smart contracts. Thus, they cannot make calls to any service or query data from outside the Ethereum blockchain. Some contracts in Ethereum act as oracles. External users or applications can feed these oracle contracts with external data so others can consume them. 

Gas 

Running code in the EMV cannot happen without a gas fee being paid since computing resources and storage are scarce and are not for free for the validators. The cost of using Ethereum services is expressed in a unit known as gas, which represents short fractions of Ether (denominated in WEI). For every transaction submitted one must pay gas, otherwise the code will not run. Gas is consumed by executing lines of code or allocating storage space. If a transaction runs out of it, it results in the cancellation of the transaction. In this case, the tokens or funds are spent anyway.

Technically, gas represents a unit and not a price since the price for the transaction is assigned when it is created. Here, the higher the price that one pays or is willing to pay leads to a higher prioritization of the transaction in the execution queue. Validators have the incentive to execute transactions that pay more since they receive the gas fees. One can also set a gas limit on the transaction. This expresses how much one is willing to spend on the execution. If the transaction costs more, it is canceled, and the unused funds are returned to the sender. 

Immutability 

Smart contracts are immutable. Thus, by definition (byte code) they cannot be changed or updated once they are deployed on the Ethereum blockchain. In case an existing smart contract needs to be altered, one has to deploy a new version in a new address. Once bugs are introduced, they cannot be fixed. 

© 2024 Generation Blockchain. All rights reserved.
menuchevron-down