Summary
There is currently a (lengthy) discussion taking place (which I started) on ethresear.ch about the centralisation and reliance on third-party cloud services that current (execution and consensus) bootnodes exhibit. To avoid repeating the whole discussion thread and feedback, I recommend everyone to quickly read through the ethresear.ch thread.
This post is intended to draw attention to the ongoing discussion and to engage Lido Node Operators (NOs) in a possible solution of providing community-based execution and consensus bootnodes in addition to client team bootnodes. The preferred solution is to distribute as many bare metal bootnodes as possible across different jurisdictions.
Overview Execution Clients
Go-Ethereum
- Mainnet bootnodes: go-ethereum/bootnodes.go.
- 4 bootnodes running on AWS (2 out 4) and Hetzner (2 out 4).
- In this commit params: remove EF azure bootnodes (#26828) the 4 Azure bootnodes got removed.
Nethermind
- Mainnet bootnodes: nethermind/foundation.json.
- 34 bootnodes running. 4 of the 32 bootnodes are the Geth bootnodes running on AWS (2 out 4) and Hetzner (2 out 4).
- For the remaining 28 bootnodes, I still couldnât find the hosting locations. However, they use the same bootnodes as in the original Parity client: trinity/constants.py. Nonetheless, all without information on where hosted.
- In this commit Remove deprecated EF bootnodes (#5408) the 4 Azure bootnodes got removed.
Erigon
- Mainnet bootnodes: erigon/bootnodes.go.
- The 4 Geth bootnodes running on AWS (2 out 4) and Hetzner (2 out 4).
- In this commit params: remove EF azure bootnodes (#7061) the 4 Azure bootnodes got removed.
Besu
- Mainnet bootnodes: besu/mainnet.json.
- 14 Bootnodes running. 4 of the 10 bootnodes are the Geth bootnodes running on AWS (2 out 4) and Hetzner (2 out 4). Additionally, 5 legacy Geth and 1 C++ bootnodes are listed. Nonetheless, all without information on where hosted.
- In this commit Remove deprecated EF bootnodes (#5194) the 4 Azure bootnodes got removed.
Overview Consensus Clients
Lighthouse
- Mainnet bootnodes: lighthouse/boot_enr.yaml.
- 13 bootnodes running. The 2 Lighthouse (Sigma Prime) bootnodes are currently hosted on Linode in Australia (information via this comment). Additionally, 4 EF, 2 Teku, 3 Prysm and 2 Nimbus bootnodes are listed. Nonetheless, all without information on where hosted.
Lodestar
- Mainnet bootnodes: lodestar/mainnet.ts.
- 13 bootnodes running. The 2 Lighthouse (Sigma Prime) bootnodes are currently hosted on Linode in Australia (information via this comment). Additionally, 4 EF, 2 Teku, 3 Prysm and 2 Nimbus bootnodes are listed. Nonetheless, all without information on where hosted.
Nimbus
- Mainnet bootnodes (pulled via submodule): eth2-networks/bootstrap_nodes.txt.
- 13 bootnodes running. The 2 Lighthouse (Sigma Prime) bootnodes are currently hosted on Linode in Australia (information via this comment). Additionally, 4 EF, 2 Teku, 3 Prysm and 2 Nimbus bootnodes are listed. Nonetheless, all without information on where hosted.
Prysm
- Mainnet bootnodes: prysm/mainnet_config.go.
- 13 bootnodes running. The 2 Lighthouse (Sigma Prime) bootnodes are currently hosted on Linode in Australia (information via this comment). Additionally, 4 EF, 2 Teku, 3 Prysm and 2 Nimbus bootnodes are listed. Nonetheless, all without information on where hosted.
Teku
- Mainnet bootnodes: teku/Eth2NetworkConfiguration.java.
- 13 bootnodes running. The 2 Lighthouse (Sigma Prime) bootnodes are currently hosted on Linode in Australia (information via this comment). Additionally, 4 EF, 2 Teku, 3 Prysm and 2 Nimbus bootnodes are listed. Nonetheless, all without information on where hosted.
Discussion
I would like to see Lido NOs providing community-based execution and consensus bootnodes in addition to client team bootnodes. The underlying reason is that IMHO itâs important to have globally numerous distributed bootnodes available to preserve the censorship-resistance core value and resilience of Ethereum as a whole. The exact governance process around the âvettingâ of such community-based bootnodes is yet to be defined. Please share your thoughts and possible solution approaches to how Lido NOs can become part of this undertaking.