Найти в Дзене

История Биткоина, часть 10: Ошибка на 184 миллиарда BTC

В биткоин-блоке #74638 было что-то необычное, и первым это заметил разработчик Bitcoin Core Джефф Гарзик, комментируя «довольно странные» результаты транзакций, которые содержали 92'233'720'368,54 BTC в каждой. Такого никогда не было и не должно было быть. В течение часа другой пользователь форума создал тему под названием «серьезная ошибка переполнения», в которой умолял: «Нам нужно исправить это как можно скорее». Это было 15 августа 2010 года, и Биткоин только что столкнулся с самой большой ошибкой. История Биткоина, часть 9: Рождение Mt. Gox Биткоин уже пережил как минимум четыре крупных ошибки или уязвимости до ошибки целочисленного переполнения (CVE-2010-5139), которая привела к созданию 184 миллиардов BTC из воздуха. В Биткоин-вики перечислены 57 ошибок разной степени серьезности, причем последняя была обнаружена в июне 2022 года. Однако CVE-2010-5139 не похожа ни на что, с чем сообщество Биткоина сталкивалось в 2010 году или сталкивалось вообще. Ошибка, которую Гарзик, среди пр

В биткоин-блоке #74638 было что-то необычное, и первым это заметил разработчик Bitcoin Core Джефф Гарзик, комментируя «довольно странные» результаты транзакций, которые содержали 92'233'720'368,54 BTC в каждой.

Огромный баг в Биткоине | #BTC_2TheMoon
Огромный баг в Биткоине | #BTC_2TheMoon

Такого никогда не было и не должно было быть. В течение часа другой пользователь форума создал тему под названием «серьезная ошибка переполнения», в которой умолял: «Нам нужно исправить это как можно скорее». Это было 15 августа 2010 года, и Биткоин только что столкнулся с самой большой ошибкой.

История Биткоина, часть 9: Рождение Mt. Gox

Биткоин сталкивается с «Очень Большим Багом»

Биткоин уже пережил как минимум четыре крупных ошибки или уязвимости до ошибки целочисленного переполнения (CVE-2010-5139), которая привела к созданию 184 миллиардов BTC из воздуха. В Биткоин-вики перечислены 57 ошибок разной степени серьезности, причем последняя была обнаружена в июне 2022 года. Однако CVE-2010-5139 не похожа ни на что, с чем сообщество Биткоина сталкивалось в 2010 году или сталкивалось вообще.

-2

Ошибка, которую Гарзик, среди прочих, обнаружил в блоке 74638, была первой ошибкой инфляции Биткоина. Учитывая, что общее предложение криптовалюты должно быть ограничено 21 миллионом, то добавление новых 184'467'440'737 BTC (т.е. почти в 8'764 раза больше) было, мягко говоря, серьезной проблемой. Целочисленное переполнение привело к отрицательной общей стоимости транзакции. Как объяснил пользователь Ifm на форуме Bitcointalk:

Обычно входы равны выходам транзакции. Исключение составляют случаи, когда за транзакцию взимается «комиссия». Сеть позволяет любому человеку добровольно заплатить любую сумму за комиссию. Поэтому, когда сумма была отрицательной, разница с входом выглядела как комиссия. Это проскользнуло через все проверки.

Неизвестный злоумышленник обнаружил ошибку и использовал ее для генерации огромного количества BTC. Если бы он нацелился на более скромную сумму, возможно, его эксплойт оставался бы незамеченным дольше, чем 90 минут, которые потребовались для того, чтобы уязвимость была замечена.

После обнаружения было ясно, что патч будет выпущен в спешном порядке, что и произошло. В течение двух часов после обнаружения Common Vulnerability and Exposures 2010-5139 разработчики Core Гэвин Андресен и Сатоши Накамото занимались этим кейсом, и транзакции на 184 миллиарда BTC были удалены из блока #74638.

Как только более 50% мощности узлов будет обновлено и хорошая цепочка одержит верх над плохой, узлы 0.3.10 сделают так, что любые грязные транзакции не смогут получить подтверждения.

— заверил Сатоши.

Создатель Биткоина серьезно отнесся к ошибке такого масштаба и более десятка раз написал в теме, посвященной ее обнаружению и устранению. Спустя пять месяцев после этого инцидента Сатоши навсегда покинул основанное им сообщество. После себя он оставил криптовалюту, которая оказалась достаточно сильной, чтобы пережить следующие годы.

История Биткоина