Серьёзный баг в основном клиенте биткоина Bitcoin Core мог привести к искусственному увеличению предельного объёма эмиссии криптовалюты. Об этом пишет Trustnodes.
«Баг мог позволить майнеру увеличить эмиссию биткоина, поскольку он смог бы затребовать затрачиваемую стоимость дважды», — говорится в сообщении на сайте Bitcoin Core.
Всех операторов нод просят обновить свои клиенты. Предполагается, что это сделала уже половина майнеров и все биржи.
Баг был вызван удалением проверок транзакций на предмет повторного расходования в ноябре 2016 года. Это означает, что на протяжении последних двух лет майнеры могли создавать такие транзакции, которые позволяли бы им тратить биткоины дважды.
Ранее некоторые предполагали, что попытка повторного расходования приведёт к неизбежному краху ноды, однако последняя информация свидетельствует о том, что опасения, связанные с возможностью искусственного увеличения эмиссии биткоина, были небезосновательны.
Что ещё более удивительно, попытка осуществления такой махинации, вероятно, осталась бы незамеченной. Другие майнеры могли бы начать добавлять свои блоки поверх блока, содержащего искажённые транзакции, и тогда повторно израсходованные монеты стали бы «настоящими». Таким образом, если бы кто-то повторно израсходовал 100 BTC, то предельный объём эмиссии биткоина составлял бы уже 21 000 100 монет.
Разработчики утверждают, что этого не произошло, но чтобы что-то утверждать наверняка, вероятно, потребуется тщательный аудит.
За возникновение этой проблемы, по всей видимости, ответственны Мэтт Коралло, тогда работавший в Blockstream, а сейчас в Chaincode Labs, предложивший внести изменения в код, Грегори Максвелл, на тот момент являвшийся техническим директором Blockstream, который одобрил изменения без тестирования, Питер Велле из Blockstream, который поддержал предложение, Кори Филдс из Массачусетского технологического института, сказавший, что предложение «выглядит неплохо», и сегодняшний разработчик Bitcoin Core Владимир ван дер Лаан, который интегрировал изменения и разослал их нодам.
Теперь сеть биткоина должна обновиться, чтобы восстановить необходимые проверки, из-за чего возникает риск разделения цепи, поскольку необновлённые ноды могут продолжить принимать определённые блоки, которые новые клиенты будут отвергать.
«Мы полагаем, что к настоящему времени обновилась половина хэш-рейта биткоина», — пишет Bitcoin Core. Таким образом, риски при отправке биткоинов в текущий момент, вероятно, невелики, но они могут быть.
«Всё, что старше версии 0.16.3, уязвимо для тех или иных эксплойтов», — заявил разработчик Luke-Jr из Blockstream.