For a while now I've been (just from thinking about it every now and then) working out a system that could make Denial Of Service attacks a thing of the past...
Remember Limewire? (I think it was called that) the system relies on 1 working IP address and a P2P system...
Now the easiest way to explain how this concept works is kinda simple, we stop using Dedicated servers and move to a P2P system for websites, 10 - 15 years ago, the end user (us) the vast majority of us were limited to upload speeds as slow as dialup, and now pretty much everyone has a min 512k - 1mbit upload speeds, with a lot of users 50x faster than that..
You run this application (no name for it yet) and it simply tries to connect to all the known/working IP addresses, if the IP address has gone offline, after say a week, it will retire the IP address and put it down as dead server, and every other week see if it's back online... if you have no IP addresses, hop onto google.com look for (name of app) working IP addresses, people could put them on static IP servers, or just a little box of the most active IP's using this p2p network..
still with me?
Once the Entry Point has been found (just 1 of potentially millions of IP addresses or googled for a working one) if the connection is valid, the server they link to will automatically send all of it's known working IP addresses to you, and then you'll pass on those working to others and they repopulate working IP's with others and so on..., and even though everyone does not directly connect, data will be daisy changed between user hosted servers.
Dead or gone Servers IP's all get sent via P2P (this could be your IP or my IP or someone down the street) to notifiy other clients connected to this network... now if you're still not confused by the way Servers are found and populated (hell place your IP address on A4 paper and pin them up it would work , as all the other user does is add you, and your working IP's will be shared with them)
Now the fun begins...
Once you have a Valid working IP address, your client (imagine, utorrent, bittorrent, atorrentofsomekind) will then populate it's database with websites, for example Arduino.cc could be hosted as a compressed/archived file or the equivalent 'torrent' file is created with the contents stored in folders, even maybe encrypted.
This client runs, and it will list all of the known Servers, "Add website" point it to the folder, create the what needs to be done and everyone on this P2P network will now begin to populate 1 website to everyone, now for example when the program runs a list of websites may appear.
[arduino.cc]
[joeswebsite.com]
[FoolMe.foo]
[etc.]
[etc]
Bigger the system the more websites can be held, to access these sites all one does is double click on the link it opens in a browser, if you make a modification the modification is sent out to everyone else connected.
Pros.
No more DOS attacks, it's simply not possible unless you attack every IP on the P2P network.
No more Spying (as the data could be encrpyted) by the NSA
No more "down time"
No more "fees"
No more "DNS"
Free for all to use
Secret Websites, Password Driven.
Allows countries in war torn zones and places under communism to freely access any site they want and share data.
Essentially everyone becomes a webserver, it also allows anyone to create a website for free to use by everyone else for free.
If it got successful, categories can be made, sub categories, etc etc..
Cons.
You would need the p2p application (or Portal) to access these sites.
1 IP required to find to connect to the network (Which would still rely on DNS servers, search engines)
Potential for abuse... eg running an underground website to sell illegal things on... (Silkroad springs to mind)
It would be one hell of a project to take on, but I could see a lot of potential, and so far P2P has been mainly used for illegal downloads but because this system is 100% legal, there really should be nothing, absolutely nothing to stop You and I from hosting one of these servers...
Apart from the Logistics, how it works (how's it populate data between P2P) ... how's the general Idea sound? :~
