Аудит смарт-контрактов – это полный анализ безопасности криптовалютного проекта, с целью защиты вложений инвесторов и пользователей. Мы знаем, что все транзакции в блокчейне – невозвратные, отменить их нельзя. Поэтому возникает большая потребность в защите смарт-контракта. Команда аудита изучает код смарт-контрактов, и выдают отчет о безопасности проекта команде. Затем выявленные ошибки устраняются, и выпускается конечный отчет с описанием оставшихся проблем с быстротой действия смарт-контракта и его защитой.
Почему важен аудит смарт-контрактов?
Аудит смарт-контрактов чаще всего встречается в системах децентрализованных финансов (DeFi). Часто инвесторы принимают решения об инвестициях в проекты DeFi, основываясь в том числе и на результатах аудитов.
Многие лишь примерно понимают, что же такое аудит смарт-контракта. Давайте рассмотрим это понятие поближе, узнаем, какими способами проводится такая проверка, и почему нам так важны результаты?
Что такое аудит безопасности в криптовалюте?
При аудите безопасности досконально изучается код смарт-контракта. Как правило, смарт-контракты пишут на языке программирования Solidity и передаются аудиторам через защищенное соединение GitHub. Аудиты очень важны для проектов в сфере децентрализованных финансов, ведь там речь идет о огромных размерах транзакций.

Аудит, как правило, проводится по следующей логике:
- Идет начальный анализ смарт-контрактов проекта.
- Аудиторы передают результаты своей аналитики проекту, с рекомендациями для разработчиков.
- Команда исправляет ошибки.
- Затем публикуется окончательный отчет об аудите.
Большинство серьезных инвесторов всегда учитывают мнение аудиторов при выборе проекта для инвестиций в децентрализованные финансы. Также регулярный аудит – нормальная практика для крупных проектов в этой сфере. Чем профессиональнее аудит, тем более ценным он будет считаться. Самые крутые аудиторские команды вроде Certik – берут за свои услуги крупные суммы. Но к вопросу стоимости аудита я еще вернусь ниже.
Зачем нужен аудит смарт-контрактов
Зачем вообще нужен этот аудит? Все дело в огромных суммах, которые проходят через смарт-контракты. Поскольку через них за сутки может проходить бюджет какого-нибудь российского региона, то это лакомый кусочек для хакеров. Даже одна маленькая ошибка в коде способна привести к потере больших сумм. К примеру, взлом известного проекта DAO привел к краже 60 миллионов долларов США в токенах. Тогда даже пришло делать хардфорк. Так что скам и мошенничество в криптовалютах – обычное дело.
Транзакция блокчейна необратимая, ее нельзя отменить, и если деньги украдут – вернуть их нереально. Вот почему любому крипто-проекту важно вначале убедиться в стабильности и надежности своих смарт-контрактов.
Как проводят аудит смарт-контрактов
В целом, аудит сегодня – одна из самых частых IT-услуг на рынке криптовалют. Подходы иногда отличаются, но в целом аудит всегда идет по одному и тому же шаблону:
Сначала определяются с объемом работ. Это зависит от спецификации смарт-контракта, и в целом, от масштабности проекта. Для команды аудиторов на данном этапе важно понять цель проекта при использовании смарт-контрактов, и выявить возможные направления, по которым нужно будет искать уязвимости.
Далее назначается цена аудита для компании.
После чего проводится проверка. Она может быть, как автоматической – в случае недорого аудита, так и полностью ручной, если производится элитный аудит.
Создается файл отчета со всеми обнаруженными уязвимостями, и он передается команде проекта.
Команда устраняет ошибки, и аудиторы публикуют финальный отчет.
Что проверяют при аудите смарт-контрактов
При аудите проверяется сразу несколько вещей, которые могут повлиять на надежность и безопасность проекта.
Эффективность использования газа
Аудит направлен не только на выявление дыр в системе безопасности, но и на повышение эффективности проекта. Первая статья расходов любого смарт-контракта, это плата за газ в блокчейне. В таких блокчейнах как Эфириум (ETH20), она может быть очень высокой. Поэтому аудиторы часто производят оптимизацию производительности смарт-контракта.
Это делается с целью того, чтобы снизить общую оплату за газ. Кроме того, очень часто контракты выдают ошибки при неправильной сумме газа, или слишком низком лимите. Все это требует тонкой настройки – именно этим и занимаются аудиторы.
Насчет экономии – ясно одно, что только на одной экономии на газе, иногда всего за пару месяцев аудит может себя окупить. Поэтому это не просто понты учредителей крипто-проектов друг перед другом, это действительно полезная и оправданная проверка.
Поиск уязвимостей смарт-контрактов
Не секрет, что большинство материалов любого аудита состоит именно из проверок на разного рода уязвимости. Некоторые прямо очевидны, но некоторые очень сложны и требует специфических инструментов, которые знают только высококлассные специалисты по безопасности.
К примеру, слабый смарт-контракт может подвергнуться рыночным манипуляциям, классическим и часто распространенным, таким как схема пампа и дампа. Защита от этого различная – но чаще всего система просто остановит сброс токенов в рынок, и ограничит количество продаваемых токенов с одних рук.
Для поиска проблем, специалисты сами организуют хакерскую атаку на смарт-контракты, чтобы найти слабые места. Вот к примеру, такие:
Рекурсивный вызов. Если баланс смарт-контракта еще не обновился, смарт-контракт может вызывать другой контракт, и делать так бесконечно, пока баланс не обнулится совсем. Итог этой уязвимости – полное обнуление суммы, которая задепонирована в контракте.
Манипуляции с числами. Если заставить смарт-контракт выполнять операции с большими числами, которые выходят за рамки ограничений смарт-контракта, он может заглючить, и потерять свой баланс, отправив по ошибке крупную сумму на другой смарт-контракт или на кошелек.
Безопасность платформы
Также, изучается безопасность самой площадки, через которую осуществляется подключение к смарт-контракту. Если подключение не защищено, или же есть уязвимость – пользователи проекта будут сильно рисковать, подключая свои криптокошельки к такому проекту. Здесь я имею ввиду слабо защищенные децентрализованные приложения, dApps.
Что содержит в себе аудиторский отчет
Аудиторский отчет команда аудиторов предоставит по итогу проверки. Чаще всего этот отчет позже публикуется самим проектом. Считается, что это плюсик к SMM-работе и к принципу открытости к сообществу.
Иногда даже запускается отдельная баунти-кампания. Баунти – это такая добровольная помощь проекту, с вознаграждением в виде токенов. Если у проекта нет наличных денег для устранения ошибок, выявленных в ходе аудита, он запускает баунти и расплачивается с теми, кто устранит ошибки, своими же токенами.
Отчет аудиторов чем-то похож на обычный отчет в диагностике «Яндекс Вебмастера». Там тоже указываются ошибки, фатальные, критические, незначительные. Тоже выдается общий вывод по проекту, указывается на его потенциальные уязвимости, даются конкретные рекомендации – над чем нужно проекту еще поработать.
Как я уже говорил, есть два отчета – промежуточный аудиторский отчет, и финальный. Промежуточный предполагает исправление ошибок командой проекта, а затем уже будет проведен контрольный аудит.
Как получить аудит смарт-контракта
Есть крупные аудиторские компании, которые стали известны и обладают высокой репутацией. Чтобы обратиться к ним, проекту нужно составить предложение, а затем передать информацию и коды – разумеется, после заключения договора.
CertiK
CertiK – самая известная и самая мощная компания по аудиту. У нее в портфолио сотни крутых кейсов, они проверяют большинство проектов, которые проходят через лабараторию Binance. К примеру, они проверяли знаменитую децентрализованную биржу PancakeSwap.
Компания выставляет каждому проекту свои оценки. Проверка возможна сразу на трех блокчейнах – Binance Smart Chain, Polygon (он же MATIC), или же на всем известном «Эфире».
ConsenSys
Это тоже крутая аудиторская команда. Известны широко, и кроме услуг по аудиту, могут также исправить или создать с нуля любой смарт-контракт. В области разработки смарт-контрактов им нет равных. Но и в области аудита тоже достигли больших успехов. К примеру, они проверяют виртуальные машины Эфириум EVM, у них эксклюзивный контракт с сетью Виталика Бутерина.
Сколько берут за аудит смарт-контракта
Стоимость сильно варьируется, и как я уже говорил, она будет зависеть от сложности и объема работы. У одного крипто-проекта может быть лишь один смарт-контракт, и простенький. А у другого таких контрактов будут тысячи – что тяжелее проверить? Поэтому простой аудит, к примеру, смарт-контракта токена, начинается буквально от тысячи долларов. За такую услугу это немного, к тому же, можно найти и дешевле. А вот проекта топового проекта, вроде PancakeSwap, иногда может стоить до полумиллиона долларов США.
И конечно, стоимость сильно зависит от команды, которая проводит аудит. Понятно, что условный ноу-нейм аудитор «AuditShitcoin» обойдется намного дешевле, чем услуги CertiK.
Выводы
К счастью для нас, простых криптовалютчиков, наличие аудита стало просто необходимым для каждого крипто-проекта. Теперь уже даже новенькие и маленькие крипто-проекты заказывают себе аудит.
А ведь без аудита, мы бы наблюдали волну взломов смарт-контрактов, волну манипуляций на рынке, и любое децентрализованное приложение было бы для нас банально опасным.
Если вы ищете криптовалюты для инвестирования, чтобы сейчас, на медвежьем рынке, прикупить их – тогда обязательно проверяйте наличие аудита у проекта. Аудит – это всегда защита от хакеров и взломов. Конечно, полностью все проблемы он не решит, но все же, он устраняет абсолютное большинство распространенных уязвимостей.

Что вы думаете по поводу статьи
«Что такое аудит смарт-контрактов»?