由于远程过程调用出错 (远程过程调用) Filecoin 钱包 Binance 交易所处理了“双倍”存款. 由于重复交易,用户账户收到 122 000 代替FIL 61 000 飞利浦.
Filecoin 矿工报告, 发送“替换”交易导致 зачислению монет FIL на биржевой кошелек пользователя вдвое больше отправленной им суммы. Это произошло из-за ошибки в коде удаленного вызова процедур (远程过程调用) кошелька Filecoin. Ошибка не привела к реальной «двойной трате» в блокчейне, то есть консенсус не был нарушен. Двойное зачисление произошло вследствие «избыточного доверия» со стороны Binance.
Разработчик Биткоина Дастин Деттмер (Dustin Dettmer) 解释了, что RPC представляет собой информационный канал для бирж, с помощью которого они могут проверить «легитимность» депозита. Однако биржи не делают это напрямую, а запрашивают о допустимости депозита через канал. Программа кошелька FileCoin выдает им положительный или отрицательный ответ. Такой процесс проверки депозитов имеет серьезный недостаток, который позволяет несколько раз вносить те же самые монеты.
«Несмотря на проведение всего одной проверки, хакеры могут вносить депозиты столько раз, сколько захотят. Это можно сравнить с привязыванием денег на нитку, чтобы вечно играть в игровые автоматы, используя одну и ту же монету. В нашем случае последствия более драматичны. Хакеры могут украсть реальные деньги в неограниченном количестве», – сказал Деттмер.
Майнеры Filecoin обнаружили эту проблему случайно. Транзакция на 61 000 飞利浦 (关于 $4.6 百万) занимала слишком много времени, поэтому они решили провести транзакцию с функцией «replace-by-fee» (RBF). В этом случае пользователь может заменить старую сделку новой транзакцией, выставив более высокую комиссию, чтобы ускорить подтверждение транзакции. Обычно при замене комиссии первая транзакция отклоняется, а действительной считается вторая транзакция с более высокой комиссией. Однако вместо этого произошло повторное зачисление депозита, и на адресе пользователя оказалась удвоенная сумма – 122 000 飞利浦. Баг в кодах RPC обманул Binance – биржа увидела обе транзакции и проигнорировала их конфликт, приняв обе сделки. Майнеры немедленно уведомили об этом Binance и разработчика Filecoin – компанию Protocol Labs.
Каждая биржа, на которой торгуется криптовалюта Filecoin, использует для обработки депозитов один и тот же код RPC – StateGetReceipt. Поэтому теоретически такие ошибки могли возникнуть на любых площадках, не требующих для зачисления депозита достаточного количества подтверждений в блокчейне. Разработчики Filecoin открыли обсуждение этой проблемы на GitHub. Они отрицают наличие багов в коде RPC и утверждают, что проблема возникла со стороны Binance. 尽管如此, некоторые биржи приостановили депозиты в криптовалюте FIL.
记起, что запуск основной сети Filecoin состоялся 15 十月 2020 年度. Платформа работает на основе InterPlanetary File System (IPFS), позволяя пользователям торговать неиспользуемыми объемами для хранения данных с помощью криптовалюты FIL.
