FIL:Filecoin「双花」始末及复盘

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代码里存在“严重的漏洞”。该漏洞导致币安在看到两笔有冲突的交易后,选择了同时入账。?

Filecoin节点天和星际出现大额罚款系旧闻:此前有媒体有报道“Filecoin节点天和星际因技术故障出现被罚没全部FIL,并出现大额欠款事件”。金色财经核实后发现,该消息系旧闻,据知情人士表示,该消息是去年的消息,被处罚的节点是原本参加测试网络的节点,后来节点无人维护,window 消息也不再递交,直至在去年11月份,该节点算力掉光归零。

至于为何会出现大额惩罚的情况,金色财经采访到行业资深从业人员,他表示:其实被惩罚有多种情况,最直接的就是算力丢失,但算力丢失也可能存在多种原因。

1.数据虽然在,但是由于某些技术上的原因没能顺利提交证明;

2.数据彻底丢失;

3.主动删除这些数据,比如之前有些节点因为私钥被黑客拿走,不得已主动放弃算力,从而遭受巨大惩罚;

以上这些行为均会出现大额惩罚的现象。[2021/4/7 19:54:24]

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

FIL跌破80美元关口:火币全球站数据显示,FIL短线下跌,跌破80美元关口,现报79.9999美元,日内涨幅达到5.17%,行情波动较大,请做好风险控制。[2021/3/18 18:58:16]

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

技术细节复盘

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

BiKi运营副总裁 Jme :FIL主网上线后的走势必然会高涨一波:Filecoin主网上线在即,BiKi运营副总裁 Jme在接受金色财经独家采访时表示,从社区来看,官方的一系列调整都在降低前期矿工的收益。尽管来说,这样操作能够提升币价(毕竟质押的需求会带来Filecoin价格的一波增长),但Filecoin的收益数量也少了不止一点两点。不过官方在对于一些部分不合理的设计仍在修改中,不过主网上线在即,团队必将不会让抛压的危险出现。

FIL主网上线后的走势必然会高涨一波,但我们更应该看好FIL的长远价值,延线的发展,要知道Filecoin锚定的是下一代存储与检索网络,当IPFS带着区块链3.0,各种商业落地后,其市值也远非现有的2400亿能比拟。[2020/10/15]

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

以太坊智能合约开发工具Truffle宣布将集成Filecoin:以太坊智能合约开发工具Truffle在推特上宣布,其已经与Filecoin达成合作,旨在帮助全球的开发者创建和部署完全去中心化的应用程序。通过此次合作,Truffle将把Filecoin网络集成至其工具套件中,以帮助用户直接部署到Filecoin。然后,Truffle将向Ganache添加新特性,以便用户可以在开发和测试期间轻松模拟Filecoin网络。[2020/7/8]

不过他们没有注意到,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万美元,也是区块链史上最著名的双花攻击之一。

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

链链资讯

OKBFIL:AMM 流动性挖矿能否成为可持续的商业模式

用实证研究来解答这个一直困惑DeFi世界用户和开发者的问题。AMM是目前DeFi领域中最受欢迎的交易模型,与订单簿的配对方式不同,AMM采用固定乘积的方式换算交易池中代币,交易可以自动成交,保证.

[0:0ms0-3:866ms