Whenever Bitcoins are discussed, one generally reads how "Bitcoins are decentralized. No company nor state controls them". My question is, how is this statement true when you read about how Bitcoin Clients find each other.
Reading from here How do Bitcoin clients find each other? we find out that Bitcoin clients use a number of ways to find other Bitcoin clients. To summarize those methods can be:
- List of previous connections
- DNS seeds which points to host names
- (Abandoned) IRC server
So with that in mind, how are these methods decentralized? I understand how method one is, but method one can not act always act as the default method per new connections.
When you look at method 2 and 3, I question primarily the decentralized nature of a host name, as someone has to pay for the registration of said domain name and the ICANN organization is responsible for such registration. While method 3, someone has to host a server. Someone is paying for or owns the hardware and is therefore not decentralized.
The only methods I can think of that are truly decentralized is
- List of previous connections (As currently implemented)
- IP/Port scan for other Bitcoin clients. (Attempt to initiate a handshake to identify other clients. I understand this would be incredibly slow but seems purely decentralized to me)
Can anyone shed light how the actual methods do ensure Bitcoin is decentralized? My only other thought is the "spec" of Bitcoin is decentralized and the implementation of the clients themselves happen to not be.