Найти тему
ProMoney

Что такое MAIAN: самый популярный инструмент для анализа смарт-контрактов

Оглавление

О нас
ФФ - Главный криптодайджест! Все самые интересные и важные события сразу на русском.
Платформа Trader trends (tt.ff.ru) – сервис решений для трейдеров и держателей криптоактивов. Подключайся и следи за портфелями профессиональных трейдеров.

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

Обзор основ MAIAN

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

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

Результатом этой дилеммы стало рождение MAIAN. Инструмент для анализа блокчейна с открытым кодом, который помогает разработчикам искать ошибки до того, как он будет использован. Инструмент был выпущен в общий доступ около 9 месяцев назад.

MAIAN был выпущен в соответствии с лицензией MIT, авторами Ивица Николич, Аашиш Коллури, Илья Сергей, Пратик Саксена и Аквинас Хобор, он свободен для использования и доработок. Первоначальное тематическое исследование было опубликовано через базу данных Cornell, в котором была проанализирована и пропущена через MAIAN видимая часть блокчейна Ethereum. Тогда около 8% всех контрактов содержали какую-то уязвимость.

MAIAN классифицирует и распределяет ошибки в смарт-контрактах по трем главным типам уязвимости: «Щедрые», «Жадные» и «Суицидальные».

Три главных типа уязвимости

MAIAN может использоваться для анализа каждого контракта на три основные ошибки. Первая – «суицидальный» контракт. В этих контрактах незамеченный или неправильный код может «убить» весь контракт. В смарт-контрактах возможность убить уничтожит весь контракт и вернет средства владельцу контракта. При атаке на суицидальный контракт хакеры могут украсть все средства.

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

Щедрые контракты отправляют маленькие прибавки, чтобы остаться незаметными. Если большое число людей вносят вклад в контракт, потери остаются незамеченными.

«Жадные» контракты – последний тип ошибок. Эти контракты более распространены в криптовалютном сообществе, поэтому многие пострадали от этого типа ошибки при взломе кошелька Parity, когда неизвестный пользователь на GitHub случайно заблокировал всего более 600 000 ЕТН.

MAIAN: под капотом

MAIAN написан на Python и функционирует с зависимостями, описанными на странице GitHub. Хотя инструмент работает при помощи Python, основной инструмент MAIAN работает с написанным на Solidity смарт-контрактом. Сейчас инструмент не работает со смарт-контрактами, которые разворачивают на EOS. MAIAN может анализировать смарт-контракты в любой из трех форм:

  • источник в байт-коде
  • Solidity
  • скомпилированный байт-код.

Программа разработана для легкой настройки и редактирования, пользователи могут создавать свои версии, которые намного эффективнее с точки зрения доступности. В исходной версии MAIAN анализирует один смарт-контракт на один тип ошибок, без дальнейших обновлений.

Бэкендовая структурная схема MAIAN работает, применяя аналитические требования к байт-коду, который запущен. Байт-код взламывается до удобочитаемой для инструмента версии, в форме символического анализа, разделив контракт на «символы», на которые можно сослаться в дальнейшем.

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

Использование MAIAN и его будущее

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

MAIAN также позволяет настроить свой GUI. Это поможет пользователям, которым неудобно работать с командной строкой или кто предпочитает визуальный интерфейс строчке кода.

Инструмент вызывал ошибки при установке на некоторые ОС, и некоторые пользователи сообщали, что нужны предыдущие зависимости для его корректной работы. При инсталляции обязательно проверьте список проблем на GitHub, чтобы найти их решение.

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

Читайте также: Китайский банковский орган разработает многофункциональную блокчейн-платформу с крупными банками

Было интересно? Ставьте 👍 (like) и подписывайтесь на канал zen.yandex.ru/ff_ru