Откат и новый перенос обновления Constantinope из-за ошибка повторного входа

Хард-форк Ethereum «Константинополь» не состоялся и вновь был отложен из-за обнаружения новой уязвимости безопасности.

Эта проблема была выявлена  во вторник компанией Chainsecurity, которая отвечает за аудит умных контрактов Ethereum.

Какие риски привели к ошибке и когда Константинополь, наконец, будет выпущен?

История могла повториться

Согласно Chainsecurity, обнаруженная уязвимость позволила бы злоумышленникам совершать «атаки с повторным входом», позволяя им многократно использовать функцию и постоянно выводить средства.

Эта стратегия хорошо известна: атаки с повторным входом ранее использовались в печально известной атаке DAO 2016 года, когда сеть эфириума раскололась на две ветки эфириум и эфириум классик.

Эта атака была одной из крупнейших в истории криптовалют. А уязвимость повторного входа остается, как оказалось, до сих пор потенциально проблемой, однако не такой серьезной, благодаря своевременному обнаружению, и только в обновлении Constantinople, точнее в коде предложения  EIP 1283 (отвечает за снижение расходов на gas). В основной цепочке блоков Ethereum ее нет.

Компания Chainsecurity заявляет, что она просканировала сеть Ethereum и не обнаружила уязвимостей. Тем не менее, компания копает глубже и отмечает, что ошибка представляет потенциальный риск для децентрализованных бирж. К счастью, эти ошибки в настоящее время не могут быть использованы, но Chainsecurity, тем не менее, призывает к «тщательному анализу» умных контрактов.

Что известно об ошибке в EIP 1283

Чтобы воспользоваться уязвимостью повторного входа, злоумышленник сначала вносит часть своих средств в многопользовательский смарт-контракт. Затем вызывает функцию для снятия депонированных им средств, что является законным, но до того, как остаток депонированных и снятых средств будет урегулирован, вызывают новую функцию, которая запускает вывод средств за пределы суммы его депозита, по существу, крадя деньги других сторон в договоре.

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

Благодаря EIP 1283 , одному из пяти предложений по улучшению Ethereum, включенных в Константинополь, затраты на газ для определенных операций SSTORE (которые контролируют сохранение и перезапись данных в рамках умного контракта) были сокращены с 5000 до 200. Как обнаружила ChainSecurity, это снижение цены позволило бы злоумышленнику обманным путем изменить фиктивную переменную, которая должна была оставаться неизменной, например, пропорции выплаты между различными сторонами умного договора.

Откат хардфорка эфира без критики

Хотя перспектива еще одного взлома DAO вызывает беспокойство, в конечном итоге обнаружение уязвимости и отсрочка обновления показывают сообщество, способное быстро мобилизоваться, чтобы сохранить безопасность пользователей Ethereum.

Временной интервал, приведенный в сообщении в блоге Фонда Эфириума, описывает период, равный девяти часам между обнаружением ошибки с помощью внутренней программы вознаграждения за ошибки, опубликованной в Интернете, обсуждением среди множества сторон и принятием окончательного решения об отсрочке.

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

«Хард-форк Ethereum Constantinople и его задержка подчеркивают степень, в которой Ethereum полагается на своих ведущих разработчиков, принимающих правильные решения от имени пользователей, и проблемы с адаптацией чего-то, что уже очень сложно масштабировать»

— сказал Ричард Ред, исследователь и стратег, лидер Decred, криптовалютной платформе, специализирующейся на децентрализованном управлении. И добавил:

«Разработчики Ethereum прилагают усилия, чтобы выслушать заинтересованные стороны и публично обсудить проблемы … но в конечном итоге решения принимаются в частных беседах между ключевыми людьми. У любого, кто не является инсайдером, есть выбор: «бери или оставь это», решать, следует ли ему следовать решению Ethereum Foundation»

Там, где на карту поставлены деньги, большинство владельцев ETH, скорее всего, будут в безопасности. Тем не менее, в долгосрочной перспективе могут быть непредвиденные последствия такого резкого изменения курса.

Константинополь уже… постоянно задерживается

Хард-форк Эфириума «Константинополь» был первоначально запланирован на конец 2018 года. Однако ряд проблем значительно отодвинули обновление.

В начале октября Константинополь был впервые задержан из-за обнаружения вектора атаки типа «отказ в обслуживании» (DOS). Эта задержка усугублялась проблемой консенсуса в тест-сети, возникшей несколько недель спустя.

В ноябре 2018 Константинополь запланирован на середину января, и вновь, уже в последнюю минуту старта обновления, 15.01.2019, появляется новая ошибка повторного входа.

Неясно, является ли обнаружение ошибки просто неудачным выбором времени, или тестирование стало более строгим, что привело к изменению даты хард-форка.

Новая дата Constantinople

В любом случае, разработчики планировали новую дату в пятницу, 18 января, но есть большая вероятность переноса на неопределенный срок.

Так и есть, в январе форка не будет.

Как написал coindesk,18 января состоялась телефонная конференция с участием ведущих разработчиков — Бутерина, Хадсона Джеймсона, Лейна Реттига, Афри Шоедона, Петера Силаджи, Мартина Холсте Свенде, Дэнни Райана и Алексея Ахунова.

Обновление решено перенести на конец февраля, с 26 по 28 число. Точно стал известен номер блока активации форка — 7280000, ожидается, что он будет добыт  27 февраля.

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

Самое главное, что Константинополь сократит награду за майнинг и проложит путь к POS-майнингу. И хотя это самое противоречивое предложение, пересуды вероятно, не помешают выходу обновления.

constantinople eth

Мнение аналитиков за 24 часа до хардфорка эфириума (ETHEREUM)

Активность адресов BTC, ETH

Активность адресов BTC доминирует над альткоинами из ТОП 5: XRP, ETH, BCH, EOS