Skip to content

Staking on Ethereum: Lessons Learned from Running a Validator

Proof of Stake (PoS) networks are secured through staking. While using liquid staking or hosting a node on a third-party cloud platform are easy and popular ways to stake, running a physical node contributes most to decentralization and often produces the highest yield. In addition, it’s an engaging way to learn the subtle details of the network, advanced concepts in computing and proper machine administration.

We decided to embark on this journey and built, provisioned, and maintained a validator to maximize our ETH returns, contribute to network security, and become deeply knowledgeable on validator technologies and processes. Preparation included researching general best practices and software options, evaluating and procuring equipment, and implementing robust security procedures on the machine(s). 

Even with well-documented validator protocols, the setup and provisioning included several hiccups and learning experiences, including hardware failures, client issues, and networking challenges. To help prospective node operators avoid our mistakes and contribute to the repository of learned lessons, we outline a few recommendations below.

1. Consider using pooled staking

We researched several options and decided on using the pooled staking solution Rocketpool because it’s open-source, has a robust community, and enables us to earn additional staking yields above the standard network returns.  Pooled staking projects help match stakers with validators that create stake pools. They also provide supplementary software that help facilitate the setup and maintenance process. 

Using a service like Rocketpool is not necessarily a required step, but highly recommended for a few reasons. First, it has lower Linux knowledge requirements. Without pooled staking, running a validator rig requires installing clients separately, creating a proper Linux environment, and collecting several different open-source packages to help with monitoring and maintenance. This creates hundreds of possible choices, and a strong understanding of open-source software is required to make informed choices. Rocketpool helps node operators find a balance between having customizability and control over the rig while abstracting away some of the headaches of setting up the proper software environment and securing the node. 

Second, Rocketpool’s guides and Discord help address 95% of problems that node operators face. We found the guides easy to follow and were assured by the fact that they are updated regularly. Error codes from execution clients are often not very descriptive, and the support team at Rocketpool can help collect context and advise you for your specific problem.

Lastly, pooling can yield higher staking rates. On Rocketpool, for example, we set up ‘mini-pools’, in which we put up anywhere from one-third to one-half of the total nodes 32 ETH, and the remaining ETH is from Rocketpool’s liquid stakers. We earn network yields on our portion (~4% APR) and an additional 14% commission on the remaining ETH that liquid stakers entrust us to stake on their behalf.

2. Buy reputable, well-tested hardware 

The types of hardware combinations for staking rigs can be difficult to navigate – some recommendations include using full PC builds, Raspberry Pi rigs, Intel NUCs, old laptops, purpose-built laptops, etc. Before buying any hardware, however, it is important to verify the compatibility of your components. 

The load on your RAM and SSD is quite heavy for staking, and most hardware testing will not replicate the type of work that staking requires, including industry standards like MemTest86. We purchased reputable RAM and SSD with testing guarantees, tested it ourselves, and still ran into RAM failures after running the node for more than 24 hours. Thankfully, the downtime is not very expensive, as each missed attestation costs about 0.000006 ETH (plus we only setup one pool initially). After additional research we found that certain models, specifically Samsung, are generally more consistent and well-suited for staking. 

As a result, we recommend using hardware recommended by other node operators and buying more memory than is minimally required. Thankfully, good RAM and SSD are relatively cheap right now, and investing in more than enough space may save dividends.

As far as the actual build, we’ve compiled a chart of the most popular builds. Our setup is specific to the size of our stake and maintenance requirements, so we do not recommend pursuing one of these options without considering all of your personal circumstances.

Build

Price Range

Pros

Cons

Intel NUC 

$300-$500

Compact, widely-used staking build. Powerful enough for staking

Can run hot and loud, capped at 64GB of ram. Not suitable for archive nodes.

Raspberry Pi

$75

Cheapest, capable option. 

Upgrading to 2TB of SSD can be tricky. The lower processing power may not be sufficient as the computational needs for staking grow.

Full PC build

$1000-$3000

Most customizable, powerful, and capable option. 

Steep componentry learning curve, greater configurability can lead to interoperability and other OS challenges. 

Old Laptop

Variable

Sufficient. Can be cheaply upgraded if needed. 

Limited upgradability means processing power may be a hard ceiling on this option. Anything with at least 4 cores is generally suitable. 

Purpose-Built Laptop

$800-$2000

Can achieve PC-level specs without having to build a rig. 

Can have cooling/noise issues. Processing power is also not easily customizable. 

3. Understand the tradeoffs for execution and syncing clients

An important decision for any staker is the combination of clients in use. The execution client is responsible for interfacing with the network, syncing with new blocks, and verifying the chain. The consensus client handles the validator duties of your machine, including attestations and block proposals. We approached this issue with convenience in mind – which pair of clients balances reliability and lightweight design? 

Execution Client Selection

Geth, Nethermind, and Besu are the most popular execution clients, with Geth being the most popular at around 68% of usage. Nethermind or Besu, or even a less popular client, are suitable choices and can help promote network diversity and reduce the risk of client centralization. 

Clients perform key operations differently, and deciding between them is a matter of personal preference. Do you prefer to have as little downtime as possible? Do you prefer to use the client most used by others? 

One key criterion in this decision is pruning. As the network grows, the client creates and stores block history in a database on your machine. To ensure all available SSD space isn’t consumed, some clients enable “pruning”, which essentially compresses data. The following chart helps highlight some features of the most popular execution clients. We ended up choosing Nethermind, as we valued the minimal downtime and the fast sync speeds. 

Execution Client

Pros

Cons

Geth

Most popular and oldest client. Power usage is highly configurable, making it a good choice for builds with lower specs.

Pruning is done offline, requiring you to miss attestations as they happen. 

Besu

Lightweight and low maintenance. Does not require periodic pruning, as Besu stores chain data in an efficient way that prunes as it goes.

Takes the longest to sync of any client. 

Nethermind

Pruning can be done while online. Fastest sync time of any client.

Highest RAM requirement of any client.

Consensus Client Selection

The most popular consensus clients are Prysm, Lighthouse, Teku, and Nimbus, with Prysm accounting for about 62% of all nodes. The differences between consensus clients are less consequential, as sync times are essentially the same. The remaining differences are in minimum RAM usage, which we detail below.

Consensus Client

Minimum RAM usage

Prysm

2 GB

Lighthouse

2 GB

Teku

4 GB

Nimbus

0.75 GB

While these are minimum numbers, the actual RAM usage will vary widely between machines and the types of tasks being performed. Therefore, these considerations are most relevant for low-powered staking builds that may benefit from using Nimbus. 

Summary

By staking on Ethereum, you can help contribute to the decentralization and security of the network while earning yields on your ETH. With the existence of popular frameworks and pooled staking platforms, the 32 ETH requirement can be circumvented, enabling you to be a part of the network without a large investment. 

We hope these learned lessons help you as you begin your staking journey.