In this section we continuously estimate the network expansion
The expansion of a graph is a measure of how well-connected or well-expanded the graph is. It quantifies how easily one can reach a large portion of the vertices in the graph from a given subset of vertices. A graph with good expansion properties has a large number of edges between a subset of vertices and the rest of the graph, ensuring efficient communication and spreading of information.
Formally, the expansion of a graph is defined as the minimum "edge expansion" over all non-empty subsets of vertices. The edge expansion of a subset S of vertices is the ratio of the number of edges that have one endpoint in S and the other in the complement of S to the minimum of the sizes of S and its complement. In other words, it measures how well-connected S is to the rest of the graph.
A graph with high expansion has good connectivity properties, and it is particularly useful in applications involving network communication, random walks, and error-correcting codes. Expander graphs are examples of graphs with strong expansion properties and are widely studied in various areas of computer science, mathematics, and network theory.
There are three protocols on Ethereum’s P2P network
- RLPx - for node discovery
- DEVp2p - for session establishment
- Ethereum subprotocol - for Ethereum-specific operation.