Команда 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», — написал Джонсон в Твиттере, добавив, что почти все пойдет на возмещение, и мы продолжим строить то, что намеревались сделать. По кирпичику.