Scuttlebutt: an "off-grid" P2P social network that runs without servers and can fall back to sneakernet

Dominic Tarr is a developer who lives on a self-steering sailboat in New Zealand; he created Scuttlebutt, a secure messaging system that can run without servers, even without ISPs.

Scuttlebutt users host append-only, cryptographically signed logs of all the public messages they've seen in their journeys, and when they meet, they sync up these messages, using their local network, or even by exchanging USB sticks of cryptographically signed files.

Thought Scuttlebutt doesn't require an ISP or servers, it can supercharge its throughput and synchrony by connecting to public servers (called "pubs") that act as clearinghouses: but taking down all the pubs will not destroy the network, only slow it down as it falls back on slower, higher-latency, lower-reliability P2P meshes.

It reminds me a lot of Fidonet, Tom Jennings' classic BBS networking infrastructure that linked millions of people around the world by programming local dial-up BBSes to call one another during off-peak/low-tariff hours and swap messages destined for one another, or more distant nodes. Fidonet eventually got a bridge into Usenet (thanks to The Little Garden, John Gilmore's trailblazing San Francisco ISP) that supercharged it in much the way of Scuttlebutt's pubs.

In Scuttlebutt, the "mesh" suffices. With simply two computers, a local router, and electricity, you can exchange messages between the computers with minimal effort and no technical skills. Each account in Scuttlebutt is a diary (or "log") of what a person has publicly and digitally said. As those people move around between different WiFi / LAN networks, their log gets copy-pasted to different computers, and so digital information spreads.

What word of mouth is for humans, Scuttlebutt is for social news feeds. It is unstoppable and spreads fast. Once the word is out (just an arbitrary example) that Apple is releasing a new iPhone model, there is no way to restrict that information from spreading. A person may tell that piece of information to any of their friends, and those friends may in turn spread that information onwards.

With typical gossip, however, information deteriorates as it spreads and eventually becomes harmful rumor. Scuttlebutt on the other hand makes word of mouth secure with cryptography. Each Scuttlebutt account is comprised of simply two things: an append-only diary and private/public asymmetric crypto keys. An account's identity is its public key. There are no unique usernames, because you can't guarantee two people in separate places from choosing the same username, much like you cannot forbid the name "John Smith" to be given to a newborn in Canada if it is already taken by another person in Australia.

All information a person has published is registered in their diary. Public messages (like in Twitter) are the most common type of message in a diary, but you'll also see "I am friends with that person" type of messages. To 'send' a private message to someone, I simply record a message in my diary, but encrypt it first, so the message isn't plainly readable by anyone who gets their hands on a copy of the diary. Authenticity of diaries is preserved in that all diary entries reference the message that was written before, and then is signed. This prevents tampering and makes replication easier.


[Andre Saltz]

(via 4 Short Links)