Американские аналитики информационной безопасности из Университета Мэриленда и Северо-восточного университета провели совместную работу по изучению проблем, которые возникают при заключении умных контрактов между пользователями платформы Ethereum. По сравнению с другими блокчейнами, в Эфириуме смарт-контракты в три раза чаще создаются на основе других контрактов.
Аналитики в своём исследовании использовали программный инструмент на основе консольного клиента Geth, который позволяет просматривать байт-коды смарт-контрактов, записанных в Эфириуме. Информация извлекалась из первых 5 миллионов блоков, сгенерированных в блокчейне Ethereum за первые 3 года его работы.
В ходе подробного изучения содержимого блоков стало ясно, что 60% созданных смарт-контрактов так и не были заключены впоследствии. Это значит, что сеть загружена большим объёмом ненужной информации и бесполезных токенов.
Исследователи также установили, что всего 10% смарт-контрактов являются уникальными, написанными с нуля. Все остальные создавались либо по шаблону существующих, либо с частичным использованием заимствованного кода. Низкое разнообразие смарт-контрактов, массовое копирование чужого кода, множественные баги ухудшают безопасность всей платформы Ethereum.
Многократная запись в блоки одного и того же содержимого бывает удобна и оправдана, когда нужно создавать множество однотипных смарт-контрактов по одинаковому шаблону. Однако такая практика может привести к распространению уязвимости или ошибки, возникшей в одной записи, на тысячи других.
Американские аналитики напомнили о громких случаях, в которых хакеры использовали уязвимости, возникшие из-за крупных багов:
Существует популярное убеждение, что средствами смарт-контрактов возможно не только уменьшить стоимость транзакции за счёт устранения из сделки посредников, но и повысить её безопасность. Однако по мнению Джимми Сонга, известного предпринимателя и разработчика Bitcoin Core, это убеждение ложно:
«Автоматическое исполнение условий соглашения позволяет назвать систему умных контрактов мощным платёжным инструментом, но не поднимает её на высоту искусственного интеллекта».
Кроме того, по его словам, смарт-контракты зачастую пишутся людьми, никогда всерьёз не занимавшимися юридической практикой. Такие любители редко понимают, как правильно составить надёжный контракт, из чего проистекают возможные изъяны в защищённости транзакций. А главное, они считают свой код идеальным, не требующим аудита.