Команда Google по Quantum AI ранее на этой неделе заявила, что будущий квантовый компьютер сможет вывести биткоин-приватный ключ из публичного ключа примерно за девять минут. Эта цифра разлетелась по соцсетям и напугала рынки.
Но что это на самом деле значит на практике?
Начнем с того, как работают транзакции в биткоине. Когда вы отправляете биткоины, ваш кошелек подписывает транзакцию приватным ключом — секретным числом, которое доказывает, что вы владеете монетами.
Эта подпись также раскрывает ваш публичный ключ — общий адрес, который транслируется в сеть и находится в очередной зоне, называемой mempool, пока майнер не включит его в блок. В среднем подтверждение занимает около 10 минут.
Ваш приватный и публичный ключи связаны математической задачей, называемой проблемой дискретного логарифмирования на эллиптических кривых. Классические компьютеры не могут обратить эту математику в сколько-нибудь полезные сроки, тогда как достаточно мощный будущий квантовый компьютер, работающий по алгоритму под названием Shor’s, мог бы.
Вот где появляется часть про «девять минут». В своей статье Google выяснила, что квантовый компьютер может быть заранее «подготовлен» за счет предварительного вычисления частей атаки, которые не зависят от какого-либо конкретного публичного ключа.
Как только ваш публичный ключ появляется в mempool, машине остается лишь около девяти минут, чтобы завершить работу и вывести ваш приватный ключ. Среднее время подтверждения в биткоине — 10 минут. Это дает атакующему примерно 41% шанс вывести ваш ключ и перенаправить ваши средства до того, как исходная транзакция будет подтверждена.
Представьте это как вора, который часами собирает универсальную машину для вскрытия сейфов (предварительное вычисление). Машина работает с любым сейфом, но каждый раз, когда появляется новый сейф, ему нужны лишь несколько финальных корректировок — и именно этот последний шаг занимает примерно девять минут.
Это атака через mempool. Она тревожная, но требует квантового компьютера, которого пока не существует. В статье Google оценивается, что такой машине понадобилось бы меньше 500,000 физических кубитов. Сегодня крупнейшие квантовые процессоры имеют около 1,000.
Более крупная и непосредственная проблема — это 6.9 million bitcoin, примерно одна треть от общего предложения, которые уже лежат в кошельках, где публичный ключ был навсегда раскрыт.
Сюда входят ранние биткоин-адреса с первых лет существования сети, использовавшие формат под названием pay-to-public-key, где публичный ключ по умолчанию виден в блокчейне. Также это включает любой кошелек, который повторно использовал адрес, поскольку при расходовании средств с адреса раскрывается публичный ключ для всех оставшихся денег.
Этим монетам не нужна гонка за девять минут. Атакующий с достаточно мощным квантовым компьютером мог бы взломать их в спокойном режиме — последовательно обрабатывая раскрытые ключи один за другим без временного давления.
Обновление Bitcoin 2021 Taproot сделало ситуацию хуже, как сообщало CoinDesk ранее во вторник. Taproot изменил то, как работают адреса, так что публичные ключи стали видны в сети по умолчанию, непреднамеренно расширив круг кошельков, которые будут уязвимы к будущей квантовой атаке.
Сама сеть биткоина продолжила бы работать. Майнинг использует другой алгоритм под названием SHA-256, который квантовые компьютеры не могут существенно ускорить с помощью текущих подходов. Блоки все равно будут производиться.
Существовал бы и реестр. Но если приватные ключи можно выводить из публичных ключей, рушатся гарантии владения, благодаря которым биткоин ценен. Любой, у кого раскрыты ключи, находится под угрозой кражи, а институциональное доверие к модели безопасности сети обваливается.
Решение — постквантовая криптография, которая заменяет уязвимую математику алгоритмами, которые квантовые компьютеры не могут взломать. Ethereum потратил восемь лет, двигаясь к этому переходу. Биткоин еще даже не начал.