Can we run our Ethereum nodes at home?

Citation Author(s):
Mikel
Cortes-Goicoechea
Submitted by:
Mikel Cortes-Go...
Last updated:
Fri, 11/10/2023 - 05:25
DOI:
10.21227/yvvz-x719
Data Format:
Research Article Link:
Links:
License:
51 Views
Categories:
Keywords:
0
0 ratings - Please login to submit your rating.

Abstract 

Scalability is a common issue among the most used permissionless blockchains, and several approaches have been proposed to solve this issue. Tackling scalability while preserving the security and decentralization of the network is a significant challenge. To deliver effective scaling solutions, Ethereum achieved a major protocol improvement, including a change in the consensus mechanism towards Proof of Stake. This improvement aimed a vast reduction of the hardware requirements to run a node, leading to significant sustainability benefits with a lower network energy consumption. This work analyzes the resource usage behavior of different clients running as Ethereum consensus nodes, comparing their performance under different configurations and analyzing their differences. Our results show higher requirements than claimed initially and how different clients react to network perturbations. Furthermore, we discuss the differences between the consensus clients, including their strong points and limitations.

Instructions: 

# Ethereum Consensus Clients Hardware Analysis V2
This repository collects all the scripts and generates the figures used in the Ethereum Consensus Client's hardware resource analysis.

## Deployment of the database

The provided datasets need to be added to an existing and running Prometheus service. Afterward, the following scripts at https://github.com/migalabs/eth-client-hw-analysis can be used to recreate the plots.

## The Analysis
This Analysis was performed during the month of May in 2023.
It consisted of running the 5 main clients (Prysm, Lighthouse, Teku, Nimbus and Lodestar)

## Running the clients

In order to run the 5 main CL clients we have developed our own Ethereum docker-compose setup that can be used
to launch them in a single command. Please refer [here](https://github.com/migalabs/nodeth) for more information.

## Data Collection

Data has been collected using a Jupyter Notebook and a Prometheus. Please refer to the `report.ipynb` file, where you may find a page containing the data collection details.
After the execution, you may find several CSV files have been downloaded (under `{network}/csv/`).

## Data Plotting

Data has been plotted using the same Jupyter Notebook `report.ipynb`. The last page contains details about the plots. These plots are built from the CSV files downloaded previously with the same document.

Maintained by [MigaLabs](http://migalabs.io)

Funding Agency: 
Ethereum Foundation
Grant Number: 
FY21-0356