Note: As of May 2020, the Ethereum 2 Phase 1 is not live yet and is currently in the multi-client testnet stage. There are still scant details on the hardware requirements for a staker in Ethereum 2 Phase 1. Depending on the flow of information from the dev teams, I will strive to update this guide regularly.
In this post, I will outline several possible hardware configurations for staking in the upcoming Ethereum 2. Let’s start with the cheapest option to the most expensive option. Along the way, I will also highlight my recommendations and the hardware configuration which I will run.
Your old, used computer (Desktop or laptop)
Potential upfront cost: Free to SGD$200 (Explanation below)
Ongoing cost: Basically the power cost: the estimated wattage of your computer X power cost
- You can figure out the estimated wattage of your computer by using PcPartPicker. Select all the components then check the “Estimated Wattage”
- Typically, the power draw for desktop will be <100W (with no GPU), laptop will be 30 to 50W.
- Ongoing cost will be $0.14 to $0.48 per day (assuming $0.20 per kWh)
- A modern CPU (From Prysmatic’s recommendations, Intel Core i7-4770 or AMD FX-8310 or better)
- 8 GB of RAM (More RAM will be better to provide some buffer – Strive for 16 GB if you have the means)
- SSD storage (100 GB)
- Stable broadband internet (Connection via LAN cable is strongly recommended)
Depending on the components within your old computer, you will need to add additional RAM or swap our your HDD to SSD storage. For SSD storage, I stand by Samsung SSDs (personal preference) due to their good reputation and strong write/read performance. If you are looking at other SSD brands, you should look at the terabytes written (TBW) rating on the specifications (the higher the better).
If you decide to use your old computer for staking, you will need to ensure that it is stable (does not shut off for no reason) and any waste heat is dissipated properly (i.e. laptop is cooled properly, desktop cpu case is cleaned out of dust).
Based on my experience, there is no need to replace the power supply (aka PSU) as they are typically long lasting – other parts will fail before the PSU. Also, you need to decide if it is economical to buy a PSU with higher efficiency (e.g. Platinum, Titanium). You can get more details on this Wikipedia page.
Buy RAM & internal SSDs with our affiliate links:
Raspberry Pi 4
You might have heard the news – you are able to run a beacon node + validators (testnet) on a cheap raspberry pi 4 (RPi4) with external SSD. Raspberry Pi can even run Ubuntu 20.04! However, I do not recommend buying RPi4 for the purpose of staking. As you know Ethereum 2 is split into different phases, the hardware requirements for Phase 2 will be higher than Phase 1.
- If a RPi4 is sufficient for Phase 1 (in the mainnet)
- If a RPi4 is sufficient for Phase 2 (in the mainnet)
Rather than upgrading your setup for Phase 2, it might be better to do it “properly” from the start.
I do not recommend buying a new laptop for staking. You do not need to carry your staking machine around the house – hence, no sense in paying extras for the screen, keyboard, etc. Laptops also have bad thermals and the CPU will throttle itself if the temperature gets too high. Seriously, no point in getting a new laptop for staking – you can get a decent desktop (or even an Intel NUC – next item on this list) with the amount of $$ you throw at a cheap laptop.
Intel NUC Series
Potential upfront cost: SGD$800 to SGD$1,000 (depending on specifications)
Ongoing cost: $0.14 per day (due to low power CPU)
Intel NUC is a small form factor PC with a tiny footprint, with slightly less power than a proper desktop (due to poorer cooling and less powerful CPU). These NUC units will *definitely* have enough computing power for Ethereum 2 Phase 1 – the computing power is equivalent to laptops (as the NUCs sport similar CPUs as the laptops). You just need to make sure that the RAM is at least 8 GB and it has a SSD (with sufficient space and good TBW rating).
The small form factor also allows you to chuck it in one corner and forget about it.
Buy Intel NUC with our affiliate links:
Desktop (Pre-built & Custom built)
Potential upfront cost: SGD$800 to SGD$2,200 (I will share a potential build below)
Ongoing cost: $0.48 per day
There is no *real* and substantial difference in the performance of a pre-built desktop versus a custom built one. Pre-built offers the convenience, while custom built offers the flexibility. Personally, I will choose to get a custom built PC as it is a great feeling to pick out the parts and assemble the PC yourself. When you know how to build a PC, you will be able to pick out parts to upgrade the PC down the road (when Ethereum 2 requires more resources to run).
Potential build: (You can get a better deal if you go for used hardware or 2nd Gen Ryzen)
- CPU: AMD Ryzen 5 3600X 3.8 GHz 6-Core Processor ($199.99 @ Amazon)
- Motherboard: Gigabyte X570 GAMING X ATX AM4 Motherboard ($169.99 @ Best Buy)
- Memory: G.Skill Trident Z Neo 16 GB (2 x 8 GB) DDR4-3200 Memory ($104.99 @ Newegg)
- Storage: Samsung 970 Evo 500 GB M.2-2280 NVME Solid State Drive ($99.99 @ B&H)
- Power Supply: be quiet! Pure Power 11 350 W 80+ Bronze Certified ATX Power Supply ($50.27 @ Amazon)
- GPU: Your old GPU or the cheapest that you can find
- Case: Any cheap case
- Total: USD$625.23 (+ change)
However, modern desktop CPUs are powerful. It is a waste if you only run one beacon node + validators on the PC. My recommendation? Pull up your sleeves, and run a type 1 hypervisor. A hypervisor is a computer software that creates and run virtual machines. You can run MULTIPLE virtual machines on a single rig!! I will explain more (later in this post) on the benefits of running multiple virtual machines for Ethereum 2 staking.
I will not recommend that you go out and buy a server for the purpose of staking. Servers (pre-built ones) are power hungry, hot and noisy. There is no way you can stick a server in your living room and expect to be happy about it. Granted, servers have several nice-to-haves:
- Redundant power supplies (e.g. 2 PSUs in the case)
- Multiple LAN ports
- Multiple CPU (wayyyy overkill)
- Support for registered ECC RAM (for better system stability and uptime)
- Support for insane amounts of RAM (overkill)
- IPMI support (i.e. you can control your server remotely via your main PC)
- Hot-swap storage
But, in order to properly administrate a server and get the most benefits out from them, you will need proper linux knowledge and a space to store the hot, noisy servers. Of course, you could buy the server parts and keep them in a commercial CPU case with good airflow and low fan noise. But, in general, server parts are much more expensive. You will need to decide if the upfront cost is worth it (when you could just build two consumer-grade rigs for the same upfront cost for better redundancy).
Cloud Virtual Private Servers (VPS)
I will not consider this option. But if you are living somewhere with unstable power and internet, this could be a good option. You just need to remember that if your VPS hosts go down, ALL the stakers using that hosts will go down as well. At that point, your staking node might face huge penalties.
Getting the most out of your hardware – Run a hypervisor!
As stated above, modern desktop CPUs are powerful and hence, it is a waste if you only run one beacon node + validators on the PC. I recommend that you run a type 1 hypervisor – a hypervisor is a computer software that creates and run virtual machines. Examples of type 1 hypervisor will be VMware ESXi, Proxmox, XCP-NG.
You might be aware that there are multiple teams who are developing multiple client software for Ethereum 2. You should also be aware that Ethereum clients have faced consensus bugs (here, here) in the past – where Go-Ethereum and Parity did not agree with each other. If this is happening with only 2 different clients, imagine the situation with even more clients for Ethereum 2.0.
Even though the software practices might have improved, no one can claim that they have caught 100% of the bugs and there will 100% be no bugs in their software. What if the client software that you have chosen for your staking node has a critical bug and caused you to lose your entire stake?
And now, the beauty of running multiple virtual machines comes into play. You can run multiple clients with multiple virtual machines (of course, you will still need multiple 32 Eth to run that many validators)! Imagine you have a rig with 16 cores (Ryzen 9 3950x) and have set up 8 virtual machines (each with access to 2 cores – more than enough):
- Virtual Machine 1: Prysm node
- Virtual Machine 2: Lighthouse node
- Virtual Machine 3: Harmony node
- Virtual Machine 4 to 8: Etc..
This will spread out your risk over the many different clients. Of course, the associated maintenance work and setup work will increase that many times as well. So, you need to decide if this is worth the work and headache.
What will I be running?
I will most probably assemble a consumer grade rig and stick my existing GPU inside. I wll run multiple virtual machines and designate one for my gaming vm (and pass through the GPU to the vm). This allows me to “upgrade’ my existing PC to play games and still stake on it.
As the mainnet launch is still quite far away, I will share more details on my rig at a later date. 🙂
I have decided to save the cash and use my existing server to do this work. Why? I have participated in the testnets and noted that not much computing power is required for Eth1 node + Eth2 node + Eth2 validator. The specs of my existing server can be found here. I have just purchased a 2 TB SSD solely for the Eth1 node (a bit overkill as the current size is around 300 GB – but Geth will fill up fast and I wanted minimal headaches for the next 2 to 3 years).
My server is running Proxmox and the various software will be installed in separate VMs.
Best of luck to your staking journey! Feel free to comment below with your opinions and recommendations. 🙂