Квантовая угроза для Bitcoin связана не только с заменой криптографических алгоритмов. 13 октября криптоинвестор Ник Картер в интервью Люку Мартину описал крайний сценарий: если достаточно мощный квантовый компьютер научится взламывать ключи Bitcoin, он сможет получить доступ к приватным ключам неактивных кошельков и провести серию переводов примерно за 10 блоков. Массовое перемещение ранних биткоинов способно пошатнуть представления о том, кто контролирует эти средства и как сеть обрабатывает транзакции, даже если монеты ещё не будут проданы.
Публичные ключи раскрыты примерно у 6,04 млн BTC
В анализе от 20 мая Glassnode оценила количество биткоинов с раскрытыми публичными ключами примерно в 6,04 млн BTC, или 30,2% предложения, выпущенного на тот момент. В оценку входят активные монеты, ключи которых стали видны после расходования средств или повторного использования адресов, ранние выходы с публичными ключами, открытыми по умолчанию, например P2PK, а также некоторые выходы, связанные с Taproot.
Сценарий предполагает, что достаточно мощный квантовый компьютер сможет применить алгоритм Шора, чтобы вывести приватный ключ из публичного, а затем создать внешне корректное разрешение на расходование средств. Google опубликовала исследование с оценкой вычислительных ресурсов, которые могут потребоваться для такой атаки. Однако подтверждений того, что кому-либо уже удалось таким образом восстановить ключи Bitcoin, нет. Квантовый взлом ключей остаётся потенциальной угрозой будущего, а не произошедшим событием в сети.
Пропускная способность блокчейна теоретически позволяет атакующему переместить значительный объём средств за короткое время. Например, 50 000 ранних выходов по 50 BTC — всего 2,5 млн BTC. Если взять пример входа P2PK из документации для разработчиков Bitcoin, такие входы займут около 5,7 млн байт, или примерно 22,8 млн единиц веса, без учёта накладных расходов транзакций. Лимит веса блоков Bitcoin составляет 40 млн единиц на 10 блоков. Если разбить переводы на части и удерживать каждую в пределах стандартного лимита Bitcoin Core — около 400 000 единиц веса, — теоретически они могли бы уместиться в этот объём.
Десять блоков не гарантируют подтверждение переводов
Попадание транзакций в блоки зависело бы от комиссий, загруженности сети и решений майнеров. В среднем Bitcoin выпускает блок примерно раз в 10 минут, поэтому десять блоков обычно занимают около 100 минут, хотя фактическое время может заметно отличаться. На необходимый объём данных также повлияли бы типы скриптов, условия расходования и число адресов-получателей.
Квантовая атака позволила бы перехватить контроль над уже существующими биткоинами, но не увеличила бы их предложение. Однако заметные массовые переводы могли бы обеспокоить держателей ещё до продажи монет. Масштаб возможной реакции рынка зависел бы от действий бирж, доступной ликвидности и того, как участники оценили бы происхождение средств. При этом раскрытые публичные ключи, неактивные владельцы, безвозвратно утраченные приватные ключи и вопрос о принадлежности части ранних монет Сатоши Накамото — разные темы.
Исследователь безопасности Джеймсон Лопп в анализе от 21 мая оценил число биткоинов с раскрытыми публичными ключами, которые может быть невозможно перенести, примерно в 2,6 млн BTC. В оценке использовались такие признаки, как длительное отсутствие активности и известные метки владельцев. Она не доказывает, что законные владельцы этих монет точно утратили к ним доступ.
Защита может затронуть и законных владельцев
Если оставить действующие правила расходования без изменений, потратить связанные с монетами средства сможет любой, кто предъявит корректный приватный ключ, в том числе ключ, восстановленный будущим атакующим. Ограничения на старые подписи могут привести к обратному результату: законные владельцы, которые не успеют перенести монеты или выполнить новые условия восстановления, рискуют потерять к ним доступ. В этом и состоит основной компромисс квантовой защиты: повышение безопасности монет, которые не были перенесены, может одновременно сократить возможности их законных владельцев.
Текущий проект BIP-360 предлагает тип выходов Pay-to-Merkle-Root. Он призван устранить потенциально раскрывающий ключ путь расходования в Taproot и снизить долгосрочную уязвимость, если публичный ключ остаётся скрытым. В BIP-361 предлагается поэтапный подход: примерно через три года после активации ограничить создание новых уязвимых адресов для получения средств, а ещё примерно через два года ужесточить использование старых подписей, предусмотрев условия восстановления. В качестве предупредительного ориентира Google обозначила 2029 год для миграции криптографических систем; это не правило консенсуса Bitcoin.
Некоторые варианты восстановления предполагают использование защищённого родительского секрета кошелька. Даже если атакующий восстановит ключ для отдельной операции, это, как правило, не даст ему доступа к такому дополнительному секрету. Для выходов P2PK авторы проекта, однако, по-прежнему считают нерешённым вопрос о том, как подтвердить право собственности.
Предложения о защите пока обсуждаются
1 мая Дэн Робинсон представил концепцию PACT, которая рассматривает использование меток времени с сохранением конфиденциальности для подтверждения контроля над адресом. Если будущие правила признают такие доказательства, владельцам потребуется заранее подготовить и сохранить их — до того, как восстановление ключей квантовыми средствами станет возможным. Защитный эффект будет зависеть от того, удастся ли установить стандарты проверки и распространить их в экосистеме.
Проект Hourglass V2, опубликованный в феврале, предлагает более прямой подход с ограничением скорости: не более одного расходования P2PK на блок и не более 1 BTC чистого расходования за блок. Такие лимиты могли бы замедлить вывод средств потенциальным атакующим, но распространялись бы и на законных владельцев, из-за чего перенос крупных сумм мог бы занять больше времени.
Ни одно из этих предложений пока не стало единым правилом сети Bitcoin. Изменения в рамках процесса BIP ещё предстоит реализовать в программном обеспечении, запустить на узлах и согласовать в экосистеме. Сценарий Картера в конечном счёте сводится к вопросу о праве собственности: если обычная подпись не позволяет отличить первоначального владельца от квантового атакующего, какие доказательства контроля должна признавать сеть и как защитить владельцев, которые не смогли перенести средства заранее?