Secure Scuttlebutt
![]() | |
Original author(s) | [1] |
---|---|
Developer(s) | Secure Scuttlebutt Consortium[2] |
Initial release | 11 May 2014 |
Repository | github |
Written in | JavaScript |
Operating system | macOS, Linux, Windows |
Available in | English |
Type | Protocol, distributed file system, content delivery network |
License | MIT license |
Website | scuttlebutt |
Secure Scuttlebutt (SSB) is a peer-to peer communication protocol, mesh network, and self-hosted social media ecosystem.[3][4] Each user hosts their own content and the content of the peers they follow, which provides fault tolerance and eventual consistency.[5] Messages are digitally signed and added to an append-only list of messages published by an author.[6] SSB is primarily used for implementing distributed social networks, and utilizes cryptography to assure that content remains unforged as it is propagated through the network.[7][8]
History[]
SSB was created by Dominic Tarr in 2014 as part of experimental development in alternative databases and distributed systems.[9] Tarr lived on a sailboat with unreliable internet connection, and became interested in creating an offline-friendly secure gossip protocol for social networking.[10][11] The word scuttlebutt is slang for "water-cooler gossip" among sailors.[12] SSB gained popularity on the wave of privacy controversies raising against the traditional social media.[13][14]
Protocol[]
Secure Scuttlebutt operates as a database of immutable append-only feeds, which allows resilient replication over the Internet, local area networks, 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.[15] Users only download messages from peers that they follow (and optionally friends of friends), which prevents harassment and spam. This makes the network invite-only, meaning that new peers who join the network aren't visible until someone follows them.[16][17]
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 unforgeabilitity 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.[18][13]
Applications[]
The reference implementation is written in JavaScript with Node.js.[19] There are also active implementation efforts in Go (github/cryptoscope/ssb), Python (github/pferreir/pyssb), and Rust (github/sunrise-choir/meta).[20][21][22]
Many independent applications have been implemented on SSB, including a social network, music sharing, chess, a Git subsystem, and an npm registry.[23][24][25][26]
See also[]
- IPFS
- Perkeep
- Mastodon
- Git
- ZeroNet
- Dat
- RetroShare
- Freenet
- Briar
- Urbit
- Comparison of software and protocols for distributed social networking
Part of a series on |
File sharing |
---|
![]() |
Technologies |
Video sharing sites |
BitTorrent sites |
Academic |
File sharing networks |
|
P2P clients |
Streaming programs |
Anonymous file sharing |
Development and societal aspects |
By country or region |
Comparisons |
References[]
- ^ "Initial commit". GitHub. 11 May 2014. Retrieved 17 January 2019.
- ^ "Secure Scuttlebutt Consortium". GitHub. 2019. Retrieved 17 January 2019.
- ^ Tarr, Dominic; Lavoie, Erick; Meyer, Aljoscha; Tschudin, Christian (September 2019). "Secure Scuttlebutt: An Identity-Centric Protocol for Subjective and Decentralized Applications". Proceedings of the 6th ACM Conference on Information-Centric Networking. ICN '19: 1–11. doi:10.1145/3357150.3357396.
- ^ "Dweb: Social Feeds with Secure Scuttlebutt – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog. Retrieved 16 July 2019.
- ^ "Scuttlebutt Protocol Guide". ssbc.github.io. Retrieved 16 July 2019.
- ^ Bogost, Ian (22 May 2017). "The Nomad Who's Exploding the Internet Into Pieces". The Atlantic. Retrieved 16 July 2019.
- ^ "Introduction · GitBook". www.scuttlebutt.nz. Retrieved 16 July 2019.
- ^ "In The Mesh - Scuttlebutt, A Decentralized Alternative To Facebook". In the Mesh. 19 April 2018. Retrieved 16 July 2019.
- ^ epicenterbitcoin. "Dominic Tarr: Secure Scuttlebutt – The "Localized" but Distributed Social Network". Let's Talk Bitcoin. Retrieved 16 July 2019.
- ^ Bogost, Ian. "The Nomad Who's Exploding the Internet Into Pieces". The Atlantic. Retrieved 20 January 2019.
- ^ Anadiotis, George. "Manyverse and Scuttlebutt: a human-centric technology stack for social applications". ZDNet. Retrieved 20 January 2019.
- ^ [1] Archived January 1, 2009, at the Wayback Machine
- ^ Jump up to: a b "Secure Scuttlebutt - Scuttlebot". scuttlebot.io. Retrieved 16 July 2019.
- ^ "Open-source alternative to Facebook called Scuttlebutt gaining prominence". Facebook Collapse. Retrieved 16 July 2019.
- ^ Tschudin, Christian F. (May 2019). "A Broadcast-Only Communication ModelBased on Replicated Append-Only Logs" (PDF). ACM Computer Communication Review.
- ^ "Getting Started with Secure Scuttlebutt (SSB) » Miguel Mota | Software Developer". miguelmota.com. Retrieved 16 July 2019.
- ^ Ryabitsev, Konstantin (5 July 2019). "Patches carved into developer sigchains". Konstantin Ryabitsev. Retrieved 16 July 2019.
- ^ Tarr, Dominic. "Designing a Secret Handshake: Authenticated Key Exchange as a Capability System" (PDF). GitHub. Retrieved 20 January 2019.
- ^ The gossip and replication server for Secure Scuttlebutt: a distributed social network, Secure Scuttlebutt Consortium, 16 July 2019, retrieved 16 July 2019
- ^ A full-stack implementation of secure-scuttlebutt using the Go programming language., cryptoscope, 15 July 2019, retrieved 16 July 2019
- ^ Ferreira, Pedro (14 June 2019), Secure Scuttlebutt protocol suite implementation in Python: pferreir/pyssb, retrieved 16 July 2019
- ^ meta information about the Sunrise Choir, Sunrise Choir, 18 June 2019, retrieved 16 July 2019
- ^ "Applications · GitBook". www.scuttlebutt.nz. Retrieved 16 July 2019.
- ^ "André Staltz - An off-grid social network". staltz.com. Retrieved 16 July 2019.
- ^ noffle (3 July 2019), Installing & using npm with secure scuttlebutt, retrieved 16 July 2019
- ^ "Whitepaper In Four Minutes - Secure Scuttlebutt (SSB)". infourminutes.co. Retrieved 16 July 2019.
- Peer-to-peer computing