Having looked in depth at the dependency of bootnodes, I would like to express my concerns about the centralisation and reliance on third-party cloud services that current bootnodes exhibit.
Overview Execution Clients
Go-Ethereum
- Mainnet Bootnodes: go-ethereum/bootnodes.go at 2c6dda5ad7a720cccd957230f7978de0082ec8c7 · ethereum/go-ethereum · GitHub
- 8 bootnodes running on AWS, Azure, and Hetzner.
Nethermind
- Mainnet Bootnodes: nethermind/foundation.json at 9e74cff36443bc72c75eb4efcbe6dfcd57ac8ab6 · NethermindEth/nethermind · GitHub
- 32 bootnodes running. 8 of the 32 bootnodes are the Geth bootnodes running on AWS, Azure, and Hetzner.
- For the remaining 24 bootnodes, I couldn’t find the hosting locations. However, they use the same bootnodes as in the original Parity client: trinity/constants.py at master · ethereum/trinity (github.com). However, all without information on where hosted.
Erigon
- Mainnet Bootnodes: erigon/bootnodes.go at 19af2009dc4f9b20c3a647527f9495f95eb35f49 · ledgerwatch/erigon · GitHub
- The 8 Geth bootnodes running on AWS, Azure, and Hetzner.
Besu
- Mainnet Bootnodes: besu/mainnet.json at e129c9f0b9e3979259a96f5c8a8f101429834d65 · hyperledger/besu · GitHub
- 14 Bootnodes running. 8 of the 14 bootnodes are the Geth bootnodes running on AWS, Azure, and Hetzner. Additionally, 5 legacy Geth & 1 C++ bootnode is listed. However, all without information on where hosted.
On the CL side (i.e. Beacon node), I couldn’t figure out any information on the hosting location.
I was wondering what other people think about this, especially since Hetzner, for example, doesn’t really seem to be crypto-friendly. Personally, I would strongly advocate for more bare metal in Ethereum! In summary, I would like to see more transparency from the EL and CL side on hosting information.
Please see my replies below about the source links of the different client bootnodes.
Update: I was now able to put all relevant links into this description. I deleted the further replies accordingly.