Bitcoin Core публічно продемонструє вразливості консенсусу біткоїна
8 квітня група розробників Bitcoin Core продемонструє «атакуючі блоки» біткоїна в тестнеті Signet. Спеціально спроєктовані одиниці блокчейна потребують значно більше часу для валідації.
Навіщо це потрібно
Головна мета — показати серйозність чотирьох вразливостей консенсусу. Їх має усунути Great Consensus Cleanup за допомогою BIP-54.
Пропозиція передбачає пакетний софтфорк для «очищення» консенсусу мережі першої криптовалюти. Одне велике оновлення закриє одразу кілька слабких місць протоколу:
- Виправлення атаки «спотворення часу». Стара вразливість, яка дозволяє майнерам із великим хешрейтом маніпулювати часовими мітками блоків, штучно занижуючи складність майнінгу. BIP-54 вирішить проблему новими правилами для часових міток першого й останнього блоків кожного періоду перерахунку складності.
- Обмеження найвитратніших обчислювально транзакцій. Деякі спеціально створені операції можуть перевірятися дуже довго — від кількох хвилин до години на слабкому обладнанні. Це збільшує навантаження на вузли та дає майнерам інструмент тиску на конкурентів. BIP-54 вводить ліміт на кількість потенційно виконуваних операцій підпису в одній транзакції. Якщо їх надто багато, транзакція вважається недійсною.
- Усунення проблеми 64-байтових транзакцій у дереві Меркла. Операція розміром рівно 64 байти створює неоднозначність у дереві Меркла: її можна інтерпретувати і як лист, і як внутрішній вузол. Це послаблює докази включення переказу та робить корінь Меркла неоднозначним. Після активації BIP-54 транзакції розміром рівно 64 байти стають недійсними.
- Відмова від необхідності застарілої перевірки BIP-30. Це старий захист від дублювання TxID. Після активації BIP-34 ця перевірка майже ніде не потрібна, але історично її доводиться зберігати в консенсусі. BIP-54 зобов’язує нові coinbase-транзакції відрізнятися, щоб стару перевірку можна було остаточно прибрати.
План
Фахівці не планують демонструвати найгірший сценарій атаки. Вони приховають деталі скрипта й транзакції, аби не надавати додаткову інформацію зловмисникам. Користувачам покажуть блоки, верифікація яких потребує на порядок більше ресурсів, ніж зазвичай.
Захід розпочнеться о 10:00 EST (14:00 UTC). Будь-хто може запустити вузол Bitcoin Core на Signet (приблизно 32–33 ГБ) і спостерігати за видобутком і обробкою блоків.
Розробники також підготували патч для візуалізації підозрілих одиниць через термінальний інтерфейс bitcoin-tui (підтримується розробником AJ Towns). Він дозволяє в реальному часі відстежувати обробку блоків на вкладці Slow Blocks.
Втім, фахівці наголосили, що створили патч нашвидкуруч і не проводили повноцінний аудит. Для безпеки учасникам порадили використовувати нові вузли без коштів на пристрої.
Нагадаємо, у квітні творець UTXOracle Стів Джеффресс з’ясував, що близько 99% Taproot-транзакцій у мережі біткоїна виявилися «пилом».