Secure Scuttlebutt et al

Social media for off-the-grid

November 18, 2020 — August 8, 2023

computers are awful together
confidentiality
distributed
diy
economics
P2P

Scuttlebutt is a P2P-flavoured DIY social media with critical mass amongst a certain type of cryptopunk. To be precise, “Scuttlebutt” is shorthand for a complex ecology of pieces making up the “scuttleverse”, most of which, as consumers, we can ignore.

Influential developer André Staltz explains the value proposition. The flagship applications seem to be

This started as the übergeek social network for survivalists and ecomodernists. Run it from your bugout yacht after a climate apocalypse, while malevolent totalitarian states try to censor your messages and steal your stockpiled tinned food and/or vaccinate you with singulitarian COVID nanobots! Explicitly:

Scuttlebutt is decentralized in a similar way that Bitcoin or BitTorrent are. Unlike centralized systems like PayPal or Dropbox, there is no single website or server to connect when using decentralized services. Which in turn means there is no single company with control over the network.

However, Scuttlebutt differs from Bitcoin and BitTorrent because there are no “singleton components” in the network. When accessing the BitTorrent network, for instance, you need to connect to a Distributed Hash Table [for which] you need to connect to a bootstrapping server [and] still depend on the existence of ISPs and the internet backbone. …

Secure Scuttlebutt is also different to federated social networks like Mastodon, Diaspora, GNU social, OStatus. Those technologies are not peer-to-peer, because each component is either a server or a client, but not both. Federated social networks are slightly better than centralized services like Facebook because they provide some degree of choice where your data should be hosted. However, there is still trust and dependency on third-party servers and ISPs, which makes it possible for administrators of those to abuse their power, through content policies, privacy violations or censorship.

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.

In practical terms: the main backend bit, which users can probably ignore, is the distributed data store, scuttlebot. On top of that you run user-facing apps like patchwork (the proof-of-concept reference app), Manyverse or Planetary. There are many although not all are sustainable or viable.

A cypherlink to my experimental scuttlebutt profile: @GccFBnmWOl2IB5l1rJjEZX9J4T8jLgmDQcAON5mzBOY=.ed25519 although I have not used it often because the sync has been too slow for any real conversation.

1 Scuttlebutt ng

The protocol is evolving in the open. However, some have pivoted away entirely to Nostr.

2 Value proposition

SSB does not replace Twitter. Staltz:

Let’s be frank, we’re building decentralized social systems, and if you’ve been following this space recently, you probably know about Bluesky or Nostr. In particular, Bluesky in particular has been getting a lot of attention, and I think it’s important to know what goals PPPPP is trying to achieve versus what goals Bluesky or Nostr are trying to achieve.

SSB is not a very good replacement for Twitter, and neither will PPPPP be. On the other hand, it seems like Bluesky and Nostr are obvious Twitter alternatives. So why are we building PPPPP? What is the point?

One thing is social media, a place where anyone can join any conversation (this is a feature as much as it’s a bug!), a place where you talk at people and build reputation or viral content, and a dangerous place that puts people at risk of seeing offensive content or direct harassment.

Another thing are social networks, a place where only people who know each other participate in conversations (this is a feature as much as it’s a bug!), a place where you talk to people and build relationships, and a relatively safe place defined by people you know and acquaintances.

I’ve been following how Bluesky is evolving, and while technically impressive, built a brilliant team who is closely familiar with SSB, I am not excited by the prospect of decentralized social media. They are having to hire content reviewers, do a lot of centralized moderation, and both Nostr and Bluesky are easily flooded by a wall of unsolicited nudes. This is an inherent property of social media, be it centralized or decentralized

3 Rooms

Rooms are where clients can meet, handshake and exchange data. A room is a minimal viable internet presence for connecting disparate clients via an always-on node.

Explanation available in Announcing: SSB Rooms. The original software mentioned in that post is broken in various ways.. Instead, use ssb-ngi-pointer/go-ssb-room: Room server implemented in Go

Alternatively, one could use a VPN tunnel to connect to an always-on standard client on a device that was not on the internet e.g. on a home network.

3.1 utils

4 Nostr

See Nostr.