Scuttlebutt (SSB) In More Detail: An Offline-Friendly Peer-to-Peer Communication and Mesh Networking Protocol And Self-Hosted Social Media Ecosystem (Similarities and overlaps with Holochain - technical and conceptual)

Scuttlebutt (SSB) In More Detail: An Offline-Friendly Peer-to-Peer Communication and Mesh Networking Protocol And Self-Hosted Social Media Ecosystem (Similarities and overlaps with Holochain - technical and conceptual)

By rhyzom | rhyzom | 29 Mar 2020


As I look further and in more detail into the Scuttlebutt protocol (recently brought to attention with an earlier short post), I realize it's actually a whole lot more than just a social networking app running on its own protocol. Scuttlebutt (or Secure Scuttlebutt, or SSB for short) is really a peer-to-peer gossip protocol that generalizes across many different kinds of applications in what it enables technically possible and practical in implementation. It's just that the first app which was built on top of it was the social networking one. SSB is essentially designed for simplicity, resilience and clarity. Including a regime of off-grid operation where users can sync up and relay messages and updates via anything from local networks to sneakernets to USB sticks with cryptographically signed files.

It is, in short both a peer-to-peer communication and mesh networking protocol AND a self-hosted social media ecosystem. It is also completely decentralized and peer-to-peer (and not federated, like for example Mastodon or Diaspora) and designed as a sort of diary or log of what a person has digitally and publicly signed (while able to keep a private feed as well). The stand-alone app streams user feeds in the interface as it receives them — which are otherwise distributed across hash tables (DHT - distributed hash tables). Each user identity is associated with its feed structured as an individual append-only hashchain (literally a blockchain). And the network toplogy maps links and relationships directly, meaning that if you're following someone you're actually doing so at the data layer. This data coordination model provides fault tolerance and eventual consistency.

351665157-934619953a4d840086ab0b5f8dc1b2d60ced561a865f5db8f7c9cb2307a616e0.png

The chained structure of the entries and messages which form the append-only log of a user's feed. This structure is usually called a hashchain (but you can also call it blockchain if you so prefer), where each message references the ID of the previous one in a chain of sequence which can be traced all the way back to the first message of the feed. Source: Scuttlebutt protocol guide.

 

This arrangement and design rationale above — the modeling of social apps and public spaces as DHTs + hashchains and replicating only what data is relevant and of interest to you (in place of the globally replicated monolithic ledger of the universal chain and it being recognized as a single source of validity and truth) is immediately reminiscent, if not quite similar, to Holochain's architecture (perhaps not surprising, given some of the shared premises of the two, but they're also at the same time uniquely different in other ways). 

There exist three implementations of Scuttlebutt:

  • a Javascript one (node.js) — the reference implementation,

  • a Go one (which is usable, but not complete),

  • and a Rust one that is being underway.

There is also a bundle of popular apps built on top of scuttlebutt available, like chess, git subsystem, npm registry, etc. The one that caught my attention was ticktack — a blog publishing app for long-form articles and publications (coming with integrated private messaging).

Scuttlebutt's development philosophy is to just directly focus on and aim at use value, i.e. whatever you're building or putting together, it should be guided by the clear purpose of the immediate utility it would deliver. I have to say this does have a special appeal to me in the manner in which it is kind of in the spirit of the earlier protocols, services and software, those from the nostalgic bygone era (when it was things like USEnet and IRC which defined the Internet) before the corporate capture of the Internet in what we've come to call Web 2.0.

Further resources and links 

 

 

 

 

 


rhyzom
rhyzom

Verum ipsum factum. Chaotic neutral.


rhyzom
rhyzom

Ad hoc heuristics for approaching complex systems and the "unknown unknowns". Techne & episteme. Verum ipsum factum. In the words of Archimedes: "Give me a lever and a place to rest it... or I shall kill a hostage every hour." Rants, share-worthy pieces and occasional insights and revelations.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.