|
|
|
|
|
by zzzcpan
3652 days ago
|
|
I don't think bootstrapping per se is a problem. You only have to do it on first install and this allows for a simple solution to distribute bootstrapping in time, i.e. changing hardcoded bootstrapping data every N minutes, so new users could bootstrap from different nodes, than the users before them and so on. A bigger problem is how software is developed. The development itself is centralized, but even worse, traditional software development approaches cannot predict all future problems, but rely on fixing them to keep the software working, which means it must be delivered to users in a centralized way too. |
|
http://ryandoyle.net/assets/papers/Distributed_Bootstrapping...
http://grothoff.org/christian/dasp2p.pdf
http://www.net.in.tum.de/fileadmin/TUM/NET/NET-2014-08-1/NET...
You say: "i.e. changing hardcoded bootstrapping data every N minutes, so new users could bootstrap from different nodes"
The fundamental issue is, changing the data where? The node who wants to connect to the peer network, obviously cannot obtain the information from the peer network itself (as node is not connected), so obtain the information from where? Currently, all decentralized applications, including my system Streembit use the techniques of obtaining the information from a centralized source - which is the oxymoron of decentralization. If a web services or other centralized applications provide the new node with the list of existing listening/connected nodes then the solution is surely not decentralized. Government agencies or cyber-criminals only need to attack the hard coded, listening seed nodes and then the network is done and never can be back again until a new list of hardcoded seed nodes is published via the application source code or via other channels.
As I said above, Satoshi's original idea to obtain the seed info from IRC was the closest to decentralization, but since IRC is centralized itself I am sure you can see how far that is from the a decentralized bootstrapping.
We have the solutions on local decentralized networks such as mDNS and UDP multicasting which uses protocol level solutions, and we are investigating to solve the problem at Streembit with IPv6 anycasting.
<<< A bigger problem is how software is developed. The development itself is centralized, but even worse >>>
I disagree. Open source software can be forked and then you can adopt as much democratic development methods and governance as you want.