3.6Kпросмотров
30 сентября 2025 г.
Score: 4.0K
Про Bitchat - оффлайн мессенджер Недавно друг спросил, пользовался ли я когда-то Bitchat… а я не пользовался, но сразу заинтересовался. Bitchat это оффлайн P2P мессенджер, который работает через Bluetooth mesh сети - устроено это примерно так: Клиент, установленный на вашем телефоне, ищет устройства по соседству (в радиусе 20-100 метров), на которых тоже стоит Bitchat, узнает, есть ли у него коннекты рядом… и так до самого последнего Peer. Если представить себе уровень adoption как у условного вотсапа, то в теории так можно общаться почти со всеми в урбан-мире (тк если вы живете в городе, вероятность встретить человека с установленным Whatsapp в 20-50 метрах от вас довольно высокая). На практике, правда, у bitchat самый грустный онбординг, который я видел: ставишь приложение и сразу убеждаешься в том, что ты с этим битчатом абсолютно одинок +- в любой точке города. Так что если будете пробовать - ставьте вдвоем, включайте режим самолета и поражайтесь чуду оффлайн-переписки из соседних комнат. Юзкейсы у Bitchat (и аналогов, см. ниже) все же немного другие: например, координация людей на протестах, в условиях блэкаута, в непокрытых сотовой связью пространствах (в горах что ли?), ну и так далее. Сделал (а точнее, завайбкодил) этот битчат, кстати, Jack Dorsey - ко-фаундер твиттера, The Block, Bluesky и всякого такого. После неглубокого изучения темы я выяснил следующее: Идея bluetooth mesh p2p мессенджеров совсем не новая - например, был такой FireChat, созданный больше 10 лет назад. С помощью него еще в 14-16 году общались протестующие в разных странах: в Ираке, Гонг Конге, Эквадоре и Каталунии. Потом еще был Bridgefy (и до сих пор есть) - тоже использовался протестующими и активистами в разных странах. Звучит круто, но у всех этих протоколов есть один нюанс: безопасность. В случае с тем же Bridgefy это все на абсурдном уровне: в 20 году исследователи обнаружили уязвимости, которые позволяют: - создать социальный граф пользователей в одной сети (кто с кем общается)
- прочитать все их сообщения
- выдать себя за любого пользователя и написать сообщение от его имени
- вишенка на торте: уронить всю сеть одним специально отравленным сообщением Но наверняка Джек Дорси спустя 5+ лет учел все эти моменты в своем приложении? Кажется, не все :( Вскоре после анонса битчата исследователь-безопасник поковырялся в нем, нашел уязвимость, позволяющую любому пользователю довольно легко реализовать MiTM (man in the middle) атаку, и написал гневный пост про это. Если вкратце: - в битчате проблемы с Proof of Identity, из-за которых можно довольно легко выдать себя за человека в ваших Favorites и написать сообщение от его имени. - не надо изобретать велосипед (свой протокол для e2e общения), если не разбираешься в теме. Лучше взять готовый (условный libsignal) Насколько я понял, Джек решил не переписывать кусок приложения, а забить и предупредить пользователей о дырке: security notice: private messages have not received external security review and may contain vulnerabilities. do not use for sensitive use cases, and do not rely on its security until it has been reviewed. public local chat (the main feature) has no security concerns. На мой взгляд, не самое лучшее решение для приложения, ориентированного на активистов и протестующих без связи, ну да ладно. В двух словах про все эти bluetooth mesh сети - круто в теории, но довольно грустно на практике.