Secure Scuttlebutt

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Secure Scuttlebutt
Логотип программы Secure Scuttlebutt
Тип Протокол передачи данных, Распределённая социальная сеть, Content Delivery Network
Автор Доминик Тарр[1]
Разработчик Secure Scuttlebutt Consortium[2]
Написана на JavaScript
Операционные системы macOS, Linux, Windows
Языки интерфейса Английский
Первый выпуск 11 мая 2014; 10 лет назад (2014-05-11)
Лицензия MIT license
Сайт scuttlebutt.nz

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

История[править | править код]

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

Протокол[править | править код]

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

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

Приложения и документация[править | править код]

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

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

См. также[править | править код]

Примечания[править | править код]

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

Ссылки[править | править код]

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