I have looked into Kademlia a few years ago. It is one of the Distributed Hash Table algorithms/networks. Basically, the idea is that in a P2P network, it is infeasible for each node to know the network addresses of all other nodes. So instead each node just remembers a logarithmic number of other nodes called neighbors. And Kademlia guarantees that within logarithmic number of queries (exchange of messages between nodes), a node can find the actually address of a node with given ID in the network. This works quite well with BitTorrent.
However, as far as I understand, Ethereum is still a Proof-of-Work network and new transactions and new blocks are just flooded to the whole network. So I do not see how Kademlia can help here.
In the proposed Proof-of-Stake Gasper protocol, all messages are also simply flooded to the whole network, so I also do not see the point of using Kademlia.
So what is the reason to use Kademlia in Ethereum? Wouldn’t a network that each node simply selects a random number of other nodes to connect works equally well?