Filecoin新出FIP-0013提案有望进一步减少链上Gas费消耗及链上拥堵问题

【Filecoin】FIP-0013提案
2月24日,Filecoin官方已在Github发布更新提案,添加批量提交ProveCommitSector方法以减少链上拥堵。该提案降低了提交新扇区到Filecoin网络的总成本,总体上降低矿工成本,减少对链式交易带宽的负担。该提案尚处于草案阶段,具体上线时间待定。
FIP- -0013提案提出,有望进一步减少链上Gas费消耗及链上拥堵问题。
矿工的ProveCommitSector方法一次只支持提交一个扇区,导致执行频率高且费用大。FIP-0013提案增加了一个ProveCommitSectorAggregated方法,以分摊多个扇区的成本,删除一些冗余且成本高昂的检查,并利用一种新的加密结果,大幅减少每个扇区的证明大小和验证时间。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

据官方消息,分布式存储网络Filecoin客户端Lotus团队公布下一次强制性升级LotusV1.5.0的具体实施时间表,计划于3月3日(epoch为550321时)将网络升级到V1.5.0,在此之前将于2月2 3日发布V1.5.0版本,目前已发布候选版本LotusV1.5.0-rc1和V1.5.0-rc2。LotusV1.5包含两个FIP提案,分别为FIP-0007和FIP-0010,其中,FIP-0007能够从性能和安全性方面改进FilecoinHAMT和AMT,FIP-0010能减少SubmittedWindowedPost消息的gas消耗量。此次升级是强制性的,节点运营商和矿工必须升级其客户端。V:Awdbank
官方在Filecoin网络下一步工作重点在两方面:
第一、有效数据的建设和引导,不断完善生态发展;
第二、Gas费过高问题的解决。
从2020年11月开始出现的gas费较高(这个官方已经十分重视并在积极解决,向全球公开犒赏有效方案,给出了极高的奖励,在全球顶级大脑的参与下,这只是时间问题)。

简单总结
为矿工添加一种方法,以在单个消息中提交多个部门证明提交消息。
抽象的
链上证明随着网络的增长呈线性增长。这导致(1)区块链大多数时候都处于容量限制状态,从而导致较高的基本费用;(2)链容量当前正在限制网络的增长。
矿工
ProveCommitSector
方法仅支持一次提交单个扇区。它既执行频繁又昂贵。该提议增加了
ProveCommitSectorAggregated
一种摊销多个部门中某些成本的方法,消除了一些多余但昂贵的检查,并利用新颖的密码学结果极大地减少了每个部门的证明大小和验证时间。
改变动机
矿工
ProveCommitSector
方法仅支持一次提交单个扇区。它是目前在链上观察到的两种最高频率的方法之一(另一种是
PreCommitSector
)。高增长的矿工以每个时代超过1个的速度交付行业。这也是一种相对昂贵的方法,具有多个内部发送以及状态加载和存储。
汇总的证明验证可以在更少的时间内证明更多的部门承诺,这将减少处理时间,从而减少每次证明承诺的气体成本。
除了这种主要的优化之外,还有许多次要的机会可以改善与批处理相关的处理时间和气体成本,许多机会可一次完成:
使用位域在ProveCommitSector参数中指定扇区号可以减小消息大小
PreCommits的装载开销可以每批执行一次
Power Actor声明验证可以每批完成一次
ComputeDataCommitment可以批量调用市场参与者的电话
另外,该
ProveCommitSectorAggregated
方法可以消除当前用于验证单个证明提交的临时存储和cron分批处理。这提供了进一步降低成本的机会:
PreCommit信息可以在每个证明提交中加载一次,而不是一次用于记录,然后再次用于批验证中。
经过验证的部门ProveCommitSectorAggregated将不需要存储和从功率参与者ProofValidationBatch图中读取
如果矿工运营商实施了相对较短的汇总期(一天),则该
ProveCommitAggregated
方法有可能降低以下方面的天然气成本:
国家运营:上面列出的某些成本可以在多个部门中摊销
证明验证:使用新颖的证明聚合方案,证明所使用的气体可以随着网络的增长而逐步缩小规模。
规格
演员变更
添加一种
ProveCommitSectorAggregated
支持矿工一次证明多个部门的新方法。此方法的参数是证明提交信息的列表:
type ProveCommitSectorAggregatedParams {
SectorsNumbers bitfield.BitField
}
语义将
ProveCommitSector
与以下提议的更改类似:
扇区号位域代替单个abi.SectorNumber在参数中
汇总证明代替参数的单项证明
MaxProveCommitSize参数将更改
将强制执行已验证的最小和最大扇区数
批量读取PreCommitInfos
批量构造SealVerifyInfos
市场参与者ComputeDataCommittment方法已更改为可计算commD的批次
用于验证的天然气成本将被更新,现在根据汇总的部门数量进行计算
在时代结束时,没有将证明信息存储在power actor中以进行批量验证。
ProveCommitSectorAggregated将调用新的运行时syscallAggregateVerifySeals代替power actorBatchVerifySeals调用。
ConfirmSectorProofsValid逻辑将复制到的后半部分ProveCommitSectorAggregated。
故障处理
如果参数上的任何谓词失败,则调用将中止(不保留任何更改)。
如果矿工没有足够的余额来履行所有承诺承诺,则呼叫将中止。
规模和限制
单个聚合中可能预先承诺的扇区数从50(TODO)开始,最大为819(TODO)
证明方案变更
Protocol Labs研究小组与外部研究人员合作,致力于改善Bunz等人的内部产品配对结果。。
从高层次上讲,这个想法是这样的:给定一些Groth16证明,一个人可以生成一个证明它们已经正确聚合的证明。
请注意,这种类型的聚合位于我们执行的现有SNARK之上。换句话说,不需要新的受信任设置。
有关新结构的更详细的技术报告可在此处(TODO)找到。
证明API
去做
可信设置更改
设计原理
现有的
ProveCommitSector
方法将不会变得多余,因为就气体成本而言,小批量的汇总可能不是有效的方法(证明太大或太昂贵而无法验证)。完整保留该方法以在升级期间支持平稳运行。
故障处理
为简单起见,选择在任何先决条件失败后中止。提交无效的预先承诺没有充分的理由,因此,对于运行正常的矿工来说,绝对不应发生这种情况。中止失败将提供明确的指示,表明出了点问题,否则操作员可能会忽略。
另一种选择是允许聚合中的扇区独立地成功或失败。在这种情况下,该方法应返回一个值,该值指示成功的扇区和失败的扇区。尽管不是很不适当,但这会使参与者和节点的实现复杂化。
规模和限制
聚合大小的界限并不是要真正限制矿工的行为,而是要限制潜在的错误或恶意行为的影响。矿工可以在一个时期内提交多个批次,以便更快地成长。
向后兼容
该建议引入了新的导出的矿工actor方法,从而更改了导出的方法API。尽管添加方法在逻辑上似乎是向后兼容的,但是在方法存在之前,很难保留对(未分配的)方法编号的调用的精确行为。因此,必须通过主要版本升级将这些更改交付给参与者。
该建议保留了现有的非批处理
ProveCommitSector
方法,因此,由于该建议,采矿作业无需更改工作流程(但应享受减少的天然气成本)。
测试用例
测试用例将伴随实施。
安全注意事项
所有重大的实施更改都会带来风险。
所使用的密码学是新颖的,并已通过TODO审核。
使用的受信任设置是Tau的Filecoin Powers和Tau的ZCash Powers(TODO:添加链接)
激励因素
该提议分摊高增长矿工的每部门成本,从而实现规模经济。增长缓慢的矿工无法享受相同的经济。
这可能会产生较小的动机,以防止将单个物理操作拆分为多个矿工(也称为Sybils)。
产品注意事项
该提议降低了将新部门提交到Filecoin网络的总成本。
这将总体上降低矿工成本,并减少对链式交易带宽的争用,因为带宽争用带宽可能挤出其他消息。
执行
遵循该提案的讨论和接受进行实施。
版权
通过CC0放弃版权和相关权。
在这里插入图片描述

以上就是本期全部内容了,这个题案一旦正式实施,那gas费就会降下来了,对矿工也是很友好的,降低了投资的门槛。有更多关于Filecoin的相关资讯可以关注私聊我。

猜你喜欢

转载自blog.csdn.net/m0_54262029/article/details/114222787