Как распознать признаки мошенничества у смарт-контракта

Как распознать признаки мошенничества у смарт-контракта

Чтобы заподозрить мошеннический смарт-контракт, не нужна диссертация по математике. Редакция BeInCrypto подготовила пошаговое руководство, которое поможет избежать ловушки

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

По данным Chainalysis, за 2021 год криптовалютные мошенники похитили $7,7 млрд, что более чем на 80% превышает сумму хищений за 2020. При этом треть краж пришлась на схемы rug pull, когда мошенники создают фальшивую криптовалюту, а потом скрываются с деньгами инвесторов. Эксперты редакции изучили два ключевых момента, на которые стоит обратить внимание, что обезопасить себя от потенциального мошенничества.

Код — это закон

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

Что это значит? Это значит, что практически любой человек может изучить исходный код того или иного смарт-контракта будь то миксер Tornado.cash, децентрализованная биржа Uniswap или свойства любого ERC20/BEP20/TRX20 токена.

Итак, допустим, что вы нашли криптовалютный проект. Допустим, что это некий токен.

Первым делом — убедитесь, что такой токен вообще существует. Почти все новые криптовалютные проекты имеют открытый исходный код, ссылку на GitHub и данные о смарт-контракте проекта на Etherscan или другом эксплорере (в зависимости от сети, на которой развернут проект). Если вы смогли найти исходный код — хорошо.

Хуже, если разработчики отказываются раскрыть архитектуру проекта, но и тут может быть логичное объяснение: проекты, которые не полагаются на децентрализацию, не будут публиковать код, чтобы никто не нашел уязвимости и не воспользовался ими. Если проект позиционирует себя как токен или протокол, но не показывает исходный код — стоит задуматься о чистоте намерений создателей проекта.

Допустим, вы нашли смарт-контракт интересующего проекта. Для этого достаточно вбить в гугле запрос с названием проекта. Например: «Uniswap smart contract etherscan» или «Compound smart contact etherscan». Как правило, поисковик сразу выводит релевантный результат:

Что дальше? Вторым делом — нужно посмотреть, какими функциями обладает смарт-контракт и о чем говорят разработчики проекта. Чтобы открыть исходный код, перейдите на адрес проекта на Etherscan. Откроется интерфейс с деталями (в нашем случае это смарт-контракт токена Uniswap). Нажимайте на ссылку смарт-контракта в поле «Contract», как показано ниже:

Откроется схожая страница, но на ней вы уже сможете получить доступ к исходному коду проекта. Внизу на таблице выберите вкладку «Contract». Откроется окно со всем исходным кодом контракта. Выглядит довольно громоздко, но нас интересуют лишь несколько функций. Ищите функции, в которых упоминаются слова «transfer», «burn», «mint» или «create».

Функции с такими названиями, в основном, описывают процесс оборота токенов. В них же злоумышленники могут спрятать операции по бесконечному выпуску токенов. Если создатели проекта утверждают, что всего будет выпущено лишь 21 млн монет, а в коде есть функция с названием «mint», «create» или «issue» и большим объемом строк внутри функции — есть смысл призадуматься.

Найдите комментарии к функциям. Хорошо, если они есть, хуже, если нет. Как правило, добросовестные разработчики комментируют чуть ли не каждую строчку кода и описывают действия прямо в смарт-контракте через символ слэш (/).

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

Аудит смарт-контракта

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

Например, «фирма-аудитор» Coinscope в свое время открестилась от потенциального экзит-скама громкого мошеннического проекта Squid Game.

Если аудитор не может четко расписать все потенциальные изъяны в коде проекта — это не аудитор. Внимательно изучите аудит проекта, если он есть. Например, рассмотрению технической составляющей смарт-контракта Squid Game в Coinscope уделили всего одну страницу с изображением кода.

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

Похожий инцидент произошел и с проектом MetaSwap. Здесь тоже была «аудиторская» фирма под названием Tech Rate, которая выпускала десятки аудитов в день.

В аудите MetaSwap сотрудники компании «не выявили угроз высокого уровня». Основной костяк аудита при этом освещал лишь типы разрешения у функций, но не описывал саму логику кода. Вопреки заверениям Tech Rate уязвимость в MetaSwap все же была. Она же позволила создателям проекта вывести примерно $610 000 клиентских денег и отмыть средства через миксер.

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

Source

Subscribe to get our top stories