据报道,2021年3月18日,由于Filecoin的远程过程调用(RPC)代码中的“严重错误”,出现了“双花”问题。这些说法是不正确的,而且具有误导性。
Lotus团队对报告进行了彻底的调查,没有发现Filecoin网络或RPCAPI代码有任何问题。区块链本身没有双花,API代码中也没有bug。有问题的交易所已经在其记账系统中恢复了错误的交易,并且正在审查其存款处理逻辑以纠正API的使用。
发生了什么事
ConsensusLab 在 Filecoin Spacenet 启动公开星际共识测试网:4月21日消息,去中心化共识研究组织 ConsensusLab 宣布启动第一个公开星际共识(Interplanetary Consensus,IPC)部署,作为 Filecoin Spacenet 测试网的一部分,使用户、开发人员和 SP(存储提供商)能够使用 root Filecoin 网络提供的子网和共识模型进行实验。IPC 允许终端用户和应用开发人员动态生成并行执行事务的分层子网,从而消除主网的多余负载,同时提供更适合应用需求的操作条件。 此外,IPC 提供无缝的跨子网交易和机制,通过利用其父级提供的更强大的保证来保护子网。[2023/4/21 14:17:44]
问题报告。今天早些时候,Lotus团队收到了一份报告,称一家交易所错误地使用Lotusapi评估Filecoin网络中的转账/存款。这种不正确的API使用是由用户报告的,当他们的帐户被错误地记入交易所记账系统的存款两次。这一点后来在交易所的记账中被恢复了——Filecoin区块链本身没有任何双花问题。
Filecoin网络近24小时产出33.75万枚FIL:据IPFS100报道,Filfox浏览器数据显示,Filecoin网络当前区块高度为1144432,全网有效算力为11.475EiB,总质押量约为1.1384亿枚FIL,活跃矿工数为3289个,每区块奖励为23.8225FIL,近24小时产出337572枚FIL,24小时平均挖矿收益为0.0283FIL/TiB,目前FIL流通量为175129881。当前销毁28173510枚FIL。当前FIL最新价格为56.4美元。
目前有效算力排名前三的分别为:f0688165(MetaverseInfrastructure)以147.66PiB位居第一,f0127595(MetaverseInfrast)以132.70PiB暂居第二,f0142720(RRM-雅典娜)以127.79PiB位居第三。
注:根据Filecoin官方释放规则,Filecoin将于2021年10月15号迎来第二次减产。[2021/9/26 17:07:46]
交易所的API滥用。所讨论的交易所没有正确地检查链状态以消除具有相同发送者和接收者的多个消息的重复问题。其中根本原因是错误地使用了LotusAPI(而不是API本身的错误)——从而没有按照他们预期的方式工作。这个记账错误导致交易所展现错误的帐户存款信息。到目前为止,我们只知道有一个交易受到这种API混淆的影响。
Filecoin Grant Hackathon落幕,45个参赛项目在HackerLink获得24.9万USDC资助:7月18日,Filecoin Grant Hackathon圆满落幕。来自中国,美国,英国,印度,非洲等地区的45个参赛团队通过DoraHacks开源开发者平台HackerLink提交项目申请,总计获得249,210 USDC资助,其中115,000 USDC来自Filecoin Funders DAO。本次Hackerlink Filecoin Funders DAO成员包括:Filecoin Foundation 、Huobi Ventures、Textile、冰河分布式存储实验室、原力区、CoinSummer Labs和FilSwan七家机构。Filecoin Funders DAO成员将会持续通过HackerLink对开源项目进行资助,也将会参与优质Filecoin生态项目的早期投资。
黑客松结束后,社区二次方投票Grant立即进入宽限期(Grace Period)。在此期间,HackerLink将对投票结果进行闭源检查,分析二次方投票中女巫攻击(sybil-attack)的情况,并在宽限期结束后公布最终投票结果。[2021/7/18 1:00:51]
虚假报道会成为头条新闻:关于网络上“双花”的不准确说法在社交媒体渠道上传播,并成为文章头条。这些声明中的问题有许多已被调查,并被确定为虚假的。团队发现Filecoin网络或RPCAPI代码没有问题。在了解事实后,许多团体和媒体机构正在纠正他们的报道。
Anypay创始人玖儿:成功出圈是Filecoin的最大优势:由开源矿池和火币主办,金色算力云、链上ChainUP、Filecoin Beijing联合主办的“分布式存储中国行暨开源矿池IPFS私享会”2020年12月6日在武汉举行。Anypay创始人玖儿在会上表示,IPFS是一种底层的网络协议,想要取代现有的HTTP的协议,Filecoin给它赋予了一个激励机制,让更多的人参与到底层协议的应用中来。比较于比特币和以太坊,Filecoin最有优势的一点,就是成功跳出数字货币的圈,让更多的传统实体老板,进入到行业去了解,赋予实体一些能落地的商业应用。随着Filecoin 挖矿模型的逐步成熟以及很多投资机构的进场布局,现在是入场Filecoin的安全时机。[2020/12/6 14:22:02]
正在采取行动
交易的影响。该交易所发现了这种错误使用API的行为,并立即采取行动,停止存款、取款和转账。他们已经恢复了有问题的不正确交易(因此在这个事件中没有资金损失),并且正在纠正他们对lotusapi的使用,以符合推荐的用途。
其他交易所。其他交易所已经收到了警告,并正在检查它们的代码,以确保它们没有受到影响。许多审查已经完成——据我们所知,目前还没有其他交易所以这种方式错误这个API。
lotus团队。Lotus团队正在积极地处理所有交易,以确保正确处理此行为,并改进API文档,以确保其他所有人正确地检查Filecoin区块链的状态。
社区和媒体团队。一些组织正在与媒体合作,澄清所谓事件的细节和事实,并帮助消除错误信息。
社区团队。社区成员正在创建材料,以帮助其他人准确和深思熟虑地报告问题,以避免意外传播错误信息。
技术细节
类似的消息。Lotus团队了解,问题是由于两条消息共享相同的发送方/接收方详细信息和相同的nonce,但在同一个tipset中包含不同的gas参数而引起的。两个类似的消息是更改与消息相关的gas费用的常见消息替换形式。Filecoin网络安全机制正确地处理了这种情况,不会导致进行两次消息执行:两条消息中的一条被执行,另一条被忽略。
错误使用API。但是,根据检查链状态的方式,这可能会显示消息被处理了两次。具体来说,这个交易使用了一种错误的方式来处理链状态——在tipset中的每个区块上调用ChainGetBlockMessages,然后在每个消息上调用StateGetReceipt。
错误的API的返回期望。混淆在于,当对两条类似的消息(一条被执行,另一条被跳过)调用StateGetReceipt时,它将提供相同的结果:都对应于被执行的消息。这显然是违背直觉的,但却是有意为之的行为。StateGetReceipt方法的主要用例是LotusMiner和交易制定过程使用的事件处理程序。在替换消息的情况下,这些模块不关心返回的收据是否与原始消息对应,或者与替换的消息对应——它们只想知道消息是否在链上成功执行。我们在这里对文档进行了说明:https://github.com/filecoin-project/lotus/pull/5838。
使用正确的api。大多数交易所都正确地使用了ChainGetParentMessages和ChainGetParentReceipts来进行记账,以确定在链上执行了哪些消息并取得了成功。这些是Lotus本身在状态计算期间使用的api,因此可以保证以这种方式正确地反映链状态。对每个消息执行StateReplay将为您提供完整的调用结果,以便您可以将返回的InvocResult中的MsgCid与查询消息的CID进行比较。这是交易所正确检查链状态并保持其内部报告系统同步的推荐路径。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。