Разработчики Ethereum Core объявили во вторник, что отложат свой долгожданный хард-форк в Константинополе.

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

Более низкая стоимость газа может вызвать проблемы с безопасностью

В ретроспективе атака повторного входа происходит, когда смарт-контракт связывается с внешним смарт-контрактом, вызывая его. Если иностранная организация оказывается злонамеренной, она может воспользоваться функцией вызова и взять под контроль первый смарт-контракт. Эта уязвимость может позволить внешнему интеллектуальному контракту неожиданно вносить изменения в код хоста. Например, такой злоумышленник может многократно снимать эфирные средства путем «повторного входа» в определенную строку в Кодексе.

В случае с Константинополем ChainSecurity обвинила более дешевые затраты на газ в том, что они подстегнули возможность повторной атаки. По словам фирмы, две стороны могут совместно получать средства, решать, как их разделить, и получать выплату, если они соглашаются, просто используя контракт «PaymentSharer».» упоминается в коде хард-форка.

«До Константинополя каждая операция по хранению стоила бы как минимум 5000 газов», — писал Константинополь. «Это намного превышает бензиновую стипендию в 2300, отправленную при заключении контракта с использованием« передачи »или« отправки »».

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

«Затем, заставляя уязвимый контракт вызывать контракт злоумышленника, например, сmsg.sender.transfer (...) Контракт злоумышленника может использовать газовую стипендию 2300 для успешной манипуляции с переменной уязвимого контракта », — полагает ChainSecurity.

Пока нет уязвимых контрактов

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

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

«Если у вас есть N возможностей протокола, есть N2 пути, которыми они могут потенциально сломаться », — написал он в Reddit. "Я бы сказал [that] Мой личный вывод из этого состоит в том, чтобы быть более четким в отношении записи инвариантов (свойств, гарантируемых протоколом), на которые мы полагаемся, чтобы мы могли проверять их при изменении ».

MyCrypto.com, интерфейс блокчейна с открытым исходным кодом, также поддержал мнение Бутерина.

«Реализация EIP1283 была разумной», — написала компания в одном из своих твитов. «Код в порядке. Идея позади этого прекрасна. В коде этого EIP нет «ошибки». Он делает то, что задумано. Потенциальная уязвимость лежит на уровне контракта, а не на уровне EVM / кода операции / EIP ».

Пост Что заставило Ethereum задержать их долгожданного хард-форка? появился первым на NewsBTC.