Term Finance вынесли на $8,5 млн через честное голосование: хакер занёс 0,5 ETH и получил 90,66% голосов

Что произошло

Term Finance вынесли на $8,5 млн через честное голосование.

Хакер занёс в протокол всего 0,5 ETH, а система записала ему 90,66% голосов.

Как он получил почти все голоса с долей 0,017%? Тут начинается настоящий DeFi.

Когда человек вкладывал деньги в Term, он получал токен-квитанцию tmvETH, подтверждающую его долю в хранилище. Но права голоса эта квитанция автоматически не давала.

Чтобы голосовать, её нужно было отдельно завернуть в другой токен — gtmvETH. Большинство вкладчиков этого не сделало.

Хакер внёс 0,5 ETH, получил 0,485 tmvETH и завернул их в голосующие токены.

Его реальная доля составляла жалкие 0,017% от всех денег в ETH-хранилище, но среди выпущенных бюллетеней он контролировал уже 90,66%.

Какие последствия

Правила тоже помогли.

Предложение мог создать кто угодно, даже без голосов. Для кворума хватало 5% выпущенных бюллетеней, для победы требовалось больше половины.

После победы хакер предложил отключить семидневную задержку на вывод, подключить собственный контракт и отправить туда деньги вкладчиков.

В результате из протокола вывели около $8,5 млн.

Почему это важно

Самое прекрасное — крупнейшее предложение из 17 действий лежало в блокчейне около 145 часов.

Почти шесть суток там буквально было написано, что сейчас отключат замок и вынесут кассу.

То есть проблема оказалась не в какой-то магической атаке на блокчейн. Хакер воспользовался особенностями самой системы голосования: реальная доля средств и доля голосующих токенов оказались совершенно разными величинами.

Фактически человек с 0,017% средств получил контроль над 90,66% голосов, после чего смог провести предложение, открывающее доступ к деньгам вкладчиков.

Подпишитесь на Telegram-канал, чтобы первыми узнавать о новостях и схемах мошенничества.