13

Geth is the official implementation of Ethereum based on the coding language Go. Currently, there are 8 teams that are building Eth 2.0 https://www.coindesk.com/next-gen-buidlers-the-8-teams-working-on-ethereum-2-0

When Eth 2.0 official releases, will Geth become deprecated and will users be forced to use new clients or will it also be implemented into current clients such as Geth?

1

2 Answers 2

4

Ethereum 2.0 is already being implemented according to the current specification by the teams mentioned in the Coindesk article.

Some of the implementations are:

  • prysm by PrysmaticLabs, as far as I know this client was at first a fork of go-ethereum, but then moved to an implementation from scratch, this implementation is written in Go.
  • Lighthouse by Sigma Prime, written in Rust
  • Ethereum Beacon Chain by the Ethereum Foundation, is an implementation of the Beacon Chain (Phase 0) written in Python
  • Lodestar Chain by ChainSafeSystems written in TypeScript.

Ethereum 2.0 will be a new chain/chains, in order to be a block validator you must stake some ETH in a Ethereum 1.0 chain, so Eth1.0 still can be used as usual and also as a way to be part of the new Ethereum 2.0.

4

Ethereum 2.0 will be much different from the legacy Ethereum.

ETH1

In 2015, Ethereum launched with 3 official clients funded by the Ethereum Foundation.

  • Go-Ethereum (Geth)
  • C++-Ethereum (Eth)
  • Pyethereum (Pyethapp)

Notably, the C++ and Python client died along the road. Some components from the C++ code-base are extracted and still maintained today, most prominently the Solidity source-code.

The Python client was entirely rewritten from scratch, known as PyEVM or Trinity.

In production, only the Geth client mattered though, along with the Parity Ethereum client (Rust) and the Hyperledger Besu client (Java). Meanwhile Parity dropped support for Ethereum and Gnosis took over the client what we call OpenEthereum today extending its life-support a little.

ETH2

For Ethereum 2.0 there will be no official client, rather a number of third-party clients.

The Sigma Prime team maintains the Lighthouse client (Rust). The PegaSys team maintains the Teku client (Java), and the Prysmatic Labs team Prysm (Go).

Other clients such as Lodestar or Nimbus will play rather niche roles or stopped development altogether (Shasper, Harmony).

Transition

That said, there needs to be an interface between ETH1 and ETH2. Therefore there will be some components integrated for ETH2 in the Geth client. Quoting Peter from the comments:

The current plans is for Geth to be a shard node only, doing what it does best (shuffle transactions, blocks and state) and have ETH2 clients participate in the beacon chain and dictate consensus. Essentially Geth does the chain shuffling, but ETH2 tells it which chain to shuffle. In essence the Geth shards would look like any other private network currently (e.g. Rinkeby, Goerli), just the chain selection delegated out. As for integration, probably two processes over some RPC is the sanest variation to keep components pluggable.

For running a beacon node or validator you would need a client such as Lighthouse or Teku. From what I have tested, the major ETH2 clients all work well together with ETH1 nodes powered by Geth. In addition, the Teku client also maintains good compatibility with Besu.

2
  • 2
    The current plans is for Geth to be a shard node only, doing what it does best (shuffle transactions, blocks and state) and have ETH2 clients participate in the beacon chain and dictate consensus. Essentially Geth does the chain shuffling, but ETH2 tells it which chain to shuffle. In essence the Geth shards would look like any other private network currently (e.g. Rinkeby, Goerli), just the chain selection delegated out. As for integration, probably two processes over some RPC is the sanest variation to keep components pluggable. Commented Jun 10, 2020 at 13:02
  • Incorporated your comment. That would be for Phase 1?
    – q9f
    Commented Jun 11, 2020 at 9:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.