> what stops the government from just getting the ISPs to turn off traffic?
Something like Xnet in Cory Doctorow's Little Brother. A mesh network where you send your requests into the 'mesh' and it encrypts the information and sends it out to the wider internet through exit nodes that are hooked up to ISPs. Were such a network to exist, then the mesh would extend across borders, so E.g. the US government would also have to convince Canada and Mexico to shut down their ISPs as well. The parts of the mesh that connected to Canada and Mexico wouldn't be able to route all casual internet traffic for the entire US, but it would be enough just to get information into (or out of) the country and onto the mesh network. Once on the US portion of the mesh network, the external information could be distributed amongst the nodes since the mesh network is independent of government control. The mesh network would also easily be able to allow people within the country to coordinate things like protests, etc. Shutting down the internet in instances like Egypt isn't necessarily about cutting off access to the outside, it's also about cutting off the ability of the people easily organize themselves en masse.
Mesh networks have never been practical on that scale and a number of recent DS papers (c.f. ACM digital archives) provide no support that it will ever be practical on that scale. Even if all the protocols are rewritten (as they will have to be), it will cost way too much money to switch. I personally believe the entire thing is a giant pipe dream, but whatever keeps people warm at night, I guess.
They don't necessarily need to be at the level of the entire internet. They could just be a series of 'dark-nets,' with some people belonging to more than one. It just needs to: 1) allow people to coordinate on a large/massive scale; 2) allow for information to leak into and out of the country with ease; and 3) be outside of government control (as in no central choke-points; obviously the authorities could bust down your down and forcibly take down your node).
Yes it's pretty simple. If enough people are committed to it, it will work. Which can only be driven by neccesity.
This might not be the case in western countries, right now, but once governments start to mess with communications infrastructure really badly (like happened in Egypt), people will use other, non-centralized ways to communciate.
Also, don't underestimate innovation, back in the 80's many people would think a global computer network that could be used by everyone, and is a big part of daily life, was a pipe dream.
Assuming the goal here is to have the Free Exchange of Information:
Step 1 is to own the hardware that serves up your information.
Step 2 is to own the path that your information travels upon.
You are correct, Step 2 is a significantly more difficult problem to solve, but this does not mean that we should not try to solve Step 1 while we have an opportunity to do so.
I believe IPv6 provides a start for what is necessary to solve Step 2.
IPSec is part of the protocol so these connections can be trusted. Also no NAT issues so connecting directly between trusted 'plugs' may be simpler than with IPv4. May need to start with a mesh network over a mix of paths that you own and paths that you may not.
I have no real world experience implementing IPv6, just been looking into it lately.
I would pay $99 for myself and buy each and every one of my friends one of these boxes if the concept proved true.