У Signal есть safety numbers — короткий код, который должен подтвердить, что сервер не подсунул вам чужой ключ вместо ключа собеседника. Но почти никто их не проверяет. iMessage запустил то же самое в конце 2023 года (Contact Key Verification), WhatsApp показывает Security Code, у Threema цветовая индикация, у Matrix — сравнение по эмодзи. Везде одна и та же проблема: шифрование остаётся end-to-end только пока платформа честна, а изначально задумывалось, что оно не должно от неё зависеть.
Та же дыра во всём, где нужно привязать человеческое имя к ключу. Email привязан к провайдеру, который может прочитать, отдать или заблокировать почту — в апреле 2026 Google передал данные пользователя ICE, нарушив десятилетнее обещание. Свой почтовик не спасает: с ноября 2025 Gmail начал отклонять письма, не проходящие DMARC alignment. Имена в Twitter, GitHub, Bluesky, Telegram — каждый сервис владеет куском вашего имени, и нет способа доказать, что все куски принадлежат одному человеку, кроме как довериться ещё одной платформе.
Существующая PKI для машин не помогает. CA проверяют владение доменом через DNS, но до марта 2025 не требовали DNSSEC даже там, где он есть (а он на меньшинстве доменов). Утечка BGP или взлом регистратора на десять минут — и вы получаете настоящий, браузерно-доверенный сертификат на чужой домен. DANE не завезли в браузеры. Certificate Transparency фиксирует нарушения постфактум, но тоже держится на кучке операторов, которым надо не сговориться. Везде кто-то держит ключи.
Spaces предлагает другую схему: имя вида grace@key, которое разрешается в публичный ключ без посредников. Записи живут в двоичном Merkle trie, корень которого фиксируется в блокчейне Bitcoin — просто как широко реплицируемый, трудно перезаписываемый штамп времени. Пользователю не нужен кошелёк или нода: клиент проверяет Merkle-доказательство против корня. Для локальной верификации есть десктопное приложение Veritas — оно синхронизирует заголовки Bitcoin и сканирует нужные транзакции, вычисляя доверенный идентификатор на вашей машине. Следующий шаг — zero-knowledge certificate размером ~250 КБ, который доказывает то же самое без синхронизации: клиент скачивает сертификат, проверяет за миллисекунды и готово. Никакого секретного ключа, который можно украсть.
Автор работает над Spaces. Он признаёт, что это не решает социальную половину проблемы — как отличить правильную Sarah от неправильной. Но техническая половина — привязать имя к ключу без доверия к серверу, регистратору или CA — теперь существует в рабочем виде.