Наблюдаю за вчерашним хаком rsETH, который вызвал серьезные проблемы в Aave. Если копнуть глубже - вылезает много интересного!
Для начала: похоже, ни у Curve, ни у Yield Basis нет экспозиции ни к проблемам rsETH, ни к проблемам Aave. Но вся эта история началась с LayerZero, на который полагается крипта стоимостью в четверть триллиона долларов! Так что произошло? Давайте разберемся.
rsETH от Kelp использует мост LayerZero. Мост позволяет переводить rsETH в другие сети и обратно. Минтить rsETH можно только в Ethereum, а весь rsETH в других сетях обеспечен mainnet-rsETH, лежащим в мосте.
В LayerZero можно выбирать так называемые DVN. DVN — это ноды, которые по сути приносят сообщение из другой сети. Конфигурация 2-из-3 DVN означала бы, что два DVN должны согласиться с тем, что «выдать 100 000 rsETH Еве» — это именно то, что было запрошено в другой сети. И вот тут проблема: у rsETH конфигурация 1-из-1 DVN — используется и полностью получает доверие лишь один DVN (хотя это и основной DVN LayerZero). Так что он подтвердил сообщение, позволившее отдать хакеру весь rsETH из моста, хотя это никогда не отправлялось в исходной сети (в данном случае — Unichain).
Как вы, наверное, слышали, конфигурация 1-из-1 для мультисигов — штука небезопасная. То же самое и с DVN. Но это же был ТОТ САМЫЙ официальный DVN LayerZero — как он мог подтвердить неправильное сообщение? Его взломали? Его обманули? Мы не знаем. Но всякое случается, когда ты доверяешь одной-единственной стороне — кем бы она ни была.
Ну ок, хакер обманул официальный DVN LayerZero и получил кучу rsETH. Что дальше? Самым выгодным для хакера оказалось заложить rsETH в Aave и занять там весь возможный ETH. И Aave остался с rsETH, который по сути невозможно продать, и с по максимуму занятым ETH, так что никто не может вывести ETH. Потенциально плохой долг размером ~300 млн. Может и нет — технически это всё ещё обеспечено, но bank run на Aave сейчас происходит.
Так какие выводы мы можем сделать из этого?
* Неизолированное кредитование, как в Aave, очень рискованно (хотя оно и самое капиталоэффективное!). Aave v4 с моделью hub-and-spoke, вероятно, менее рискован. Morpho тоже. А кредитование на Curve, как и Silo, вероятно, самое изолированное → самое безопасное в этом отношении.
* Протоколы кредитования более рискованны для размещения средств, чем DEX-ы. Пул USDC/USDT на Curve имеет экспозицию только к двум активам в пуле, а Aave имеет экспозицию ко всем добавленным туда активам.
* К онбордингу активов в протоколы кредитования нужно относиться внимательнее. Конфигурация 1-из-1 DVN для rsETH — это реально промах: её следовало обновить хотя бы до 2-из-2 перед онбордингом.
* Кросс-чейн — это сложно и потенциально опасно. Используйте кросс-чейн инфраструктуру только когда это абсолютно необходимо, и делайте это ДЕЙСТВИТЕЛЬНО осторожно.
В любом случае, я думаю, DeFi извлечёт уроки из этого инцидента и станет сильнее, чем был. Крипта — это жёсткая среда, в которой ни один банк не выжил бы, — а мы тем не менее в ней работаем. Permissionless-инфраструктура требует экстраординарных усилий, чтобы быть безопасной, — и мы эти усилия прилагаем!