Сотрудники Университетского колледжа Лондона провели масштабное исследование по обнаружению различных уязвимостей смарт-контрактов на блокчейне Ethereum.
Проблемы выявлялись экспериментальным путём. Сначала учёные скачали блокчейн Ethereum и один за другим стали запускать разнообразные сценарии, пытаясь добиться нежелательных последствий.
Каждый раз, при обнаружении очередной проблемы, исследователи помечали смарт-контракт. Таким образом специалистам удалось просмотреть около миллиона смарт-контрактов и 34 200 из них содержались критические уязвимости. Они проверили свои предположения на 3000 смарт-контрактах, и в 89% случаев вызвали те самые нежелательные последствия.
Эксперты считают, что чем раньше обнаружишь уязвимости, тем быстрее удастся предотвратить возможные негативные последствия.
В конце прошлого года пользователь под псевдонимом DevOps19 нашел уязвимость в коде библиотеки Ethereum-кошелька Parity и случайно заблокировал 150 миллионов долларов.
«Мы работаем с приложениями, у которых есть две очень неприятных особенности: они используются для управления вашими деньгами и их нельзя исправить», — пояснили представители института.
Найти создателей уязвимых смарт-контрактов пока не удалось. Но поскольку исследователи не сообщают, в каких именно смарт-контрактах были обнаружены уязвимости, условно их можно считать безопасными.