В конце апреля EasyFi потерял $6 млн в результате атаки хакеров, а в феврале 2021 Yearn.Finance был нанесен ущерб в $11 миллионов. Однако эти события — не единственные примеры компрометации проектов DeFi, в результате которых люди теряли деньги. Общий объем урона от подобных атак можно оценить лишь примерно, но за 2020 год он точно превышает 1.5 миллиарда долларов США, а количество громких взломов исчисляется десятками. О том, почему это происходит, и как можно защитить свои активы в новых проектах, рассказывает технический директор криптовалютной биржи CEX.IO Дмитрий Волков.
DeFi — относительно новый и весьма популярный подход к организации блокчейн-проектов, получивший активное развитие буквально за последние пару лет. Отличительная особенность DeFi — это полная автоматизация и открытый исходный код. Инвесторов, готовых вкладывать деньги в DeFi. привлекает отсутствие человеческого фактора: они уверены, что никто из основателей проекта не сможет украсть деньги по злому умыслу, потому что управление организовано по строго определенному алгоритму. Однако эта прозрачность часто создает лишь ощущение надежности, которое может оказаться ложным.
Основные факторы риска для проектов DeFi
Увы, взрывная популярность проектов DeFi показала, что и на них легко потерять деньги. И здесь существует несколько потенциальных точек риска.
1. Ошибки в программном коде
Поскольку финансами в экосистеме DeFi управляет программный код, от его совершенства зависит надежность ваших инвестиций. Например, YAM в свое время был очень популярным проектом и привлек много денег уже в первые дни работы. Проект воспринимался аудиторией как очень перспективный. Но необоснованно позитивный настрой и спешка затуманили голову и создателям, и инвесторам. Основатели создали код YAM всего за 10 дней и он никогда не проходил никаких аудитов. Строго говоря, YAM не был взломан, но в самом программном коде алгоритма были допущены критические ошибки, которые впоследствии привели к неисправимым последствиям и токены оказались запертыми в программе навечно.
Метод защиты: Если бы владельцы проекта заказали аудит безопасности у внешнего подрядчика, вероятно эти критические уязвимости были бы обнаружены до старта проекта. Таким образом, при выборе проекта для инвестиций стоит обращать внимание на то, проходил ли программный код аудит, кто его проводил и каковы были результаты. И, хотя наличие аудита не дает 100% гарантий безопасности, его отсутствие многократно увеличивает риски.
2. Манипуляции внешними источниками данных
Еще один вектор атак — открытость алгоритма для внешних манипуляций. Например, отличный по своей задумке и весьма популярный проект Harvest Finance пострадал потому, что программа позволяла инвесторам вводить и выводить активы из платформы, основываясь на рыночных ценах криптовалют.
Казалось бы, это логично. Но злоумышленник, детально исследовав существующий в Harvest Finance алгоритм, обнаружил, что может манипулировать ценой на рынке таким образом, чтобы заставить Harvest Finance разрешить ему выводить больше, чем он ввел в систему. Авторы алгоритма просто не предусмотрели, что кто-то может манипулировать рыночной ценой, ведь это кажется слишком дорого или сложно. Но на практике кратковременные манипуляции организовать довольно легко.
Кстати, Harvest Finance, в отличие от многих других проектов, успешно прошел аудит безопасности. Но он не выявил никакой проблемы, потому что программа была написана именно так, как предполагалось. Ошибка содержалась в самом принципе работы проекта в алгоритме. Подобные взломы происходят с досадной регулярностью: жертвами аналогичной атаки стали проект Value DeFi, Cheese Bank и Akropolis.
Метод защиты: Чтобы уберечься от подобных атак, нужно детально разобраться в том, как именно алгоритм проекта зависит от внешних факторов, например, от тех же цен на рынке. Необходимо либо гарантировать отсутствие ситуаций, когда злоумышленник может вымывать вложенные криптоактивы, либо создать условия, при которых стоимость манипуляции и риски окажутся значительно выше, чем возможная выгода в случае успешной манипуляции. Например информацию о ценах на рынке можно брать одновременно из разных источников, заставляя потенциального злоумышленника манипулировать ценой одновременно на разных источниках цен, что потребует от него значительно большего капитала и других ресурсов. Также можно брать среднее значение за значительный промежуток времени, чтобы мошенник не мог воспользоваться для манипуляции быстрым кредитом и сразу вернуть его.
3. Зависимость от сторонних алгоритмов
Инвесторам стоит с осторожностью относиться к проектам DeFi, которые позволяют вводить капитал в одной криптовалюте, а выводить в другой на выбор. Само наличие такой возможности указывает на существование алгоритма, который определяет, сколько инвестору можно вывести иных криптоактивов. Уязвимостями именно в таких алгоритмах чаще всего пользуются злоумышленники при взломах.
Например, атака на Pickle Finance была сложной и запутанной. Хакер использовал сложную цепочку действий, создавая поддельные инструменты и хранилища. В результате Pickle Finance, использующий дополнительные сервисы, был взломан. Показательно, что потенциал таких сложных атак невозможно определить в ходе аудита безопасности.
Метод защиты: Вы можете доверять свои деньги проверенным временем программам, которые доказали свою безопасность и до сих пор не были взломаны. Также можно отдавать предпочтение более простым и понятным алгоритмам, которые, например, работают с одной криптовалютой. Для них ниже вероятность, что уязвимость упустят из виду.
4. Нечистоплотность создателей проекта
И, пожалуй, самое неприятное в DeFi — это сознательные вредоносные действия основателей проектов. Любой код платформы DeFi создают таким образом, чтобы его можно было менять в будущем. Это необходимо для установки обновлений и добавления новых функций. Новые версии кода обычно выпускает команда разработчиков. И если даже предположить, что выбранный проект DeFi отличается идеальным и безопасным кодом, это еще не значит, что в него полностью безопасно вкладывать деньги.
Код платформы DeFi в любой момент может быть изменен командой разработчиков. И если существует шанс очень хорошо обогатиться, создатели могут перейти “на темную сторону”, изменить код и украсть деньги из проекта.
Метод защиты: Чтобы подобного инцидента не случилось, обычно на качественных проектах вводят понятие governance — права управления изменениями, которые распределены среди членов сообщества. В этом случае нужен будет консенсус, чтобы принять изменения кода. Но учитывая, что большинство прав голоса часто сохраняется в руках команды разработчиков, даже это не всегда гарантирует безопасность.
Относитесь к платформам DeFi максимально критично
Сама по себе экосистема проектов DeFi выглядит интересно, однако инвесторам нужно оценивать риски, которые возникают в случае вложения в автоматизированные блокчейн-системы. При этом не стоит думать, что однажды исправленный код сразу стал надежным. Хорошим примером в этом случае является проект bZx, который многократно оказывался под прицелом хакеров. Как минимум 3 раза злоумышленники атаковали его, используя разные методы взлома: уязвимости в самом коде программы и манипуляции внешними параметрами.
Гарантировать 100% надежность, увы, нельзя. Но как минимум нужно проверить наличие аудита безопасности, оценить, как давно проект находится на рынке, не слишком ли у него много функций, насколько сильно он зависит от сторонних сервисов и источников данных, а также можно ли доверять его создателям. Принимать это решение нужно взвешенно и консультироваться с экспертами.