高价Gas费如何解决?目前迫切需要解决的问题

[复制链接]
6770 |0
发表于 2021-1-15 16:00:11 | 显示全部楼层 |阅读模式

北京时间1月14日,协议实验室提交FIP-0010提案。FIP-0010链下WindowPoSt验证提案,WindowPoSt无需接受验证即可上链,稍后链下验证者可调用DisputeWindowedPoSt进行验证。若验证者发现错误扇区,可以获得一定比例奖励。FIP-0010提案旨在降低Gas费消耗,同时减轻FIL链上压力

Gas消耗波动情况

此举对于降低Gas消耗影响几何,相信读完本文你应该能得出答案。协议实验室针对Gas费动作不断,也能从侧面说明Gas费涨跌对矿工成本的重要影响。矿工的主要成本是前置质押成本,封存算力燃烧Gas成本和赠送给矿工的打包交易费。据人人矿场APP显示,截止1月14日上午11点,封存质押8.5952Filecoin/T(扇区生命周期结束后质押币将返还矿工),新增GAS消耗8.3899Filecoin/T(包括封存算力的GAS和赠送矿工的小费)。这意味着新增1T算力达到了16.9851Filecoin,如果一枚Filecoin按照21美金算,那1T成本有356.685美元,折合2282RMB。V/BBKPundi008

为什么Gas消耗如此巨大?

Gas费消耗来源主要是分为两大类:

(一) 增长算力所消耗的GAS费用

消息提交上链的打包的费用,称为基本燃烧费。算力封存(消息上链)首先需要进行复制证明。从下图可以看出PreCommitSector(P2)和ProveCommitSector(C2)是最消耗Gas费的,P2和C2都是复制证明SDR的一部分。这部分Gas费用将直接转到F009账户,该账户是协议实验室设置的销毁账户,只能进不能出。基本燃烧费是固定。       

Gas消耗占比

②给矿工的打包交易费,称为小费。这部分交易费用,矿工可以自己设定限额。这里要引入一概念GasPremium,矿工为了让信息及早上链,可通过提高GasPremium让消息尽快上链。由于FIL主网性能的限制,一天FIL主网只能出2880个块,按FIL浏览器计算,一个区块大概可以容纳300-400条信息。矿工为了让算力尽快完成封装,可选择提高GasPremium。当打包交易费越高,该消息被打包的可能性更大。这导致了全网的Gas都水涨船高,陷入“死亡循环”。FIL主网的性能不足以支撑每日新增算力增量,导致信息堵塞,这就是Gas费暴涨的根本原因。

③超额燃烧费。

协议实验室会对超额的部分作出适当的惩罚,这一部分就是超额燃烧费。

(二)维持算力所消耗的GAS费用

时空证明阶段的SubmitWindowedPoSt每半小时会提交一次,平均Gas消耗是占比最大。但是每半小时提交一次,消耗比例不大。

协议实验室针对Gas费的提案

除了FIP—0010外,协议实验室也提出了更多的提案以解决FIL的Gas费用问题。

FIP—0005是协议实验室在2020年10月22日提交的技术型提案,该提案从PreCommitSector和Confirm Sector Proofs Valid中删除了昂贵的矿工奖励归属计算,释放链带宽,减少Gas费消耗,并降低矿工成本。

FIP-0007是2020年11月27日提交的提案,旨在通过三个较小的独立提案,从性能和安全性方面改进FIL HAMT和AMT。该提案还将减少IPLD操作和序列化大小,在一定程度上减少Gas费消耗。

FIP-0008是Alex等人2020年11月4日提交的技术型提案。在FIL的gas费用构成中,ProveCommitSector是占比最大的高达近63%,之前的矿工PreCommit Sector方法仅支持一次性提交单个扇区。这样的操作执行频繁且需要消耗大量的Gas费用。该提案为矿工添加一种批量提交扇区预先承诺的方案,可以大大减少Gas成本。

12月16日,FIL主网发布Lotus新版本1.3.0,本次升级包括了协议实验室最新改善Gas费的提案FIP—0009。FIP—0009提案将成功执行的WindowPoSt中原计划燃烧掉的Gas费返还给矿工,从而降低网络的Gas费消耗。

除提案外,FIL通过引入ETH改进提案EIP-1559,降低Gas费消耗。

FIL高Gas费原因和解决办法

前文提到,FIL主网的性能不足以支撑每日新增算力增量,导致信息堵塞,这就是Gas费暴涨的根本原因。大多数区块链项目都面临过这样的TPS性能瓶颈,包括比特币和以太坊等主流项目。这里介绍一种常见的扩容方式,以太坊2.0就是采用分片链的方式进行扩容。

用ETH举例:分片技术是将网络中的节点分成不同碎片,各分片处理不同交易数据,每个片区内部共同处理同一交易事件,网络中可并行处理交易大大提高网络并发量。为了实现节点随机分配和片区验证者分配,需再建立一条单独的区块链(ETH2.0中称为信标链),负责执行维护整个网络所需的操作。这种方式即为二次方分片,是通过网络双层设计增加交易量。具体地,将ETH网络上的节点分成100片,分片系统由主链上发布的校验器管理合约(VMC)进行维护,每个片区都是独立存在的,当ETH中有交易时,只选择其中一个分片处理,如果网络内有M件事务待处理,现在每个节点只需要处理M/100件即可,之后这些打包的子区块的数据组成一个主链上的区块,相当于主链区块容量扩大了100倍。

除了分片,常见的扩容方式还有状态通道、隔离见证、闪电网络、侧链等等方式。值得一提的是,Juan Bent在meet up时提到了一句FIL可能会采用分片的形式进行扩容

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表