Secure Scuttlebutt

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Fftehnik (обсуждение | вклад) в 20:39, 27 января 2024 (Приложения и документация: оформление). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Secure Scuttlebutt
Логотип программы Secure Scuttlebutt
Тип Протокол передачи данных, Распределённая социальная сеть, Content Delivery Network
Автор Доминик Тарр[1]
Разработчик Secure Scuttlebutt Consortium[2]
Написана на JavaScript
Операционные системы macOS, Linux, Windows
Языки интерфейса Английский
Первый выпуск 11 мая 2014; 10 лет назад (2014-05-11)
Последняя версия
Репозиторий github.com/ssbc/ssb-serv…
github.com/ssbc/scuttleb…
Лицензия MIT license
Сайт scuttlebutt.nz

Secure Scuttlebutt (SSB) — это протокол одноранговых сетей и социальная сеть с ячеистой топологией[4][5]. Каждый пользователь хранит свой контент и контент других пользователей, на которых он подписан, что обеспечивает отказоустойчивость и согласованность в конечном итоге[6]. Сообщения подписываются цифровой подписью и сохраняются в список сообщений без возможности удаления или изменения[7]. Протокол SSB используется для развёртывания распределенных социальных сетей. Для гарантии того, что при распространении по сети содержимое сообщений не было изменено, используется криптография[8][9].

История

SSB был создан Домиником Тарром в 2014 году в рамках экспериментальной разработки альтернативных баз данных и распределенных систем[10]. Тарр жил на парусной лодке с непостоянным подключением к Интернету и заинтересовался созданием безопасного gossip-протокола для социальных сетей, удобного для использования в автономном режиме[11][12]. Слово Scuttlebutt на жаргоне моряков означает «сплетни у кулера с водой»[13]. SSB приобрел популярность на волне споров о конфиденциальности, возникших против традиционных социальных сетей[14][15].

Протокол

Secure Scuttlebutt работает как база данных неизменяемых новостных лент, доступных только для добавления новых сообщений, что обеспечивает распространение данных через Интернет, локальные сети и флоппинеты с высокой надёжностью. Сообщения хешируются с помощью SHA256 и проверяются с помощью подписи Ed25519; это делает невозможным подделку сообщения без закрытого ключа автора[16]. Пользователи загружают сообщения только тех пользователей, на которых подписаны они сами и пользователей из списков их подписок, что предотвращает домогательства и спам . Это делает сеть доступной только по приглашению, а это означает, что новые одноранговые узлы, которые присоединяются к сети, не видны, пока кто-то не подпишется на них[17][18].

Пользовательский контент в SSB организован как последовательность неизменяемых сообщений только для добавления, где сообщения криптографически подписывают смежные сообщения с целью гарантировать невозможность подделки последовательностей при их передаче другим узлам. Узлы SSB обмениваются публичными ключами и устанавливают защищённое соединения друг с другом, используя протокол Authenticated Key Exchange[19][20].

Приложения и документация

Эталонная реализация приложения написана на JavaScript с применением Node.js[21]. Также предпринимаются активные усилия по использованию Go[22], Python[23] и Rust[24]. Документацию для всех перечисленных реализаций можно найти на сайте dev.scuttlebutt.nz.

На SSB реализовано множество независимых приложений, в том числе социальная сеть, обмен музыкой, шахматы, подсистема Git и реестр npm[25][26][27][28].

См. также

Примечания

  1. Initial commit. GitHub (11 мая 2014). Дата обращения: 17 января 2019. Архивировано 20 октября 2021 года.
  2. Secure Scuttlebutt Consortium. GitHub (2019). Дата обращения: 17 января 2019. Архивировано 25 мая 2022 года.
  3. Release 13.5.0 — 2018.
  4. Tarr, Dominic (September 2019). "Secure Scuttlebutt: An Identity-Centric Protocol for Subjective and Decentralized Applications". Proceedings of the 6th ACM Conference on Information-Centric Networking: 1–11. doi:10.1145/3357150.3357396.
  5. Dweb: Social Feeds with Secure Scuttlebutt – Mozilla Hacks - the Web developer blog (амер. англ.). Mozilla Hacks – the Web developer blog. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  6. Scuttlebutt Protocol Guide. ssbc.github.io. Дата обращения: 16 июля 2019. Архивировано 28 августа 2019 года.
  7. Bogost. The Nomad Who's Exploding the Internet Into Pieces (амер. англ.). The Atlantic (22 мая 2017). Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  8. Introduction · GitBook. www.scuttlebutt.nz. Дата обращения: 16 июля 2019. Архивировано 21 июля 2019 года.
  9. In The Mesh - Scuttlebutt, A Decentralized Alternative To Facebook (англ.). In the Mesh (19 апреля 2018). Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  10. epicenterbitcoin. Dominic Tarr: Secure Scuttlebutt – The "Localized" but Distributed Social Network (англ.). Let's Talk Bitcoin. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  11. Bogost. The Nomad Who's Exploding the Internet Into Pieces. The Atlantic. Дата обращения: 20 января 2019. Архивировано 16 июля 2019 года.
  12. Anadiotis. Manyverse and Scuttlebutt: a human-centric technology stack for social applications. ZDNet. Дата обращения: 20 января 2019. Архивировано 6 мая 2022 года.
  13. Nautical Terms and Phrases... Their Meaning and Origin (англ.) (5 мая 2005). Архивировано 1 января 2009 года.
  14. Secure Scuttlebutt - Scuttlebot (англ.). scuttlebot.io. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  15. Open-source alternative to Facebook called Scuttlebutt gaining prominence (амер. англ.). Facebook Collapse. Дата обращения: 16 июля 2019. Архивировано 7 апреля 2020 года.
  16. Tschudin, Christian F. (May 2019). "A Broadcast-Only Communication ModelBased on Replicated Append-Only Logs" (PDF). ACM Computer Communication Review.
  17. Getting Started with Secure Scuttlebutt (SSB) » Miguel Mota | Software Developer. miguelmota.com. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  18. Ryabitsev. Patches carved into developer sigchains (англ.). Konstantin Ryabitsev (5 июля 2019). Дата обращения: 16 июля 2019. Архивировано 15 июля 2019 года.
  19. Tarr. Designing a Secret Handshake: Authenticated Key Exchange as a Capability System. GitHub. Дата обращения: 20 января 2019. Архивировано 11 марта 2022 года.
  20. Secure Scuttlebutt - Scuttlebot. scuttlebot.io. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  21. Github: ssbc/ssb-server
  22. cryptoscope / ssb (англ.). Дата обращения: 14 июня 2022. Архивировано 18 июня 2022 года.
  23. pferreir / pyssb (англ.). Дата обращения: 14 июня 2022. Архивировано 20 октября 2021 года.
  24. sunrise-choir / meta (англ.). Дата обращения: 14 июня 2022. Архивировано 25 мая 2022 года.
  25. Applications · GitBook. www.scuttlebutt.nz. Дата обращения: 16 июля 2019. Архивировано 11 июля 2019 года.
  26. André Staltz - An off-grid social network. staltz.com. Дата обращения: 16 июля 2019. Архивировано 13 мая 2019 года.
  27. hackergrrl / ssb-npm-101 (англ.). Дата обращения: 14 июня 2022. Архивировано 14 июня 2022 года.
  28. Whitepaper In Four Minutes - Secure Scuttlebutt (SSB). infourminutes.co. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.

Ссылки

Официальный сайт