Рабочий дневник: День 117
Делаем чат без WebSocket
Короче, хотят P2P-чаты в апку добавить, как в Telegram. Но без центрального сервера и с шифрованием к уже существующим требованиям.
Мы подумали: сейчас прикрутим end-to-end — и готово. Но вот проблема: все сообщения нашего «мессенджера» будут платными, ведь каждое из них меняет состояние блокчейна.
Как решить эту проблему?
Оказалось, всё проще, чем кажется! Умные ребята из Ephemera Labs взяли старый добрый Jabber – протокол обмена сообщениями XMPP и создали на его основе XMTP с кучей SDK для разных платформ. В том числе для браузера!
XMTP использует приватные ключи Ethereum-кошельков (например, MetaMask) для аутентификации и подписи сообщений.
🔸Сообщения шифруются end-to-end приватными ключами отправителя и получателя. Только участники переписки могут расшифровать и прочитать сообщения.
🔸Узлы XMTP хранят зашифрованные сообщения временно и не имеют доступа к их содержимому.
🔸Это абсолютно бесплатно! Достаточно подключить кошелёк к сети — и вы уже участник глобального чата.
Чем это лучше серверного решения?
Центрального сервера просто нет, а значит нет расходов на его поддержку. Так же возможность запустить собственную ноду защищает от изъятия и компрометации других узлов сети XMTP.
В этом React-примере вы можете сгенерировать кошелёк прямо в браузере, без всяких Chrome Extension и сразу же отправлять анонимные сообщения.
Будущее за P2P-коммуникациями, пусть и не чистыми 😭
📊 #статистика День 1117 == 2346 час в IT
Post #1312
3.73K

- 🔥 14
- 💩 2
- ❤ 1
- 👍 1