Самая известная атака на смарт-контракт произошла в 2016 году. 30 апреля 2016 года[91] компания Stock.it запустила первый децентрализованный венчурный фонд для блокчейн-предприятий, которому удалось привлечь около 14 % всего доступного на тот момент эфира. В мае 2016 года токены The DAO начали торговаться на бирже, при этом ключевая часть кода протокола содержала две строки, расположенные в неправильном порядке, что позволяло раз за разом выводить один и тот же эфир. Данная уязвимость называется ошибкой повторного входа. 17 июня 2016 года хакер вывел 30 % содержащихся в контракте средств, прежде чем этичные хакеры из Robin Hood Group вывели остальные 70 %, пообещав вернуть весь эфир первоначальным владельцам. Первоначальная версия контракта предусматривала 28-дневный период удержания, в течение которого средства нельзя было обналичить, и сообщество Ethereum подняло вопрос об изменении истории и проведении хардфорка для устранения уязвимости. В конце концов было решено провести хардфорк, и эфир был возвращен первоначальным инвесторам. Исходный протокол с неизмененной историей получил название Ethereum Classic (ETC). Деятельность The DAO была прекращена в июле 2016 года, когда Комиссия по ценным бумагам и биржам признала ее токены ценными бумагами.
В истории криптовалют было немало подобных ситуаций. В апреле 2020 года хакеры вывели 25 миллионов долларов из системы кредитного протокола Lendf.Me компании dForce. Любопытный момент заключается в том, что код Lendf.Me был во многом скопирован с Compound. Слово «Compound» встречается в контракте dForce целых четыре раза. По этому поводу генеральный директор Compound сказал следующее: «Если у руководителей проекта нет опыта разработки собственных смарт-контрактов… это признак того, что они не желают заботиться о безопасности пользователей или не способны это сделать»[92].
В феврале 2021 года имела место менее масштабная, но весьма примечательная атака. Ее главной целью был Yearn.finance, агрегатор доходности, который помогает пользователям вкладывать средства в пулы других DeFi-протоколов с целью максимизации своих доходов[93]. Эта транзакция включала в себя 161 перевод токенов с использованием систем Compound, dYdX, Aave и Uniswap, стоила более 5000 долларов США (плата за газ)[94] и задействовала флеш-кредиты на сумму более 200 миллионов долларов.
Сфере программирования смарт-контрактов предстоит пройти долгий путь, прежде чем в этой области появится свой «золотой стандарт» практик разработки, а сложные смарт-контракты обретут необходимую устойчивость для работы с крупными транзакциями. Пока DeFi находится под угрозой вышеописанных рисков, пользователи будут с недоверием относиться к контрактам, с которыми они взаимодействуют и которым доверяют свои средства, что, в свою очередь, будет тормозить внедрение соответствующих приложений.
Программные ошибки не являются чем-то новым. На самом деле они существуют с момента зарождения сферы вычислений, которое произошло более полувека назад. Для протоколов типа Uniswap, которые работают автономно и управляются исключительно смарт-контрактами, такого рода ошибки являются единственной угрозой. Однако функционирование других DeFi-приложений зависит не только от автономного компьютерного кода. В частности, уже упоминавшийся проект MakerDAO управляется людьми, которые поддерживают платежеспособность системы путем регулирования параметров протокола, что, в свою очередь, порождает уникальный для сферы DeFi
Управление протоколом включает в себя представительные или ликвидные демократические механизмы, позволяющие вносить в протокол изменения[95]. Чтобы стать управляющим участником, пользователи и инвесторы должны приобрести токен, предоставляющий соответствующее право. Держатели таких токенов могут голосовать по вопросам изменения протокола и определения направления его дальнейшего развития. Как правило, количество токенов управления ограничено, благодаря чему снижается вероятность того, что кто-то один завладеет большинством голосов (51 %); тем не менее само существование данных токенов подвергает протокол риску контроля со стороны злоумышленника. Такие новые проекты, как Automata[96], которые разрешают пользователям покупать непосредственно голоса, скорее всего, лишь усугубят угрозы, связанные с риском злонамеренного управления.
В традиционных компаниях инвесторы-активисты покупают акции, чтобы влиять на принятие нужных решений. DeFi-протоколы с токенами управления представляют собой аналогичную описанной схему, с той лишь разницей, что системы управления запускаются на более раннем этапе жизни протокола, вследствие чего риски более высоки. Кроме того, в случае с традиционными компаниями даже инвесторы-активисты связаны юридически закрепленной фидуциарной «обязанностью соблюдения лояльности» по отношению к миноритарным акционерам, тогда как в сфере DeFi подобная концепция отсутствует.