Secure Scuttlebutt

Secure Scuttlebutt
Тип Протокол передачи данных, Распределённая социальная сеть, Content Delivery Network
Автор Доминик Тарр[1]
Разработчик Secure Scuttlebutt Consortium[2]
Написана на JavaScript
Операционные системы macOS, Linux, Windows
Языки интерфейса Английский
Дата выпуска 11 мая 2014; 12 лет назад (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 (Сентябрь 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, Ian. 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, Ian. The Nomad Who's Exploding the Internet Into Pieces. The Atlantic. Дата обращения: 20 января 2019. Архивировано 16 июля 2019 года.
  12. Anadiotis, George. 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. (Май 2019). A Broadcast-Only Communication ModelBased on Replicated Append-Only Logs (PDF). ACM Computer Communication Review. Архивировано (PDF) 24 октября 2022. Дата обращения: 14 июня 2022.
  17. Getting Started with Secure Scuttlebutt (SSB) » Miguel Mota | Software Developer. miguelmota.com. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.
  18. Ryabitsev, Konstantin. Patches carved into developer sigchains (англ.). Konstantin Ryabitsev (5 июля 2019). Дата обращения: 16 июля 2019. Архивировано 15 июля 2019 года.
  19. Tarr, Dominic. 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, Архивировано 8 апреля 2022, Дата обращения: 14 июня 2022
  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 года.

Ссылки

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.