Самые крупные взломы контрактов/DeFi!
Материал написан эксклюзивно для сообщества SerpMagazine.
Думаю что стоит начать с самых основ, чтобы стало максимально понятно почему контракты ломаются у казалось бы очень крупных DeFi проектов с многомиллионным TVL'ом.
Что такое DeFi?
Это совокупность блокчейн-протоколов, которые позволяют предоставлять финансовые услуги без участия традиционных централизованных посредников, таких как банки, брокеры и криптобиржи.
А для обеспечения выполнения условий каждой сделки используются смарт-контракты.
Смарт-контракт - аналог соглашения, которое вы заключается, например, с банком.
Что такое смарт-контракты?
Объясняя максимально просто, смарт-контракт - это соглашение между сторонами, которое хранится в распределенном реестре (блокчейне).
Как только данные условия соглашения будут выполнены, то смарт-контракт самостоятельно выполняет транзакцию и гарантирует, что соглашение будет соблюдаться.
Поскольку практически любой может раскрутить протокол DeFi и написать смарт-контракты, недостатки в коде распространены.
И в DeFi мире есть много, которые готовы искать эти ошибки и извлекать личную выгоду.
Когда это происходит, проекты теряют десятки, а то и сотни миллионов долларов.
Compound, 150 милионов долларов.
Во время обновления протокола один из специалистов команды Compound совершил опечатку в один символ в смарт-контракте, что привело к непропорционально большим наградам в токенах $COMP за заимствование средств на площадке.
Вызвав функцию drip (), неизвестные перевели на проблемный адрес 202 472 токенов управления COMP (~$66,8 млн на момент написания) из смарт-контракта Reservoir.
Wormhole, 323 миллиона долларов.
Wormhole - кроссчейн мост, который позволяет переводить токены из одной сети в другую.
Мосты используют обёрнутые токены, которые фиксируют токены в одном блокчейне в смарт-контракте. После того, как децентрализованный межцепочечный оракул*, называемый "хранителем", удостоверит, что монеты были должным образом заблокированы в одной цепочке, мост создаёт или выпускает токены той же стоимости в другой цепочке.
Хакеры провернули кражу, используя более раннюю транзакцию для создания набора подписей, который представляет собой тип учётных данных.
С помощью этого они создали VAA, или утверждение действия валидатора [validator action approval], которое, по сути, является сертификатом, необходимым для утверждения транзакций.
Wormhole должным образом не проверила все учётные записи ввода, что позволило злоумышленнику подделать подписи хранителей и отчеканить 120 000 ETH на Solana, из которых они перевели 93 750 обратно в Ethereum.
Но на этом история не заканчивается, вы ведь не думаете, что можно вот так просто украсть 323 миллиона долларов и вывести их в фиат без проблем?
Wormhole предложили выплатить злоумышленнику $10 млн, в случае возвращения всех украденных средств.
Понимая, что такую крупную сумму ему никак не удастся вывести без шума, он согласился и получил свои заслуженные 10.000.000$.
На данный момент это самая крупная выплата за найденную уязвимость в криптоистории.
Poly Network, 611 миллионов долларов.
Протокол Poly Network позволяет переводить токены между различными блокчейнами.
Он разработан альянсом команд, стоящих за блокчейн-платформами Neo, Ontology и Switcheo.
По предположению экспертов, причиной взлома стала проблема с криптографией — хакеры каким-то образом подделали подпись транзакции, чтобы украсть средства.
Ronin, 625 миллионов долларов.
Хакеру удалось заполучить 173 600 ETH, а также стейблкоины USDC общей стоимостью $25,5 млн.
Ronin подвергся атаке 51%.
При подобной атаке большей частью валидаторов управляет 1 человек и имея полный контроль над сетью он может инициировать и подписывать любые транзакции.
Система защиты Ronin Network использует девять валидаторов для подтверждения транзакции. Для ввода или вывода средств системе достаточно получить подтверждения от пяти из них.
Злоумышленнику удалось получить доступ к четырём валидаторам, принадлежащим Sky Mavis — компании, которой принадлежит Ronin — а пятый он извлёк из сторонней базы данных с помощью удалённого вызова процедур (RPC).