An Introduction to Ethereum, “The World Computer”
Ethereum is an open-source, public blockchain network similar to Bitcoin. However, the network introduces a few key technologies, most notably the introduction of smart contracts and a turing-complete virtual machine.
In combination, Ethereum becomes a powerful platform for building financial contracts and other applications in a decentralized and permissionless fashion.
The platform is designed to be simplistic, universal and modular, enabling individuals from all over the world to communicate with one another via a native coding language called Solidity.
What is a blockchain?
A blockchain is a cryptographic ledger of data which stores information such as transactions and timestamps in a canonical order. In order for new information to be added to the ledger, it must be verified by validators and agreed upon by an underlying consensus mechanism. In this way, all previous data is marked as truthful before any new data can be added to the existing chain.
How Did It All Start?
Ethereum was first proposed by Vitalik Buterin in late 2013. There have been a number of initial contributors, with many sources citing Buterin, Anthony Di Lorio, Charles Hoskinson, Mihai Alisie, & Amir Chetrit as the “initial 5”. Soon thereafter, Joseph Lubin, Gavin Wood, & Jeffrey Wilke were added as founders in early 2014.
The Ethereum Foundation hosted one of the very first Initial Coin Offerings (ICOs) in which reports have suggested that around $18.3M worth of ETH was sold in exchange for 31,000 BTC from July to August of 2014. In the official whitepaper, it was stated that Ether was to be sold at a price of between 1000-2000 ETH per BTC. At the time, 60M of the 72M ether was sold to investors as part of the pre-mine when the network went live. Sources have claimed that the original conversion rate was set as low as $0.10/ETH.
The money raised in the ICO was largely used to fund Ethereum development. Ethereum first went live a year later in July of 2015.
While Bitcoin proved the first use-case for cryptographic currencies, Ethereum aimed at expanding on the functions a decentralized public blockchain could accomplish. In particular, the Ethereum whitepaper notes that Bitcoin lacks:
- Turing-completeness– The inability to incorporate looping (among other features)
- Value-Identification– The inability to incorporate oracles
- State – The lack of multi-stage contracts or scripts which keep information beyond simply “spent” or “unspent”
- Time-Awareness – The inability to include nonce, timestamps and previous block hashes
Ethereum solved these problems through the introduction of the Ethereum Virtual Machine (EVM), a sandboxed virtual stack responsible for executing contract bytecode. Contracts are typically written in higher level languages, like Solidity, then compiled to EVM bytecode. The integration of the EVM allows for smart contract logic to be compiled along with the inclusion of a nonce, timestamps and previous block hashes.
Where Are We Today?
While Ethereum has provided a foundation for a much richer ecosystem – such as decentralized applications (dApps), programmable fungible/non-fungible tokens (ERC20 & ERC721) and human-readable addresses (Ethereum Name Service) – it’s currently suffering from a lack of scalable transaction throughput.
Stated more plainly, Ethereum has experienced significant congestion during times of high usage due to its current throughput limit of roughly 20 transactions per second.
Given that real-world adoption will likely require millions of transactions per hour rather than per day, Ethereum will have to eventually scale in order to fully reach its potential. As such, Ethereum will soon upgrade to ETH 2.0 (aka Serenity) to allow for a much higher throughput thanks to the introduction of sharding and Proof of Stake (described below).
The Importance of Decentralization
One of the most important characteristics of Ethereum is its decentralization. In order for it to remain permissionless and censorship-resistant, it requires thousands of nodes to individually maintain an updated record of the ledger.
As of November 2019, there is around ~7,200 Ethereum nodes online compared to Bitcoin’s 9,500 nodes. While Bitcoin has a slightly higher number of nodes, Ethereum still maintains a high-degree of decentralization compared to the rest of the market.
As Ethereum matures, it is absolutely vital that it continues to decentralize. No single individual or entity should ever have control over the network or a direct influence over the direction of the network. By doing so, Ethereum improves the security and immutability of the network at large.
As more nodes join the network, it becomes harder to attack the network as it becomes marginally more difficult for a single entity to take control over the majority of the active nodes.
Taking this a step further, as Ethereum decentralizes, it becomes battle-hardened to the controls of sovereign states and large institutions while retaining its inclusiveness and global accessibility.
With all of that in mind, one of the core value propositions for Ethereum is the ability to build a globally inclusive financial system where access to financial products is universal. Ethereum’s decentralization adds to this by creating a truly permissionless system, meaning anyone with an internet connection from anywhere in the world can access the applications built on the platform without routing through a third party.
|ETH VALIDATING||MAX ANNUAL ISSUANCE||MAX ANNUAL NETWORK ISSUANCE (%)||MAX ANNUAL RETURN RATE (FOR VALIDATORS)|
Public blockchains like Ethereum rely on a number of operations and stakeholders to function. While the list of possibilities could go on for quite a while, let’s take a look at the bigger roles at play:
In order for data to be transferred, it must be registered to unique accounts. Every Ethereum account contains four fields:
- Nonce – a counter (#81, #85) used to track the order in which transactions can be processed (i.e. transaction #85 cannot be sent before transaction #81 is processed).
- Balance– The amount of Ether in any given account
- Contract code – logic if the account is a “contract” instead of “externally owned”
- Storage – Metadata or information about the account (i.e. an ENS name)
In general, there are externally owned accounts – controlled by private keys – and contract accounts – controlled by contract code.
An externally owned account has no code, meaning that two externally owned accounts can transfer data by signing transactions. With contract accounts, code is executed whenever data is received, allowing it to read or write to internal storage, send messages or create new contract accounts. Contract accounts are autonomous, meaning they execute specific code when prompted and have direct control over balances and variables.
When it comes to using Ethereum accounts, data is exchanged between two (or more) accounts in the form of a state transition. These can take the form of peer to peer transfers (i.e. sending 1 ETH from wallet A to wallet B), contract interactions (i.e. sending 1 ETH from wallet A to a contract account) or signatures (i.e. signing a message and attaching a value to prove ownership). While these exchanges all vary, they all require validation to be executed. (more on how transactions work below).
Validation is the process of confirming that a transaction is both truthful and authorized. Validation on Ethereum is currently performed by “miners” in a process known as mining – individuals providing computational resources to verify block order and state transitions. Validation occurs using Ethereum’s Proof of Work consensus algorithm, in which validators provide “work” – the computation power to solve algorithms – in exchange for block rewards (in the form of ETH).
Ethereum Proof of Work shares similarities to that of Bitcoin, however one key difference is in Ethereum’s “uncles”. On Bitcoin, blocks that are valid but not added to the main chain due to two miners producing them at similar times are called orphans. With Ethereum, orphan blocks are referred to as “uncles”. The key difference is that Ethereum rewards miners for including uncles, as to encourage smaller mining participation.
Miners are rewarded for including uncles in order to neutralize the effect of network lag on the distribution of mining rewards. This helps decrease centralization incentives where only large mining pools with high computing power end up claiming the majority of the rewards, effectively leaving little to no rewards for solo miners.
Uncle rewards increase the security of the network by supplementing the work on the main blockchain with the work done in mining uncle blocks. Generally speaking, faster block times (~15 seconds on Ethereum compared to Bitcoin’s ~10 minutes) means there is a higher chance of multiple valid blocks being produced at the same time. With uncles, Ethereum is able to reward those who offer valid blocks with less work.
This factor is an extremely important element of Ethereum’s security. How “secure” Ethereum is at any given time is directly correlated to the amount of computational power being expended on validation. In order for anyone to ever try and breach the protocol, they would have to expand more than 50% of the entirety of computational power on the network, a feat that would require billions of dollars in energy cost.
More so, Ethereum’s Proof of Work is largely distributed, meaning that miners are scattered all around the globe. With this in mind, it becomes virtually impossible to “shut down” the network as there is likely always a plethora of miners actively providing work at any given time across a variety of geographic regions.
Upon the switch to Ethereum 2.0, the network will leverage a Proof of Stake consensus in which validators provide “stake” (capital) in the form of ETH to verify transactions and reach consensus. Similar to Proof of Work, Proof of Stake validators earn block rewards in the form of ETH. However, malicious or inactive validators may be “slashed”, meaning that their stake can be confiscated if they do not perform their job. In this sense, validators are always encouraged to act truthfully or else they will lose their skin in the game (more on this below).
Archive nodes are programs operated on local machines that keep track of the most recent state while storing the entire history of a blockchain on any given device. While this role is mainly altruistic, it provides the ability for operators to view (and possibly leverage) the full ledger of information on the Ethereum blockchain. Up to date archive nodes contain every Ethereum transaction from inception until present as well as historical states.
Archive nodes require specialist equipment to maintain the many terabytes of data from the Ethereum blockchain. They are typically used for block explorers like Etherscan.io and other applications requiring historical state.
Full nodes are the same as archive nodes however they do not store historical state. Despite the lack of this data, full nodes still provide the same security guarantees as an archive node. For this reason, full nodes are far more accessible to the general public and allow for better distribution (and security) of the Ethereum blockchain.
First introduced by Nick Szabo, smart contracts are sophisticated digital contracts that expand upon the capabilities of legacy paper-based contracts.
“The basic idea of smart contracts is that many kinds of contractual clauses (such as liens, bonding, delineation of property rights, etc.) can be embedded in the hardware and software we deal with.”
They follow an if-this-then-that logic, ensuring that the final outcome isn’t executed until every condition outlined by that contract is satisfied. In the event that all the conditions are met, smart contracts call predefined functions to perform the intended actions. They are capable of facilitating a trustless and automated exchange of money, property and anything else of value while eliminating the need for costly and inefficient middlemen.
As it relates to Ethereum, smart contracts can be deployed by anyone. While it is recommended for smart contracts to be audited – or checked for bugs and flaws – anyone can freely deploy a smart contract so long as the code is written properly. We have seen smart contracts used for a wide number of use-cases, most commonly:
- ERC20 tokens: Fungible tokens on Ethereum with unique names, supplies, functions and use-cases
- ERC721 tokens: Non-fungible tokens each containing unique characteristics. They can be used to represent items such as in-game cosmetics or tickets to events
- Decentralized Finance (DeFi) dApps: Products such as Uniswap and MakerDAO that leverage smart contracts to store and exchange value without the need for human-interaction.
What makes smart contracts unique is the varying degree of complexity any given script can contain. A smart contract like Uniswap is rather simple – it provides parameters for the creation of different token liquidity pools along with an algorithm to match and swap any two available assets.
On the flip side we have a more complex series of smart contracts like MakerDAO, in which deposited collateral is held in escrow. This action triggers a function to mint (or create) new DAI – a decentralized stablecoin. The collateralization ratio is always monitored as to ensure that all DAI loans are sufficiently backed. These ratios leverage smart contracts to accrue Stability Fees and a Savings Rate – both of which can reference a loan to track debt and interest owed to any given address.
Calling a smart contract incurs a fee, that of which can be paid by either the user or the contract itself. Smart contracts also require authorization, meaning that a user must sign a transaction saying that they wish to interact with the contract.
How Does Ethereum Staking Work?
What is Proof-of-Stake?
Similar to how Proof-of-Work leverages global computing power to secure the network, Proof-of-Stake aims to secure the network by leveraging global capital.
In Ethereum 2.0, users (known as validators) will lock up capital (in the form of ETH) to secure the network and validate transactions in return for earning block rewards and transaction fees.
The transition to Proof-of-Stake (PoS) is ultimately necessary for the long-term success of Ethereum. The new consensus algorithm not only contributes to scalability and increased transaction throughput but it also mitigates the environmental costs that Bitcoin and Proof-of-Work have received so much criticism for.
Generally speaking, PoS is largely considered an improvement over Proof of Work (PoW), as it is believed to reduce centralization risks and mitigate security risks against different types of attacks.
As we’ll discuss below, PoS in Ethereum 2.0 also boosts the value proposition for Ether as the transition evolves the asset into an income-generating asset.
The Beacon Chain
The beacon chain is a new Ethereum blockchain leveraging Proof-of-Stake consensus as well as other key design features that enable sharding. In essence, you can view the Beacon Chain as the foundation for Ethereum 2.0 as all future upgrades will occur on this chain when Serenity is rolled out over the course of a few years.
More on the full Ethereum roadmap is outlined in a later section.
In 2020, we’ll likely see the beacon chain come into fruition as the first phase of Ethereum 2.0 kicks-off on main-net with the migration contract. As of December 2019, multiple client teams are testing their implementations as well as beginning to interoperate clients to create a cohesive network.
If you’re interested in seeing any activity with the Beacon Chain, you can view the explorer connected to the Prysm Testnet via Etherscan.
There are three different types of participants that can exist when running Ethereum 2.0 software.
- Beacon node only
- Beacon node + validator client (small scale)
- Beacon node + multiple validator clients (large scale)
The beacon node essentially acts as the hub for a validators while the validator client talks to its associated beacon node and signs blocks. In other words, the beacon node + validator client setup will be necessary for anyone looking to earn rewards. With that, a user can have multiple validator clients with 32 ETH each.
Minimum requirements for becoming an ETH 2.0 validator include:
- Minimum of 32 ETH
- Computer with sufficient hardware specs (exact specs TBD)
- An internet connection
It is important to note that while validators will be required to stake 32 ETH, staking pools will emerge to help democratize the inclusiveness of participating in the network. This means that users with less than 32 ETH will be able to stake and earn a return on their holdings.
ETH 2.0 Clients
Multiple client implementations are often overlooked as an essential part of a blockchain’s decentralization goals. With this in mind, ETH 2.0 will have at least 7 clients written in a number of different programming languages.
Every transaction requires a small amount of Ether (ETH) to be processed. This transaction fee is commonly referred to as “gas”. Gas is consumed to reward validators for processing transactions. The concept of gas (more specifically, the gas limit) is extremely novel as it provides a way to account for infinite looping. In short, when a transaction’s gas is used up, code stops executing. There are three key elements of gas:
Gas Cost – The amount of gas units required to run a specific operation on the Ethereum blockchain. Gas costs are predefined, with the common rule that each operation incurs one unit of gas. Coupled with the notion that additional operations incur additional gas, this means that the gas cost will vary relative to the number of operations being performed.
Gas Price – This is the price of one unit of gas. This amount can be adjusted by the spender. Gas price is measured in “Gwei.” One Gwei is equal to 1 billion Wei, with Wei being the smallest unit of Ether. The average gas price at any given time can be found at ethgasstation.info. To provide a quick estimate, transactions usually cost roughly 0.0001ETH or a few cents in USD value.
Gas Limit – This is the maximum gas one would be willing to spend on one transaction. A higher limit implies a spender would feel comfortable with a higher gas price in the event that the network is congested or that more operations are required beyond what is being attached to the transaction. Gas limits exist to protect users and miners both from losing funds (for users) and energy (for miners) from faulty codes or malicious attacks.
When it comes to an Ethereum transaction, you can think of it as the transfer of data from one account to another. This transfer of data is referred to as a “state transition” and can be pictured as follows:
As you can see in the diagram, all Ethereum state transitions contain the following:
- The recipient address (From: 14c5f88a)
- The sender’s signature (Sig: 30452fdedb3d…)
- The transaction amount (Value: 10)
- An optional data field (Data: 2, CHARLIE)
Not pictured are two other components necessary for state transitions:
- The gas price – price for one unit of gas
- The “start gas” value – controlling how many computational steps the transaction is allowed to execute
Let’s take a look at how state transitions work:
- Check to make sure the transaction is properly formatted, that the signature is valid, and that the nonce (or transaction number) matches the applicable nonce in the sender’s account. If any of these conditions are not met, return an error.
- Calculate the transaction fee as STARTGAS * GASPRICE, and determine the sending address using the signature. Subtract fees from the sender’s account balance and increment (or add +1) to the sender’s nonce. If there is not enough balance to cover the fees, return an error.
- Initialize GAS = STARTGAS, and take off a certain quantity of gas per byte to pay for the bytes (or data) in the transaction.
- Transfer the transaction value (i.e. ETH or any ERC token) from the sender’s account to the receiving account. If the receiving account does not yet exist, a new one is created. If the receiving account is a contract account, run the contract’s code either to completion or until the execution runs out of gas.
- If the value transfer failed because the sender did not have enough money, or the code execution ran out of gas (due to there not being a high enough gas limit), revert all state changes except the payment of the fees, and add the fees to the miner’s account.
- Otherwise, refund the fees for all remaining gas to the sender, and send the fees paid for gas consumed to the miner.
- If the parameters are met and there is a sufficient amount of ETH to cover the transaction value and fees, process the state transition.
The Ethereum network makes a distinction between writing data to the network and reading data from it, and this distinction plays a significant part in how you interact with different accounts. In general, writing data is called a transaction whereas reading data is called a call. Transactions and calls are treated very differently and have the following characteristics.
Transactions require gas because they change the state of the network. They aren’t processed immediately and don’t expose a return value (only a transaction id).
On the other hand, calls are free, meaning they don’t require gas. This is because they do not change the state of the network. As such, they are processed immediately and expose a return value.
Seeing as contracts are unique accounts, it’s entirely possible to interact with both externally owned accounts and contract accounts. Similarly, contract accounts can interact with one another, meaning that they can be designed to send funds from one contract account to another upon the completion of certain parameters.
Ether as an Investment
Like all assets, Ether derives its price from supply and demand on the market. Here is a brief dive into some of the fundamental drivers behind Ethereum’s market dynamics.
On the demand side, miner issuance creates consistent selling pressure as miners tend to cover their monthly costs in fiat terms. As a result, Ethereum miners tend to frequently sell Ether to cover energy and hardware costs plus any potential profits. While miner issuance is one of the major driving factors behind sell-side pressure, there are also other market events that have played into supply-side dynamics in the past.
In 2017, millions of Ether was used to crowdfund token projects throughout the ICO boom. Premature projects raised millions of capital and founders were cashing out on their winnings. These projects also incurred business expenses to build out the platform (even though many never built out the product), like hiring a development team and launching marketing campaigns, all of which cost the all-mighty dollar. Ultimately, the ICO boom created a massive wave of sell-pressure over the past two years as projects cashed out millions in Ether to keep their token projects alive.
On the other hand, multiple aspects create buying pressure for Ether. The most obvious driver is the need to pay transaction fees to transfer value or fuel smart contracts and other decentralized applications. As the amount of value transferred increases in tandem with the amount of applications running on Ethereum, there creates natural buying pressure on the asset.
While the aftershock of the ICO boom created a wave of selling pressure over the past two years, the massive run up in 2017 was largely due to the front-end of this boom. Global investors were pouring into ETH as it was the most widely accepted asset for participating in these highly profitable token sales. While the ICO hype has largely subdued since 2017/18, it does point to the potential for how specific narratives can create parabolic demand in the market, as was also seen with Bitcoin’s “digital gold”.
In 2019, we saw the proliferation of decentralized finance (DeFi). In short, DeFi leverages Ethereum to create permissionless, global financial products that are accessible for anyone with a smartphone and an internet connection. These applications tend to rely on ETH as the backbone for not only fueling the smart contracts but also as trustless collateral for a new suite of financial products. As a result, DeFi has amassed millions of Ether locked away from the circulating supply in order to power these applications.
As the DeFi narratives continues to grow, the demand-side for ETH will rise in tandem as global users begin to capitalize on the benefits of these applications. Ultimately, the proliferation of DeFi could very well be the next iteration on the Ethereum narrative, sparking a new wave of financial and technological innovation.
While Bitcoin has a fixed supply and programmatic issuance schedule, Ethereum has adopted a much a fluid monetary policy with a goal to create the minimal necessary issuance to successfully secure the network.
Since the genesis block, Ethereum has only seen reductions in issuance rates throughout its history.
One of the interesting things to note about Ethereum’s monetary policy is the lack of a supply cap. The reasons behind this coincides with its desire to secure the network through inflationary subsidies. However, with the introduction of Ethereum 2.0 and several upgrades, the likelihood that Ethereum ever surpasses 120 million ETH in circulation is minimal.
With Ethereum 2.0, the network introduces two new concepts that will affect issuance rates.
Proof of Stake
According to the current Ethereum 2.0 spec, issuance rates are greatly reduced through PoS to less than <1%. This is possible due to the low-cost nature of Proof-of-Stake relative to Proof-of-Work. In turn, Proof of Stake will allow issuance rates and validator returns to be programmatically determined based on the amount of Ether staked.
Below is a table of issuance rates based on the amount of ETH staked in the network. Further details can be found in this ETH 2.0 Economics spreadsheet created by Collin Myers with contributions from Vitalik Buterin.
The introduction of EIP 1559 accomplishes two things:
- Establishes “the market rate” for block inclusion
- Burns the majority of the ETH in the transaction fee.
The implementation of EIP 1559 opens up the possibility for a deflationary mechanism to Ether’s issuance policy while simultaneously benefiting all holders equally due to the universal scarcity generated by burning ETH. In addition, it is considered that this proposal mitigates economic inefficiencies associated with the current “auction-style” system of gas fees. EIP 1559 will make gas fees clearer and easier to predict for users and miners alike.
The Future of Ethereum
Ethereum is the digital foundation for building an open and trustless financial system. This new economy requires a trustless asset to power it. As noted by David Hoffman in this post, Ether is on its way to becoming a new model for money that the world has never seen before, described as a “triple-point” asset.
As proposed by Robert Greer in his 1997 paper “What is an Asset Class, Anyway?”, there are three main asset types in existence today.
- Capital Assets: These assets are productive and tend to generate cash flow. E.g. equities, bonds, rentable real estate
- Transformable/Consumable Assets: These assets are able to be consumed or transformed into other assets. The consumption of this asset produces economic yields. E.g. oil, commodities
- Store of Value Assets: SoV assets persist in value over time due to their scarcity and inability to be consumed. E.g. gold, currencies, real estate, Bitcoin
Some of these assets have attributes that allow them to fall into two categories; however, no asset in existence today holds the properties of all three. Except for Ether. Assuming the successful launch of Ethereum 2.0, Ether takes on attributes of all three asset classes packed into one permissionless, global asset.
- Staked ETH = Capital Asset
- Stablecoins borne from ETH (e.g. DAI) = Consumable/Transformable Asset
- ETH Locked in DeFi = Store of Value Asset
Ultimately, there’s endless potential for the world’s first “triple-point” asset as it becomes as the primary reserve asset for a globally inclusive and trustless financial system.
With all of these concepts in mind, Ethereum and crypto assets at large are a highly volatile asset class. This is largely due to the notion that it is a new, emerging technology suffering from information asymmetry and relatively low liquidity. On top of this, the industry has yet to establish common practice when it comes to valuing crypto assets. In comparison, equity markets have a robust set a valuation models (i.e. DCF models, comparable company analysis, and precedent transactions analysis) along with a more widely-understood market.
It is believed that as the crypto asset space matures, the associated volatility will decrease over time to match the movement of the public equities and other traditional markets.
The Ethereum Roadmap
Since the genesis block, Ethereum’s history has been consistent with protocol upgrades and improvements to deliver a fully scalable, decentralized blockchain network.
Olympic (May 9th, 2015)
Prior to the full public launch of Ethereum in July 2015, Olympic acted as the ninth and final proof of concept open testnet. The testnet allowed for developers to explore what Ethereum would look like upon launch. To get developers involved, there was a 25,000 ETH bounty for developers who stress-tested the network to provide greater insight on how the network would handle high usage.
Frontier (July 30th, 2015)
After months of stress-testing, Ethereum finally launched the official public mainnet on July 30th 2015. Frontier was Ethereum in its most basic form and the community was warned to proceed with caution given the nascency of the network. The Frontier protocol contained a series of crucial characteristics:
Block rewards: Block rewards incentivized miners by rewarding an initial 5 ETH per block for when they successfully mined a block onto the chain.
Gas: For the first few days, the gas limit was hardcoded to 5,000 gas per block to limit any transaction or smart contract activity on the network. This allowed miners and early adopters to set up and begin operations or install clients.
Canary contracts: This addition was a precaution to give Ethereum devs the ability to stop an operation on the network should something go wrong. Canary contracts were heavily centralized but ultimately necessary for the protection of Ethereum during its early stages.
Usability: Developer actions were executed with command lines as there lacked a Graphical User Interface (GUI) for the network. However, the network was usable but its capabilities were largely limited to people with specialized knowledge.
Homestead (March 14th, 2016)
The Homestead upgrade included three major improvements to Ethereum. First and foremost, it removed the canary contract functionality to progress towards more decentralized smart contracts. Second, it introduced new code to Solidity. The last major improvement packaged into the Homestead upgrade was the introduction of the Mist wallet, which allowed for users to hold/transact ETH and to deploy smart contracts.
Byzantium (October 16th, 2017)
The next major milestone for Ethereum was Metropolis, a two phase upgrade for the network. The two major phases included were Byzantium and Constinople. The Byzantium upgrade went live in 2017 and added nine EIPs in total. Notable EIPs include:
EIP 100: In summary, this EIP adjusted a new formula for block difficult to provide more stability to the issuance rate and ensuring it could not be forced higher by manipulating uncle blocks.
EIP 649: This EIP delayed the difficulty bomb by 1 year as well as the reduction of block rewards from 5 ETH to 3 ETH. The difficulty bomb was originally implemented to support the transition to Proof of Stake by making hardware mining on Ethereum essentially impossible. Ultimately, the goal was to mitigate any chances for a contentious hard fork in the network as it transitions to its new consensus algorithm.
Constinople (February 28th, 2019)
The second phase of the Metropolis upgrade went live in February of 2019 after being delayed due to potential security threats found in one of the EIPs. Some of the notable EIPs in this upgrade include:
EIP 1014: Improves enablements for state channels.
EIP 1234: There were two aspects with this EIP, including the reduction of block rewards from 3 ETH to 2 ETH per block. The second aspect was an additional delay of the difficult bomb for another 12 months. These delays will likely persists until ETH 2.0 is successfully launched and there’s an established medium for migrating over to the Beacon Chain.
Istanbul (December 7th, 2019)
Istanbul is the 8th major network upgrade for Ethereum and includes 6 EIPs that were implemented in December of 2019. Generally speaking, Istanbul improved Ethereum’s scalability and privacy efforts while Serenity continues to be developed.
EIP 1108: Makes zk-SNARKs cheaper, allowing for cheaper scaling and privacy applications to be built.
EIP 1344: Adds a way for contracts to track the correct chain, especially important for layer 2 contracts to follow the correct layer 1 chain during hard forks and other chain splits.
EIP 2200: Changes the calculation cost of storage in the EVM and enables new functions including same contract multi-send.
Ethereum 2.0 (also known as Serenity or ETH 2.0) is a series of upgrades and improvements to the network in an attempt to solve the “scalability trilemma”. The scalability trilemma is the notion that it is impossible to achieve a scalable, secure and decentralized blockchain without significant trade-offs. Regardless, Ethereum 2.0 attempts to solve this trilemma through two main components: (1) sharding and (2) proof of stake.
What is Sharding?
In traditional blockchain architectures, every node in the network must verify and process every transaction. If there are thousands of nodes in the network and every node must validate every transaction, this redundancy strengthens the security of the network at large. Despite the highly-secure nature of this architecture, it also creates latency issues, leading to an inability to scale transaction throughput.
With that, sharding splits the network processing into smaller pieces, called “shards”. A shard represents a chain in the network with each shard comprised of a cluster of nodes (or validators). Therefore, nodes are only responsible for processing and verifying the transactions within their respective shards. By allowing nodes in the network to process and validate a smaller subset of transactions, this creates a much more digestible mechanism to scale transaction throughput.
What is Casper (Proof-of-Stake)?
Unlike Ethereum 1.0 or Bitcoin, Ethereum 2.0 will leverage Proof of Stake (PoS) to achieve consensus. Unlike PoW, which requires users (known as miners) to provide computing power to secure the network, PoS requires users (known as validators) to provide wealth to secure the network. In practice, Casper will require users to stake 32 Ether in order to become a validator and earn a return in the form of ether (ETH).
High Level Ethereum 2.0 Roadmap
Etherereum 2.0 is expected to gradually rollout over the next few years. The rollout will occur in three main phases, Phase 0, 1 and 2, where different components of sharding and PoS will be tested and implemented in an iterative fashion. The expected roadmap as it stands today is:
- Phase 0, Beacon Chain: Initial PoS and foundational features for sharding. Validators will be able to earn rewards, however, no real transactions will be executed on this chain.
- Phase 1, Basic Sharding: Network will be partitioned into shards and some transactions may process but there will be no state execution (smart contracts).
- Phase 2, Sharding with EVM/EWASM: This phase introduces account balances, smart contract execution and other abstractions into the network.
It is important to note that while this transition is technically complex, the ideal situation is for the transition to occur seamlessly for the end-users. This means that the majority of ETH holders will not have to worry about migrating their ETH from the 1.0 chain to 2.0 and can simply continue holding and spending ETH as normal.
Ethereum Questions & Answers
Ethereum is the name of the protocol. Ether (also denominated as ETH) is the underlying currency of the Ethereum protocol. While these terms are often used interchangeably, for semantical accuracy ETH is used as the ticker symbol for Ether and Ether is the cryptocurrency for the Ethereum blockchain.
Ethereum was originally inspired by Bitcoin. Whereas the Bitcoin blockchain utilizes simplistic transaction logic in the form of UTXO’s (i.e. tracking whether a transaction is spent or unspent), with Ethereum, advanced logic can be written into smart contracts and executed autonomously without the use of third parties. (i.e. upon the successful transfer of ETH, have the contract automatically perform X, Y, and Z functions).
With this in mind, you can think of Bitcoin as a store of value and Ethereum as a programmatic store of value. Similarly, Ethereum is commonly pitched as a smart contract platform, or a protocol capable of hosting contract accounts. This is not a part of the Bitcoin blockchain but is being experimented with the advent of Rootstock and others.
Bitcoin is currently capable of processing an average of 3-5 transactions per second whereas Ethereum is currently processing an average 20 transactions per second. Ethereum’s TPS is expected to increase by multiple orders of magnitude with the use of Optimistic Rollups and the shift to Ethereum 2.0.
In June 2016, a smart contract app on Ethereum called “The DAO” suffered from an exploit in its code that led to the theft of ETH worth $60 million USD at the time. After some deliberation, Ethereum developers and the community decided that the funds, which were owned by investors in The DAO, should be returned.
To make this possible, the Ethereum software clients needed to be updated to essentially blacklist the attacker’s addresses, ignoring the malicious transactions in doing so.
This decision was at odds with many in the community who saw all Ethereum transactions as final and immutable. This disagreement of ideals led to a split in the Ethereum chain, resulting in the coexistence of the reverted chain, Ethereum (ETH), and the non-reverted chain, Ethereum Classic (ETC).
Ethereum Classic now operates as an entirely separate chain with a separate vision. While Ethereum Classic and Ethereum share some similarities, they are increasingly diverging from one another. Buying Ethereum does not entitle the holder to Ethereum Classic and vice versa; the two are independent.
Ethereum transactions are not anonymous. All Ethereum transactions are public, meaning that anyone can see all transactions that occur on the network. There has been talk of implementing privacy features through the introduction of zkSnarks and zero-knowledge proofs, but at this time these ideas are merely under experimentation and not part of the average transaction today.