Русская Википедия:Secure Scuttlebutt

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Программа

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

История

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

Протокол

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

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

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

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

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

См. также

Примечания

Шаблон:Примечания

Ссылки

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