Как избежать ненужной квантовой заморозки

Аннотация: мы представляем еще один механизм митигации последствий любой заморозки монет, связанной с угрозой квантовых вычислений. Мы исследуем софтфорк, который активирует полную заморозку только в том случае, если будет доказано реальное существование квантового компьютера, способного выводить Биткоин. Этот подход реализуется путем создания специального «канареечного» фонда из монет, уязвимых для квантовых атак. Адрес фонда и открытый ключ в данном случае генерируются с использованием системы «чисел из ниоткуда» (Nothing-Up-My-Sleeve Number, NUMS), что доказывает отсутствие у кого-либо закрытого ключа. Любое расходование средств с этого адреса немедленно инициирует полную квантовую заморозку. Хотя этот подход усложняет протокол и несет дополнительные риски, учитывая, насколько спорным решением является любая заморозка монет, митигация ее последствий с помощью системы такого типа может заслуживать внимания.

fr

Обзор

Ранее мы опубликовали три статьи в рамках серии о подготовке Биткоин к появлению квантовых компьютеров:

  1. Квантово-устойчивые подписи Лэмпорта

  2. Квантовые пути расходования Taproot

  3. Митигация последствий квантовой заморозки

В этой (четвертой) статье мы продолжаем развивать идеи статьи «Митигация последствий квантовой заморозки», предлагая дополнительные меры по снижению рисков. Существует значительная неопределенность относительно того, когда появится соответствующий квантовый компьютер и появится ли он вообще. В то же время любой софтфорк, предполагающий заморозку монет, потребует длительного многолетнего периода, чтобы дать пользователям время на подготовку и максимально сохранить устойчивость Биткоин. Эти два противоречащих друг другу фактора при планировании могут вступить в конфликт, что грозит серьезной проблемой. Поэтому было бы целесообразно попытаться максимально смягчить масштабы заморозки, даже ценой усложнения системы. В этой статье мы утверждаем, что нам следует попытаться избежать полной заморозки, пока не будет доказано, что квантовый компьютер действительно существует. Это следует рассматривать как альтернативу или дополнение к схемам квантово-устойчивого восстановления, которые обсуждались в нашей предыдущей публикации.

BIP-361

Вчера в репозиторий Биткоин BIP было добавлено предложение BIP-361 под названием «Постквантовая миграция и отказ от устаревших подписей» (Post Quantum Migration and Legacy Signature Sunset). В этом BIP предлагается софтфорк, который сначала на три года запрещает отправку средств на уязвимые для квантовых вычислений адреса, а затем, на втором этапе, запрещается само расходование средств с таких адресов (так называемая заморозка), что вступает в силу еще через два года.

Предложение BIP-361 оказалось весьма спорным именно из-за заморозки. Противники заморозки склонны утверждать, что пользователи сами несут ответственность за сохранность своих средств, поэтому блокировка на уровне протокола не является необходимой. Кроме того, она наносит ущерб базовому свойству устойчивости к цензуре, которое и придает Биткоин его ценность. В конце концов, если пользователи предпочитают не переводить свои средства на квантово-устойчивые выходы, возможно, они хотят, чтобы их монеты использовались в качестве вознаграждения для продвижения науки и помощи в разработке квантовых технологий. Помимо этого, некоторые утверждают, что достаточных доказательств создания соответствующих квантовых компьютеров попросту не существует.

Подход с использованием «канарейки»

Вместо того чтобы активировать софтфорк с заморозкой через пять лет, существует альтернатива: через пять лет мы переходим в состояние наблюдения за «канарейкой». Если на уровне сети (onchain) будет доказано, что соответствующий квантовый компьютер существует, «канарейка» срабатывает, и немедленно активируется заморозка. Если «канарейка» не срабатывает, уязвимые для квантовых атак монеты можно будет расходовать как обычно. Как вариант, выходы в следующей транзакции могут становиться недоступными для использования в течение заранее определенного окна безопасности — аналогично периоду в 100 блоков, в течение которого нельзя израсходовать выходы coinbase-транзакций.

Число из ниоткуда (NUMS)

Можно сгенерировать уязвимый для квантовых атак Биткоин-адрес и опубликовать доказательство того, что создатель этого адреса не знает закрытого ключа, но при этом адрес представляет собой валидную точку на эллиптической кривой. Таким образом, теоретически любые монеты по этому адресу могут быть израсходованы. Открытый ключ также должен быть опубликован. Софтфорк квантовой миграции может пометить этот адрес как специальный — адрес-«канарейку». Если с этого адреса произойдет валидное расходование средств, софтфорк, запрещающий уязвимые для квантовых атак транзакции, может быть активирован немедленно.

«Канареечный» фонд

Чтобы стимулировать любую организацию, обладающую мощным квантовым компьютером, активировать «канарейку», пользователи могли бы пожертвовать Биткоин на этот адрес, создав квантовый фонд вознаграждения (bounty). Инвесторам этого фонда не обязательно расставаться со своими деньгами навсегда. Они могут отправить средства на выход с мультиподписью «1-из-2», где один открытый ключ принадлежит им самим, а второй — связан с адресом-«канарейкой». В таком случае инвестор сможет в любой момент вывести свои Биткоины из этого фонда.

Размер фонда может оказаться слишком мал, чтобы стимулировать владельцев квантового компьютера забрать именно эти средства; вместо этого они могут попытаться завладеть другими. Это неотъемлемый риск данной схемы. Однако, если лаборатория, разработавшая первый квантовый компьютер, является крупной регулируемой организацией с хорошей репутацией, она может предпочесть этот подход, а не кражу чужих средств.

Окно безопасности

Через пять лет после активации BIP-361 будет «отклонять транзакции, использующие ключи ECDSA/Schnorr». Вместо полного отклонения такое уязвимое расходование средств все еще может быть разрешено. Оно может быть разрешено по тому же принципу, что и выходы coinbase-транзакций, когда эти выходы нельзя использовать в течение 100 блоков. Вместо 100 можно выбрать другое число, например, 50 000 блоков (около 1 года). Если «канарейка» срабатывает в пределах окна безопасности, монеты будут немедленно заморожены. Если же нет, то после истечения окна в 50 000 блоков монеты будут считаться обычными и станут доступны для свободного расходования.

Будет сложно выбрать оптимальный размер окна безопасности: 0 блоков, 1 блок, 100 блоков, 50 000 блоков, 200 000 блоков, или же это должно быть динамическое значение, зависящее от времени, прошедшего с момента активации? Это трудный выбор с реальными компромиссами, но сегодня так же сложно принять решение о заморозке всех квантово-уязвимых монет через пять лет. Этот пятилетний период также является произвольным. Данный подход представляет собой смягчение жесткости заморозки.

При окне безопасности в 50 000 блоков, если одна лаборатория разработает квантовый компьютер и решит украсть чужие монеты, вместо того чтобы активировать «канарейку» и забрать вознаграждение, существует вероятность того, что другая конкурирующая лаборатория создаст квантовый компьютер в пределах этого же окна безопасности и активирует «канарейку». Первая лаборатория, разработавшая квантовый компьютер, может опасаться, что конкуренты последуют по ее стопам в течение окна безопасности и заберут «канареечный» фонд, оставив первую лабораторию ни с чем.

Еще одна проблема подхода с окном безопасности заключается в том, что необновленные кошельки все равно можно будет обманным путем заставить принять квази-замороженные средства. Тем не менее, большинство платформ, работающих с большими объемами монет, скорее всего, обновят свои системы для обработки таких ситуаций.

Заключение

Этот подход является более произвольным и сложным, чем простая заморозка монет. Точно так же схемы квантово-устойчивого восстановления, упомянутые в нашей предыдущей статье, добавляют сложности по сравнению с простой блокировкой. Однако, на наш взгляд, учитывая значительные издержки и сбои, которые может вызвать заморозка, определенно стоит рассмотреть и оценить доступные варианты по митигации последствий, чтобы свести к минимуму вероятность потери монет пользователями.