Bitchat — Связь без интернета

Мессенджер на случай аппокалипсиса. Ну или типо того.

##\       ##\   ##\               ##\                  ##\     
## |      \__|  ## |              ## |                 ## |    
#######\  ##\ ######\    #######\ #######\   ######\ ######\   
##  __##\ ## |\_##  _|  ##  _____|##  __##\  \____##\\_##  _|  
## |  ## |## |  ## |    ## /      ## |  ## | ####### | ## |    
## |  ## |## |  ## |##\ ## |      ## |  ## |##  __## | ## |##\ 
#######  |## |  \####  |\#######\ ## |  ## |\####### | \####  |
\_______/ \__|   \____/  \_______|\__|  \__| \_______|  \____/

Новый мессенджер BitChat от известного предпринимателя Джека Дорси пока поддерживает P2P-связь только по BLE, но в будущем планирует добавить LoRa, WiFi Direct и ультразвук.

BitChat — приложение для обмена сообщениями в режиме P2P-сети, которое и правда работает без интернета, сотовых вышек или какой-либо инфраструктуры.

Используя сетевую технологию Bluetooth Low Energy (BLE) и Noise Protocol Framework, она обеспечивает безопасные приватные коммуникации.

Основная инновация в том, что BitChat объединяет mesh-сети на Bluetooth, протокол Noise для шифрования, а также эфемерные ID для повышения конфиденциальности. До сих пор на рынке не было мессенджеров, которые сочетают все три эти качества.

Децентрализованная mesh-сеть: Автоматическое обнаружение узлов и передача сообщений по Bluetooth LE, через несколько узлов (хопов) до конечного адресата:

Каждый телефон выступает как отправитель и ретранслятор, создавая сеть, которая простирается далеко за пределы обычного диапазона Bluetooth. Сообщения передаются от телефона к телефону, пока не достигнут цели.

  • Приватность: никаких аккаунтов, номеров телефонов и постоянных ID. Для работы мессенджера используются временные эфемерные ID, которые постоянно изменяются
  • Трафик прикрытия: Обфускация времени и фиктивные сообщения для повышения конфиденциальности.
  • Сквозное шифрование: используется протокол Noise
  • Хранение сообщений в офлайне и отправка, когда узел появляется в зоне досягаемости. Сейчас для обычных сообщений реализован 12-часовой кэш, а для избранных контактов — неограниченный по времени.
  • IRC-команды: знакомый интерфейс со стандартными командами. В данный момент поддерживаются следующие:
    • /j #channel — присоединиться или создать канал
    • /m @name message — отправить личное сообщение
    • /w — показать пользователей в онлайне
    • /channels — показать все обнаруженные каналы
    • /block @name — блокировать юзера
    • /block — показать всех блокированных пользователей
    • /unblock @name — разблокировать
    • /clear — очистить чат
    • /pass [password] — установить/изменить пароль канала (только владелец)
    • /transfer @name — передать владение каналом
    • /save — Toggle message retention for channel (только владелец)
  • Универсальное приложение: нативные приложения iOS и macOS, а также порт на Android.
  • Экстренное удаление: тройное касание мгновенно удаляет из программы все данные.
  • Оптимизация производительности: сжатие сообщений LZ4, экономия заряда батареи (четыре режима работы, в зависимости от текущего уровня заряда) и оптимизированный сетевой трафик. Для передачи трафика используется эффективный бинарный протокол с минимальным оверхедом (заголовки по 26 байт), автоматическим сжатием больших сообщений.

В будущем разработчики планируют реализовать в мессенджере альтернативный транспорт, в том числе протоколы LoRa, WiFi Direct и неслышимый уху ультразвук, дополнительные гейты для передачи сообщений путём интеграции с Nostr и постквантовую криптографию.

Поддержка WiFi Direct улучшит дальность связи BitChat с нынешних 10−30 м (BLE) до 100−200 м, а скорость — с 1−3 Мбит/c до 250+ Мбит/c.

Исходники клиента iOS и клиента Android опубликованы в открытом доступе. APK для Android можно скачать здесь.

Добавить комментарий