Ethereum L2 BB84 отказывается от подписей транзакций для защиты от квантовой угрозы
Ключевые выводы
- •BB84 работает в основной сети Ethereum с 30 сентября, заменив подписи ECDSA аккаунтами на основе хеш-цепей keccak-256 для снижения уязвимости к будущим квантовым атакам.
- •Платежи в сети рассчитываются только в мостовых USDC и EURC, транзакции commit и reveal бесплатны для пользователей, а для каждого получателя создаётся новый одноразовый адрес.
- •Уязвимость к front-running в неподписанных коммитах была обнаружена при написании исследовательского поста и устранена 21 октября с помощью правила «первый коммит побеждает», однако риски griefing и недобросовестного секвенсора остаются.
- •У роллапа нет proof-of-fault, поэтому по классификации L2BEAT он не соответствовал бы даже уровню Stage 0, а вывод средств зависит от разрешённого пропозера.
- •Хадамард предполагает, что валидация на основе хеш-цепей могла бы быть внедрена как режим в стиле EIP-7702 или нативной абстракции аккаунтов на универсальных сетях второго уровня; более полная статья готовится для arXiv.

BB84 — OP Stack роллап, работающий в основной сети Ethereum под chain ID 42069000, — полностью убрал подписи транзакций из своей сети, заменив их хеш-цепями в стиле Лампорта в конструкции, призванной ослабить долгосрочную квантовую угрозу для классической криптографии. Сеть работает в mainnet с 30 сентября. Её основатель, публикующийся под псевдонимом Хадамард (Hadamard), описал систему в посте на Ethereum Research от 24 октября и попросил критических отзывов.
Обычные аккаунты Ethereum авторизуют транзакции подписями ECDSA, которые достаточно мощный квантовый компьютер, использующий алгоритм Шора, мог бы взломать. Сегодня такой машины не существует, но предупреждения об уязвимости открытых ключей кошельков побудили разработчиков искать альтернативы — ключ становится публично видимым, как только аккаунт отправил транзакцию. Конструкции на основе хешей — одни из старейших постквантовых кандидатов: Лесли Лампорт предложил хеш-схему подписи в 1979 году, а постквантовые стандарты NIST 2024 года включают хеш-схему SLH-DSA.
Аккаунты на основе хеш-цепей, шаг за шагом
Каждый аккаунт BB84 строится из секрета, который многократно хешируется функцией keccak-256 — той же хеш-функцией, которую использует сам Ethereum, — создавая цепочку значений, в которой публично только последнее значение. Для оплаты кошелёк раскрывает значение, стоящее перед текущей позицией, и любой может проверить его, один раз применив хеширование. Затем сеть записывает это значение и перемещает аккаунт на один шаг вниз по цепи.
Значение по умолчанию в протоколе — 1 000 платежей на хеш-цепь, при этом разработческий CLI BB84 создаёт 10-шаговые цепи для каждого одноразового адреса. Шаг расходуется, даже если сам платёж не удался, а цепь отклоняет любую транзакцию, подписанную обычным способом.
Платежи проводятся только в мостовых USDC и EURC. Транзакции commit и reveal бесплатны для пользователей, а плательщики создают новый одноразовый адрес для каждого получателя.
Компромисс в безопасности
В посте описаны ограничения конструкции. Внутри сети всё держится на сложности обращения keccak-256, и квантовый поисковый алгоритм Гровера сокращает её лишь примерно до 2^128 операций. Однако адреса сокращены до 160 бит, что оставляет около 2^80 квантовой стойкости на самом адресе. Документация BB84 заявляет 128-битную постквантовую безопасность без этой оговорки. Основная сеть Ethereum также по-прежнему использует ECDSA: депозиты начинаются с обычных кошельков Ethereum, и на них же осуществляются выводы.
Уязвимость к front-running, обнаруженная при написании поста
Раскрытие секрета делает его публичным, поэтому любой наблюдающий мог бы скопировать его в транзакцию в свою пользу. этого избежать, кошелёк сначала отправляет транзакцию commit, которая привязывает секрет к одному конкретному платежу, не раскрывая его. Reveal должен следовать в течение пяти блоков по умолчанию.
Слабое место заключалось в том, что коммиты не имеют подписи, потому что подписывать нечем. В первой версии новый коммит просто заменял ожидающий. Атакующий, заметивший секрет в ожидающем reveal, мог подставить коммит, привязывающий этот секрет к собственному платежу. Хадамард говорит, что команда обнаружила уязвимость при написании поста и исправила её новым правилом, вступившим в силу 21 октября. По пересмотренному правилу побеждает первый коммит, слот освобождается только после соответствующего reveal или истечения срока, кошелёк ждёт включения своего коммита в блок перед раскрытием, а публичный RPC не показывает ожидающие транзакции.
Чего исправление не покрывает
Griefing остаётся возможным: любой может отправить мусорный коммит и заблокировать адрес на срок до пяти блоков, хотя переместить его средства он не может. Ещё один остаточный риск — недобросовестный секвенсор: если честный коммит истекает или вытесняется реорганизацией, пока его reveal ожидает, секрет больше не заблокирован. Сегодня ожидающие транзакции видит только собственный секвенсор BB84.
Хадамард предлагает более строгое правило «Гая Фокса», при котором коммиты добавляются, а не заменяются, но говорит, что оно не реализовано. Документация идёт дальше поста, утверждая, что commit и reveal означают, что секвенсор не может украсть вывод средств.
Кошелёк, который не должен сбиться со счёта
Поскольку каждая цепь имеет фиксированное число шагов, кошелёк должен продлить её на самом последнем шаге, включив новое обязательство в финальный платёж. Если он пропустит этот шаг, адрес мёртв. Не менее важен точный подсчёт: Хадамард говорит, что приложение и цепь рассинхронизировались в рабочей среде, поэтому кошельки должны уметь ресинхронизироваться по данным цепи.
Секреты всё ещё нужно защищать, как ключи. CLI предупреждает, что файл его кошелька хранит ключи трат в незашифрованном виде и указывает шифрование в дорожной карте. Отказ от подписей меняет способ авторизации трат, но не необходимость защищать секреты.
Вывод средств означает доверие оператору
У BB84 нет proof-of-fault. Разрешённый пропозер публикует состояние сети в Ethereum через кастомную игру споров, которая разрешается немедленно, и при отсутствии системы доказательств Хадамард пишет, что по классификации L2BEAT цепь «не была бы даже Stage 0». Фреймворк оценивает роллапы от Stage 0 до Stage 2 в зависимости от того, насколько пользователи должны доверять оператору, а не системе доказательств. Вывод средств, следовательно, основан на доверии пропозеру. Документация по-прежнему описывает выводы как следующие за процессом proof-of-fault OP Stack с семидневной задержкой созревания, но, как поясняется в объяснении Optimism, proof-of-fault существуют, чтобы неверное состояние можно было оспорить — а здесь в течение этого ожидания оспорить ничего нельзя. Секвенсором также управляет BB84.
Что могло бы изменить картину
Пост завершается вопросами, выходящими за пределы одной цепи. Главный из них — могут ли аккаунты на основе хеш-цепей стать режимом валидации в стиле EIP-7702 или нативной абстракции аккаунтов на универсальных сетях второго уровня, что сделало бы идею доступной без перехода на отдельную цепь. EIP-7702, работающий с апгрейда Pectra в мае 2025 года, позволяет обычным аккаунтам принимать код смарт-контрактов. Хадамард добавляет, что дополнительные проверки достаточно просты, чтобы доказать их с помощью существующего инструментария Optimism Cannon, что правило добавления коммитов только в конец закрыло бы бреши как griefing, так и недобросовестного секвенсора, и что более полная статья с полными правилами готовится для arXiv. Более широкая миграция Ethereum, описанная в его квантовой дорожной карте, также охватывает подписи валидаторов, обязательства данных и системы доказательств.
Эта статья предоставлена исключительно в информационных целях и не является финансовой или инвестиционной рекомендацией. Экспериментальные сети несут технические риски и риски хранения средств.
Источник: Coindoo