首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Filecoin官方发布:并不存在“双花”问题!

2021年3月18日晚有用户反馈,在交易所内充入FIL,双花操作后再提现,依然可以再收到一笔同样数量的FIL。目前Filecoin项目方已经经过调查得出结论:由于Filecoin远程过程调用(RPC)代码中的“严重错误”,出现了“双花”,这些陈述是不正确的并且具有误导性!

Lotus团队已对报告进行了彻底调查,未发现Filecoin网络或RPC API代码有问题。区块链本身没有双花,API代码也没有错误。该交易所已在其簿记系统中恢复了不正确的交易,并正在审查其存款处理逻辑以更正其API使用情况。

发生了什么

问题报告。今天早些时候,Lotus团队收到一份报告,指出交易所错误地使用Lotus API来评估Filecoin网络中的转移/存款。当用户的帐户被两次错误地存入交易所的簿记系统以进行存款时,用户报告了这种不正确的API使用情况。此后在交易所的簿记中已被恢复-链本身没有重复。

交易所的API滥用。有问题的交换未正确检查链状状态以重复删除具有相同发件人和收件人的多封邮件。根本原因是交易所Lotus API的使用不正确(不是API本身的错误),未能按预期的方式工作。此簿记错误导致交换错误地将帐户存款消息发送给帐户。到目前为止,我们只知道有一个受此API混乱影响的交易所。

错误的报道成为头条新闻:有关网络“双花”的不正确陈述在社交媒体渠道中传播,并进入了文章头条。这些主张中的许多主张已被调查并确定为错误。Lotus团队发现Filecoin网络或RPC API代码没有问题。在了解了事实之后,许多媒体机构正在纠正其报道。

采取的行动

交易所受到影响。有问题的交易所发现此API被滥用,并已立即采取行动以停止存款,提款和转账。他们已还原了有问题的不正确交易(因此在此事件中没有资金损失),并且正在更正他们对Lotus API的使用,使其与建议的使用相匹配。

已通知其他交易所,并且正在审查其代码,以确保它们不受影响。这些审核中的许多审核已经完成。据我们所知,目前没有其他交易所以这种方式滥用此API。

莲花团队。Lotus团队正在与所有交易所积极合作,以确保正确处理此行为,并改进API文档以确保所有其他人正确地检查Filecoin链状态。

社区和媒体团队。一些组织正在共同努力,以发布并澄清所指控事件的细节和事实,并帮助消除错误信息。

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

技术细节

相同的消息。Lotus团队了解到,此问题是由于两条消息共享相同的发送者/接收者详细信息和相同的随机数,但具有不同的gas参数(包含在同一技巧集中)引起的。两条类似的消息是消息替换的一种常见形式,用于更改与消息相关的汽油费。Filecoin网络可以安全,正确地处理这种情况,不会导致进行两次传输:执行两条消息中的一条,而忽略另一条消息。

错误使用API。然而,基于一个人如何检查链条,这可以表现出转移被处理了两次的样子。具体来说,这种交换使用了错误的方式来处理链状态,调用提示ChainGetBlockMessages集中的每个块,然后调用StateGetReceipt这些消息中的每一个。

错误的API期望。令人困惑的是,当StateGetReceipt在两个相似的消息(其中一个已执行,另一个已被跳过)上被调用时,它将提供相同的结果:两者都对应于已执行的消息。诚然,这是违反直觉的,但却是有意的行为。该方法的主要用例StateGetReceipt是在Lotus Miner和交易过程中使用的事件处理程序中。在替代消息的情况下,这些模块都不会关心,如果返回的数据对应于原始消息,或者更换一个-他们只是想知道,如果消息链上的成功执行。

使用正确的API。大多数交易所都正确地使用ChainGetParentMessages和ChainGetParentReceipts进行簿记,以找出链上已执行并成功执行了哪些消息。这些是Lotus自己在状态计算过程中使用的API,因此可以确保以这种方式正确反映链状态。执行StateReplay对每一个消息会给你充分调用结果,所以你可以比较MsgCid在返回InvocResult与查询消息的CID。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210319A02RRQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券