风险提示:理性看待区块链,提高风险意识!

filecoin双花攻击事件是怎么回事?

2个回答

Master5星评价

2021-03-26 10:56:51

filecoin双花攻击事件是怎么回事?

Filecoin“双花”事件回顾

起初,在3月18日晚间,有用户反馈,在某些交易所内充入FIL,“双花”操作后再提现,依然可以再收到一笔同样数量的FIL。类似问题似乎在多个交易所均有出现,有分析认为是Filecoin主网问题。

随后,在3月19日凌晨Filfox和FileStar开发者发现Filecoin充值入账存在“双花”风险。根据Filfox浏览器和FileStar开发者的共同分析称:Filecoin官方推荐的交易所入金流程存在“双花”的风险,建议交易所暂缓Filecoin的入金。该“双花”风险已经影响到某交易所的入金,并得到“双花”验证。目前Filfox和Filestar的开发者已经协助部分交易所改进充值流程,并通知到Filecoin官方。

紧接着,协议实验室发声表示:经过Filecoin开发团队确认,Filecoin没有“双花”问题,可能是因Filfox浏览器前端造成了误导,使得某些用户认为在交易所充值Filecoin过程中有“双花”可能。

尽管如此,火币还是暂停了FIL充提业务。火币官方公告,由于FIL(Filecoin)钱包升级,Huobi Global现已暂停FIL的充币和提币业务。

image.png

接着,Filfox和FileStar开发者回应协议实验室:经过慎重细致的分析,可以确认是Filecoin官网推荐给交易所的充值流程有严重问题,可以构造特殊交易,骗过交易所的充值检测,从而实现对一笔交易进行“双花”。通过这种构造特殊交易的方式,目前某交易所已经有大约价值500万美金的Filecoin的虚假充值。

经Filfox开发者确认,FilFox浏览器前端显示一切正常,并且即使有任何问题,也不会影响交易所的入金问题,交易所入金是依据Filecoin官方推荐的流程进行的,和浏览器显示没有任何关系。

紧接着,Filecoin官方在推特发声回应:Lotus团队收到一份报告,指出交易所错误地使用Lotus API来评估Filecoin网络中的转账/存款。Lotus团队对此进行调查发现,并没有网络问题或API漏洞。且团队正在协助相关交易所对接正确提现和充值处理逻辑,以避免后续问题。协议实验室同时给出图片为证:

image.png

Filecoin“双花”事件对FIL的影响

在“双花”事件发生前,由于SAFT投资者将在4月15日全部线性释放完毕(是早期参与众筹和基金的持币量释放减少,而并非挖矿量大幅减产),以及全网有效算力的持续增长、灰度新增FIL基金产品,再加上此前的第九城市、新元科技等公司相继斥资千万美元级别加入Filecoin行业,多重因素叠加下FIL价格来到新高。

此次Filecoin因“双花”事件影响,FIL的价格也在短时间内经历了急剧波动,从消息发出最低跌破75美元,Filecoin官方澄清后又一度回到80美元以上。

image.png

Filecoin官方采取的行动

就3月9日“双花”事件,目前Filecoin官方采取的行动如下:

1)交易的影响。该交易所发现了这种错误使用API的行为,并立即采取行动,停止存款、取款和转账。他们已经恢复了有问题的不正确交易(因此在这个事件中没有资金损失),并且正在纠正他们对Lotus API的使用,以符合推荐的用途。

2)其他交易所。其他交易所已经收到了警告,并正在检查它们的代码,以确保它们没有受到影响。许多审查已经完成——据我们所知,目前还没有其他交易所以这种方式错误这个API。

3)Lotus团队。Lotus团队正在积极地处理所有交易,以确保正确处理此行为,并改进API文档,以确保其他所有人正确地检查Filecoin区块链的状态。

4)社区和媒体团队。一些组织正在与媒体合作,澄清所谓事件的细节和事实,并帮助消除错误信息。

5)社区团队。社区成员正在创建材料,以帮助其他人准确和深思熟虑地报告问题,以避免意外传播错误信息。

科普:什么是“双花”

“双花”(double spending)即双重支付,指在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作而被重复使用的情况。简单来说,就是用第一次交易的代币,再次进行交易,进而产生虚假交易。

举例:比如A钱包里有100元,A可以去购买等值的物品。当A去商场后,发现桌子和椅子的单价都是100元,那A只能买其中一样商品。上面所说的“双花”问题,正好与之相反,同样的100元却可以通过某种不当操作而同时购买桌子和椅子这两款商品。

那么“双花”问题是怎么发生的?在区块链系统中,“双花”问题会在以下情况下出现:

1)由于共识机制导致区块确认时间长,用一个数字货币去进行一次交易,可以在这笔交易还未被确认完成前进行第二笔交易。

2)通过控制算力来实现“双花”。第一次交易被验证通过并被记录入区块链后,在该网络中有更高的算力检验出新的更长链条,在该链条中这笔钱被第二次花费。由于第二次花费的区块链更长,使第一次交易区块所在链条为无效链条。这样一来,第一次交易区块链被区块链网络放弃,第一次花费的钱又回到了自己的账户,就导致了“双花”问题。

区块链历史上曾发生过不少“双花”攻击,但最知名的“双花”事件是比特币黄金BTG。2018年比特币黄金BTG受到”双花“攻击,攻击者窃取超过388200个BTG,价值高达1860万美元。

随着越来越多人投身区块链行业,在为行业注入新活力的同时,由于部分从业者相关知识的薄弱以及安全意识的匮乏,也给攻击者提供了更多的可乘之机。神算矿池认为,安全问题必须重视!也希望越来越多的项目能够保证用户们的资产安全,使得区块链以及数字货币能够有更多的应用。

比特狂想曲2星评价

2021-03-25 12:03:43

何为双花攻击?

双花,即双重支付,指的是在数字资产体系里,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。简而言之,一笔数字资产重复支付,一笔钱被花掉两次或多次,如支付宝钱包(绑定的银行卡)里有100块钱,消费了100元,结果支付宝出了bug,这一笔钱并没有被银行同步,还留在银行卡里,于是我们又能拿着100块钱去继续消费,这就属于双花问题。

双花会导致“通货膨胀”,使加密资产被贬值,一般该情况出现在中心化交易所较多。

以区块链的加密资产为例:2018年5月,某黑客针对 Bitcoin Gold 密币交易所的基础设施发动了多次“双花”攻击,并设法攫取了价值1800万美元的 BTG,直接导致整个属于BTG的市场需要再消化这1800万美元的 BTG,间接会使BTG单价贬值。

为了更好的回顾这次Filecoin,我们需要了解主流的双花攻击类型:51%攻击和竞赛攻击。

51%攻击:攻击者通过控制超过50%的哈希算力,这使他们可以删除或修改交易的顺序。从而实现多次发送交易,该情形在比特币网络上目前难以实现,难以符合经济收益。

例如:我们支付宝的银行卡只有100元,我们对外已经消费了100元,然后通过控制银行主脑来删除该记录(可理解为51%的控制算力修改),然后银行没有我的交易记录,但实际上支付宝已经使用了该100元,所以我的银行卡仍然还有100元,故可以继续消费。

BTG双花攻击就是51%攻击的类型,主要是因为算力规模较小,当时黑客只需支付3400美元皆可顺利完成攻击。

竞赛攻击:使用相同的资金连续广播(相同Nonce值)两个冲突的交易,但只有一项高Gas费的交易得到确认。攻击者的目标是通过验证对他有利的交易来使另一个支付无效,如此以来相同的资金发送到他控制的地址。

例如:A向B转账100元(一般Gas费),同时也使用一样的Nonce值发送另外一笔向B转账100元(高Gas费)。在区块链世界,同一Nonce值只能确认一笔交易,因为第二笔Gas费更高会很顺利转账给B 100元,而第一笔因为第二笔的成果而认定为失败,所以会返还给A 100元,这样以来,A和B各有两个100元。

本次闹剧不存在“双花”攻击

而这次Filecoin“双花”事件就是在混淆概念,这次不可归咎为竞赛攻击,而是一场人为的操作失误。

从结果上看,以Filscan.io浏览器为例,该笔交易只有一笔转账成功。

image.png

61200枚FIL转账记录,来源:Filscan.io,2021-3

以官方解释说到,“lotus团队所知问题源自于有两条消息有相同的发送者/收到者详细信息、相同的Nonce但拥有不同的Gas参数——被包含在同一Tipset中。像这样两个类似的消息是非常常见的,比如以改变与消息的Gas费来替代消息就会形成这样两条类似的消息。这样的情况会由Filecoin网络安全、正确地处理,不会导致两次转账:两条消息中的一条会被执行,另一条被忽略”。

官方解释意思是,Filecoin主链之前就已经针对竞赛攻击(相同Nonce)针对做好正确的处理交易,并不会因为高Gas费的替代行为而出现双花现象,所以这块印证了Filscan.io的数据准确。

那么该场闹剧是如何引起?

官方很好归纳:“错误使用API。然而,根据人们对链的检查方式,这会呈现出消息被处理了两次的样子。具体来说,有关交易所使用了一种错误的处理链状态的方式——在tipset的每个块上调用ChainGetBlockMessages,然后在这些消息上调用StateGetReceipt”。

因为交易所调用错了API接口,导致呈现出双花现象(实际并不是),该现象不是Filecoin网络本身的bug,而是方法上错误,同时官方指出应该以ChainGetParentMessages和ChainGetParentReceipts来记账。

同时交易所应以链上的真实数据源记账,假若以某浏览器作为数据源,一旦其恶意修改数据,也会导致“中心化的恶意”双花攻击行为。

总的来说,该场闹剧总的来说是交易所的操作不当,从而使有心之人有意而为之。那么回过头来,掀起了一场无需有的波浪,那么这次谁“双花”了谁?