SSB работает уже несколько лет. Функции социальной сети можно протестировать при помощи двух настольных приложений (
Для функционирования Secure Scuttlebutt достаточно двух компьютеров, соединённых в локальную сеть. Приложения на основе протокола SSB рассылают широковещательные UDP сообщения и смогут автоматически найти друг друга. Поиск узлов в Интернет немного сложнее, и к этому вопросу мы вернёмся через несколько абзацев.
Учётная запись пользователя представляет собой связный список всех его записей (журнал). Каждая последующая запись содержит хеш предыдущей и подписывается закрытым ключом пользователя. Открытый ключ является идентификатором пользователя. Удаление и редактирование записей невозможно ни самим автором, ни кем-то ещё. Владелец может добавлять записи в конец журнала. Остальные пользователи — читать его.
Приложения, находящиеся в одной локальной сети, видят друг друга и автоматически запрашивают у соседей обновления в интересующих их журналах. Не имеет значения, с какого именно узла вы скачиваете обновление, т.к. подлинность каждой записи вы можете проверить при помощи открытого ключа. При синхронизации не происходит обмена какой-либо личной информацией кроме открытых ключей интересующих вас журналов. По мере того, как вы будете переключаться между разными WiFi/LAN сетями (дома, в кафе, на работе), копии сохранённых у вас локально журналов будут автоматически передаваться на устройства других пользователей, находящихся с вами рядом. Это похоже на то как работает
«Быть у кого-то в друзьях» здесь приобретает конкретный физический смысл: мои друзья хранят копию моего журнала. Чем больше у меня друзей, тем доступнее мой журнал для других. В описании прокола
Журнал пользователя может содержать записи разных типов: публичные сообщения, аналогичные записям на стене ВКонтакте, личные сообщения, зашифрованные открытым ключом получателя, комментарии к записям других пользователей, лайки. Это открытый список. Картинки и другие объёмные файлы не помещаются в журнал напрямую. Вместо этого в него записывается хеш файла, при помощи которого этот файл можно запросить отдельно от самого журнала. Видимость комментариев для автора исходного сообщения не гарантируется: если между вами нет достаточно короткого пути из общих друзей, то таких комментариев вы, скорее всего, не увидите. Таким образом, даже если воены упячки совершат попытку зохватить ваш пост, то, если это были не ваши друзья или друзья друзей друзей, вы ничего не заметите.
Secure Scuttlebutt не первая p2p сеть и даже не первая p2p социальная сеть. Стремление общаться без посредников и выйти из сферы влияния больших компаний существует давно, и у него есть несколько очевидных причин. Пользователей раздражает навязывание крупными игроками правил игры: мало кто хочет видеть на своём экране рекламу или быть забаненным и ждать несколько дней ответа от службы поддержки. Бесконтрольный сбор личных данных и передача их третьим лицам, приводящая, в конечном итоге, к тому, что эти данные иногда продаются в даркнете, снова и снова напоминает о необходимости построения других способов взаимодействия, где пользователь получал бы больший контроль над своими данными. И сам бы нёс ответственность за их распространение и сохранность.
Хорошо известные децентрализованные социальные сети, такие как
В Secure Scuttlebutt тоже есть узлы-посредники облегчающие синхронизацию (они называются «пабы»). Однако использование пабов опционально, а сами они — взаимозаменяемы. Если привычный вам узел недоступен, вы можете воспользоваться другими, ничего не потеряв, поскольку полная копия всех ваших данных всегда у вас. Узел-посредник не хранит невосполнимых данных. Паб, если вы его попросите, добавит вас в друзья и при соединении будет обновлять свою копию вашего журнал. Когда с ним соединятся ваши подписчики, они смогут загрузить ваши новые записи, даже если вы уже отключились. Для того, чтобы паб стал с вами дружить, вы должны получить инвайт у администратора паба. Чаще всего это можно сделать самостоятельно через веб-интервейс (
Хотя сеть работает довольно давно, в ней немного людей. По подсчётам André Staltz, разработчика Android-приложения
Инструкция для начинающих находится
Все изображения — из статьи André Staltz
Полезные ссылки:
[1]Источник: habr.com