The Surprising Challenges of Counting Nodes
Dennis Trautwein
About this talk
Dennis argues that counting nodes in a P2P network is far less straightforward than it appears and uses Ethereum as the primary case study. He breaks down the question along several axes — what is being counted (execution vs. consensus clients, validators, IPs, peer IDs, ENRs, IP+port tuples), how it is counted (passive traffic tracing, structured or unstructured DHT crawls, on-chain activity), and over what time window and fork — and shows how published Ethereum node counts from Etherscan, ethernodes.org, Migalabs, Nodewatch, and ProbeLab range from roughly 8,000 to 14,000 depending on methodology. He walks through ProbeLab's own structured DiscV5 crawl pipeline, which finds about 200,000 ENRs that filter down to around 8,100 reachable mainnet nodes under their liveness criteria. Comparing structured crawls to traffic tracing on Celestia via the Ants deployment reveals roughly 20% additional nodes (including light Lumina nodes) that crawls miss entirely, suggesting Ethereum likely has hidden NATed nodes too, and concludes that the goal is not one definitive number but understanding the limits of each approach.