Filecoin「双花」始末及复盘_FIL:OIN

3月19日凌晨,有社区用户反馈Filecoin主网存在双花风险,币安、OKex等交易所均已关闭Filecoin主网代币FIL的充值功能,CoboCustody也第一时间暂停了FIL的充值和提币。

CoboCustody技术团队对此次Filecoin安全事件保持高度关注并进行了详细复盘:

Filecoin「双花」始末

据Filfox和FileStar的Filecoin矿工反馈,周三币安遭遇了价值数百万美元的FIL双花充值攻击。

起因为有一笔61,000FIL的交易所入账花费了太长时间,于是Filfox和FileStar矿工为了加速而发起了一笔RBF交易。而该笔RBF交易导致币安账户两次入金,最终入账120,000FIL。事后,Filfox和FileStar开发者回应称,Filecoin的RPC代码里存在“严重的漏洞”。该漏洞导致币安在看到两笔有冲突的交易后,选择了同时入账。?

DeFIL 2.0将于2021年7月底开放测试网:据官方消息,DeFIL 2.0预计于2021年7月底开放测试网,DeFIL2.0在1.0基础上打造一个集算力NFT、永续算力通证、DeFi借贷、流动性挖矿、增强挖矿收益机制、DAO治理等一体化的去中心化金融生态,2.0版本将继续基于以太坊部署,还将部署于多链,包括币安智能链BSC和Arbitrum,在不同生态为用户获取价值。

据悉,DeFIL 2.0的定位是去中心化的Filecoin借贷和金融服务平台,旨在为FIL的一级市场和二级市场之间搭建桥梁,让矿工有渠道获得质押币或通过发行标准算力通证的形式对冲风险。[2021/7/7 0:32:48]

FilFox和FileStar开发者已经第一时间联系了币安,并在第一时间通知了Filecoin官方。

ZG.COM余币宝于1月26日 12:00上线FIL二期理财:据ZG.COM官方公告,ZG.COM将于1月26日 12:00上线FIL定期理财产品,最低5 FIL即可参与,总额度1000FIL,理财周期为180天,理财收益于活动结束后还本付息发放,募集时间截止至1月31日12:00。

余币宝是ZG.COM近期推出的数字资产投资理财产品,旨为用户制定稳定持续收益的轻松型理财产品,方便用户更加多元化参与区块链数字资产投资。[2021/1/25 13:26:50]

币安、OKex等交易所均已关闭Filecoin主网代币FIL的充值功能,CoboCustody也第一时间暂停了FIL的充值和提币。

Gate.io 明日早上8:00开启第二次FIL持仓空投STAR代币:据官方公告,Gate.io 将于明日(11月10日)8:00开启第二次FIL持仓空投STAR代币,平台外用户请务必在此之前充值FIL到Gate.io平台,平台内用户无需任何操作。据悉,Gate.io已于11月3日上线文曲星Filestar(STAR)交易,并于当日完成首次STAR代币空投。[2020/11/9 12:05:38]

技术细节复盘

交易所和中心化钱包等中心化托管机构会依据链上的转账行为给用户入账,因此如何高效、准确、及时的解析链上的转账行为是非常关键的,常见的做法是先获取某个区块内的所有交易ID,然后基于交易ID获取对应的交易内容和交易执行结果。

EXX交易所已于香港时间7月6日上线Filecoin期货交易:据EXX交易所官方消息,FIL已于香港时间2020年7月6日16:00登陆EXX交易所并开放FIL/USDT期货交易对。EXX交易所本次上线的FIL是Filecoin主网上线后的期货,届时用户可在平台兑付相应的现货Token。Filecoin是在IPFS其上的激励层,通过Token激励模式在IPFS网络上构建了一个去中心化的存储市场。

据悉,EXX交易所致力于数字资产在全球的普及与发展,使用多重安全防护技术打造金融级的交易平台, 为数字资产爱好者提供安全、稳定、快捷的交易渠道,使用户可以放心交易。[2020/7/6]

Filecoinlotus节点提供了多个API用于链上交易的获取,例如ChainGetBlockMessages可以获取指定区块内的所有交易内容,StateGetReceipt可以获取指定交易ID对应的执行结果,此次被攻击的交易所就是采用这两个API来进行链上转账行为的解析,并基于此为用户入账。

不过他们没有注意到,StateGetReceipt接口有个比较不符合常规逻辑思维的设计,就是在获取指定交易ID的执行结果时,如果这笔交易已经被RBF,则会返回最终RBF成功的那笔交易的执行结果,并且在返回值里没有任何的提示表明这笔是RBF后的交易的执行结果。

假设攻击者首先发送了TX1,对应的交易ID为TXID1,随后攻击者对TX1进行了RBF,生成TX2,对应的交易ID为TXID2,最终TX2上链成功。此时通过StateGetReceipt对TXID1和TXID2分别查询,都能得到执行正确的结果。

攻击行为发生后,Filecoin官方开发人员对API进行了补充说明,明确了StateGetReceipt的返回逻辑,并将在v1版本后废弃此API

https://github.com/filecoin-project/lotus/pull/5838/files??

CoboCustody技术团队在对接Filecoin的过程中已经发现了上述问题,因此没有采用ChainGetBlockMessages和StateGetReceipt来获取链上的转账行为,而是采用ChainGetParentMessages和ChainGetParentReceipts来获取已经成功上链的交易,从而从根本上避免了被双花充值的风险,因此未受此次双花充值攻击的影响。

在使用ChainGetParentMessages和ChainGetParentReceipts的过程中,CoboCustody技术团队发现lotus节点的一些返回值也并不是很符合常规逻辑思维,例如对于空块的处理是有一些问题的。CoboCustody技术团队对此做了妥善的安全处理,在此也提示其他中心化托管机构需要仔细检查相关的对接代码,避免其他的双花充值攻击行为。

双花即使用上一次交易的代币,再次进行交易,进而导致产生虚假交易。

2018年比特币黄金(BTG)就曾受到一名矿工的恶意攻击,该矿工临时控制了BTG区块链,在向交易所充值后迅速提币,再逆转区块,成功实施双花攻击。此次攻击者窃取超过388200个BTG,价值高达1860万美元,也是区块链史上最著名的双花攻击之一。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:0ms0-0:806ms