Команда AkuDreams NFT переписала код после ошибки на 34 миллиона долларов США

Ruholamin Haqshanas
| 0 min read
Источник: a screenshot, AkuDreams / Twitter

 

Команда AkuDreams, долгожданного проекта невзаимозаменяемых токенов (NFT), который был запущен в пятницу, переписала код после того, как недостатки в первом коде смарт-контракта привели к тому, что 34 миллиона долларов США были заблокированы «навсегда».

В воскресном обновлении проект сообщил, что Anonymice, команда, стоящая за несколькими проектами NFT, «переписала наш контракт на чеканку, и несколько разработчиков проверяли и проверяли».

AkuDreams — это 3D-проект NFT на тему космонавтов, запущенный Микой Джонсоном, художником и бывшим профессиональным игроком в бейсбол. Проект состоит из 15 000 аватаров Ethereum (ETH) со случайными характеристиками.

В пятницу 5 500 NFT были проданы с аукциона в формате голландского аукциона, где цены стартовали с 3,5 ETH (9 960 долларов США) и продолжали снижаться. В конце концов, самая низкая ставка будет определять окончательную цену NFT, а те, кто предложит более высокую ставку, получат возмещение.

Тем не менее, не все было гладко, так как обнаружилось несколько недостатков в коде. Сначала эксплуататор использовал ошибку в контракте, чтобы остановить все возмещения и отказы от контракта, а это означало, что те, кто сделал ставку выше окончательной цены NFT, не получили возмещения.

К счастью, эксплуататор только попросил команду признать проблему, подчеркнув важность инвестиций в безопасность.

«Ну, это было весело, я не собирался эксплуатировать это, лол. Иначе я бы не использовал coinbase. Как только вы, ребята, публично признаете, что эксплойт существует, я немедленно удалю блокировку», — сказал эксплуататор в прямом эфире в сообщениях.

В сообщении в Твиттере команда взяла на себя ответственность, и эксплуататор разблокировал эксплойт. Однако вскоре проект столкнулся с новыми проблемами — часть средств была заблокирована, и команда «никогда не сможет получить к ним доступ».

Согласно ветке разработчика под псевдонимом 0xInuarashi, ошибка в коде не учитывала пользователей, создающих несколько NFT за одну транзакцию.

«Было сделано требование returnProgress >= totalBids», — уточнил 0xInuarashi, добавив, что предполагается, что все возвраты должны быть обработаны перед снятием средств.

0xInuarashi сказал, что returnProgress никогда не может превысить 3669, в то время как totalBids составляет 5495 элементов. Поскольку код требует, чтобы returnProgress был больше или равен totalBids, 0xInuarashi пришел к выводу, что «команда никогда не сможет вывести свои ETH» на сумму около 34 миллионов долларов США.

«Совершенные ошибки никому не дороже, чем мне самому. Я реинвестировал почти все в создание Aku», — написал Джонсон в Твиттере, добавив, что «почти все пойдет на возмещение, и мы продолжим строить то, что намеревались сделать».