Команда Google з Quantum AI раніше цього тижня заявила, що майбутній квантовий комп’ютер міг би вивести приватний ключ біткоїна з публічного ключа приблизно за дев’ять хвилин. Ця інформація розлетілася мережею в соціальних мережах і налякала ринки.
Але що це насправді означає на практиці?
Почнемо з того, як працюють транзакції в біткоїні. Коли ви надсилаєте біткоїн, ваш гаманець підписує транзакцію приватним ключем — секретним числом, яке доводить, що ви володієте монетами.
Цей підпис також розкриває ваш публічний ключ — адресу, яку можна поширювати, — і вона транслюється в мережу та чекає в спеціальній зоні, що називається mempool, доки майнер не включить її в блок. У середньому підтвердження займає близько 10 хвилин.
Ваш приватний ключ і публічний ключ пов’язані математичною задачею під назвою elliptic curve discrete logarithm problem. Класичні комп’ютери не можуть розв’язати цю математику в будь-які корисні часові рамки, тоді як достатньо потужний майбутній квантовий комп’ютер, що працює за алгоритмом під назвою Shor’s, міг би.
Ось де з’являються ці дев’ять хвилин. У своїй роботі Google з’ясувала, що квантовий комп’ютер можна заздалегідь «підготувати», попередньо обчисливши ті частини атаки, які не залежать від жодного конкретного публічного ключа.
Як тільки ваш публічний ключ з’являється в mempool, машині потрібно лише близько дев’яти хвилин, щоб завершити роботу та вивести ваш приватний ключ. Середній час підтвердження в біткоїні — 10 хвилин. Це дає атакувальнику приблизно 41% шансів вивести ваш ключ і перенаправити ваші кошти до того, як оригінальна транзакція отримає підтвердження.
Уявіть це як крадія, який витрачає години на створення універсальної машини для злому сейфів (попередні обчислення). Машина працює для будь-якого сейфа, але щоразу, коли з’являється новий сейф, їй потрібно лише кілька фінальних налаштувань — і саме цей останній крок триває приблизно дев’ять хвилин.
Це атака через mempool. Вона тривожна, але вимагає квантового комп’ютера, якого ще не існує. У роботі Google оцінюється, що така машина потребувала б менш ніж 500,000 фізичних кубітів. Сьогодні найбільші квантові процесори мають близько 1,000.
Більша та більш нагальна проблема — це 6.9 мільйона біткоїнів, приблизно одна третина від загальної пропозиції, які вже лежать у гаманцях, де публічний ключ було назавжди розкрито.
Сюди входять ранні адреси біткоїна з перших років існування мережі, які використовували формат під назвою pay-to-public-key, де публічний ключ за замовчуванням видно в блокчейні. Також сюди входить будь-який гаманець, який повторно використовував адресу, адже витрати з адреси розкривають публічний ключ для всіх залишкових коштів.
Цим монетам не потрібна гонка за дев’ять хвилин. Атакувальник із достатньо потужним квантовим комп’ютером міг би розкривати ключі в зручний час, розбираючи оприлюднені ключі один за одним без будь-якого поспіху.
Оновлення Taproot для біткоїна 2021 року зробило це ще гіршим, як повідомляв CoinDesk раніше у вівторок. Taproot змінив спосіб роботи адрес, тож публічні ключі стали видимими on-chain за замовчуванням, ненавмисно розширивши пул гаманців, які були б уразливими до майбутньої квантової атаки.
Сама мережа біткоїна продовжувала б працювати. Майнинг використовує інший алгоритм під назвою SHA-256, який квантові комп’ютери не можуть істотно прискорити за сучасних підходів. Блоки все одно створювалися б.
Реєстр теж залишався б. Але якщо приватні ключі можна вивести з публічних, гарантії власності, що роблять біткоїн цінним, руйнуються. Будь-хто з розкритими ключами ризикує стати жертвою крадіжки, а інституційна довіра до моделі безпеки мережі — зникне.
Виправлення — post-quantum cryptography, яке замінює вразливу математику алгоритмами, які квантові комп’ютери не можуть зламати. Ethereum протягом восьми років вибудовував шлях до цієї міграції. Біткоїн навіть не розпочав.