Filecoin「双花」始末及复盘_FILE: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代码里存在“严重的漏洞”。该漏洞导致币安在看到两笔有冲突的交易后,选择了同时入账。FilFox和FileStar开发者已经第一时间联系了币安,并在第一时间通知了Filecoin官方。币安、OKex等交易所均已关闭Filecoin主网代币FIL的充值功能,CoboCustody也第一时间暂停了FIL的充值和提币。技术细节复盘

FIL突破180 USDT:欧易OKEx行情显示,FIL突破180 USDT,现报180.885 USDT,24H涨幅2.84%。[2021/4/12 20:09:23]

交易所和中心化钱包等中心化托管机构会依据链上的转账行为给用户入账,因此如何高效、准确、及时的解析链上的转账行为是非常关键的,常见的做法是先获取某个区块内的所有交易ID,然后基于交易ID获取对应的交易内容和交易执行结果。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版本后废弃此APIhttps://github.com/filecoin-project/lotus/pull/5838/files

Filecoin网络目前总质押量约为2361万枚FIL:据IPFS100.com报道,Filfox浏览器数据显示,Filecoin网络当前区块高度为329381,全网有效算力为1.42EiB,总质押量约为2361万枚FIL,活跃矿工数为852个,每区块奖励为15.9940FIL,近24小时产出量为219864FIL,24小时平均挖矿收益为0.1488FIL/TiB,目前FIL流通量为55040745FIL。

目前有效算力排名前三的分别为:F02770(时空云&灵动)以72.27PiB暂居第一,F01248(智合云zh)以67.73PiB位居第二,F09652(RRmine)以35.20PiB位居第三。[2020/12/17 15:32:11]

Filecoin当前全网有效算力为596.95PiB:据IPFS100.com报道,filfox浏览器数据显示,Filecoin网络当前区块高度为159465,全网有效算力为596.95PiB,总质押量约为1258.19万枚FIL,活跃矿工数为554个,每区块奖励为11.0028FIL,近24小时产出量为152857FIL,24小时平均挖矿收益为0.2524FIL/TiB;

目前有效算力排名前三的分别为:t02770(时空云&灵动)以41.35PiB暂居第一,t01248(智合云zh)以37.71PiB位居第二,t01782(hellofil.com)以26.09PiB位居第三。[2020/10/19]

CoboCustody技术团队在对接Filecoin的过程中已经发现了上述问题,因此没有采用ChainGetBlockMessages和StateGetReceipt来获取链上的转账行为,而是采用ChainGetParentMessages和ChainGetParentReceipts来获取已经成功上链的交易,从而从根本上避免了被双花充值的风险,因此未受此次双花充值攻击的影响。在使用ChainGetParentMessages和ChainGetParentReceipts的过程中,CoboCustody技术团队发现lotus节点的一些返回值也并不是很符合常规逻辑思维,例如对于空块的处理是有一些问题的。CoboCustody技术团队对此做了妥善的安全处理,在此也提示其他中心化托管机构需要仔细检查相关的对接代码,避免其他的双花充值攻击行为。双花即使用上一次交易的代币,再次进行交易,进而导致产生虚假交易。2018年比特币黄金(BTG)就曾受到一名矿工的恶意攻击,该矿工临时控制了BTG区块链,在向交易所充值后迅速提币,再逆转区块,成功实施双花攻击。此次攻击者窃取超过388200个BTG,价值高达1860万美元,也是区块链史上最著名的双花攻击之一。

Filecoin太空竞赛第三周将进行进一步压力测试:9月7日,据官方消息,Filecoin太空竞赛已经进入第三周,本周Filecoin网络将进行进一步的一系列压力测试,以此来评估网络整体对于失败和更新的反应。Filecoin官方人员Mosh在slack表示,尤其是在Filecoin早期阶段,作为一个社区,必须做到高度可适应和灵活,所有大矿工代表们需要一天24小时,一周7天在线,在遇到的任何问题下都能快速更新。本周的具体安排如下:

1.9月7日(部分地区是周二),Filecoin将开始一条小链的更新,以测试整体的更新速度,预计只要几个小时就可以更新节点到新的链状态。这将证明网络是否可以快速地对错误和主网攻击进行反应。(窗口维护期会在北京时间9月8日3:00开始,Lotus 0.5.11版本发布会在9月8日7:00,更新纪元会在9月8日14:00,窗口维护期结束会在15:00)

2.如果上一步进展顺利,9月9日(周三)会触发一个简单版的Drand全网停运,以测试网络对错误的应对能力。Drand是一个高度弹性和随机的beacon,可以以此确定Filecoin网络是否可以从网络暂停中成功恢复。

3.9月10日(部分地区是周五),将测试升级的复杂性,Filecoin网络可以处理更复杂的角色升级,也将包括工具和使未来升级更容易的工具,以此来确保网络之后能提升和更新Filecoin角色,考虑到复杂性,将会有略微延长的更新窗口。

此外,Filecoin官方还表示将对一些交易机器人的维护窗口和以上更新进行协调,继续密切观察,以确保这些重要的测试不会影响到比赛。与此同时,浏览器信息显示,全网存储已经达到133PiB。[2020/9/7]

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

金宝趣谈

SOL哥斯拉袭卷 NFT 或将逆转日本经济?_NFT:哥斯拉

日本再次向世界展示了其在娱乐IP领域蕴藏的强大能量。日本历史悠久且规模最大的电影公司东宝株式会社,进入区块链NFT的首个动作就一鸣惊人,直接动用旗下的爆款IP,也是日本最知名且最有分量的怪兽之王.

[0:0ms0-4:273ms