http://www.7klian.com

对付此次Filecoin生意业务所“双花”事件的勘误

2021年3月18日,按拍照关报道称,由于Filecoin的长途进程挪用(RPC)代码存在“严重裂痕”,呈现了“双花”。所谓“双花”,指的是双重付出,一笔资金被耗费了两次。这就比如有些人利用投币电话,,在硬币上调皮地穿了一根细绳,尽量抛掷了硬币,但实际的生意业务并没有完成,他可以在打完电话后操作细绳再将硬币取出,如法炮制,便能用这枚硬币打无数次电话。V|jasonbody

但此次这样的说法是不正确的,且具有强烈的误导性。对付此次事件Lotus团队对该陈诉举办了彻底的观测,并在过后声称“没有发明任何Filecoin网络和RPC API代码的相关问题”。链上并不存在双花问题,API代码也没有错误。有关生意业务所已经批改了该生意业务所内的错误生意业务记录。

搪塞此次Filecoin买卖所“双花”事件的勘误

事件回首

事件陈诉:早前Lotus团队收到生意业务所错误利用Lotus API计较Filecoin中的转账/存款。因为用户陈诉了生意业务所他们的账户被生意业务所记账系统错误地反复记录。该问题被记账系统规复,链上自己并没有反复记录。

API误解:呈现此次问题的焦点原因在于对Lotus链状态查抄 API利用不妥,在多动静处理惩罚时与等候处理惩罚方法差异。误解Lotus API的输出会导致记账系统将原始动静和替换动静都算作沟通的发送者和吸收者。今朝为止只有一个生意业务所呈现了该问题。

自媒体虚假报道:呈现了该问题之后,有关“双花”的不正确的文章在自媒体中流传。大部门的报道已经被勘误,RPC API代码并不存在代码问题。

当前采纳的动作

受影响生意业务所:发明错误的生意业务所当即采纳法子对付API的错误利用,暂停了用户的充值、生意业务和转账。该错误被快速规复,用户并没有资金损失。该生意业务所正在采纳法子更正对Lotus API的利用。

预警:其他生意业务所受到此次事件的预警,并着手审查他们的代码逻辑,以确保不受此次错误的影响,今朝还没有别的的生意业务所呈现同样的错误。

Lotus团队:今朝Lotus团队正在努力的与生意业务所相同相助,以确保这一事件正确办理,并改造API文档。

社区和媒体:社区某些团队正在努力与媒体接洽以消除这次错误事件的负面影响。

社区团队:社区成员提供可以辅佐其他社区成员精确、周到地陈诉问题的要领,制止意外流传错误信息。

技能细节

沟通信息:按照Lotus团队披露的动静,此次问题的来源在于有两条动静有沟通的发送者/收到者具体信息、沟通的nonce但拥有差异的Gas参数——被包括在同一tipset中。这样雷同的信息非经常见,但这样的环境凡是Filecoin城市安详且正常的处理惩罚,不会呈现这次错误环境。一般个中一条信息被执行,另一条被忽略。

错误利用API:但这次按照人们对链的查抄方法,泛起出了动静被处理惩罚两次的样子。详细来说,有关生意业务所利用了一种错误的处理惩罚链状态的方法——在tipset的每个块上挪用ChainGetBlockMessages,然后在这些动静上挪用StateGetReceipt。

错误的API期望:当StateGetReceipt被挪用在两个相似的动静上(个中一个被执行,另一个被跳过),它将提供沟通的功效给人感受两种动静都被执行了。这诚然是一种违背直觉思维的行为,但却是有意为之。StateGetReceipt的主要应用场景是在Lotus矿工和处理惩罚生意业务进程中利用的事件处理惩罚措施(https://github.com/filecoin-project/lotus/blob/79a8ff04fd5362a367fd7d6469e5287a47baa571/chain/events/events_called.go#L586)中。在动静被替换的环境下,这些模块并不体贴返回的信息是对应原始动静,照旧对应替换的动静——它们只是想知道动静是否在链上乐成执行。我们已经在这里的文档中增加了澄清:https://github.com/filecoin-project/lotus/pull/5838。

API的正确利用方法:大大都生意业务所都是正确利用了ChainGetParentMessages和ChainGetParentReceipts来记账,以计较出链上执行了什么动静、哪些动静乐成。这些都是Lotus自己在链state计较进程中利用的API,以担保利用者能通过这种方法正确反应链状态。

对每一条动静执行StateReplay,可以获得完整的挪用功效,这样利用者就可以将返回的InvocResult中的MsgCid与查询动静的CID举办较量。这是推荐生意业务所的正确查抄链状态并保持内部陈诉系统同步的步调。

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