Due to the error in the remote call of procedures (RPC) Filecoin wallet Binance Exchange processed a “double” deposit. As a result of a repeated transaction, the user's account received 122 000 FIL instead of 61 000 FIL.
Filecoin miners reported, that sending a “replacing” transaction led to enrollment of FIL coins on the user's exchange wallet twice as much as the amount he had sent. This happened due to the error in the code of the remote call procedure (RPC) Filecoin wallet. The error did not lead to real "double waste" in the blockchain, That is, the consensus was not violated. Double enrollment occurred due to "excessive trust" by Binance.
Bitcoin developer Dustin Dettmer (Dustin Dettmer) explained, that RPC is an information channel for exchanges, with which they can check the "legitimacy" of the deposit. However, the exchanges do not directly do it, and request the admissibility of the deposit through the channel. Filecoin wallet program gives them a positive or negative answer. Such a process of checking deposits has a serious drawback, which allows you to make the same coins several times.
“Despite the conduct of just one check, hackers can make deposits so many times, How much they want. This can be compared with binding money on a thread, To play slot machines forever, using the same coin. In our case, the consequences are more dramatic. Hackers can steal real money in unlimited quantities ", – Dettmer said.
Filecoin miners discovered this problem by chance. Transaction 61 000 FIL (about $4.6 million) took too much time, Therefore, they decided to carry out a transaction with the “Replace-by-Fee” function (RBF). In this case, the user can replace the old transaction with a new transaction, Having executed a higher commission, to accelerate transaction confirmation. Usually when replacing the commission, the first transaction deviates, And the second transaction with a higher commission is considered real. However, instead, there was a second enrollment of the deposit, and the user's address was a doubled amount – 122 000 FIL. Bug in RPC codes deceived Binance – The exchange saw both transactions and ignored their conflict, Having accepted both transactions. The miners immediately notified Binance and the developer Filecoin – Protocol Labs.
Each exchange, on which Filecoin cryptocurrency is traded, uses the same RPC code for processing deposits – Strategetreceipt. Therefore, theoretically, such errors could arise on any sites, not requiring a sufficient number of confirmation in the blockchain to enroll the deposit. Filecoin developers opened a discussion of this problem on GitHub. They deny the presence of bugs in the RPC code and claim, that the problem arose from the side of Binance. Nonetheless, Some exchanges have suspended deposits in the cryptocurrency Fil.
Recall, that the launch of the main Filecoin network took place 15 October 2020 of the year. The platform works on the basis of Interplanetary File System (Ipfs), Allowing users to trade unused volumes for storing data using Fil cryptocurrency.
