CasperLabs Weekly Update, 1st December 2020: The Casper Network and Ethereum 2.0

Answering our community’s question: “What does Ethereum 2.0 mean for Casper?”

Ojimadu
5 min readDec 5, 2020
Photo by Matt Duncan on Unsplash

With the recent launch of the Eth 2.0 beacon chain, several people have asked questions about the ramifications for Casper and what we’re building. What we are developing is not Ethereum 2.0 but Ethereum 3.0. As of now, Eth 3.0 does not have a roadmap or a ship date, leaving us with Eth 2.0 to evaluate.

Eth 2.0 is split into three phases: phases 0, 1, and 2. The release of the beacon chain marks the completion of phase 0. The beacon chain by itself does not deliver any performance to the Ethereum blockchain. Eth 1.0 is not altered by the beacon chain.

The launch of the beacon chain enables validators that have staked Eth (which they can’t un-stake until phase 2 is complete) to commence running their nodes and take part in the beacon chain. There are no side shards or cross-shard communication. Eth 2.0 is still two full phases away, and we do not foresee that Phase 1 and 2 would arrive on the heels of phase 0.

Bear in mind, Eth 2.0 does not implement full CBC-Casper, it only includes Casper-FFG which blends the liveness properties of Proof of Work (PoW) with the safety properties of CBC-Casper. Blocks will continue to be added to the beacon chain using PoW. They will be finalized using Casper-FFG. Approximately 2% of all blocks will be finalized using Casper FFG

The reason for this is that the 2017 CBC-Casper paper does not provide liveness proofs that guarantee that a validator is going to propose a block in the future. The Eth 3.0 roadmap plans to include pure CBC-Casper and webassembly, - and these 2 of the core features of the Casper network.

We believe that the Highway protocol is the first formal, provably live, secure and complete Casper protocol in existence , hence the name Casper. The Casper protocol utilizes a pure Web Assembly engine developed by Parity. We implement smart contracts in Rust and support smart contracts transpiled from Solidity to Rust. We have a transpiler that we will continue to improve and upgrade for projects seeking to experience Eth 3.0 early on, and we will grant this support on a per-project basis. If a project wishes to migrate to the Casper network, we’ll pass the solidity contract through the trans-piler, probe for issues, fix parts of the code that did not transpile properly, test and deploy the smart contract on the Casper network.

When we examine the capabilities available on the Casper network, it is more accurate to compare Casper to Eth 3.0. We are leap frogging right over Eth 2.0 and going straight to the Eth 3.0 core feature set. We can do this, because we are a new protocol, and we don’t have to concern ourselves with contract compatibility as Ethereum must. There is a lot of market cap on Ethereum, so it’s only reasonable that the Ethereum foundation be judicious with upgrades. With the billions of dollars locked up on Ethereum, it’s responsible for Ethereum to be judicious. This is seen all the time in technology, it’s called the Innovator’s Dilemma. Incumbents can be disrupted from underneath by startups. This is possible because startups can move more quickly, have fewer clients and make decisions more rapidly.

In many ways, the Casper protocol is quite different from Ethereum. Casper provides scalability and features that enable blockchain to become part of a larger application architecture, where on chain contracts can be managed and governed like any other software.

Engineering status

  • The team has started the fifth weekly sprint of the 20.12 release cycle (Sprint 8.5).
  • Release 20.12 delivers prioritized bug fixes, networking improvements, and more consensus protocol security features.
  • The network will support up to 100 validator slots in the bonding auction.
  • Validators can bid for open slots by using the bidding API.
  • We’re building out the LNC detection, finality signatures, and fork spam protection.
  • We noticed an equivocation on the Delta network which validates that slashing works. we believe that slashing provides security guarantees so that the network makes consistent decisions.

Current Focus

  • The security audit by Trail of Bits has been concluded and didn’t reveal any concern that wasn’t already being worked on or triage.
  • We expect to have a clean security audit by the time we’ve completed work on the Highway protocol.
  • We’re also planning to do an audit of our virtual machine and smart contracts.
  • We’re getting some requirements from our custody provider to add an endpoint that returns all transfer by block identifier to the RPC server.

Test and SRE

  • We’re enhancing monitoring for equivocation and DOS attacks.
  • Upgrading the Event Store to support continuous integration and deployment.
  • We’re extending workload generators and improving monitoring so we can perform deeper and complex tests against the S-Test framework.

Ecosystem

  • We’re building a Javascript SDK in NPM. We’re going to add documentation and the ability to generate an account from the seed.
  • We’re building end to end test for CLarity. Once we finish up the basic functionality for CLarity, we’re going to turn it over to the community.

Contract Runtime

  • We found some bugs on slashing and are fixing it.

Economics Research

Presentation

Team & Company Update

  • New member on board! Iulia Popescu will work as a full-time developer advocate.
  • We are looking for talented SRE’s, Developer advocates, and Technical writers to join our team.
  • Applications can be sent via Workable. Alternatively, via email.
  • Our weekly Governance/Community call holds every Tuesday
  • Time: 9:00 AM PST (16:00 UTC, Sydney +11, Beijing +8, Greece +3, Amsterdam +2, Onitsha +1, New York -4, Seattle -7)
  • Location: https://casperlabs.zoom.us/j/488766416
  • Our weekly workshops/dApp Session holds twice a week on:
  • Thursdays 07:00 am Pacific time and
  • Fridays, midnight Pacific (4 pm Japanese Time).
  • The zoom meeting id is https://casperlabs.zoom.us/j/924713678.

Want to get started?

At release, links to installation packages and relevant documentation are available on GitHub.

Packages available on GitHub

DApp Developer Guide

Where can bugs be filed?

Report a bug on GitHub

Connect with Us

Website

Discord

Telegram

Twitter

--

--