Logo
Поділитися цією статтею

Ризик подвійних витрат залишається після форку Bitcoin 4 липня

Розгалуження мережі Bitcoin підняло питання щодо того, як ключові учасники платіжної мережі обробляють і підтверджують транзакції.

Затримка впровадження оновлення Bitcoin CORE невеликою кількістю майнерів мережі призвела до додавання недійсних блоків транзакцій у блокчейн Bitcoin цими вихідними.

Результатом став розгалуження мережі, яке створило дві версії блокчейну Bitcoin , які тривали протягом шести блоків 4 липня. Наступного дня до блокчейну було додано ще три недійсні блоки, повторивши проблему.

Продовження Нижче
Не пропустіть жодної історії.Підпишіться на розсилку Crypto Daybook Americas вже сьогодні. Переглянути Всі Розсилки

Як наслідок, розробники CORE винесено попередження на сайті Bitcoin.org із проханням до постачальників гаманців посилено перевіряти вхідні транзакції через ризик того, що кошти можуть бути подвійно витрачені в результаті невідповідності між ланцюжками.

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

Корінь проблеми

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

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

Як запобіжний захід розробники CORE чекають, поки більшість майнерів запровадять зміни. У цьому випадку BIP66 – програмний форк Bitcoin , розроблений для того, щоб зробити мережу менш залежною від синтаксичного аналізу сигнатур OpenSSL – заявив, що певні блоки транзакцій, створені без цього оновлення, вважатимуться недійсними, коли більшість – 950 із 1000 блоків – буде видобуто за допомогою останньої версії.

Теоретично ризик виникнення проблеми був низьким, оскільки лише 5% мережі використовували застарілу версію BIP66. Однак на практиці три пули, які запускають полегшені версії елементів програмного забезпечення, змогли обробити шість послідовних блоків, які мали бути недійсними, створивши дві версії блокчейну Bitcoin , найдовша з яких працювала на старішому програмному забезпеченні.

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

Фабіо Федерічі, генеральний директор постачальника аналізу блокчейну Coinalytics, пояснив CoinDesk:

«Клієнти SPV стверджували, що вони будуть Соціальні мережі правил BIP66, але насправді вони не дотримувалися їх. Значна частина мережі майнінгу не працює на повних вузлах, що підтверджує кожну транзакцію».

Незважаючи на те, що це було ініційовано F2Pool, якби інші майнінгові пули запускали повний вузол для обробки всього Bitcoin біткойнів, недійсні блоки мали б виявлятися швидше.

Загальний консенсус

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

Пітер Грей, засновник API Coinkite для розробників Bitcoin , зазначив, що проблеми з оновленням програмного забезпечення є звичайним явищем через постійне оновлення платіжної мережі.

«Я вважаю, що корисно нагадувати людям, що форки Bitcoin відбуваються щотижня. Зазвичай протягом типового тижня лише один блок стає сиротою, і це не помилка чи атака чи щось інше; просто те, як працює Bitcoin », — сказав Грей.

Майнінгові компанії, які вирішували недійсні блоки, втратили прибуток через необхідність усунути проблему. За оцінками Bitcoin.org, F2Pool, AntPool і BTC Nuggets фактично утримали 50 000 доларів США доходу. три пули для майнінгу що фактично створило та коротко розповсюдило недійсний ланцюжок.

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

Після ефектів

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

Bitcoin.org пояснив підтвердження недійсні блокипов’язано з тим, що клієнти програмного забезпечення не оновлюються до Bitcoin CORE 0.9.5 або новішої версії, і попередив, що легкі гаманці, які використовують SPV, і веб-гаманці особливо вразливі до цієї помилки.

Попереджаючи, що проблема залишається невирішеною, Bitcoin.org закликав користувачів «почекати ще 30 підтверджень», ніж зазвичай, перш ніж прийняти транзакцію як дійсну. Майнерам також рекомендовано перейти на пул, який перевіряє блоки транзакцій за допомогою повного вузла, а окремим майнерам використовувати Bitcoin CORE 0.10.2.

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

«Ключовий висновок — це розподіл повних вузлів проти вузлів SPV. Кожен повинен запускати повний вузол, і, можливо, це T має сенсу з економічної точки зору або є інші переваги клієнта SPV, але це супроводжується ризиком», — продовжив Федерічі.

Єссі Белло-Перес внесла свій внесок у звіт.

Розвилка на зображенні дороги через Shutterstock

Pete Rizzo

Піт Ріццо був головним редактором CoinDesk до вересня 2019 року. До того, як приєднатися CoinDesk у 2013 році, він був редактором джерела новин про платежі PYMNTS.com.

Picture of CoinDesk author Pete Rizzo