You can find my original post for the bitprime blog here.
The Ethereum Network
Back in 2013, Vitalik Buterin, a Bitcoin programmer and publisher of the Bitcoin magazine, published the Ethereum whitepaper. Ethereum aimed to apply Blockchain technology beyond payments.
Ethereum is a general-purpose blockchain. Like many other Blockchains, it’s open-source, public and has its own currency: Ether or ETH.
A general-purpose blockchain means there is a decentralised platform providing a programming language that developers can use to create Smart Contracts. Smart Contractsrun in each node of the network, making it possible to develop decentralised applications called DApps. These DApps inherit the remarkable features of blockchain technology, meaning they are tamper-proof, transparent, trustworthy and secure.
Ethereum Programming Language
Vyper is another programming language created by the Ethereum team, and it runs on the Ethereum Virtual Machine (“EVM”). It was designed to simplify the process of writing Smart Contracts and, at the same time, making it simpler to read. One of the critical differences with Solidity is that Vyper doesn’t include some of the object-oriented capabilities, making Vyper more secure as there is less room for developers to make mistakes and introduce bugs.
Gas & ETH Price
Gas is a unit of measure of how much it costs to execute a transaction on the Ethereum network. Every time a smart contract runs a transaction, it consumes Gas. This gas needs to be fed into the smart contract at the moment the transaction is run. The way to pay the Gas is with ETH.
Issues and Challenges Facing Ethereum
The main problem Ethereum is facing is scalability. The network is supposed to be the “world computer”, but at the moment it can only handle around 15 transactions per second, while private companies like Visa can handle up to 45,000 transactions per second. This is an issue that needs to be solved if Ethereum wants massive adoption. This will allow for better projects to be built on top of Ethereum. To show why this issue is critical, we can look at the example of the CryptoKitties project. Back in 2017, this project gained so much popularity that the transactions executed on the Smart Contract congested the network. Therefore there was a considerable delay in processing transactions.
Security has been a significant headache for Ethereum. Mainly because on some projects, there were poor development practices that allowed for hacks and loss of funds. Ethereum needs to provide developers with tools for better security in Smart Contracts, without compromising the capabilities of Solidity.
The ETH price and Gas cost makes the process of running transactions fragile and in some cases, not worth it. Especially for Ethereum validators who currently have to spend a lot of electricity running the nodes with the Proof of Work consensus algorithm, when they don’t get much in return.
The lack of general knowledge from the wider public and the user experience of DApps are other concerns that need to be addressed in the future as this is key to reach the massive adoption of the DApps.
Current status of Ethereum
Ethereum ecosystem has been growing steadily for the last few years, although it still has a lot of issues. ETH, the Ethereum currency, is the second-biggest cryptocurrency in market capitalisation. Solidity is the most popular open blockchain programming language and has the most prominent developer community (which is an indicator of the health of the project). The more developers a platform has, the more useful and valuable projects can be developed on top of it. Through the years, we have seen a lot of good, average and scammy projects built on Ethereum.
In 2017, we saw a significant increase in the number of projects, mainly due to the “ICO fever” and bullish markets. The reality is that only a few projects survived, and less will in the following years. The general public is not adopting DApps yet, mainly because of the platform’s lack of maturity and the lack of understanding of the technology in general. Nevertheless, in the last year, there have been quite a few projects related to Gaming, Gambling, and Finance that has grown a lot and obtained a good user base.
Ethereum Development phases
Ethereum development was planned over four different stages. Each stage was meant to introduce more features and fix problems. Each step also includes “sub releases”, known as “hard forks”, that change functionality in a way that is not backward compatible.
This is the original timeline for the Ethereum development stages and the intermediate hard forks:
Block #0 — Frontier
This was the initial development stage of Ethereum, from July 30, 2015, to March 2016.
Block #200,000 — Ice Age
Ice Age was a “hard fork” to introduce an exponential difficulty increase, to motivate a transition from Proof of Work consensus to Proof of Stake when ready.
Block #1,150,000 — Homestead
The second state of Ethereum launched in March 2016.
Block #1,192,000 — DAO
The infamous DAO case. This was a hard fork that reimbursed victims of the DAO hack and caused Ethereum and Ethereum Classic to split into two opposing systems.
Block #2,463,00 — Tangerine Whistle
Another hard fork to change the gas calculation for certain I/O heavy operations and to clear the accumulated state after a denial-of-service (DoS) attack that exploited the low gas cost of those operations.
Block #2,675,000 — Spurious Dragon
A hard fork addressing more DoS attack vectors and another state clearing. Also, a replay attack protection mechanism.
Block #4,370,000 — Metropolis Byzantium
This is the third stage of Ethereum development, launched in October 2017. Byzantium was the first of two hard forks for Metropolis.
Block #7,280,000 — Constantinople
This is the second hard fork from the Metropolis stage, completed in February 2019. This hard fork also included other changes that fix security issues codenamed Petersburg.
Block #9,056,000 — Istanbul
This is another hard fork that is planned to be activated by December 4, 2019, and will include more security fixes and incentives to move away from Proof of Work to Proof of Stake algorithm.
Serenity — Ethereum 2.0
Serenity is the last stage of Ethereum development. It will introduce Ethereum 2.0, the new Ethereum blockchain that will finally have Proof of Stake integrated, a new Ethereum Virtual Machine, and much more. There has been a lot of discussion and rumors around when Serenity is going to be launched. This massive phase that will break into different sub-stages:
Serenity Road Map
- Phase 0: Beacon Chain (Q1/2020)
- Phase 1: Shard Chains (2021)
- Phase 2: eWASM (New Ethereum Virtual Machine) (2021)
- Phase 3: Continued Improvement (2022)
Ethereum 2.0 is the term that describes all the updates from Serenity, which will make Ethereum more scalable, faster and a better blockchain. As stated by Ethereum researcher Danny Ryan the primary design goals of Ethereum 2.0 are:
- Resilience: The network should still be live even when lots of nodes go offline.
- Security: Utilize crypto and design techniques that allow for the massive participation of validators in total and per unit time.
- Simplicity: Minimise complexity, even at the cost of some efficiency.
- Longevity: Make components either quantum secure or easily swappable for quantum secure counterparts when available. This will mean preparing the network for a future where Quantum computing is fully accessible.
- Decentralisation: to allow for typical consumer laptops with O(C) resources to process O(1) shards (including any system-level validation such as the beacon chain). This will allow for more low-end devices to participate in the network as validators.
To understand how all of this be achieved, let’s see each Serenity phase in detail:
Phase 0: Beacon Chain
The Beacon Chain will be a separate blockchain from the main Ethereum blockchain. This new chain will have a Proof of Stake (PoS) consensus algorithm, and it will run in parallel to the main PoW Ethereum blockchain. Initially, the blockchain will be created for simplicity and will not support smart contracts or accounts.
At the time of writing, Ethereum is using a “Proof of Work” (PoW) consensus algorithm, very similar to what Bitcoin uses. The name of this algorithm in Ethereum is called Ethash. On the beacon chain, we will see the new PoS algorithm called Casper. The introduction of Casper to replacement Ethash has been postponed several times over the past years, necessitating interventions to defuse the difficulty bomb and delay its forced obsolescence of PoW. Now we are finally there with the Beacon chain.
A short explanation of PoS:
On a PoS consensus, the blockchain keeps track of a set of validators, and anyone who holds the blockchain’s base cryptocurrency (in this case Ether) can become a validator by sending a particular type of transaction that locks up their ether into a deposit. The validators take turns, proposing and voting on the next valid block. The weight of a validator’s vote depends on the size of their deposit (stake). A validator risks losing their deposit if the majority of validators rejects the block they staked it on. Conversely, validators earn a small reward, proportional to their deposited stake, for every block that is accepted by the majority. Therefore, PoS forces validators to act honestly and follow the consensus rules by a system of reward and punishment.
ETH2: The new Ether
Another feature of Phase 1 is the introduction of ETH2. A new asset for validators on the new Beacon chain. This new ETH2 will be created as a reward for validating transactions on the Beacon Chain, and also can be purchased by any ETH1. Initially, there won’t be a way to withdraw ETH2 from the beacon chain. If anyone wants to be a validator for the new chain, they will need at least 32 ETH to stake on the original chain.
Phase 1: Shard Chains
Sharding is a scalability technique that allows parallel transactions throughout. This is intended to help transactions scale by dividing the network across multiple shards, allowing the network to process many transactions concurrently.
As stated by Vitalik Buterin on sharding:
“Imagine that Ethereum has been split into thousands of islands. Each island can do its own thing. Each of the islands has its own unique features and everyone belonging on that island, i.e., the accounts, can interact with each other and they can freely indulge in all its features. If they want to contact with other islands, they will have to use some sort of protocol”.
Sharding will be introduced on the Beacon chain, and it will have initially 100 shards. Validators will validate transactions from their own shard, and in the first phase, they won’t approve any smart contract, account or asset.
While sharding will bring more scalability, there are a few setbacks to take into account. Validators have a small pool of transactions to validate, which makes it easier for a 51% attack, as they only need 51% computing power (or stake) of the shard they are in, instead of the whole network.
This technique can also lead to higher centralisation, as each shard can be validated with a small group of validators.
It will be fascinating to see how this stage is implemented, as it still needs thorough testing to ensure all validators are randomly selected to avoid centralisation and any risk attack.
Phase 2: eWASM (New Ethereum Virtual Machine)
What is the EVM
Ethereum is a decentralised network that acts as a “supercomputer”. All nodes on the system need to run the smart contracts that execute transactions ending up on the Blockchain. The Ethereum Virtual Machine (EVM) allows those smart contracts to execute.
The EVM is the heart of the Ethereum network; it’s the part that handles smart contract deployment and execution. It can be thought of as a global decentralised computer containing millions of executable objects, each with its own permanent data store.
On a more technical note, it’s a stack-based virtual machine that executes bytecode (machine-language instructions). The smart contracts are written in “high-level” languages like Solidity and compiled to bytecode for execution on the EVM.
The problem with the current EVM
One of the main issues with the current EVM is that it processes transactions sequentially. With the PoS and Sharding changes, there’s a need to process transactions in parallel, and the current EVM won’t be suitable for this.
The new EVM
The new EVM called eWASM stands for Ethereum WebAssembly. WebAssembly is an open standard defining a portable binary code format for executable programs. This new architecture for the EVM will allow for much better performance and will make it possible to support smart contracts, accounts, states and much more on the new blockchain. The current status of the eWASM development is at the very early stages, as it is planned to be released in 2021. There’s still a lot of research to do around this phase.
Phase 3: Continued Improvement
Continued Improvement is the code name to encompass all the future changes, fixes and improvements of the previous stages, and whatever comes along. Unfortunately, there’s not much information around this Phase, as it was initially planned to start in 2022. What we do know is that the following technologies will be implemented:
- Cross-shard transactions
- Lightweight clients
- Super-square charting
- Closer ties
What will Ethereum 2.0 mean for Crypto
One of the most important things to understand about Ethereum 2.0 is that it’s not a change that will happen overnight. The initial launch is planned in 4 stages, but no one is saying development ends there, or that there won’t be delays and changes along the way. As with every software, there’s no final version; there’s always improvements and fixes that need to be done.
Ethereum is one of the most significant projects in the crypto space and one on which a lot of other projects depend. It has excellent support from the development community as well as enterprises. There are a lot of parties heavily invested in the future of Ethereum, and the pressure to succeed is high. If the team manages to pull this off, we will have a fully scalable general-purpose blockchain, which will be closer to the initial Ethereum pitch: “The world’s supercomputer”. And will also show the world that the “Blockchain dream” is possible. This will attract even more developers and investors to keep creating amazing projects on top of general-purpose blockchains.
Keeping an eye on Ethereum 2.0 development in the following years is key to understanding how current projects on the Ethereum 1.0 blockchain will migrate to the new chain and what will happen with the crypto space. Only time will tell how and when all of these events will unfold.