24
How distributed/decentralized software is able to establish connection and find other machines running the same software?
In Bitcoin, for example, how do the "Full Nodes" meet each other? How does he find "another wallet" to communicate?
Some decentralized software, such as Torrent, uses an intermediary, unless mistaken are called Trackers, which allow you to find each other. They seem to act like a DNS, roughly, in order to obtain the address of those who have the downloaded file and can send you.
However, if a platform is distributed, with no central server to obtain information, how the hell can it find the others? For me, in my conception there will always be an "intermediary" to enable one to find the others, am I right? There is another way to enable "distributed application connections"?
The answer is good but I think it fails to state that: there is no intermediary for one client to find another. The initial connection must connect to an address (known to the network) to request at least 1 active node. The protocol defines the option getaddr for this. After receiving at least 1 address the customer can manage the list itself. The first item in your list only occurs from the second connection and the last item is only used if the user creates or uses an alternative client to which they do not have the list of ips or dns.
– Lauro Moraes
@Lauromoraes I incremented the answer with your information.
– luislhl