Thoughts about a Pirate Internet

With all the talk of net neu­tral­i­ty, Wik­ileaks hav­ing it’s host­ing ser­vices pulled, and now the unfold­ing events in Egypt and else­where with inter­net ser­vices being with­drawn, I’ve been doing some think­ing around how we might cre­ate an inde­pen­dent­ly con­trolled inter­net. I’m cer­tain­ly not the only one think­ing about these issues, they’ve been occur­ring for a long time. While I won’t claim to be an expert on the engi­neer­ing details, what fol­low­ers is a ran­dom col­lec­tion of ideas of what I’m think­ing about this at the moment, and what I’ve found online that oth­ers are doing / have done.

The inter­net is not (at least how it works today) a pub­lic util­i­ty, it is a mish-mash of most­ly pri­vate­ly owned net­works oper­at­ing with a com­mon agreed pro­to­col and there are var­i­ous arrange­ments for how traf­fic can tran­sit. This cre­ates a vul­ner­a­bil­i­ty as inter­net traf­fic and our free­dom of speech are depen­dant on our ISP’s and Hosts eco­nom­ic and polit­i­cal sit­u­a­tions, our traf­fic becomes vul­ner­a­ble to being mon­i­tored, blocked or as what is hap­pen­ing in Egypt right now, shut of com­plete­ly via gov­ern­ment edict. We talk about how the web has enabled unpar­al­leled free­dom of speech, but this is under threat like nev­er before.

I’m think­ing that there is an alter­na­tive in terms of how we could run the inter­net. What if we could make it a pub­lic, but com­mu­ni­ty owned not gov­ern­ment owned util­i­ty? A co-op enter­prise on the scale of the GNU project to build out a com­mu­ni­ty owned, main­tained and oper­at­ed tier 1 net­work, becom­ing part of the inter­net back­bone. Are there new types of pro­to­cols and net­work­ing infra­struc­ture that can be designed and built? Can this be done with read­i­ly avail­able tools and net­work­ing tech­nol­o­gy? What hap­pens when we build a phys­i­cal dark-net? What I’m think­ing about and propos­ing is pos­si­ble is a Pirate Inter­net, a ref­er­ence to Pirate radio would serve as an inde­pen­dent, com­mu­ni­ty owned net­work infrastructure.

Before main­stream inter­net / web access was avail­able, quite a few peo­ple would use their modems to dial up oth­er com­put­ers. These Bul­letin Board sys­tems (BBS’s) would be con­nectable by a modem pool, you could leave mes­sages, get mes­sages post­ed to you, often down­load a bunch of files. My broth­er used to con­nect to a bunch of them on the old Ami­ga, One was called Quan­tum, anoth­er had a Baby­lon 5 theme, all of which acces­si­ble over a ter­mi­nal text inter­face. This was basi­cal­ly an inde­pen­dent inter­net of its day. Not only could you leave mes­sages and file exchanges with peo­ple on the BBS you where con­nect­ed to, but the e‑mail ser­vice would store and for­ward mes­sages on to oth­er BBS’s. I’m not sure if the ones my broth­ers con­nect­ed to where part of Fidonet, but basi­cal­ly the BBS host would peri­od­i­cal­ly dial up oth­er BBS’s to deliv­er mail and oth­er files. This was a way of chat­ting glob­al­ly at only a local call rate at the time, as the host com­put­ers would dial and for­ward mes­sages to near­by BBS of the same net­work. Lat­er on these would become access points for the inter­net in its own right, most­ly allow­ing e‑mail via the inter­net and a Usenet serv­er, I think my first e‑mail address was on one of these, though I nev­er found a use for it at the time. Still there was def­i­nite­ly a kind of nice geek­i­ness to inter­ac­tions over this inde­pen­dent hid­den ‘Net.’ Its also inter­est­ing to note that these inde­pen­dent nets are still out there (though most let you con­nect through the inter­net now).

Anoth­er take on this idea is the Sneak­er-net, so called after the footwear. In these net­works, the files are exchanged on usb flash dri­ves (or CD’s, Flop­py Disks etc…), per­son to per­son. This way data is passed via per­son­al con­nec­tions, most­ly intend­ed as a way of dis­trib­ut­ing large files where band­width isn’t avail­able or where phys­i­cal net­work con­nec­tions arn’t present. It’s an old idea, Tetris was spread in the com­mu­nist coun­tries flop­py disk to flop­py disk as there was no restric­tion on peo­ple dis­trib­ut­ing, man­ag­ing to spread to all cor­ners of the USSR and Com­mu­nist Coun­tries. There’s also the Aprils Fool joke RFC 1149 (or updat­ed for ‘qual­i­ty of ser­vice’ as RFC 2549) IP over Avian Car­ri­ers which has had a few test imple­men­ta­tions (just for fun, but demon­strates an inter­est­ing point).

On the inter­net side, there’s some very inter­est­ing devel­op­ments in terms of decen­tral­is­ing the under­ling inter­net infra­struc­ture. There are alter­na­tive root zone DNS servers, which are servers that act as a ref­er­ence point for oth­er DNS servers to trans­late domain names to IP address­es. The most inter­est­ing part of hav­ing these inde­pen­dent­ly man­aged root servers is the pos­si­bil­i­ty of intro­duc­ing new top lev­el domains that are hid­den from the rest of the net­work, for exam­ple if you (or your isp) uses Open­Nic as ref­er­ence DNS servers, you can pick up and reg­is­ter sites in the .free and oth­er top lev­el domains. There’s also P2P DNS so we don’t have to be reliant on ISP’s to do domain name trans­la­tion, but this process is dis­trib­uted so it can build up cen­sor­ship resis­tance. Final­ly there are true hid­den dark-nets on the inter­net, sort of meta inter­nets. One such as Freenet works by mak­ing each part of the net­work an encrypt­ed cache that stores part of the data itself, so when you want to host con­tent, you push it into the net­work, and it becomes dis­trib­uted amongst the nodes as more peo­ple down­load (or falls of the net­work if it is not popular).

The most excit­ing for me, in terms of what I am think­ing for a Pirate Inter­net, are the wi-fi mesh net­works. There’s quite a few been set up and active, some com­mer­cial and oth­ers more com­mu­ni­ty owned. An exam­ple is (and I’m not sure if it is still going but is very close to what I have been think­ing about), which from my under­stand­ing, is a set of inde­pen­dent­ly oper­at­ed mesh net­works that are all con­nect­ed togeth­er across Lon­don. Host­ed con­tent can be acces­si­ble freely, while there may be a charge to use the net­work as an access point to the wider inter­net. What I like about this is the very DIY ad hoc nature of putting togeth­er these net­works. Anoth­er idea I real­ly like is a plan to pur­chase a com­mu­ni­ca­tion satel­lite from a bank­rupt tel­co and move it over Africa to pro­vide free inter­net. I found Kostas Gram­ma­tis TedxA­thens Talk quite inspi­ra­tional, I real­ly like the idea of hav­ing an open satel­lite net­work avail­able to some of the poor­est coun­tries in the world.

Onto my approach, again this is just ideas on what I am think­ing about at the moment.

Sim­i­lar to the tech­nique fol­lowed by, we could devel­op a set of com­mu­ni­ty owned and main­tained mesh net­works, say in a sin­gle street or local­i­ty. Some of which would have access points to the main inter­net from it, but not every node on the net­work needs to con­nect to the main inter­net, hope­ful­ly the hard­ware should be able to use off the shelf kit (some­thing to research). Attached to each mesh net­work would be a microwave link to oth­er mesh net­works, I’m think­ing it could be sim­i­lar to how pirate sta­tions link their stu­dios to the TX site, eas­i­ly assem­ble and dis­trib­utable instruc­tions, which are then used to link these mesh net­works togeth­er. This forms an inde­pen­dent back­bone for traf­fic trav­el­ling via mesh to mesh, and depend­ing on how scal­able this could become a glob­al net­work. Ques­tions are: how to link cities togeth­er? can it cross bor­ders? could we get that satel­lite capac­i­ty? how to make the net­work resilient from take down and sab­o­tage par­tic­u­lar­ly in heav­i­ly cen­sored coun­tries where build­ing a Pirate Inter­net could be made illegal?

This com­mu­ni­ty owned mesh net­work would allow for for­ward­ing to the main inter­net, and could even become part of the inter­net for allow­ing traf­fic to tran­sit (to make this DIY net­work part of the main inter­net back­bone prop­er). For added pri­va­cy, Tor like onion rout­ing could be imple­ment­ed and P2P DNS while traf­fic is trav­el­ling over the mesh, so there would be many access points con­nect­ed to the mesh net­work you are on, but also traf­fic could be rout­ed to a dif­fer­ent mesh via the microwave link to exit and appear from there.

Where this comes into it’s own though is by pro­vid­ing an under­ground net­work, a sort of dark net. There could be two types of net­work address recog­nised inter­nal­ly. A .mesh address would be local con­tent, effec­tive­ly for run­ning your own web-serv­er or e‑mail serv­er on your local mesh, with net­work address­ing so that it is reach­able from mesh to mesh, this would use stan­dard IP net­work­ing method­ol­o­gy, though like the alter­na­tive DNS this would only be acces­si­ble for those on the mesh (and there would be options to how it could be acces­si­ble, but essen­tial­ly a quick way of adding servers). The sec­ond method would take after Freenet, and use encrypt­ed cached stor­age to push and pull con­tent into the net­work. These .libre address would be con­tent stores with appro­pri­ate keys, and each part of the mesh would have some reserved capac­i­ty for caching this con­tent as it trav­els the mesh.

Anoth­er issue to think about is SSL cer­tifi­cates and self sign­ing, or hav­ing a net­work of trust that can sign on your behalf. This would be instead of going to a cer­tifi­cate author­i­ty to get cre­den­tials to encrypt some­thing on the net­work, you could self sign, and oth­ers could main­tain an ‘excep­tion list’ of peo­ple they trust that they can vouch for (or revoke their cer­tifi­cate as the case may be), that oth­ers on the mesh have the option to sub­scribe to.

There’s even the pos­si­bil­i­ty of adding oth­er com­mu­ni­ca­tion types, IP over Ham Radio (good for deliv­er­ing e‑mail). Back in the eight­ies (accord­ing to the man­u­al of the BBC Micro which I still have) there used to be pro­grams broad­cast over the air (with­in the tele­text stream). How about using broad­cast to send IP data? say updat­ing a local pre-dis­trib­uted copy of wikipedia, or a Twit­ter like net­work which broad­casts lat­est sta­tus updates for every­one and lets the client side device such as a mobile phone fig­ure out the fol­low­ing time­line. That would require an infra­struc­ture inde­pen­dent return path to post, plus pub­lic / pri­vate key encryp­tion for pri­va­cy and to pre­vent spoof­ing, but could it work?

There’s lots of things to think about on this issue, I’m still very much research­ing this, to see what is pos­si­ble. I’m very inter­est­ed in hav­ing con­ver­sa­tions about secur­ing a free inter­net infra­struc­ture. Ask­ing, and debat­ing, the pos­si­bil­i­ties for a Pirate Internet?

Former blog post

Original Publication date : January 2011
Location : Baxterley, United Kingdom