I have been thinking about this for a long time. If I had the chance to re-build the Internet and how it works I would try everything to make it anonymous and to get rid of centralized servers. Maybe you could create a network where every computer is directly connected to 10 other computers in a way that all computers can communicate indirectly with each other, thus making it very hard for governments to control everything.
I would really like to hear if anyone of the really tech-savvy people here has a realistic idea of what we could have done differently to accomplish that.
Making the internet anonymous would be quite nice but you would have to invent a new kind of IP or something similar which then makes routing data to the right computer basically impossible.
Force the use of open standards rather than silverlight/flash and force browsers to pass a standards test before being allowed to be released cough internet explorer cough
Obviously that isn't feasible or anything, but it's a nice idea :3
Well you could at least hide the source ip. Lets say your request decides to go through you->PC2->PC3->PC4->server. You could easily make it so that PC2 is the only one who knows where the request came from. Then the response could simply go back through PC4 to PC3 to PC2 to you. Add encryption on top of it and you should be good to go. Now the only way to tell what you are doing on the Internet would be to spy on your machine directly. Well, at least it would be a good start.
Ban commercials! The idea behind the ip protocol is good as is, but the ability to track, commerce, and so on is horrible for the user experience. Also encrypt all traffic.
But without ads a lot of content would straight up not exist. Making tracking illegal would be nice. It might be pretty tough to actually enforce that though.. because anonymity etc.
https://zeronet.io/ This with an added layer of ISPs having "proxy-caching" so it wouldn't burden them with thousands of users serving other thousands. Having a full-blown peer to peer network means there wouldn't be outages in half Europe because some moron unplugged a router, or that a dictator saw a mean comment on twitter and banned it on a whole country.
No, you don't understand. Not having centralized nodes prevents exactly that. This was my whole point. I mean shutting down one backbone does potentially take down an entire country as we have recently seen. And looking at China, the government can easily censor the shit out of the Internet, simply because they just have to tap a handful of wires to do it.
Now think about it, if everyone has 10 connections to ten other houses, then you could probably have 3 lines die and still be able to access everything because there will always be hundreds of ways to connect to another computer.
I don't get the "no" on your reply, zeronet is exactly that. Proxy-caching is not the actual content. if for whatever reason some ISP decides to block/remove it, the system is smart enough to look elsewhere, i.e. on other people's systems. That's the whole point of meshnets/p2p networks.
So many old terrible protocols, but I am not really qualified to go into the specifics. There are people who are qualified though, and I'd be hunting them down for the job. This is no small feat, and many smart people are working on it. And they still make mistakes.
Suffice to say, It shouldn't be possible to spoof traffic, inject traffic, DDOS, DNS bomb or what ever its called. Good encryptions practices should be built in where needed. There needs to be a better way to handle certificates/certificate authorities. Too many rogue CAs out there allowing people to make certificates for things they do not own. Not to mention entire countries running HTTPS proxies, creating certs on the fly, to inspect traffic. I guess that is just picking the list of things currently wrong and exploited, and re-designing where neccesary.
Well, it might actually be possible to sort of prevent DDOS. I mean if every node could detect it, then it could be configured to not forward the traffic. Traffic injection shouldn't be possible when encryption is used. Preventing spoofing will be tough though. If you can just impersonate any IP/MAC (or whatever) then you can't really be sure that the server you are talking to is actually the one you wanted to talk to. And as soon as we introduce CAs, we have the centralization issue again... The only fail proof way I can think of is that you acquire the public keys directly from the server owners.
Anti-spoofing is a thing that most NAT routers handle. The ISPs just need to support it. Basically, just ensure the sender in the packet headers matches where the packet came from. Since ISPs provide you with your address(es), they can validate your traffic matches it. However, spoofing isn't much of a problem when you can relatively easily create world-wide botnets from insecure IOT devices. Letsencrypt allows you to essentially get certificates generated by the server owners. It would allow someone to impersonate someone else, using a similar domain name etc. Education might be the key to ensure you got get phished.
I was talking about the the idea of having no centralized nodes. That means ISPs do not exist. So it would be way harder than that to prevent spoofing.
I'd make it way more complicated, so the barrier to entry would be greater. That way there wouldn't be so many users breaking stuff that I have to fix.