Большинство смарт-контрактов в Эфириуме используют уязвимый код

Аватар
Johnny Walker
Chief Editor
29 февраля 2020 Updated on  Обновлено   10 февраля 2023

Американские аналитики информационной безопасности из Университета Мэриленда и Северо-восточного университета провели совместную работу по изучению проблем, которые возникают при заключении умных контрактов между пользователями платформы Ethereum. По сравнению с другими блокчейнами, в Эфириуме смарт-контракты в три раза чаще создаются на основе других контрактов.

Исследование смарт-контрактов Эфириума

Главные выводы исследования

Аналитики в своём исследовании использовали программный инструмент на основе консольного клиента Geth, который позволяет просматривать байт-коды смарт-контрактов, записанных в Эфириуме. Информация извлекалась из первых 5 миллионов блоков, сгенерированных в блокчейне Ethereum за первые 3 года его работы.

В ходе подробного изучения содержимого блоков стало ясно, что 60% созданных смарт-контрактов так и не были заключены впоследствии. Это значит, что сеть загружена большим объёмом ненужной информации и бесполезных токенов.

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

Одинаковый код небезопасен

Одинаковый код с точки зрения безопасности

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

Американские аналитики напомнили о громких случаях, в которых хакеры использовали уязвимости, возникшие из-за крупных багов:

  1. В ноябре 2017 года пользователь Parity умудрился случайно заморозить 578 чужих кошельков, содержащих 513 тысяч ETH (~170 миллионов долларов на тот момент). Эти монеты безвозвратно застряли в Эфириуме.
  2. В апреле 2018-го злоумышленник научился тиражировать 12 видов токенов ERC-20 из ничего, используя только ошибку в смарт-контрактах, а потом менять их на эфиры через биржу OKEx. Эта биржа, а также HitBTC тогда приостановили ввод и вывод любых токенов стандарта ERC-20 до устранения ошибки разработчиками Ethereum.
  3. В октябре 2018-го хакер украл 165 ETH (~38 тысяч долларов на тот момент) у криптопроекта SpankChain, найдя уязвимость в смарт-контракте платёжного канала. Позже этот белый хакер вернул все монеты обратно, а SpankChain даже выплатил ему вознаграждение за преподанный урок по безопасности.

Миф о безопасности транзакций

Популярный миф о безопасности транзакций

Существует популярное убеждение, что средствами смарт-контрактов возможно не только уменьшить стоимость транзакции за счёт устранения из сделки посредников, но и повысить её безопасность. Однако по мнению Джимми Сонга, известного предпринимателя и разработчика Bitcoin Core, это убеждение ложно:

«Автоматическое исполнение условий соглашения позволяет назвать систему умных контрактов мощным платёжным инструментом, но не поднимает её на высоту искусственного интеллекта».

Кроме того, по его словам, смарт-контракты зачастую пишутся людьми, никогда всерьёз не занимавшимися юридической практикой. Такие любители редко понимают, как правильно составить надёжный контракт, из чего проистекают возможные изъяны в защищённости транзакций. А главное, они считают свой код идеальным, не требующим аудита.

map

Связаться с нами