How does a DHT random walk work for peer discovery in IPFS

I am working on implementing a P2P network using go-libp2p and hence need to solve the problem of peer discovery. I understand the idea of bootsrapped peers. However, based on what I hear on IPFS gitter channels, IPFS uses random walks on the underlying kademelia DHT to discover more peers.

  1. Please can someone explain what a random walk on a DHT is and how it works ?
  2. Maybe point me to the part of the code where this has been implemented.

I have already gone through the libp2p-kad-dht code and understand it in quiet well. Thanks a lot.

Did you succeed in finding out?