Most people with a basic understanding of blockchains and cryptocurrencies know there is a big difference between Bitcoin, the original blockchain, and Ethereum, which has often been classed as the second generation of blockchains.
Ethereum is different to Bitcoin and its cryptocurrency-based blockchain because it offers smart contracts and is intended to be an ‘unstoppable world computer’. This means that the blockchain can be used, over a distributed network, to execute smart contracts. This is only possible thanks to the Ethereum Virtual Machine (EVM).
The EVM is often under-appreciated and misunderstood, and it is apt to call it enigmatic in regards to its function and form. The EVM is Turing complete, which refers to a system capable of performing any logical step of a computational function, and is named after computer scientist Alan Turing, who cracked the Enigma code.
Understanding the EVM is important in realising how the entire Ethereum network works, including how smart contracts are enacted and remain possible and plausible. The EVM is essential to the Ethereum Protocol and is instrumental to the consensus engine of the Ethereum system.
It is because of this Virtual Machine that Ethereum is able to enact smart contracts within a trustless ecosystem. This means it is able to maintain the principles of blockchain, such as decentralization, transparency and immutability.
A Turing Machine
At its base level, the EVM has been called a Turing-complete machine. This means Ethereum is technically a peer-to-peer general-purpose worldwide computer, and could even assume the functions of the internet as we know it.
“At its base level, the EVM has been called a Turing-complete machine. This means Ethereum is technically a peer-to-peer general-purpose worldwide computer, and could even assume the functions of the internet as we know it”
The EVM achieves its Turing completeness by enabling an economy that charges per software instruction executed instead of per financial transaction executed, as Bitcoin does. Instead of a transaction fee, you have something akin to a fee for running programs. This fee is known as Gas.
It has been argued that, because of Gas, the EVM should rather be considered a quasi-Turing-complete machine. A Turing-complete machine is mathematically able to solve any problem you feed to it, but the EVM is bound by Gas, which serves as a limitation to the number of computations that can be done.
When it can be considered a Turing machine is essentially the point at which it assumes these internet functions, such as creating file-sharing economies, peer-to-peer crowdfunding events, smart contracts, markets for renting out the unused hard-drive space on your laptop... the list goes on.
This is why it is unsurprising that Ethereum’s co-founder, Vitalik Buterin, considered BitTorrent a kind of predecessor of Ethereum - the file-sharing network was, and still is, essentially a Decentralised App (dApp). Just like Ethereum, BitTorrent cannot be shut down unless every computer (read node for Ethereum) running it shuts down.
Fueling the Machine
So, essentially, the EVM is an abstraction layer above the underlying hardware that processes and executes smart contracts. It can be thought of as the translator from the smart-contract language to the Ethereum nodes.
The smart contracts are typically written in high-level languages such as Solidity, but these are then translated and compiled to EVM bytecode. However, as the translator, the EVM is completely isolated from the network – every node in the Ethereum network runs an EVM instance, which allows them to agree on executing the same instructions.
When fueling these smart contracts, the EVM requires Gas for each instruction implemented on it. And while it can be argued that the usage of Gas limits the computing function of Ethereum and its Virtual Machine, it also has some very important advantages: a validator is guaranteed to receive the initial prepaid amount of Gas, even if the execution fails. Furthermore, the execution cannot get stuck in a loop, as it would otherwise run out of Gas.
An interesting view of the EVM comes from Nikita Fuchs, a Berlin-based Ethereum Blockchain dApp developer who evaluates cryptocurrencies less by their market price and more by their operation through the EVM.
“Although the term ‘cryptocurrency space’ includes a broader spectrum of fields, the EVM and other smart-contract platforms are essential value drivers for cryptocurrencies. They give usefulness to cryptos – it’s what breathes value and life into them,” Fuchs said.
“Although the term ‘cryptocurrency space’ includes a broader spectrum of fields, the EVM and other smart-contract platforms are essential value drivers for cryptocurrencies. They give usefulness to cryptos – it’s what breathes value and life into them”
He went on to explain that the EVM’s importance is fundamental to empowering blockchain applications and that, going forward, there are likely to be improvements but the basis will remain. “From a long-term perspective, the EVM is the minimal viable product that is going to empower a whole world of blockchain applications. It helped a broader range of scientists and engineers to get a good understanding for the technology of blockchain-based decentralised applications and will empower them to build things far beyond today’s imagination,” he added.
An Outdated Machine
It’s clear that there is a need for the EVM in order for the smart-contract system to be viable and fair. However, it is not without its problems. As one of the first smart-contract blockchains, and consequently the first Virtual Machine, there are some issues. Ethereum’s network, in general, has been criticised for being slow – this was seen when CryptoKitties rose to prominence and the multiple transactions slowed the entire network down.
It is because the Virtual Machine maintains parallel connections across the entire network that the computation is so much slower. The slowness is due to the network trying to maintain a singular consensus, which is predicated on the EVM.
However, this does not mean that virtual machines are necessarily slow when utilised on distributed networks. On Ethereum, the number of inputs on the network outpaces the ability of its computer nodes to check them – the contributory factor is not the processing of the machine, but rather its combination with the nodes. Moreover, it is because Ethereum currently runs on proof-of-work and all the input-checking work happens on only a few people’s computers, which are the miners.
More Machines in the Works
Ethereum may be the first blockchain to have a Virtual Machine, but there are a host of other blockchains that deal in smart contracts and have seen it necessary to have a machine to process them. The likes of NEO, Stratis, EOS, Waves, Lisk and, quite recently, Tron have all found it necessary to utilise virtual machines for their progress. Many of these networks aim to be a platform for dApps to run off and thus use their virtual machines to power the dApps.
“There are a host of other blockchains that deal in smart contracts and have seen it necessary to have a machine to process them. The likes of NEO, Stratis, EOS, Waves, Lisk and, quite recently, Tron have all found it necessary to utilise virtual machines for their progress”
For the likes of Tron, its own virtual machine is being used to help expand its ecosystem. It also aims to make it easier for developers to create smart contracts that run on the Tron Virtual Machine, using friendly programming languages modelled on existing languages with which they are familiar without having to learn a new one.
In reality, the virtual machines open up blockchain capabilities exponentially. Ethereum was always intended to be the ‘World Computer’, but not because of its decentralised network – that aim was predicated instead on its virtual machine and the capabilities it offers to the blockchain.
Bitcoin and Ethereum can hardly be seen as competition for one another. Though they are the two biggest names in the blockchain space, they were created with very different goals in mind. Put simply, Bitcoin is a currency and a store of value, while Ethereum is a ledger technology on top of which people can build new programs with a wide variety of functionality.
With this distinction may come greater acceptance. For all that Bitcoin was and is a game-changing, hugely impressive technology, it has unfortunate image connections with the shadier side of cryptocurrencies development. Networks like Silk Road were early adopters, while its limitations may condemn it to forever being associated with clandestine trading. Ethereum has more to it. The products built on Ethereum’s blockchain will have far-reaching impacts and will differentiate blockchain technology from cryptocurrency as the industry progresses.
Illustrations by Kseniya Forbender
To contact the editor responsible for this story:
Margarita Khartanovich at [email protected]
- Ethereum 2.0 and The Back and Forth Decision on Progressive Proof of Work - What’s The Matter?
- What’s Up With... Those Self-Driving Cars? Any Time Soon?
- LiFi and IoT: Could the Future of the Internet be in Streetlights?
- How Enterprises Like Facebook and Google Should Use The Data
- Useful Applications and 5G Will Help Take VR Out Of Basements, Labs and Exhibition Experiences