Secure Scuttlebutt (SSB) is a
peer-to peer communication
protocol,
mesh network, and
self-hosted social media
Social media are interactive technologies that facilitate the Content creation, creation, information exchange, sharing and news aggregator, aggregation of Content (media), content (such as ideas, interests, and other forms of expression) amongs ...
ecosystem. Each user hosts their own content and the content of the peers they follow, which provides
fault tolerance
Fault tolerance is the ability of a system to maintain proper operation despite failures or faults in one or more of its components. This capability is essential for high-availability, mission-critical, or even life-critical systems.
Fault t ...
and
eventual consistency. Messages are
digitally signed and added to an append-only list of messages published by an author.
SSB is primarily used for implementing
distributed social networks, and utilizes
cryptography
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
to assure that content remains unforged as it is propagated through the network.
In contrast to the major corporate social media platforms, user data and content on Secure Scuttlebutt is not monetized, there are no software design decisions being made in order to maximize user engagement or boost
marketing metrics, and there is no paid advertising. According to ''Forbes'', "Scuttlebutt itself isn't supported by venture capital. Instead ... Scuttlebutt is backed by grants that helped jump-start the process ...
ndthere are now hundreds of users who personally donate to the cause and an estimated 30,000 people using one of at least six social networks on the protocol".
History
SSB was created by Dominic Tarr in 2014 as part of experimental development in alternative databases and distributed systems. Tarr lived on a sailboat with unreliable internet connection, and became interested in creating an
offline-friendly secure gossip protocol
A gossip protocol or epidemic protocol is a procedure or process of computer peer-to-peer communication that is based on the way epidemics spread. Some distributed systems use peer-to-peer gossip to ensure that data is disseminated to all members ...
for social networking.
The word
scuttlebutt is slang for "water-cooler gossip" among sailors. SSB gained popularity on the wave of
privacy controversies raising against the traditional social media.
Protocol
Secure Scuttlebutt operates as a database of immutable append-only feeds, which allows resilient replication over the
Internet
The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
,
local area network
A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, campus, or building, and has its network equipment and interconnects locally managed. LANs facilitate the distribution of da ...
s, and
sneakernets. Messages are hashed with
SHA256 and verified with an
Ed25519 signature; this makes it impossible to forge a message without the
private key of the author. Users only download messages from peers that they follow (and optionally
friends of friends), which prevents harassment and
spam
Spam most often refers to:
* Spam (food), a consumer brand product of canned processed pork of the Hormel Foods Corporation
* Spamming, unsolicited or undesired electronic messages
** Email spam, unsolicited, undesired, or illegal email messages
...
. This makes the network invite-only, meaning that new peers who join the network aren't visible until someone follows them.
User content in SSB is organized as an append-only sequence of immutable messages, where messages
cryptographically sign adjacent messages for the purpose of guaranteeing
unforgeability of the sequences as they are replicated to other peers. SSB peers exchange
asymmetric keys and establish authenticated connections between each other using an
Authenticated Key Exchange protocol, ''Secret Handshake''.
Applications and documentation
The
reference implementation
In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation ...
was written using
Node.js, as code that runs on a
JavaScript engine. There are active implementation efforts in the
Go programming language, as well as in
Python, and
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
. Documentation for these implementations can be found at the official SSB development site.
Many independent applications have been implemented on SSB, including a
social network
A social network is a social structure consisting of a set of social actors (such as individuals or organizations), networks of Dyad (sociology), dyadic ties, and other Social relation, social interactions between actors. The social network per ...
,
music sharing,
chess
Chess is a board game for two players. It is an abstract strategy game that involves Perfect information, no hidden information and no elements of game of chance, chance. It is played on a square chessboard, board consisting of 64 squares arran ...
, a
Git
Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Design goals of Git include speed, data integrity, and suppor ...
subsystem, and an
npm registry.
See also
*
Nostr
*
AT Protocol
The AT Protocol (Authenticated Transfer Protocol, pronounced " @ protocol" and commonly shortened to ATProto) is a protocol and open standard for distributed social networking services. It is under development by Bluesky Social PBC, a public ...
*
Briar
*
Comparison of distributed social networks
*
Dat
*
Freenet
Hyphanet (until mid-2023: Freenet) is a peer-to-peer platform for censorship-resistant, Anonymity application, anonymous communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free soft ...
*
Git
Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Design goals of Git include speed, data integrity, and suppor ...
*
IPFS
*
ActivityPub
*
Perkeep
*
RetroShare
*
Urbit
*
ZeroNet
References
Further reading
*
External links
* {{Official website
Peer-to-peer computing
Mesh networking