The Ethereum blockchain is currently implemented as a Proof of Work (PoW) blockchain secured by transaction mining. PoW is considered undesirable for various reasons, not least of which because it requires significant use of energy resources. The solution currently at the forefront of research and development efforts is to move to a Proof of Stake (PoS) model. There are plans to do this by merging the current Ethereum blockchain into a new execution construct that includes an Execution Layer (Ethereum client without the PoW; serviced by Geth, Besu, Nethermind, Erigon, etc.) and a Consensus Layer (PoS clients; Prysm, Lighthouse, Teku, Nimbus, Lodestar, etc.).
Becoming a PoS validator requires a ‘proof of stake’ which is made in the form of an ETH deposit. The stake required for a single PoS validator is 32 ETH and since December 2020 PoS validators have locked their 32 ETH into the Eth2 Deposit Contract. Currently, there are over 355,000 unique validators (source) resulting in over 11.4m ETH staked. Since the Execution Layer is yet to be merged, these validators are not validating transactions as such, but they are doing the important job of proving out the stability of the Consensus Layer.
The work done by PoS validators is managed by the Beacon Chain, a component of the Consensus Layer that is responsible for coordinating the validation duties and distributing the corresponding validator rewards. Leading up to the launch of the Beacon Chain on December 1, 2020, I authored a number of introductory guides detailing the process for becoming a validator on the Consensus Layer (formerly known as Eth2.0). The clients included in my guides were:
One of the critical aspects of strong decentralization is diversity. It is important that the PoS validator clients securing the blockchain are diverse in makeup so as to avoid a single point of failure impacting the network. The simple example is if a bug is introduced during an update to a majority client and it goes down, network security is harmed potentially to the point where the network is unable to function.
After the launch of the Consensus Layer Beacon Chain it was found that the majority of Beacon Chain PoS validators were represented by a single client — Prysm by Prysmatic Labs. That trend has continued to the current day.
There are a number of reasons for the imbalance, principally Prysmatic Labs’ fine reputation, maturity as a client, quality of documentation, vibrant discord community, and readiness leading up to genesis of the Beacon Chain. It resulted in a userbase heavily in their client’s favor. Of course, everyone wants a stable client that will do its job well and earn plenty of staking rewards. While the Prysm client is world-class, there are a number of other perfectly viable (and based upon certain metrics, potentially superior) PoS validator clients to choose from.
To help improve client diversity, I am creating a series of step-by-step guides in the weeks ahead that describe the migration path from Prysm to the other minority clients. The outline of the series is as follows:
- Introduction (this article)
- Migrating from Prysm to Nimbus
- Migrating from Prysm to Teku
- Migrating from Prysm to Lighthouse
- Migrating from Prysm to Lodestar (pending completion of Lodestar guide)
As a starting point, each guide will assume an installed and running Prysm client, configured using my mainnet Prysm guide.
Migrating clients can be risky. To do it safely I will be taking advantage of each client’s slashing database. Along the way I will also be gathering high-level execution data and sharing advice and any lessons learned installing and running each client.
Finally, it’s worth mentioning that the Execution Layer also suffers from the risk of a majority client — Geth. As is clear below, the distribution is far from balanced.
Time permitting, I plan to author a migration guide to illustrate the procedure to move from Geth to one of the other major execution clients.