Токены ERC-404 продолжают набирать популярность, однако крипторазработчики указали на риски безопасности еще не прошедшего аудит экспериментального стандарта.
ERC-404 является смешанной реализацией стандартов ERC-20 и ERC-721. При покупке монеты на кошельке автоматически появляется NFT, позволяя владеть дробной частью фракционного невзаимозаменяемого токена.
«Цель ERC-404 заключается в том, чтобы позволить торговать NFT с более надежной ликвидностью пулов взаимозаменяемых токенов. Они добились этого, фактически сделав переводы ниже определенной суммы (общего количества NFT) недействительными. Странный выбор […]», — написал разработчик и аудитор Solidity под ником Quit.
Анализ кода ERC-404 показал множество общих деталей со стандартами ERC-20 и ERC-721, но с изменениями в механизме подтверждения транзакций. Если сумма находится в “диапазоне отчеканенных токенов”, происходит перемещение активов в формате ERC-721, в противном случае – в ERC-20.
Также было обнаружено “очень дорогое обслуживание” функции, отвечающей за отображение списка всех токенов, принадлежащих учетной записи. Стоимость газа для передачи NFT из стандартной коллекции Azuki составляет около 45 000 Gwei, а для токена Pandora – более 100 000 Gwei.
«[В ERC-404] транзакция сжигает/чеканит NFT в соответствии с изменениями баланса отправителя/получателя. В случае записи актива нам нужен список невзаимозаменяемых токенов, принадлежащих отправителю», — объяснил высокую стоимость газа Quit.
Quit также обратил внимание на уязвимость эксплойта, связанную с использованием ERC-404 NFT. Если NFT был депонирован в протокол кредитования, неправильно настроенный для нового стандарта, держатели взаимозаменяемых токенов могут красть NFT.
«Данный эксплойт я вполне ожидаю увидеть в определенный момент, если ERC-404 останется популярным. […] Урок заключается в том, что нам не следует перегружать существующие сигнатуры функций новыми, скрытыми и неинтуитивными механиками», — заявил Quit.
ERC-404 является экспериментальным стандартом и пока не прошел аудиторских проверок. Официальная страница EIP на момент написания также недоступна. За проектом стоят анонимные разработчики под псевдонимами ctrl и Acme, которые работают над регистрацией EIP.
«Это длительный процесс, здесь много политики […] Обычно это занимает пару недель».
Разработчики отметили, что безопасность и возможные эксплойты зависят от других платформ, которые интегрируют и неправильно используют контракт ERC-404.
«Это все равно, что опубликовать фотографию машины и объяснить, как вломиться в нее через открытую дверь», — добавили они.