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