Новый баг Constantinople вынуждает разработчиков Ethereum принимать срочные решения
-
В приближающемся обновлении Ethereum был обнаружен новый баг, затрагивающий ограниченное число смарт-контрактов, использующих функцию самоуничтожения. Об этом пишет Trustnodes.
Разработчик Ethereum Foundation Джейсон Карвер пояснил, что новая функция под названием Create2 может позволить заменить самоуничтожившийся смарт-контракт, попутно изменив указанные в нём правила.
«Можно создать довольно безобидный контракт до Constantinople, чтобы у него было два возможных сценария: {‘контракт существует’: ‘обменять токены’, ‘контракт самоуничтожается’: ‘израсходовать определённый объём газа’}. После Constantinople сценарии могут быть следующими: {‘контракт существует’: ‘обменять токены’, ‘контракт самоуничтожается’: ‘израсходовать определённый объём газа’, ‘заменить контракт’: ‘все предварительно одобренные для контракта ERC20-токены украдены’}».
Карвер отметил, что функция самоуничтожения не несёт дополнительных рисков в текущей версии протокола, однако после обновления код может быть использован для кражи всех выделенных токенов смарт-контракта.
Таким образом, пользователям, которые хотят избежать потенциального ущерба от этого типа уязвимости, необходимо изучить код контракта на предмет наличия в нём функции самоуничтожения без надлежащего периода неактивности и не взаимодействовать с ним.
Карвер, однако, считает, что предупредить всех потенциальных жертв до активации хард форка, который должен состояться через 2 недели, не удастся. «Существуют способы обхода подобных “социальных атак”, но большинство из них требует обучения. Определённо, это не удастся сделать до Constantinople», - написал он.
В своём Twitter Карвер проводит опрос, участникам которого предлагается ответить, смогут ли смарт-контракты неожиданно изменять код после обновления. К настоящему моменту 75% респондентов, большинство из которых, вероятно, являются технически подкованными пользователями, заявили, что не смогут.
Разработчики рассматривают возможность интеграции дополнительной защиты от повторного воспроизведения в функцию Create2 и некоторые альтернативные решения. Какое из них они сочтут наиболее оптимальным, неизвестно, но действовать им в любом случае придётся в крайне сжатые сроки.
Релиз-менеджер клиента Parity Афри Шедон в ответ на вопрос о том, повлияют ли новые обстоятельства на дату активации хард форка, ответил: «Нет». При этом он не был уверен, говоря о серьёзности уязвимости: «Мне тоже хотелось бы знать ответ». Также необходимо учесть, что наступление «ледникового периода» в блокчейне Ethereum, уже увеличившего время блока до 21 секунды, будет вынуждать разработчиков действовать быстро.
Пользователи рынка предсказаний Augur, тем временем, организовали пари, участникам которого предлагается сделать ставку на следующее условие: «Состоится ли форк Ethereum Constantinople к 28 февраля 2019 года?»
-
Им пора уже график нахождения багов опубликовать. ))
-
Участник @garryncha написал в Новый баг Constantinople вынуждает разработчиков Ethereum принимать срочные решения:
Им пора уже график нахождения багов опубликовать. ))
так там список большой будет ... лет так на десять вперед ...
-
было бы забавно, если бы из-за нового бага опять перенесли форк. разработчики услышали бы о себе много интересного.
-
Участник @ivan-ivanov написал в Новый баг Constantinople вынуждает разработчиков Ethereum принимать срочные решения:
было бы забавно, если бы из-за нового бага опять перенесли форк. разработчики услышали бы о себе много интересного.
Ну можно не переносить ... еще хуже будет результат в этом случае ...
-
@casio говорят, что баг не критический, так что скорее всего попробуют быстро решить проблему.
-
@ivan-ivanov А скорее всего так и будет. )
-
@garryncha нового переноса сообщество попросту бы не поняло. разработчики это сами осознают.
-
@ivan-ivanov А если не успеют все довести до ума к новому сроку хардфорка - снова сядут в лужу ?
-
@garryncha думаю, что просто ускорятся и все успеют. они сами понимают, что в противном случае их ожидает освистывание со стороны сообщества.
-
Участник @ivan-ivanov написал в Новый баг Constantinople вынуждает разработчиков Ethereum принимать срочные решения:
@casio говорят, что баг не критический, так что скорее всего попробуют быстро решить проблему.
нечего себе не критический баг ... там можно смартконтракты отменить которые должны были удалиться ...
-
@casio посоветовали изучить код контракта на предмет наличия в нём функции самоуничтожения без надлежащего периода неактивности и не взаимодействовать с ним.
-
Участник @ivan-ivanov написал в Новый баг Constantinople вынуждает разработчиков Ethereum принимать срочные решения:
@casio посоветовали изучить код контракта на предмет наличия в нём функции самоуничтожения без надлежащего периода неактивности и не взаимодействовать с ним.
Ну все такие спецы... всем мы читаем смарт контракты перед использованием ...
-
@casio а нам их и не нужно читать, мы же не программируем их.
-
Как я и писал опять найдут баг и дата форка будет просто перенесена- словно время тянут они.
-
Участник @ivan-ivanov написал в Новый баг Constantinople вынуждает разработчиков Ethereum принимать срочные решения:
@casio а нам их и не нужно читать, мы же не программируем их.
ну тогда такое совет явно не проходит ...
-
@casio В общем как говорится ребята подождите до Нового Года - у них баг раз в месяц - как расписано.
-
@andrei1990bit на этот раз обещали уже не переносить. может ошибку учтут в будущем обновлении.
-
Участник @ivan-ivanov написал в Новый баг Constantinople вынуждает разработчиков Ethereum принимать срочные решения:
@andrei1990bit на этот раз обещали уже не переносить. может ошибку учтут в будущем обновлении.
думаю что то новое найдут... ибо пока старое исправляют , видно новое там рождается ...
-
@casio ага, постоянно ошибки находят. такое чувство, что весь код у них полон багов.