Filecoin官方发布事件回顾报告:双花说不准确且存在强烈误解_FilecoinNetwork_火星财经_股市消息_智行理财网

Filecoin官方发布事件回顾报告:双花说不准确且存在强烈误解_FilecoinNetwork_火星财经

智行网 0

原标题:事件回顾报告:利用Lotus API精准记账

2021年3月18日,由于Filecoin远程过程调用(RPC )代码存在严重漏洞,出现双花。 这些说法不正确,有强烈的误解。

Lotus团队仔细调查了此报告,但未发现有关Filecoin网络和RPC API代码的问题。 链条本身没有双花的问题,API代码也没有错误。 对于交易所,我们正在检查计费系统中的计费处理逻辑,以纠正交易所中错误的交易记录,并修复API的使用。

事件回顾

事件报告-今天早上,Lotus小组收到交易所错误地使用Lotus API计算Filecoin网络内的转账/存款。 API被错误使用是因为用户报告了交易所的账户被交易所的收费系统错误地重复记录了。 这个问题通过交易所的收费系统得到了恢复。 链条上没有重复记录。

API误解—此问题的核心是不正确使用Lotus的链状态检查API,并且处理多个类似消息时,其处理方式与预期的不同。 如果误解了Lotus API的输出,计费系统就会将原始消息和替换消息都视为同一个发送者和接收者。 到目前为止,我们知道只有一个交易所受到这个问题的影响。

虚假报道成为文章标题——关于网络“双花”的不准确陈述在社交媒体渠道传播,进入文章标题。 这些文章的内容经过调查,被确定为错误的信息。 团队没有发现Filecoin网络或RPC API代码的问题。 了解事实后,许多团队和媒体机构正在修改其报道。

所采取的行动

受到影响的交易所-相关交易所发现这是对API的错误使用,立即采取了停止充值、取现、转账的行动。 他们已经恢复了相关的错误交易(因此,本次事件中没有资金损失),并修改了Lotus API的使用以符合推荐的使用方法。

偶发案例-其他交易所已收到警告为了使他们不受同样错误的影响,正在确认他们的代码逻辑。 其中很多已经完成了——审核,据我们所知,目前没有其他交易,所以这种方式错误地使用了API。

Lotus团队— Lotus团队积极与所有交易所合作,正确处理这一行为,改进API文档(github.com/filecoin-project/lotus/pull/5838 ),以便所有其他交易所可以正确检查filecoin的链状态

社区和媒体—一些团队共同努力,与媒体联系,帮助澄清事件详情和事实,消除错误信息。

社区团队-社区成员提供了一种帮助其他社区成员准确、准确地报告问题的方法避免错误地发布错误的信息。

技术细节

相同的信息lotus团队所知道的问题是,两个消息有相同的发送者/接收者的细节,虽然相同的nonce,但是不同的Gas参数——为相同的tipset 这两个类似的消息非常常见例如,如果更改与消息的Gas费用而不是消息,就会形成这两个类似的消息。 Filecoin网络可以安全、准确地处理这些情况,不会发生两次转账。 两个消息中的一个将被执行,另一个将被忽略。

[ xy001 ]错误使用API—但是,根据人们检查链的方式,这显示了消息被处理了两次。 具体来说中选择所需的族。 使用交易所错误处理链状态的方法——在tipset的每个块中调用ChainGetBlockMessages,并在这些消息中调用StateGetReceipt。

错误的API预期-容易导致错误的结果是,当调用两个类似的消息时,会执行一个StateGetReceipt,跳过另一个StateGetReceipt,会得到相同的结果,两个消息都执行了。 这确实是违反直觉思维的行为,但却是有意的。 StateGetReceipt的主要应用场景是Lotus矿工和用于交易处理的事件处理程序。 如果消息被替换,这些模块不在乎返回的信息是对应于原始消息还是对应于被替换的消息——,只是想知道消息是否在链上成功执行。

使用正确的API大多数交易所都正确使用和计费ChainGetParentMessages和ChainGetParentReceipts来计算链上运行的消息和成功的消息。 这些是Lotus本身用于计算链state的API,可以通过这种方式正确反映链的状态。 对每条消息执行StateReplay将生成完整的调用结果中选择所需的族。 这允许用户将返回的InvocResult的MsgCid与查询消息的CID进行比较。 这是建议准确检查交易所链条状态,并保持内部报告系统同步的一个步骤。

Filecoin官方发布事件回顾报告:双花说不准确且存在强烈误解_FilecoinNetwork_火星财经文档下载: PDF DOC TXT