sejournal.io

В Bitcoin Core исправили первую в истории ошибку памяти

1778079660630 976778 scaled

Вот перефразированная новость на русском языке:

Команда разработчиков Bitcoin Core устранила ошибку, связанную с безопасностью памяти. При этом значительная часть узлов сети продолжает работать на уязвимом программном обеспечении.

Проблему обнаружил исследователь Кори Филдс, сообщив о ней 2 ноября 2024 года.

Спустя несколько дней программист Питер Вуйле выпустил скрытый патч — чтобы не привлекать внимание злоумышленников, он был представлен как обычное улучшение отладки параллельной проверки скриптов.

Исправление было включено в кодовую базу в декабре 2024 года и вошло в релиз Bitcoin Core 29.0 в апреле 2025 года. Последняя уязвимая ветка 28.x достигла конца своего жизненного цикла 19 апреля 2026 года — только после этого разработчики раскрыли детали.

В Bitcoin Core подчеркнули, что уязвимость не затрагивала консенсусные правила блокчейна и касалась исключительно локальной обработки памяти в программном обеспечении узлов.

В чем заключалась проблема

Это была первая в истории Bitcoin Core ошибка безопасности памяти. При определенных условиях майнер мог создать специально сконструированный невалидный блок, который приводил к аварийному завершению работы ноды жертвы во время параллельной проверки скриптов.

Теоретически проблема также открывала возможность удаленного выполнения кода в момент некорректного состояния памяти. В Bitcoin Core назвали такой сценарий маловероятным из-за ограничений формата блоков, но оценили риск как высокий.

Атаку сдерживал простой экономический фактор: для эксплуатации уязвимости злоумышленник тратил бы реальный хешрейт на майнинг невалидных блоков, не получая награды.

Разработчики исправили баг, но значительная часть сети пока не обновилась. По данным Clark Moody, около 43% биткоин-нод до сих пор работают на клиентах более ранних версий.

Напомним, в апреле программисты провели демонстрацию уязвимостей консенсуса биткоина.

Разработчики Bitcoin Core протестируют защиту от атак

1775666960399 3110264 scaled

Разработчики Bitcoin Core проведут демонстрацию «атакующих блоков» в тестовой сети

8 апреля команда разработчиков Bitcoin Core проведет в тестовой сети Signet демонстрацию специально созданных «атакующих блоков». Эти блоки требуют значительно больше времени для проверки (валидации), чем обычные.

Цель демонстрации
Главная цель — наглядно показать серьезность четырех известных уязвимостей в консенсусных правилах биткоина. Для их устранения предлагается масштабное обновление под названием «Great Consensus Cleanup» в рамках предложения BIP-54.

Это обновление (софтфорк) закроет сразу несколько слабых мест протокола:
1. Исправление атаки «искажения времени». Она позволяет крупным майнерам манипулировать временными метками блоков, искусственно занижая сложность майнинга. BIP-54 введет новые правила для временных меток.
2. Ограничение вычислительно затратных транзакций. Некоторые специально созданные транзакции могут проверяться часами, нагружая узлы. BIP-54 установит лимит на количество операций подписи в одной транзакции.
3. Устранение проблемы 64-байтовых транзакций. Транзакции размером ровно 64 байта создают неоднозначность в структуре блокчейна (дереве Меркла). После обновления они будут считаться недействительными.
4. Отказ от устаревшей проверки BIP-30. Это устаревшая защита от дублирования транзакций, которую можно будет окончательно удалить из кода.

Как пройдет демонстрация
Разработчики не станут раскрывать худшие сценарии атаки, чтобы не давать инструменты злоумышленникам. Они покажут блоки, проверка которых требует на порядок больше ресурсов.

Мероприятие начнется 8 апреля в 14:00 по UTC. Любой желающий сможет запустить узел Bitcoin Core в сети Signet и наблюдать за процессом. Также будет доступен специальный патч для визуализации «медленных блоков» в реальном времени, однако его код не проходил полный аудит, поэтому рекомендуется соблюдать осторожность.

*Напомним, что ранее аналитик Стив Джеффресс выяснил, что около 99% транзакций типа Taproot в сети биткоина являются микротранзакциями («пылью»).*