据悉,币安在周三处理了一笔价值数百万美元的FIL“双倍存款”,尽管并未导致真正的双花。对此,币安方面称这是由于Filecoin的远程过程调用代码存在“严重漏洞”;而Filecoin否认该缺陷是由RPC错误导致的,认为是相关交易所对API的不正确使用导致了此次问题。
比特币的工作量证明 (PoW) 机制所针对的问题刚刚发生在Filecoin(FIL)网络上 — 嗯,算是吧。
据Filfox和FileStar的Filecoin矿工称,币安在周三处理了一笔价值数百万美元的FIL“双倍存款”。这并不是真正的链上双花 (double spend),但由于Filecoin的远程过程调用(RPC)代码存在“严重漏洞”,币安在一次存款后向矿工的Filecoin账户记入了两次存款。
当区块链上的同一笔资金被花掉两次时,就会出现所谓的“双花”;比特币的PoW算法的设计目标是使这种情况几乎不可能发生。但似乎Filecoin(Protocol Labs打造的分布式存储区块链项目)的RPC代码存在一个缺陷,用户可以欺骗交易所记入两次存款。
“RPC通道是交易所验证存款是否合法的信息通道。他们不会直接验证。相反,他们通过通道发送一条信息说:‘嘿,这个人的存款有问题吗?’ 然后他们会从FileCoin的软件中得到回复,’有’或者‘没有’,” 比特币开发者Dustin Dettmer在给CoinDesk的信息中解释道。
然而,他补充说,Filecoin开发人员给交易所验证存款的过程存在一个关键的缺陷,允许用户重复存入同一笔代币。
“这让黑客可以只写一张支票,但随意重新存入多次—类似于孩子们在电玩城里,习惯把绳子绑在五角硬币上,用一枚硬币永远玩下去,” Dettmer说。“只不过这里的后果更严重。无限数量的真实资金可能被盗取。”
这个事故更正确的说法可以叫做“双倍存款”,因为这个漏洞并没有导致真正的双花,而发现这个漏洞的矿工相信他们也发现了其他的实例。
Filecoin的RBF“双倍存款”漏洞
周三,Filfox和FileStar挖矿小组在意外利用该漏洞后,发现了问题。在交易所进行6.1万颗FIL交易(价值约460万美元)耗时过长后,该团队用“replace-by-fee”(RBF)技术来加快交易速度。
RBF交易是指用户广播一个新的交易来替换一个旧的、未确认的交易,并在其中附加较高的挖矿费用,目的是加快其确认速度。
然而,这笔RBF交易导致存款在他们的币安账户中被记入两次,将6.1万FIL变成了12万FIL。问题是,第二笔6.1万FIL从未真正打入币安的钱包—由于Filecoin的RPC代码存在漏洞,币安被迷惑而两次记入存款。该团队立即提醒了币安和Protocol Labs。
本质上,这个漏洞意味着币安看到了两笔交易,但忽略了它们是冲突的,并同时接受了这两笔交易(对于RBF交易,通常情况下,第二笔费用较高的交易被认为是有效的,而第一笔则会被拒绝)。
该团队表示,每个有Filecoin交易对的交易所都使用相同的“StateGetReceipt” RPC代码来处理存款,因此理论上该漏洞在任何交易该代币的交易所上都可以被利用。
“ Protocol Labs建议交易所从RPC StateGetReceipt中获取消息收据,这存在一个严重的漏洞。当链上有两个相同发送者和相同随机数的消息时,(这意味着双花),StateGetReceipt会对这两个消息返回相同的结果,“ Filecoin的一位开发者在他们的通信中告诉该挖矿公司。
Filecoin开发者已经在GitHub上开了一个问题,致力于修复该漏洞。在与CoinDesk的通信中,他们否认该缺陷是由RPC错误导致的,而声称它源于币安客户端的错误。
“不存在RPC错误。这个问题是由于相关交易所对API的不正确使用导致的。我们不知道有任何其他交易所犯了类似的错误。” Filecoin的团队表示。“团队将与交易所合作,对其存款机制进行审计,以避免未来出现问题。”
FIL当天下跌了4.5%。 (CoinDesk)
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。