m
Recent Posts
16/11/2018
ГлавнаяКриптовалютаИсследование: большинство смарт-контрактов на Ethereum используют потенциально уязвимый код

Исследование: большинство смарт-контрактов на Ethereum используют потенциально уязвимый код

большинство смарт-контрактов на Ethereum используют потенциально уязвимый код

Исследователи из Университета Мэриленда и Северо-Восточного Университета недавно проанализировали смарт-контракты на основе Ethereum, чтобы определить «как пользователи и контракты взаимодействуют друг с другом».

Совместная исследовательская работа включала в себя модификацию клиента Geth Ethereum для извлечения байт-кодов из всех контрактов, выпущенных на блокчейне Ethereum. Байт-код — это компактное представление программы, уже прошедшей синтаксический и семантический анализ.

Использование байт-кодов для анализа смарт-контрактов

Информация, полученная из байт-кодов, «охватывала почти три года блоков», и она извлечена из «первых пяти миллионов блоков», созданных и зарегистрированных в сети Ethereum.

После тщательного изучения байт-кодов исследователи обнаружили, что большинство, 60%, смарт-контрактов, выпущенных на Ethereum, «никогда не исполнялись».  Это указывает на то, что в основной сети Ethereum может быть большое количество спящего (или неиспользуемого) кода и криптовалютных токенов

Более того, данные байт-кодов показали «чрезвычайно высокий уровень повторного использования кода и сходство кода на Ethereum». Исследователям удалось сократить количество смарт-контрактов на 1,2 млн, создав 5,877 «кластеров» , так как они содержат «очень похож байт-код».

Повторное использование плохого, небезопасного кода

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

Исследователи отметили, что в 2017 году количество транзакций на Ethereum значительно увеличилось с около 40 000 в день до более 1 миллиона. Важно отметить, что сеть Ethereum по-прежнему обрабатывает большое количество транзакций, несмотря на падение цены Эфира (ETH).

В настоящее время процент неисполненных транзакций на Ethereum составляет около 0.01% -0.1%, а около трети всех смарт-контрактов выполняются другими контрактами — вместо того, чтобы быть инициированными пользователями.

Серьезные уязвимости, распространенное заблуждение

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

Несмотря на то, что программный глюк позже был исправлен, пользователи в социальных сетях критиковали разработчиков ICON за допущения такой ошибки. В то время рыночная капитализация токена платформы ICX составляла около 800 миллионов долларов.

Примечательно, но существует распространенное заблуждение, что смарт-контракты способны снизить транзакционные издержки и устранить услуги посредников или третьих лиц. Как объяснил разработчик биткоина Джимми Сонг (Jimmy Song) «выполнение согласованных последствий — вот что делает мощными смарт-контракты, а не врожденный интеллект контракта».

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


Обсудите эту новость в лучших чатах по криптовалюте CryptoOn и bt[c]hat

Спасибо!

Теперь редакторы в курсе.