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