- Смарт-контракт Comptroller продолжает выплачивать пользователям необоснованно большое вознаграждение.
- Пользователи нашли лазейку и инициировали пополнение запасов Comptroller на 202 472 COMP.
- На текущий момент контракт может суммарно раздать около 490 000 COMP ($154 млн).
На прошлой неделе пользователи протокола Compound смогли получить излишнее вознаграждение в размере 280 000 COMP (около $80 млн на момент эксплоита). Тогда казалось, что больше потерять уже невозможно. По крайней мере, так заявлял основатель Compound Роберт Лешнер. Однако очередная ошибка может стоить протоколу еще около $63 млн.
Вознаграждение между пользователями распределяет смарт-контракт Comptroller, именно он дарит людям огромное число токенов COMP за непропорционально малые вклады в пул ликвидности или взятые займы. Изначально в распоряжении Comptroller было всего 280 000 COMP, однако кто-то из пользователей вызвал общедоступную функцию drip(), которая позволяет автоматически пополнять баланс Comptroller.
Вызов функции drip() привел к совершению транзакции размером 202 472 COMP (около $63 млн на момент написания) из смарт-контракта Reservoir в смарт-контракт Comptroller. Таким образом, распределяющий средства контракт теперь может выплатить еще целых $63 млн. Причем часть из этих денег, а точнее $21.5 млн, уже была затребована как награда. Об этом сообщил в своем Twitter разработчик yEarn.Finance под ником banteg.
В Compound, естественно, знали о подобной возможности, поскольку функция drip() работает так, как и должна работать. При этом она фактически общедоступна, то есть любой может добавить токены в смарт-контракт, занимающийся распределением средств. Однако все надеялись, что никто не вызовет функцию до исправления бага в коде Comptroller, сообщил в своем Twitter Роберт Лешнер.
По заявлениям Роберта Лешнера, всего под угрозой находится около 490 000 токенов COMP ($154 млн), причем весомая часть из них уже распределена между пользователями, а в распоряжении Comptroller осталось всего около 136 000 токенов ($42.8 млн). Стоит отметить, что некоторые из пользователей пошли навстречу Compound и вернули всю сумму или часть полученной награды. На адреса протокола уже возвращено около 117 000 COMP ($36.8 млн).