Перейти к содержанию

Secure Scuttlebutt

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

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

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