Аудит Смарт-Контракта
В виду того, что Смарт-Контракты по своей сути неизменяемы, особенно остро встает вопрос их разработки, так как одиноразово публикуемый контракт должен в точности отвечать всем заявленным требованиям.
Когда речь заходит об обороте крупных сумм, единственный недочет в коде Смарт-Контракта может привести к многомиллионным финансовым потерям. Плюсом к этому проект может лишиться своей репутации, что помешает сгладить утраченные средства и продолжить работу проекта.
Самой крупной атакой на смарт-контракт является взлом The DAO в ходе которого было украдено более 50 миллионов долларов. В общей же сложности объем потерянных средств уже давно перевалил за пол миллиарда долларов.
Например, на нулевом адресе Ethereum находится 7,662 ETH, что при курсе 160$ означает, что по причинам даже такой банальной ошибки как отправка на адрес 0x0 было безвозвратно утеряно более миллиона долларов, не считая токенов. Убедиться в этом вы можете сами посетив соответствующую страницу на EtherScan.
Общепризнанным методом нивелирования риска появления ошибок и уязвимостей является Аудит Смарт-Контрактов.
Разработчик кода, хоть и тестирует свой продукт, может легко упустить какие-либо тонкости в собственном контракте. Это может произойти либо по незнанию, либо в виду одностороннего взгляда на контракт. Чтобы посмотреть на контракт с правильной стороны прибегают к независимому разбору кода третьей стороной.
Главное, чтобы аудит производился компетентными лицами, специализирующимися именно на выявлении уязвимостей. Без высоких знаний специфики языка программирования тут говорить разумеется не о чем, но также немаловажной характеристикой аудитора должно быть критическое мышление.
Виды аудита.
— Закрытый аудит.
В этом случае разбор проводится без возможности разглашения информации третьим лицам о выявленных недочетах. Заказчик получает подробный отчет с рекомендациями и сам решает, какие действия предпринимать: исправлять ошибки можно как самостоятельно, так и обратиться за помощью к нам.
Важно: мы всегда предоставляем черновую версию отчета для исправления ошибок, а после заверения безопасности изменений уже подготавливаем итоговую версию.
— Публичный аудит.
В этом случае услуга предполагает размещение отчета в сети: статья на нашем сайте или видеоразбор кода. В этом случае владелец проекта получает как независимое подтверждение безопасности Смарт-Контракта так и маркетинговый инструмент: публичный аудит сам по себе является рекламой и может служить неплохим аргументом для инвесторов/участников.
Также в публичном аудите можно разместить независимую спецификацию контракта: описание функционала контракта для пользователей.
Как делается аудит Смарт-Контракта?
Услуга представляет собой построчный разбор кода на предмет:
— Уязвимостей, способных привести к потере средств.
— Проблем и ошибок, нарушающих функционал контракта.
— Возможностей оптимизации, как стоимости транзакций, так и количества строк кода.
+ Прописываются все рекомендации к исправлению, а также приводятся все замечания по стилистике и презентабельности кода.
Необходимые функции тестируются в локальной среде для подтверждения работоспособности (или наоборот, если есть потенциальная угроза).
Цена за аудит Смарт-Контракта.
В виду того, что 100 строк одного контракта не равны 100 строкам другого (допустим с одной стороны будет шаблонный токен, а с другой лотерея со своим принципом рандомизации) стоимость аудита может сильно варьироваться. Вилка цен начинается со $100 и доходит до $3000. Для приблизительной оценки необходимо выслать нам описание кода: специфику, количество строк и ТЗ (если есть). Для точной оценки необходимо отправить уже сам код контракта.
Пример отчета.
Как выглядит итоговый текст вы можете увидеть в нашем блоге в рубрике «Аудит Смарт-Контракта». Но это лишь текстовый вариант для размещения на нашем сайте: отчет же оформляется в формате PDF и представляет себе презентабельный документ (при надобности с печатью и подписью на каждой странице), который вы можете разместить на своих ресурсах.
Если вы хотите получить пример отчета или у вас есть вопросы по поводу аудита Смарт-Контракта, свяжитесь с нами и мы вышлем все материалы и проконсультируем по всем вопросам.
С уважением, Grox Solutions.