Logo
Compartir este artículo

«Неоголошений хардфорк» Ethereum намагався запобігти тому зриву, який він спричинив

Хардфорк, який розділив ланцюжок Ethereum на дві частини, був активований навмисно, поставивши під сумнів координацію клієнтів Ethereum.

facepalm1

Винос:

CONTINÚA MÁS ABAJO
No te pierdas otra historia.Suscríbete al boletín de The Protocol hoy. Ver Todos Los Boletines

  • Основна частина екосистеми DeFi Ethereum стала темною раніше сьогодні після того, як прихована помилка в коді Ethereum розділила історію транзакцій мережі на дві частини.
  • Поділ був результатом зміни коду, яка була таємно вставлена ​​в попереднє оновлення Geth; деякі оператори вузлів Ethereum проігнорували оновлення, яке, за іронією долі, мало запобігти самому розколу, який стався.
  • Вузли, які не оновлювалися, мали враження, що оновлення було незначним, і не знали, що воно містить зміни в консенсусному дизайні Ethereum.
  • Посмертний розтин опублікований сьогодні Geth вказує на те, що помилка була навмисно запущена. Цей випадок є, мабуть, найбільшою проблемою для Ethereum з моменту форку DAO у 2016 році, і він викликає питання про часто рекламовану децентралізацію Ethereum та ефективність координації розробників у Ethereum 2.0.

спочатку, це була очевидна проблема з Infura, сервери під керуванням ConsenSys, які KEEP більшість програм децентралізованого Фінанси (DeFi) з мережею Ethereum .

Інфура спустився навколо 8:00 UTC середа, а разом з ним і деякі з найпопулярніших програм Ethereum, зокрема Metamask, MakerDAO, Uniswap, Compound і MyCrypto. Незабаром після цього Binance зупинив торгівлю Ethereum після того, як помітив конфліктні транзакції на своєму вузлі Ethereum . Коли інші біржі також призупинили торгівлю, стала зрозумілою справжня проблема: помилка в клієнті Go Ethereum (Geth), код якого лежить в основі 80% додатків Ethereum, розділив блокчейн Ethereum на дві частини.

Читайте також: Розробники Ethereum відклали Берлінський хардфорк, щоб усунути проблеми з централізацією клієнтів

Дві суперечливі історії транзакцій означали, що користувачі Etheruem тимчасово взаємодіяли з різними версіями блокчейну Ethereum . Це не тільки спричиняло затримки, але й піддавало ризику кошти користувачів, виводячи з ладу більшість додатків Ethereum DeFi на кілька годин.

Infura вирішила проблему, як і інші постачальники послуг, які постраждали від snafu, оновивши свої вузли. Ці зацікавлені сторони використовували старішу версію Geth, яка містила помилку, яку розробники Ethereum мовчки виправили в останньому оновленні – оновлення, яке Infura та Blockchair, зокрема, проігнорували.

Крім цих двох постачальників послуг, інші користувачі Ethereum і постачальники гаманців також постраждали, оскільки вони T оновили свій код, повідомили розробники CoinDesk.

Фіаско викликає критики Сприймається децентралізація Ethereum, тоді як зацікавлені сторони дивуються, чому зміни були внесені Secret без координації між Geth та іншими командами розробників.

Для деяких поділ є найактуальнішим викликом для Ethereum після сумнозвісного злому DAO у 2016 році.

Розрив ланцюга Ethereum: як це сталося

У щойно опублікованому посмертно, Петер Сіляджі, керівник команди Ethereum, написав, що форк «був (навмисно) запущений у мережі Ethereum ».

Представник с Optimism, проект масштабування Ethereum , нещодавно опубліковано що проект навмисно викликав помилку, яку виправило оновлення Geth, що поклало початок форку.

Коли відбувся форк, було створено дві версії книги транзакцій Ethereum : ONE з транзакціями від оновлених клієнтів Geth, а ONE з транзакціями від старих клієнтів Geth (наприклад, Infura).

«Виправлення було застосовано кілька місяців тому, і тільки сьогодні надійшла транзакція, яка спричинила цей розкол», — сказав CoinDesk у прямому повідомленні Микиті Жаворонков, провідний розробник Blockchair, дослідника блоків Ethereum , який постраждав від форку.

Читайте також: Чи Навчання Ethereum щось із атаки DAO на 55 мільйонів доларів?

Вважаючи, що оновлення було «незначною зміною в коді», Blockchair T став турбуватися про оновлення, оскільки це T варто було б час простою своїх послуг. Але більш ніж незначне, розробники, очевидно, також внесли тихі зміни в механізм консенсусу Geth в оновленні.

«Команда Geth справді змінила консенсус впровадження у випуску v1.9.17, однак команда не створювала жодних нових правил, про які спільнота Ethereum T знала або з якими не погоджувалася», — пише Szilágyi у дописі, кажучи, що ці правила були викладені в Пропозиція щодо вдосконалення Ethereum три роки тому.

«Якщо ви T вважаєте випадкове введення помилки «консенсусним оновленням», то вам також не слід вважати «консенсусним оновленням» виправлення згаданої помилки через кілька місяців», — стверджував він.

Ще один посмертнийУ опублікованому Ethereum Foundation 12 листопада зазначено, що експлойт стався «в блоці 11234873, транзакція 0x57f7f9», додаючи, що ланцюжок меншості для несинхронізованих вузлів становив приблизно 30 блоків.

Заклик до прозорості

За іронією долі, форк був спричинений саме тією помилкою консенсусу, яку намагалося вирішити оновлення Geth.

Баунті програма Ethereum нещодавно визнаний Джон Ян, новачок у спільноті відкритих програм Ethereum, за виявлення цієї та іншої вразливості. Розробник Geth і експерт з безпеки Ethereum Мартін Свенде твітнув зміни в оновленні усувають виявлені проблеми, натякаючи, що фіаско є «нагадуванням про те, KEEP ваш вузол(и) оновлювався!»

Свенде продовжує кажуть у твіті що розробники не оголосили про великі зміни, щоб не привернути увагу до недоліку. У своєму власному поясненні Сіладжі сказав, що «тихе» виправлення помилки спричинило менше «перешкод».

Тим не менш, інші зацікавлені сторони Ethereum дивуються, чому помилку не можна було розкрити приватно з командами, які будують на Geth.

Читайте також: «Висока» помилка в програмному забезпеченні для Bitcoin виявлена ​​через 2 роки після виправлення

«Кожен великий проект, з яким тісно спілкується команда розробників, повинен мати контакт із безпекою, який може допомогти керувати та координувати плавне оновлення, і ми повинні працювати разом», — сказав Мет Луонго, засновник Thesis, CoinDesk.

«Коли форки є сюрпризами, будь-хто, хто побудував Ethereum , як ми, може втратити гроші», — продовжив він.

Дипломна робота будує Keep Network, яка видає tBTC, форма токенізованого Bitcoin для блокчейну Ethereum . Луонго сказав, що форк поставив під загрозу кошти користувачів tBTC, але не через розкол ланцюга, який було вирішено після того, як Infura та інші оновили свої клієнти Geth.

Це тому, що простой означав, що користувачі, які ставлять Ethereum у Keep Network, T могли координуватися з основним ланцюгом Ethereum ; в результаті вони ризикували «урізати» частину своїх акцій через невідповідність фідуціарним вимогам. Тезіс сказав CoinDesk , що жоден із Bitcoin , які забезпечують токени tBTC, ніколи не був під загрозою.

Крім того, випадок Тезіса є лише ONE із прикладів зриву, який форк створив для кожного, хто намагався використати «ланцюжок меншості» під час розколу.

Незважаючи на проблеми, спричинені поділом, ціни на ефір, рідну Криптовалюта блокчейну Ethereum , у середу після появи новин зросли на 4,6%, що свідчить про те, що трейдери не бачать системної чи довгострокової загрози від аварії.

Збирання частин

Жаворонков сказав, що безлад не був зловмисним, але «якби [Гет] знав, що таке може статися, вони повинні були підготувати посібник для операторів вузлів». Луонго поділився подібним розчаруванням, сказавши, що команда Geth є «хорошими розробниками», але їм бракує «досвіду роботи з інфраструктурою» і вони «недофінансовані».

Коментарі вказують на розчарування, яке поділяють деякі зацікавлені сторони Ethereum щодо того, чому Geth тримав консенсусну зміну в Secret. Ідучи далі, чому Infura, основа децентралізованої Фінанси екосистеми Ethereum, серед іншого, не знала про помилку, що порушує консенсус у коді Ethereum раніше це було спрацьовано?

«Це BIT сіра зона і вимагає обговорення кожного конкретного випадку», — пояснює Сілагі у своїй публікації. «Ми всі згодні з тим, що прозорість — це цар, і що ми повинні прагнути до неї якомога більше, але також важливо розглянути всі деталі, перш ніж почнуть обертатися голови.

Читайте також: Зворотний відлік Ethereum 2.0 починається з випуску депозитного контракту

"У випадку з Ethereum потрібно багато часу (тижнів, місяців), щоб змусити операторів вузлів оновитися навіть до запланованого хардфорка. Підкреслюючи, що випуск містить важливий консенсус або виправлення DoS, завжди існує ризик того, що хтось намагатиметься перевершити оновлювачів до кінця та зруйнувати мережу. Безпека через невідомість — це точно не те, до чого слід прагнути, але затримка потенційної атаки на достатню кількість, щоб отримати імунітет більшості операторів вузлів, може варто тимчасового «удару» по прозорості», – продовжив він.

Зрештою, команда Гета вважала, що розкриття вразливості пов’язане з надто великим ризиком, тому вони вирішили, що таємне просування оновлення створює найменший ризик.

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

Оскільки Ethereum наближається до свого найбільшого оновлення в ETH 2.0, цей випадок може стати критичним дослідженням у сфері координації клієнтів для екосистеми Ethereum .

«Найважливіша річ тут IMO полягає в тому, щоб люди, які звернулися до цього заклику, були прозорими щодо міркувань, визнавали будь-які помилки та розвивалися», — сказав Луонго. "У минулому Monero добре справлявся з [помилками консенсусу], як і Bitcoin і Zcash. Є багато прикладів, і хоча координувати роботу в галузі завжди складно, уникати будь-якої координації надзвичайно небезпечно.

«Я сподіваюся, що цей форк призведе до більш тісних відносин і переосмислення того, як проекти на Ethereum взаємодіють із розробкою клієнтів».

оновлення 00:36 UTC 12 листопада Цю статтю було оновлено, щоб краще передати, що «хардфорк» був не навмисною зміною коду, а розривом ланцюжка, який був викликаний консенсусною помилкою, яку розробники Ethereum тихо виправили у випуску Geth v1.9.17.

оновлення 21:02 UTC 12 листопада - Цю статтю було оновлено, щоб включити інформацію від фонду Ethererum post mortem щодо поділу.

Colin Harper, Blockspace Media

Colin writes about Bitcoin. Formerly, he worked at CoinDesk as a tech reporter and Luxor Technology Corp. as head of research. Now, he is the Editor-in-Chief of Blockspace Media, and he also freelances for CoinDesk, Forbes and Bitcoin Magazine. He holds bitcoin.

Colin Harper