Аномалії в мережі Біткоїна

Аномалії в мережі Біткоїна

Біткоїн уже багато років демонструє стабільну роботу. Але несподіванки часом трапляються, і те, як він із ними справляється, зайвий раз доводить його унікальність та надійність.

У чому унікальність блокчейну Біткоїна

Блокчейн Біткоїна має унікальні властивості, що роблять його стійким до збоїв. Насамперед ключовим фактором є його децентралізована структура. У блокчейні Біткоїна немає центрального управляючого органу. Натомість він підтримується мережею незалежних нод (вузлів), кожна з яких зберігає копію всього реєстру транзакцій. Це означає, що навіть якщо одна або кілька нод вийдуть з ладу, решта мережі функціонуватиме далі, забезпечуючи цілісність і доступність даних. Таким чином, блокчейн Біткоїна забезпечує високий ступінь відмовостійкості та безперервності роботи.

Аномалії в мережі Біткоїна
Джерело: Flikr

Перша загроза

Однак, незважаючи на 100% безвідмовність у роботі та неприступну криптографічну безпеку, в перші дні існування Біткоїна було виявлено небезпечний баг. Він дозволив хакеру 15 серпня 2010 року на висоті 74 638 блоків згенерувати 184,4 млрд монет.

На той момент провідний розробник Біткоїна Володимир Ван Дер Лаан так прокоментував ситуацію: «Це була найгірша проблема з тих, які будь-коли виникали».

Хакер зрозумів, що частина коду для перевірки транзакцій не працює, якщо переказувати занадто велику кількість монет. Він використав цей недолік і створив 184,467 млрд біткоїнів, надіславши 92,2 млрд з них на дві адреси. Емісія Біткоїна обмежена 21 млн монет, тому ця транзакція створила в 8784 рази більше біткоїнів, ніж це взагалі можливо. Якби баг не виправили, це могло б знищити Біткоїн, оскільки призвело б до краху ринків до нуля і повністю зруйнувало довіру до першої криптовалюти.

На щастя, інцидент було помічено майже одразу, і вразливість усунули протягом п'яти годин за допомогою Гевіна Андерсена й інших розробників Біткоїна.

Єдиним способом виправити баг було внесення належного редагування в код і перезапуск блокчейну з моменту до хакерської атаки. Це призвело до софтфорку та поділу блокчейну на два ланцюги. На висоті 74 691 блоку ланцюг з правками в коді було визнано істинним, тому монети, що з'явилися, зникли.

Зламаний блокчейн із 184,4 млрд біткоїнів проіснував приблизно дев'ять годин. Транзакції, що відбулися у зламаному блокчейні протягом цих дев’яти годин, було скасовано, що могло призвести до втрати коштів для деяких користувачів. На щастя, лише невелика кількість людей тоді використовували Біткоїн, тому збитки були незначними. Інцидент не зупинив Біткоїн, і він у результаті став глобальною валютою.

Інцидент із форком

Аномалії в мережі Біткоїна
Джерело: Flikr

Інший баг стався у 2013 році, в історії він більше відомий як «інцидент із форком блокчейну». Він стався через розбіжності між двома версіями програмного забезпечення: старою версією 0.7 та оновленою версією 0.8. У результаті майнери, які працювали на різних версіях програмного забезпечення, почали створювати паралельні ланцюги блоків, що фактично розділило блокчейн на дві частини. Це було серйозною проблемою, оскільки цілісність та безперервність блокчейну є ключовим елементом роботи всієї системи Біткоїна.

Реакція спільноти Біткоїна на цей інцидент була швидкою та ефективною. Розробники та майнери скоординували зусилля для вирішення проблеми. Вони дійшли консенсусу про необхідність тимчасової відмови від використання нової версії програмного забезпечення та повернулися до старої версії 0.7, щоб відновити єдність ланцюжка. Це рішення допомогло уникнути потенційного дублювання транзакцій та інших проблем, пов'язаних із поділом ланцюжка. У подальшому розробники провели ретельний аналіз причин того, що сталося, і внесли належні зміни до програмного забезпечення, щоб запобігти подібним інцидентам у майбутньому. Цей випадок став важливим уроком для всієї Біткоїн-спільноти про значущість тестування та обережного впровадження оновлень у систему.

Недійсний блок

Трапляються аномалії в мережі Біткоїна й у наші дні. Майнінгова компанія Marathon Digital видобула недійсний блок на висоті 809 478, в якому містилася транзакція, виконана з порушеннями: спочатку біткоїн був витрачений, а лише потім отриманий. Це спричинило втрату винагороди у розмірі 6,25 BTC (~ $150 000) за помилковий блок.

Повні ноди зареєстрували помилку, що вказує на те, що блок містить біткоїни, які відсутні або вже витрачені, що заборонено правилами консенсусу біткоїна.

Після того як Marathon спробував пройти перевірку свого блоку, десятки тисяч нод відхилили його. Понад те, компанія не змогла отримати підтвердження для жодного блоку, створеного поверх недійсної ділянки мережі, що змусило фірму відмовитися від проведеної роботи і розпочати видобувати блоки заново.

Причиною появи недійсного блоку назвали невелику помилку в експериментальному коді, який проходив тестування.

Співзасновник Casa Джеймсон Лопп підтвердив, що в цій ситуації мережа Біткоїна виявила стійкість, а оператори вузлів, як і раніше, відхиляють недійсні блоки та видаляють їх зі своїх мемпулів. Наразі термін дії блоку Marathon повністю минув, і він ніколи не буде доданий до блокчейну Біткоїна.

Затримки у виробництві блоків

Мережа Біткоїна, як і будь-яка технологічна система, може стикатися з технічними проблемами, у тому числі із затримками у виробництві блоків. Ці проблеми можуть виникнути з різних причин: через раптовий стрибок складності алгоритму доказу роботи (який регулюється кожні 2016 блоків), у зв’язку з падінням хешрейту через відключення великих майнінгових центрів або несподівані технічні несправності.

Мережа Біткоїна вже неодноразово стикалася з подібним явищем. Востаннє таке відбулося 7 листопада. Розрив стався з 10:47 до 11:56 за київським часом на висоті блоку 815 689 та 815 690. Блок на висоті 815 689 добув майнінг-пул AntPool, а наступний за 1 годину 9 хвилин – пул Foundry USA. Далі мережа продовжила працювати у нормальному режимі.

Перед цим схожа ситуація сталася 6 червня 2023 року. Того дня спостерігалася 90-хвилинна розбіжність у часі між створенням двох окремих блоків: 793 098 та 793 099. Між 11:25 та 12:55 мережа Біткоїна, вочевидь, продовжувала функціонувати, але не зробила жодного блоку.

Видобуток блоків соло-майнерами

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

Оскільки процес майнінгу Біткоїна заснований на вирішенні криптографічних завдань, що певною мірою є випадковим процесом, соло-майнер з потужним обладнанням теоретично може розв'язати таке завдання швидше, ніж пули, і тим самим зафіксувати блок у блокчейні. Проте ймовірність такої події вкрай мала.

Так, 29 жовтня соло-майнер за допомогою свого обладнання з хешрейтом 11 PH/s зміг включити блок у блокчейн Біткоїна. За даними сервісу BTC.com, майнер отримав винагороду в розмірі 6,25 BTC (близько $217 000) та комісійні 0,09 BTC. Обчислювальна потужність мережі на той момент становила 445,4 EH/s – один із найвищих показників за останній час.

Підбиваючи підсумки

Безпека та надійність блокчейну біткоїна забезпечується через механізм консенсусу, відомий як Proof-of-Work (PoW). У межах PoW майнери конкурують за додавання нових блоків до ланцюжка, розв'язуючи складні криптографічні завдання. Цей процес вимагає великих обчислювальних ресурсів, що унеможливлює підробку транзакцій або їхню зміну без згоди більшості учасників мережі. Подібна система забезпечує, що кожен блок, доданий до ланцюжка, був перевірений та схвалений мережею, це мінімізує ризики збоїв і помилок у блокчейні.

Варто зауважити, що сама природа блокчейну Біткоїна забезпечує його надійність і стабільність, знижуючи до мінімуму ймовірність будь-яких аномалій. Кожен новий блок у ланцюжку містить унікальний хеш попереднього блоку, створюючи тим самим незмінний і послідовний ланцюжок даних. Це майже унеможливлює зміну вже зареєстрованих транзакцій без зміни всіх наступних блоків, що вимагає колосальних обчислювальних потужностей та згоди більшості учасників мережі. Такий підхід забезпечує цілісність і незмінність всього ланцюжка блоків, мінімізуючи ризик збоїв та забезпечуючи стабільну роботу системи.

Чому Венесуелі не варто забороняти майнінг Чому Венесуелі не варто забороняти майнінг Спроба побудувати соціалізм обернулася для Венесуели повним фіаско. Суттєво допомогти у розв’язанні економічних проблем міг би майнінг, однак замість стимулювання індустрії, місцева влада хоче заборонити видобуток біткоїнів. Володимир Гришенко 21 травня 2024
Чи потрібні біткоїнерам ментори Чи потрібні біткоїнерам ментори Глобальний тренд на послуги менторів та коучів у різних сферах існує вже не перший рік. Але наскільки це явище доцільне для Біткоїн-спільноти? Дмитро Харьков 20 травня 2024
Як біткоїн впливає на заощадження та інвестиції Як біткоїн впливає на заощадження та інвестиції Через постійну інфляцію фіат позбавляє людей заощаджень й значно спотворює структуру інвестицій. Але Біткоїн дарує надію, що незабаром все повернеться до норми. Дмитро Харьков 17 травня 2024