Перейти до основного вмісту

Bitsocial і Reticulum

Reticulum — це мережевий стек на основі криптографії для побудови мереж поверх будь-яких доступних каналів зв’язку: радіомодулів LoRa, пакетного радіо, послідовних ліній, Wi-Fi, Ethernet, TCP, UDP чи I2P. Його згадують поруч із Bitsocial, бо обидва прибирають компанію-посередника. Але роблять вони це на різних рівнях, тож радше доповнюють один одного, ніж конкурують.

Різні рівні​

Reticulum замінює мережевий рівень. Він дає застосункам зашифровані маршрутизовані кінцеві точки без IP-адрес, DNS, центрів сертифікації чи облікових записів і спроєктований так, щоб працювати навіть на каналах зі швидкістю лише 5 біт/с і MTU 500 байтів. Він не визначає ні дописів, ні спільнот, ні модерації; їх додають застосунки, побудовані поверх нього.

Bitsocial — це соціальний протокол. Він працює на стеку IPFS/libp2p поверх звичайних інтернет-з’єднань, зокрема й із вкладки браузера, і визначає спільноти, публікації та антиспам-перевірки окремо для кожної спільноти. Див. Одноранговий протокол і Одноранговий зв’язок у браузері.

У стеку Bitsocial Reticulum займав би приблизно те місце, яке займає libp2p, а не місце протоколу Bitsocial.

Як працює Reticulum​

  • Ідентичності. Ідентичність Reticulum — це 512-бітний набір ключів: ключ X25519 для шифрування та ключ Ed25519 для підписів.
  • Пункти призначення. Застосунки створюють пункти призначення, адресовані хешем SHA-256, скороченим до 16 байтів. Пакети не містять адреси відправника.
  • Анонси. Пункт призначення стає досяжним, коли надсилає анонс. Транспортні вузли пересилають його й запам’ятовують наступний перехід у зворотному напрямку, тож жодному вузлу не потрібна мапа всієї мережі.
  • Шифрування. Трафік типово зашифрований, з ефемерними ключами та прямою секретністю.
  • LXMF. Рівень обміну повідомленнями LXMF додає підписані повідомлення, пряму доставку, а також зберігання з подальшим пересиланням через вузли поширення для одержувачів, які перебувають офлайн.

Серед застосунків, побудованих у такий спосіб, — Sideband для обміну повідомленнями та Nomad Network для повідомлень і розміщених сторінок. Посібник Reticulum містить перелік програм.

Порівняння​

ПитанняReticulumBitsocial
Що цеМережевий стекОдноранговий соціальний протокол і застосунки
Розрахований наБудь-який канал зв’язку, аж до повільних радіолінійІнтернет-з’єднання, зокрема вкладки браузера
ІдентичністьНабір ключів X25519 та Ed25519Пари ключів Ed25519 для користувачів і спільнот
АдресиХеш ідентичності та назви застосункуХеш відкритого ключа спільноти
Пошук вузлаАнонси, які поширюють транспортні вузлиHTTP-маршрутизатори повертають вузли-постачальники
Соціальні функціїДодають застосунки, як-от Nomad NetworkСпільноти, дописи, відповіді й модерація в самому протоколі
Захист від спамуОбмеження частоти анонсів для кожного інтерфейсу; марки LXMF із доказом виконаної роботи, яких може вимагати одержувач або вузолАнтиспам-перевірка кожної спільноти перед прийняттям допису
Доставка офлайнВузли поширення LXMF зберігають і пересилають повідомленняВузли й далі віддають останній стан спільноти; для публікації її вузол має бути онлайн

Чи міг би Bitsocial працювати поверх Reticulum?​

Поки що ні. У Bitsocial немає транспорту для Reticulum, а його модель даних розрахована на пропускну здатність інтернету: клієнт отримує метадані спільноти та вміст дописів від інших вузлів і обмінюється повідомленнями pubsub, а це погано вкладається в канали, побудовані навколо 500-байтових пакетів і пропускної здатності, яку вимірюють у бітах чи кілобітах за секунду.

Реалістичний шлях вужчий: клієнт, який працює через локальну mesh-мережу, поки немає з’єднання з інтернетом, а потім синхронізується з ширшою мережею Bitsocial, коли стає досяжним вузол або шлюз із доступом до інтернету. Це був би новий клієнт і міст, а не зміна протоколу, і в поточній дорожній карті такого немає.

Для розробників​

Reticulum поширюється за ліцензією Reticulum: це умови в стилі MIT плюс два обмеження. Програмне забезпечення не можна використовувати в системах, створених для заподіяння шкоди людям, або для створення навчальних наборів даних для ШІ чи машинного навчання. Ознайомтеся з нею, перш ніж вбудовувати код Reticulum у застосунок Bitsocial.

Еталонну реалізацію написано на Python. Супровідники Reticulum попереджають, що кілька неофіційних портів Reticulum і LXMF згенеровано машинно і вони містять ліцензійні твердження, які супровідники вважають недійсними, тож віддавайте перевагу еталонній реалізації або програмам із переліку в посібнику.