Ethereum Scaling Roadmap Overview (Pt. 1)

This was supposed to be a price analysis originally, but this is actually going to be a full, in-depth look at what’s going on at Ethereum, because they’ve been releasing a slew of updates over the past few weeks.

Let’s take a look at some of the news coming down the pipeline for Ethereum.

Prysmatic Labs

For those that do not know, a development team named ‘Prysmatic Labs’ has taken on the responsibility of, “Developing Prysm, a full featured sharding client for Ethereum 2.0, that can process transactions faster than ever before.”

https://prysmaticlabs.com/

Clicking the ‘Learn More’ button brings us to this link here: https://github.com/prysmaticlabs/prysm/blob/master/docs/READINGS.md

According to the GitHub link, the following links should be read and understood, comprehensively, in order to grasp what it is that Prysmatic Labs is doing on the Ethereum protocol:

Blockchain Fundamentals

  • What is Blockchain Technology? A Step by Step Guide for Beginners
  • What is Bitcoin? A Step by Step Guide for Beginners
  • The Science Behind Cryptocurrencies’ Cryptography
  • The Ins and Outs of Cryptographic Hash Functions
  • Blockchain Glossary from A-Z
  • Blockchain Addresses 101: What Are They?

Ethereum

  • What is Ethereum?
  • How Does Ethereum Work Anyway?
  • Ethereum Introduction
  • Ethereum Frequently Asked Questions
  • What is Hashing?
  • Hashing Algorithms and Security
  • Understanding Merkle Trees
  • Ethereum White Paper
  • Ethereum Block Architecture
  • Ethereum Beige Paper
  • What is an Ethereum Token?
  • What is Ethereum Gas?

Ethereum Client Implementations

  • Geth (known also as go-ethereum) is the Golang implementation of the Ethereum protocol
  • Parity the fastest and most performant implementation — written in Rust
  • Trinity new project implements Ethereum in Python
  • Cpp-Ethereum a C++ implementation of Ethereum

Consensus

  • Bitcoin Original White Paper
  • Basic Primer: Blockchain Consensus
  • Understanding Blockchain Fundamentals: Byzantine Fault Tolerance
  • Understanding Blockchain Fundamentals: Proof of Work vs. Proof of Stake
  • Proof of Work vs. Proof of Stake
  • Proof of Stake FAQ
  • How Does Ethereum Mining Work?
  • ETHash Algorithm

Ethereum Virtual Machine

  • What is the Ethereum Virtual Machine?
  • Ethereum VM
  • Ethereum Protocol Subtleties
  • Awesome Ethereum Virtual Machine

Ethereum-flavored WebAssembly

  • Ewasm background, motivation, goals, and design
  • The current Ewasm spec
  • Latest Ewasm community call including live demo of the testnet
  • Why eWASM? by Alex Beregszaszi
  • Panel: entire eWASM team discussion and Q&A
  • Ewasm community meetup at ETHBuenosAires

Smart Contracts, dApps, and Cryptoeconomics

  • What are dApps? The New Decentralized Future
  • How to Learn Solidity
  • Ethereum Development Tutorial
  • What is Cryptocurrency Game Theory?
  • What is Cryptoeconomics?
  • Mechanism Design for Cryptoeconomic Applications
  • Cryptoeconomics: An Introduction

Peer-to-Peer Networking

  • Ethereum Peer to Peer Networking
  • How Does the P2P on Ethereum Work?
  • How Does Kademlia Work?
  • Kademlia Protocol

“Required Sharding Knowledge”

Below are the following resources and links that Prysmatic links have provided for various levels of contributors.

For Part Time Contributors

  • Blockchain Scalability: Why?
  • What Are Ethereum Nodes and Sharding
  • How to Scale Ethereum: Sharding Explained
  • Sharding FAQ
  • Sharding Introduction: R&D Compendium

For Core Contributors

  • Blockchain Scalability: Why?
  • What Are Ethereum Nodes and Sharding
  • How to Scale Ethereum: Sharding Explained
  • Sharding FAQ
  • Sharding Introduction: R&D Compendium

Past the information provided above, there are even more links that Prysmatic Labs provides for those looking to contribute to the projects’ efforts.

They preface the content by stating, “After reading the Sharding FAQ, it is important to understand the minimal implementation notes and the research that went into writing it up.”

Serenity Concepts and Notes

  • Sharding Concepts Mental Map
  • Taiwan Sharding Workshop Notes
  • Sharding Research Compendium
  • Torus Shaped Sharding Network
  • General Theory of Sharding
  • Sharding Design Compendium

Serenity Research Posts in Order

  • Sharding v2.1 Spec
  • Casper/Sharding/Beacon Chain FAQs
  • RETIRED! Sharding Phase 1 Spec
  • Exploring the Proposer/Collator Spec and Why it Was Retired
  • The Stateless Client Concept
  • Shard Chain Blocks vs. Collators
  • Ethereum Concurrency Actors and Per Contract Sharding
  • Future Compatibility for Sharding
  • Fork Choice Rule for Collation Proposal Mechanisms
  • State Execution
  • Fast Shard Chains With Notarization
  • RANDAO Notary Committees
  • Safe Notary Pool Size
  • Cross Links Between Main and Shard Chains

Serenity Talk from Conferences & Meet Ups in Order

  • Sharding Presentation by Vitalik from IC3-ETH Bootcamp
  • Latest Research and Sharding by Justin Drake from Tech Crunch
  • Beacon Casper Chain by Vitalik and Justin Drake
  • Proofs of Custody by Vitalik and Justin Drake
  • So You Want To Be a Casper Validator by Vitalik
  • Ethereum Sharding from EDCon by Justin Drake
  • Casper CBC and Sharding by Vlad Zamfir
  • Casper FFG in Depth by Carl
  • Ethereum & Scalability Technology from Asia Pacific ETH meet up by Hsiao Wei

Finally, the Prysmatic Labs team concludes by providing a list ofNecessary Go Knowledge & Readings’:

  • The Go Programming Language (Only Recommended Book)
  • Ethereum Development with Go
  • How to Write Go Code
  • The Go Programming Language Tour
  • Getting Started With Go
  • Go Official Website

The general GitHub for Prysmatic Labs can be found here: https://github.com/prysmaticlabs/prysm

Prysm Specifications

Proposed Roadmap for Ethereum

As mentioned above, Prysmatic Labs is just one of the entities that will allegedly be working on ‘scaling’ the Ethereum protocol (scaling written as ‘scaling’ because there are a number of different ways that something can scale).

This post by SFOX on Medium(.)com outlines the proposed roadmap for Ethereum in the future moving forward:

The full shelled out presentation where the image above can be found is located here: https://docs.google.com/presentation/d/1G5UZdEL71XAkU5B2v-TC3lmGaRIu2P6QSeF8m3wg6MU/edit#slide=id.p4

The document is specifically in relation to the sharding idea that Ethereum is trying to implement on their protocol.

Sharding

This is the next major initiative for the Ethereum protocol in the future moving forward.

There are a number of different proposals, notes, documented proposals, whitepapers, etc., that shell out the process that Ethereum must undergo in order to bring ‘sharding’ onto the protocol in an official capacity.

This is why ‘Prysmatic Labs’ was shelled out in depth at the beginning of this report.

Going back to the Google Docs link provided above, we can see that the efforts to integrate sharding onto the Ethereum protocol are being led by Hsiao-Wei Wang:

Source: https://docs.google.com/presentation/d/1G5UZdEL71XAkU5B2v-TC3lmGaRIu2P6QSeF8m3wg6MU/edit#slide=id.p4

Curiously, the link provided in the next slide of this presentation is no longer available:

Specifically, the link referenced above is to the Casper protocol specification (documentation): https://notes.ethereum.org/SCIg8AH5SA-O4C1G1LYZHQ

At the very least, the GitHub entry (authored by Vitalik Buterin) can be found though:

Below are papers that have been written and published by the Ethereum Foundation with regards to Casper:

  1. Casper the Friendly Finality Gadget
  2. Incentives in Ethereum’s Hybrid Casper Protocol
  3. A Memo on the Proof-of-Stake Mechanism
  4. Proof of Stake Made Simple With Casper

More than likely there are several additional research papers that have been published (by research papers, we are only qualifying entries that have been written in the LaTeX format). If they are found, they will be added to this report in future amendments and noted at the bottom of the article.

Deprecating EIP-1011

In the course of pushing Casper and other initiatives that would allow sharding and Proof of Stake to be deployed on the Ethereum protocol, EIP-1011 was deprecated.

What was EIP-1011?

The official specification for EIP-1011 can be found here: https://eips.ethereum.org/EIPS/eip-1011?source=post_page—–263c7748de0———————-

EIP-1011, released April 20th, 2018 (date of release is interesting), was designed to, “[Specify] a hybrid PoW/PoS consensus model for Ethereum main net.”

The abstract for the EIP further explains its purpose, stating:

“Existing PoW mechanics are used for new block creation, and a novel PoS mechanism called Casper the Friendly Finality Gadget (FFG) is layered on top using a smart contract.”

Additionally:

“Through the use of Ether deposits, slashing conditions, and a modified fork choice, FFG allows the underlying PoW blockchain to be finalized. As network security is greatly shifted from PoW to PoS, PoW block rewards are reduced.”

and

“This EIP does not contain safety and liveness proofs or validator implementation detials, but these can be found in the Casper FFG paper and Validator Implementation Guide respectively.”

This overview won’t spend too much time going over Casper. Instead, we’re going to look forward to see why EIP-1011 was deprecated.

Explanation for the Deprecation of EIP-1011

A formal explanation for why EIP-1011 was deprecated can be found at this link: https://notes.ethereum.org/@djrtwo/rJDrKoBOQ?type=view

The reasons given for deprecating EIP-1011 are as follows:

  • Processing signatures
  • Two competing games
  • Issues in tx parallelization

The official decision to deprecate EIP-1011 was also announced by the same author of the Ethereum notes link provided above.

That announcement can be found here: https://medium.com/@djrtwo/casper-%EF%B8%8F-sharding-28a90077f121

Specifically, the announcement states:

“Today on the Ethereum Core Dev call, Vitalik and the research team discussed a new Casper/sharding design that unifies the two efforts sooner rather than later. This is an exciting new design that brings together the two areas of research while at the same time deprecating EIP 1011 and the existing Casper FFG contract. There is already a python proof of concept implementation that demonstrates the core functionality and efficiencies. This codebase will continue to evolve over the coming weeks to serve as a model for production implementations.”

For some reason though — the ‘new Casper/sharding design’ link is not available (this is the Casper documentation that was referenced earlier).

Casper: Two Versions

If you are confused reading this, that is extremely understandable. The manner and means by which Ethereum has proposed, approved, struck down, re-approved, struck down again, delayed/postponed, fragmented and revised updates over the last two years has left a lot of users extremely confused as to what exactly is going on with the Ethereum protocol in the future as it pertains to their ‘scaling’ efforts.

Rather than addressing and parsing through this confusing string of information that has been released by the Ethereum team/core/devs (who knows!), we’re going to dissect the two popular Casper implementations that were in play for Ethereum for a while before EIP-1011 was deprecated, removing one of those options.

Those two Casper implementations were:

  • Casper FFG
  • Casper CBC

Casper FFG stands for ‘Casper the Friendly Finality Gadget’.

Casper CBC stands for ‘Casper the Friendly GHOST: Correct-by-Construction (CBC)’

As the site, ‘blockgeeks’, eloquently put it, “Casper is not one specific project. It is an amalgamation of two research projects which [are] currently being undertaken by the Ethereum dev team.”

But Wait — Isn’t Casper FFG Deprecated?

####

Well, sort of.

Below is a flow-chart that shows the structure/scheme of EIP-1011 as it pertains to Casper FFG:

Source: https://medium.com/ethereums-transition-from-casper-ffg-to-beacon/from-casper-ffg-to-full-casper-chain-cbd522751a7e

The write-up referenced above, breaks down why there were deprecated mechanics in the EIP-1011 proposal:

It is this deprecation that brought us to this new, revised roadmap — which can be viewed below:

Again, this brief article will not look to comb through all of the rough technical details of what was added/removed or appraise the merits of said decisions, but hopefully the above helps individuals to better ascertain what is going on, on the Ethereum protocol in terms of the scaling roadmap that has been provided.

In the next part, we’ll take a closer look at the actual roadmap for Ethereum to get from Point A to Point B and finally, the end-goal (completion of Istanbul; we haven’t even talked about the names given to the various ‘phases’ of the Ethereum development plan on the road to ETH 2.0).