Что такое аудит смарт-контрактов?
В этой статье вы сможете узнать подробности про аудит смарт - контрактов: что из себя представляет, может ли гарантировать надежность проекта, а также как самостоятельно анализировать проект на наличие аудита.
Для удобства, мы также добавили возможность изучения материала в формате подкаста. Прослушать данную статью можно перейдя по этой ссылке.
Содержание:
- Что из себя представляет аудит в сфере криптовалют ?
- Может ли аудит гарантировать надежность проекта, и почему даже при пройденном аудите случаются неисправности и взломы?
- Примеры известных и надёжных аудиторских компаний.
- Какие виды аудита бывают?
- Как самостоятельно анализировать проект на наличие аудита и его надежности?
- Заключение + полезные материалы.
Вы можете перейти к любому пункту, нажав на его заголовок в оглавлении, а также вернуться к оглавлению, нажав на заголовок пункта.
Что такое аудит?
Аудит - это форма независимой проверки для регулирования деятельности организации.
В сфере криптовалют основной и самой эффективной формой аудита является аудит смарт-контрактов. Смарт-контракты - это основа данной сферы, потому что они минимизируют наличие человеческого фактора, децентрализуя процесс, и, одновременно с этим, делают этот процесс максимально прозрачным. На их основе строится система практически любого проекта, требующего аудита. Поэтому большинство аудиторских компаний в крипто-сфере занимается именно аудитом смарт-контрактов.
Подробнее про устройство смарт-контрактов, и что они из себя представляют, можете прочитать в нашей статье.
Аудит в крипто - сфере - это проверка кода проекта, в частности его смарт-контрактов, на уязвимости, наличие которых повышает риск вмешательства с внешней стороны и нарушения процесса работы платформы, или даже на её взлом. А также, на наличие бэкдоров (своеобразных лазеек), благодаря которым уже сами создатели и владельцы платформы могут совершать недоброжелательные действия, например, выводить ликвидность из проекта или заменять адреса кошельков.
Зачастую, проверяют смарт-контракты, так как они по своей сути не видоизменяемы, если это изначально не было заложено в коде. Пример: изменение вознаграждения за блок в фарминге PancakeSwap.
Команда PancakeSwap может регулировать награду за блок для повышения интереса к определённым парам. Но вмешиваться в сам процесс, то есть конкретно кому идёт награда, команда не может, так как это заложено в смарт-контракте.
Что может гарантировать аудит и как взламывают проекты с пройденным аудитом?
Невозможно со стопроцентной вероятностью гарантировать, что проект прозрачен и не подвержен взлому. Существует возможность лишь максимально приблизиться к нулевой вероятности данного события, так как по сей день присутствует человеческий фактор.
Аудит перекладывает ответственность как финансовую, так и репутационную за исправность и надежность смарт-контрактов на аудиторскую компанию, поэтому в интересах компании сделать проверку максимально качественно и надёжно.
Аудит смарт-контрактов может минимизировать риски скама, так как проверяет проект на возможность программного вмешательства с внешней и внутренней стороны.
Скам-проект — это мошеннический инвестиционный проект, которой создается с целью украсть средства инвесторов.
У проекта может присутствовать ряд уязвимостей другого характера. Например, если в проекте плохо прописана токеномика, и владельцы имеют большой процент токенов в собственности, они с лёгкостью могут обвалить курс, что приведёт к убыткам других держателей данного токена. В целом, аудит может помочь в лучшей степени оценить риски, но не может гарантировать их полное отсутствие.
Простого наличия аудита не всегда достаточно. Очень важно обращать внимание на актуальность аудита, и какие именно смарт-контракты прошли аудит. Часто бывает такое, что аудит был пройден давно, и появилось значительное количество непроверенных смарт-контрактов.
В качестве примера возьмем проект PancakeBunny, о котором у нас есть статья.
PancakeBunny пострадал от кредитной атаки и потерял 114 631,5421 WBNB и 697 245,5699 BUNNY на общую сумму около 45 миллионов долларов США.
На проект была произведена Flash Loan атака. В официальном ответе говорилось, что хакер использовал PancakeSwap для заимствования большой суммы BNB у внешнего разработчика, после чего манипулировал ценами USDT / BNB и BUNNY / BNB, чтобы получить большую сумму BUNNY и продать ее. После проделанных манипуляций, цена BUNNY резко упала.
Flash Loan атака - это атака, при которой используются быстрые кредиты, с помощью которых, при наличии каких-то уязвимостей у проекта, можно, например, манипулировать курсом криптовалюты.
Почему при наличии у PancakeBunny аудита на него все равно была произведена атака? На этот вопрос ответила сама компания HAECHI, проводившая аудит:
- Компания проводила аудит 18 января 2021 года и высказала, что существуют неаудированные и изменяемые внешние контракты, а функция «помощника» подвержена атаке Flash Loan.
- После проведения аудита команда Pancake Bunny обновила контракты с версии 1 до версии 2 и выбрала другого партнера для аудита. Эта атака Flash Loan была вызвана новыми смарт-контрактами, которые не аудировали.
То есть, можно сделать вывод, что простая плашка о прохождении аудита ничего не значит. Поэтому дату прохождения аудита и все актуальные аудиты следует обязательно учитывать! Внимание стоит обращать и на компанию, которая проводила аудит, так как крупные и известные компании более серьезно подходят к аудированию.