Secure Scuttlebutt

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Secure Scuttlebutt
Hermies.png
Original author(s)Dominic Tarr[1]
Developer(s)Secure Scuttlebutt Consortium[2]
Initial release11 May 2014; 5 years ago (2014-05-11)
Repositorygithub.com/ssbc/ssb-server
Written inJavaScript
Operating systemmacOS, Linux, Windows
Available inEnglish
TypeProtocol, distributed file system, content delivery network
LicenseMIT license
Websitescuttlebutt.nz

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[edit]

SSB was created by Dominic Tarr in 2014 as part of experimental development in alternative databases and distributed systems.[9] Dominic 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[edit]

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[edit]

The reference implementation is written in JavaScript with Node.js.[19] There are also active implementation efforts in Go, Python, and Rust.[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[edit]

References[edit]

  1. ^ "Initial commit". GitHub. 11 May 2014. Retrieved 17 January 2019.
  2. ^ "Secure Scuttlebutt Consortium". GitHub. 2019. Retrieved 17 January 2019.
  3. ^ 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.
  4. ^ "Dweb: Social Feeds with Secure Scuttlebutt – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog. Retrieved 16 July 2019.
  5. ^ "Scuttlebutt Protocol Guide". ssbc.github.io. Retrieved 16 July 2019.
  6. ^ Bogost, Ian (22 May 2017). "The Nomad Who's Exploding the Internet Into Pieces". The Atlantic. Retrieved 16 July 2019.
  7. ^ "Introduction · GitBook". www.scuttlebutt.nz. Retrieved 16 July 2019.
  8. ^ "In The Mesh - Scuttlebutt, A Decentralized Alternative To Facebook". In the Mesh. 19 April 2018. Retrieved 16 July 2019.
  9. ^ epicenterbitcoin. "Dominic Tarr: Secure Scuttlebutt – The "Localized" but Distributed Social Network". Let's Talk Bitcoin. Retrieved 16 July 2019.
  10. ^ Bogost, Ian. "The Nomad Who's Exploding the Internet Into Pieces". The Atlantic. Retrieved 20 January 2019.
  11. ^ Anadiotis, George. "Manyverse and Scuttlebutt: a human-centric technology stack for social applications". ZDNet. Retrieved 20 January 2019.
  12. ^ [1] Archived January 1, 2009, at the Wayback Machine
  13. ^ a b "Secure Scuttlebutt - Scuttlebot". scuttlebot.io. Retrieved 16 July 2019.
  14. ^ "Open-source alternative to Facebook called Scuttlebutt gaining prominence". Facebook Collapse. Retrieved 16 July 2019.
  15. ^ Tschudin, Christian F. (May 2019). "A Broadcast-Only Communication ModelBased on Replicated Append-Only Logs" (PDF). ACM Computer Communication Review.
  16. ^ "Getting Started with Secure Scuttlebutt (SSB) » Miguel Mota | Software Developer". miguelmota.com. Retrieved 16 July 2019.
  17. ^ Ryabitsev, Konstantin (5 July 2019). "Patches carved into developer sigchains". Konstantin Ryabitsev. Retrieved 16 July 2019.
  18. ^ Tarr, Dominic. "Designing a Secret Handshake: Authenticated Key Exchange as a Capability System" (PDF). GitHub. Retrieved 20 January 2019.
  19. ^ The gossip and replication server for Secure Scuttlebutt: a distributed social network, Secure Scuttlebutt Consortium, 16 July 2019, retrieved 16 July 2019
  20. ^ A full-stack implementation of secure-scuttlebutt using the Go programming language., cryptoscope, 15 July 2019, retrieved 16 July 2019
  21. ^ Ferreira, Pedro (14 June 2019), Secure Scuttlebutt protocol suite implementation in Python: pferreir/pyssb, retrieved 16 July 2019
  22. ^ meta information about the Sunrise Choir, Sunrise Choir, 18 June 2019, retrieved 16 July 2019
  23. ^ "Applications · GitBook". www.scuttlebutt.nz. Retrieved 16 July 2019.
  24. ^ "André Staltz - An off-grid social network". staltz.com. Retrieved 16 July 2019.
  25. ^ noffle (3 July 2019), Installing & using npm with secure scuttlebutt, retrieved 16 July 2019
  26. ^ "Whitepaper In Four Minutes - Secure Scuttlebutt (SSB)". infourminutes.co. Retrieved 16 July 2019.