How are distributed / decentralized software capable of connecting and finding other machines running the same software?
In Bitcoin, for example, how do "Full Nodes" meet each other? How does he find "another wallet" to communicate?
Some decentralized software, such as Torrent, use an intermediary, unless misleading are called Trackers, which allow you to find each other. They seem to act like a DNS, roughly , so as to get address from those who have the downloaded file and can send it to you.
However, if a platform is distributed, there is no central server for information, how the heck can it find others? For me, in my conception there will always be an "intermediary", to enable one to find others, am I right? Is there another way to enable "distributed" application connections?