Like Bitcoin, Ethereum is a decentralized platform that uses blockchain technology. Ethereum also has its own cryptocurrency named Ether (ETH). Unique to Ethereum is that developers can create their own applications and functions that work on all computers connected to the Ethereum network. Ethereum calls itself “the most programmable network in the world”. The vision of Ethereum’s founders is to create an indestructible, censorship-resistant, self-sufficient and decentralized world computer over the Ethereum network.
Ethereum
Ethereum is a decentralized platform that is built from blockchain technology. As a reminder, blockchain is a technology that records transactions. This may be monetary transactions, but similarly, saving a document or sending a message can be regarded as a transaction. Every transaction performed via the blockchain is also publicly recorded in the blockchain. Additionally, every miner has a copy of the blockchain.
Ethereum therefore allows for a lot more to be done than just carrying out financial transactions. Because it is possible to program applications and smart contracts (see below) for the Ethereum network, Ethereum is sometimes also called “the new internet”.
Applications of Ethereum and the blockchain
The technology behind the blockchain isn’t easy. However, Ethereum makes it easier to develop applications (apps) that use blockchain technology. These applications can be used, among other things, to carry out transactions in a decentralized manner. In the Ethereum network, these applications are referred to as dApps (decentralized apps). A dApp uses a smart contract in combination with a front-end user interface in order to make the use of the application more enjoyable for the users. Smart contracts will be explained further down in this article.
How does a dApp work?
A dApp is an application developed through the Ethereum network and that uses the decentralized blockchain technology. Transactions carried out via a dApp therefore are by definition decentralized. By comparison, a message (a transaction) sent via WhatsApp or Facebook Messenger goes through the serve of WhatsApp or Facebook. These servers are managed centrally, by a single authority. When a transaction is carried out via a dApp, it will go through the blockchain, a decentralized network. A decentralized network is harder to hack or manipulate due to the fact that there are multiple servers (no single point of failure), and is therefore considered safer than a centralized network.
How to connect to the Ethereum network?
When someone wants to use the applications on the Ethereum network or wants to mine Ether, they have to join the Ethereum network. To connect a computer to the Ethereum network, you first have to download a certain software called “Ethereum client”. This software connects the computer with all other computers already connected to the Ethereum network. Once the computer is connected, and has become a node in the Ethereum network, it will download the Ethereum blockchain. According to the blockchain technology, every node (connected computer) holds a local copy of the blockchain. From now on, the computer can start validating new blocks to be added to the blockchain.
The Ethereum client software, however, also allows you to do other things. The software makes it possible to connect to the Ethereum network and use the network. You can also create new transactions and new smart contracts with the software, as well as carry out existing smart contracts. When a computer validates a new block and adds it to the blockchain, it will – just as with the Bitcoin blockchain – be rewarded. In this case, the reward is the crypto coin Ether.
What’s the difference between Ethereum and Bitcoin?
Although both Ethereum and Bitcoin use the blockchain technology and have associated crypto coins, they different in some important aspects. In the Bitcoin blockchain, a new block is added approximately every 10 minutes. In the Ethereum blockchain, a new block is added approximately every 14 seconds. When a bitcoin transaction and an Ethereum transaction are carried out simultaneously, the Ethereum transaction will be included in the Ethereum blockchain faster than the Bitcoin transaction will be included in the Bitcoin blockchain.
Ethereum was created as a network that allows developers and programmers to create and publish dApps. This makes it different from Bitcoin in the sense that Ethereum is a programmable network that also serves as a sort of marketplace for financial services, games and applications. The payment method on this marketplace is of course Ethereum’s own cryptocurrency, Ether. The Bitcoin blockchain often uses the analogy of a distributed ledger. Because the use of this marketplace is a more complex function than simply sending and receiving currency, a more advanced analogy is needed to describe Ethereum. Instead of being just a distributed ledger, Ethereum is a distributed machine called Ethereum Virtual Machine (EVM, see below).
What’s the difference between Ethereum and Ether?
The terms Ethereum and Ether are often used interchangeably. However, they carry very different meanings. Ethereum is an entire network. On this network, a token (crypto coin) is available that represents a certain value. This crypto coin can be used to make payments. According to the principle of a decentralized network and the blockchain, miners must also be paid for the validation work that they perform. The tokens on the Ethereum network are called Ethers. Ethers are therefore crypto coins that are traded on the Ethereum network.
What’s a smart contract?
A smart contract is a contract that can execute itself, and for which the terms and conditions agreed between the buyer and seller are programmed in the conrtact code. In other words, a smart contract is a computer program that works according to the principle of “if this happens, then do that”. The many computers connected to the Ethereum network execute these programs, and check them in order to guarantee the reliability of the network.
Smart contracts are one of the functionalities differentiating Ethereum from the other blockchains. A blockchain makes it possible to store data in a distributed, reliable manner. Smart contracts make it possible to carry out calculations in a distributed, reliable manner.
How do smart contracts work?
Smart contracts are kind of like an Ethereum account. They can send a transaction over the network, and have a balance. The difference is that they aren’t managed by a user, but are directly imported into the network and then executed in the manner they are programmed. User accounts are also able to communicate with a smart contract. This is possible by entering transactions that perform a certain function already defined in the relevant smart contract. The transactions performed by smart are contracts are, like other blockchain transactions, irreversible. It is also impossible to remove smart contracts.
A smart contract can take all kinds of shapes and sizes, but the principle is always the same. A practical example is that some functions of a bank account can act like a smart contract. A bank account has a certain balance. For some payments, such as the monthly rent, it is possible to set automatic payments. This tells the bank account: if there is sufficient money in the bank account, make this payment. If there is insufficient money in the bank account, the payment will not be made. In this case, the entire process is checked by a single authority: the bank. In the case of smart contracts that use the blockchain, the process is performed by the many computers connected to the Ethereum network.
Ethereum Virtual Machine
The Ethereum Virtual Machine (EVM) is a single entity that is maintained by the thousands of computers connected to the Ethereum network via the Ethereum client software.
The Ethereum protocol itself exists in order to guarantee the uninterrupted, unalterable and continuous operation of the EVM. The EVM is “the brain” of Ethereum: it is the environment where all Ethereum accounts and smart contracts are stored. To make another comparison with the Bitcoin network: the existence of the ethereum network is a large data structure that contains not just all accounts and balances (like Bitcoin), but also a machine status (EVM). The machine status can change from block to block according to a predefined set of rules. The EVM can also carry out random machine code, and the specific rules to change the status from block to block is determined by the EVM.
A smart contract and the EVM work in a similar manner as Microsoft Excel macros and the Microsoft Excel program. The Microsoft Excel program reads the small pieces of code contained in a Microsoft Excel macro, and then executes these in the program. The EVM also reads the smart contracts, and then executes them on the Ethereum network.
How are smart contracts created and executed?
In theory, anyone can create a smart contract and place it on the network. The most important thing needed is adequate program knowledge to write a smart contract. You also need sufficient ETH to effectively place the contract onto the network.
Creating (programming) smart contracts is an essential part of Ethereum. Ethereum has therefore developed its own programming languages to write these smart contracts. Solidity is the most famous program, and is equivalent to JavaScript. Smart contracts are also public on the Ethereum network and can be seen as open APIs. This makes it possible while coding to contact other smart contracts, and to use them in a new smart contract. As a result, the possibilities in programming smart contracts are almost endless.
Sending a contract on the network can be regarded as a transaction. Transaction costs (gas) must be paid for all transactions on the Ethereum network, also referred to as gas. The amount of gas needed to send a smart contract on the network, however, is much greater than for normal transactions.
Gas and gas price
When a smart contract is activated, every miner (computer) connected to the Ethereum network must execute and check the smart contract. This costs the miners time and electricity. Gas is the mechanism used to compensate this time and electricity. Gas is sometimes compared to putting a coin in a jukebox. Once the gas (coin) is paid, the smart contract (the song) is executed (played).
The more complex a smart contract, the more gas is needed to execute the smart contract. Again with the comparison of the jukebox, the longer and louder the song, the more coins are needed to play the song.
The amount of gas is determined per contract, but the gas price depends on the user and the time at which the request is submitted. Every miner will look at the proposed gas price and determine whether he wants to include the contract in his block. The higher the gas price, the more motivated miners will be to execute the smart contract.
Limitations
While a lot is possible with smart contracts, there are limitations. It is impossible for smart contracts to retrieve information from the “real world”. This is because they are unable to send HTTP requests. This was done on purpose. If a smart contract were to be based on external information from the “read world”, it risks comprising the consensus. The consensus is crucial for the safety and decentralization of the network.
A second limitation is that smart contracts have a maximum size of 24 kB. If larger, the contract will not have enough “gas” to be executed. This limitation can be circumvented by using the “Diamond Pattern”. A diamond is a contract with external functions supplied by contracts called “facets”. Facets, in turn, are separate, independent contracts that can share internal functions, libraries and status variables.
Summary
Ethereum is a decentralized platform that uses blockchain technology to execute transactions. Transactions are not just financial transactions, but for example also sending messages or calculating comparisons. Ethereum also has its own cryptocurrency called Ether (ETH).
Unique to the Ethereum network is that it does not just maintain decentralized ledger of all transactions, but that the network itself is programmable. Ethereum is therefore a decentralized computer that is spread out across the globe through the connected miners.
An important part of Ethereum is smart contracts. Smart contracts are small computer program that have a certain function. They work according to the principles “if this happens, then do that”. Anyone can make a smart contract, and anyone can activate an existing smart contract. Gas is needed to do so. When a smart contract is activates, it has to be executed and checked by every miner on the network using the Ethereum Virtual Machine (EVM). The gas is used to pay the miners for their work.