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

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

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

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

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

BitTorrent File System(BTFS)节点金库合约数超170万:最新消息,BitTorrent File System(BTFS) 节点金库合约数超过170万。合约数据可通过BTFS SCAN浏览器进行查看。

据悉,BitTorrent 文件系统(BTFS)既是一种协议,也是一种网络应用,它提供了一种内容可寻址的点对点机制,用于在去中心化的文件系统中存储和共享数字化内容,同时,它也为去中心化应用(Dapp)提供了一个基础平台。BTFS团队一直在根据最新的网络运行情况和BTT市场行情等,进行上传价格、空投奖励方案等一系列动态调整。[2022/6/1 3:55:29]

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

FIL 24小时涨幅达27.25%:据Gate.io芝麻开门行情显示,截至今日9:15,FIL 24H最高涨幅27.25%,当前涨幅24.15%,24H最高报价158.81美元,当前报价157.67美元,24H现货交易量达6224.58万美元。近期行情波动较大,请注意控制风险。[2021/3/31 19:31:43]

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

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

金色算力云联合创始人洪睿:IPFS切入分布式存储市场,Filecoin价值有待释放:由开源矿池和火币主办,金色算力云、链上ChainUP、Filecoin Beijing联合主办的“分布式存储中国行暨开源矿池IPFS私享会”2020年12月6日在武汉举行。金色算力云联合创始人洪睿在会上表示,整个IPFS分为三层,第一是底层协议,第二是激励层,第三是应用层,切入的市场是分布式存储市场。目前这个市场规模在460亿美金,每年在以200%的速度递增。未来分布式存储和中心化存储未来会是一个共融的生态。Filecoin不仅仅是一个矿币,它有生态和场景的支撑,Filecoin的价值未来有待释放。[2020/12/6 14:16:05]

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

火币全球站预计将于10月15日开启FIL充币业务:据官网消息,火币全球站预计将于10月15日FIL(Filecoin)主网上线时,同步开启FIL的充币业务,并第一时间支持FIL上线。同时火币将于10月15日——10月20日12:00 (GMT+8),推出充值/交易 FIL,瓜分5万USDT大奖活动。

活动期间,用户从外部地址向平台成功充值的用户,将瓜分总计3万USDT的奖励;在火币参与FIL币币交易与杠杆交易的用户,将按照交易量排名,前10名用户将瓜分2万USDT的奖励。

据悉,火币还将于10月15日正式开启 FIL 狂欢月,倾力打造专业的Filecoin一站式服务平台,提供涵盖现货/杠杆/合约等全套交易服务、抵押/借币/套期等矿工数字化金融服务、矿机/Staking 等智能化矿池服务,并持续挖掘存储板块的高潜项目,为推动Filecoin生态系统的繁荣贡献力量。[2020/10/13]

假设攻击者首先发送了 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  

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

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

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

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

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

水星链

[0:0ms0-1:9ms