Це дійсно один із найдраматичніших моментів у ранній історії Біткоїна. Це увійшло в історію як "Інцидент переповнення значення" (Value Overflow Incident), який стався 15 серпня 2010 року. Хоча Біткоїн тоді технічно не «помер», він зіткнувся з екзистенційною загрозою, яка могла б знищити довіру до нього назавжди.

Як з'явилися 184 мільярди біткоїнів?

Проблема виникла на блоці 74 638. Хтось помітив вразливість у коді Біткоїна, пов'язану з тим, як система перевіряла транзакції.

Зловмисник створив транзакцію, яка відправляла по 92,2 мільярда біткоїнів на дві різні адреси (загалом понад 184 мільярди BTC).

Чому система це пропустила? Код Біткоїна перед підтвердженням транзакції перевіряв, чи не перевищує сума на виході суму на вході. Однак через те, що числа були астрономічно великими, сталося "переповнення цілого числа (integer overflow).

* У програмуванні, коли значення перевищує максимальну межу, яку може вмістити тип даних, воно «перевертається» і стає від'ємним або дуже малим нулем. Через це система сприйняла величезну суму виходів як припустиме значення і підтвердила транзакцію.

Як вирішили цей збій?

Вирішення проблеми вимагало блискавичної реакції, і воно складалося з кількох ключових кроків:

1. Швидке виявлення та створення патчу:

Сатоші Накамото (творець Біткоїна) та розробник Гевін Андресен помітили аномалію майже одразу після видобутку шкідливого блоку. Протягом кількох годин Сатоші написав виправлення для коду та випустив нову версію програмного забезпечення Біткоїна — Версію 0.3.10.

2. Зміна правил консенсусу

У новій версії коду було додано жорстке правило:

Система автоматично відхилятиме будь-яку транзакцію, вихідне значення якої перевищує 21 мільйон біткоїнів (максимально можливу емісію). Це унеможливило повторення подібного багу в майбутньому.

3. Хард-форк та «відкат» історії (реорганізація ланцюга).

Щоб знищити фальшиві 184 мільярди біткоїнів, мережі потрібно було буквально «забути» зламаний блок.

* Сатоші закликав усіх майнерів негайно оновитися до версії 0.3.10.

* Оновлені майнери проігнорували блок 74 638 (де була шкідлива транзакція) і почали будувати новий ланцюг блоків, починаючи з попереднього «чистого» блоку 74 637.

У блокчейні діє правило: найдовший ланцюг вважається істинним. Деякий час існувало два паралельних ланцюга (старий з багом і новий виправлений). Оскільки більшість чесних майнерів швидко перейшли на нову версію, «здоровий» ланцюг незабаром перегнав зламаний.

Близько 53 блоків (приблизно 9 годин) знадобилося на те, щоб новий ланцюг став домінуючим. Зламаний блок був відкинутий (став так званим «орфанним» блоком, блоком-сиротою), а фальшиві мільярди назавжди зникли з офіційної історії Біткоїна.

---

Цей випадок (відомий як CVE-2010-5139) є єдиним в історії Біткоїна, коли блокчейн зазнав настільки глибокої реорганізації через критичну вразливість. Замість того, щоб «померти», мережа продемонструвала свою здатність швидко відновлюватися завдяки децентралізованій співпраці розробників та майнерів.

$BTC