Пользователь Binance получил удвоенный депозит монет FIL из-за бага в кошельке Filecoin
Из-за ошибки в удаленном вызове процедур (RPC) кошелька Filecoin биржа Binance обработала «двойной» депозит. В результате повторной транзакции на счет пользователя поступило 122 000 FIL вместо 61 000 FIL. Майнеры Filecoin сообщили, что отправка*«заменяющей» транзакции*привела*к зачислению*монет*FIL*на биржевой кошелек пользователя вдвое больше отправленной им суммы. Это произошло из-за ошибки в коде удаленного вызова процедур (RPC) кошелька Filecoin. Ошибка не привела к реальной*«двойной трате» в блокчейне, то есть консенсус не был нарушен. Двойное зачисление произошло вследствие «избыточного*доверия» со стороны Binance.
Разработчик Биткоина Дастин Деттмер (Dustin Dettmer) пояснил, что RPC представляет собой информационный канал для бирж, с помощью которого они могут проверить «легитимность» депозита. Однако биржи не делают это напрямую, а запрашивают о допустимости депозита через канал. Программа кошелька FileCoin выдает им положительный или отрицательный ответ. Такой процесс проверки депозитов имеет серьезный недостаток, который позволяет*несколько раз вносить те же самые монеты.
Цитата:
«Несмотря на проведение всего одной проверки, хакеры могут вносить депозиты столько раз, сколько захотят. Это можно сравнить с привязыванием денег на нитку, чтобы вечно играть в игровые автоматы, используя одну и ту же монету. В нашем случае последствия более драматичны. Хакеры могут украсть реальные деньги в неограниченном количестве», - сказал Деттмер.
|
Майнеры Filecoin обнаружили эту проблему случайно. Транзакция на 61 000 FIL (около $4.6 млн) занимала слишком много времени, поэтому они решили провести транзакцию с функцией «replace-by-fee» (RBF). В этом случае пользователь может заменить старую сделку новой транзакцией, выставив более высокую комиссию, чтобы ускорить подтверждение транзакции. Обычно при замене комиссии*первая транзакция отклоняется, а действительной считается вторая транзакция с более высокой комиссией. Однако вместо этого произошло повторное зачисление депозита, и на адресе пользователя оказалась удвоенная сумма - 122 000 FIL. Баг в кодах RPC обманул Binance - биржа увидела обе транзакции и проигнорировала их конфликт, приняв обе сделки. Майнеры немедленно уведомили об этом Binance и разработчика Filecoin - компанию Protocol Labs.
Каждая биржа, на которой торгуется криптовалюта Filecoin, использует для обработки депозитов один и тот же код RPC - StateGetReceipt. Поэтому теоретически такие ошибки могли возникнуть на любых площадках, не требующих для зачисления депозита достаточного количества подтверждений в блокчейне. Разработчики Filecoin открыли обсуждение этой проблемы на GitHub. Они отрицают наличие багов в коде RPC и утверждают, что проблема возникла со стороны Binance. Тем не менее, некоторые биржи приостановили депозиты в криптовалюте FIL.
Напомним, что запуск основной сети Filecoin состоялся 15 октября 2020 года. Платформа работает на основе InterPlanetary File System (IPFS), позволяя пользователям торговать неиспользуемыми объемами для хранения данных с помощью криптовалюты FIL.
Источник:
Bits.media