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 містить перелік програм.
Порівняння
| Питання | Reticulum | Bitsocial |
|---|---|---|
| Що це | Мережевий стек | Одноранговий соціальний протокол і застосунки |
| Розрахований на | Будь-який канал зв’язку, аж до повільних радіоліній | Інтернет-з’єднання, зокрема вкладки браузера |
| Ідентичність | Набір ключів 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 згенеровано машинно і вони містять ліцензійні твердження, які супровідники вважають недійсними, тож віддавайте перевагу еталонній реалізації або програмам із переліку в посібнику.