GAS:Filecoin专栏 | 详解Filecoin 手续费模型--超额燃烧

前言:Filecoin主网上线前,作者曾写文章分析过Filecoin手续费模型,讨论过关于Filecoin改用EIP-1559设计后的手续费计算模型和优缺点。在讨论计算模型时,默认为理性的交易发送者不会设置超过Gas燃烧阙值,但在现实情况中,官方给定的设置却出现了Gas超额燃烧的不理性的结果。

本文作为《Filecoin手续费模型-EIP1559》(https://zhuanlan.zhihu.com/p/234700165)的姊妹篇,进一步分析了Filecoin的手续费模型中的超额燃烧,并介绍一种降低超额燃烧费的方法。

FilDA成为HECO全球节点当选第一名:据官方消息,跨链借贷DeFi项目FilDA入选HECO主节点,当前排名第一,为当选节点投票最多的HECO借贷项目,目前,FilDA HECO节点收益100%返还给投票者。

FilDA是基于HECO的跨链借贷DeFi项目,存借款总额高峰值突破21亿美元。[2021/7/9 0:39:09]

作者|?litianc

来源|??Blockcasting&BitTribeLab?

Filecoin的手续费回顾

在之前的文章中,我们介绍了Filecoin采用EIP-1559的方案,用于解决恶意设置GasLimit的问题。我们从宏观层面分析了交易手续费的计算模型和主要影响因素。?

当时,由于理解有限,文中将GasLimit直接套用在Gas实际燃烧的概念上,但是这样的描述是不准确的。理论上,这样计算出的结果已接近实际FIL消耗,但在特定情况下会有最多10%的偏差,这一偏差就是我们中所说的超额燃烧费。?

逆熵科技翁梓耀:规则和路径决定了Chia与Filecoin完全不同:金色财经现场报道,4月25日,2021新基建区块链峰会分会场-分布式存储新时代在成都举办。在《IPFS高歌猛进 天花板到底在哪里》圆桌论坛中,逆熵科技联合创始人&COO翁梓耀表示,Filecoin看下来,风险无非是几种。第一,代码风险。如果代码出现了严重问题,导致出现双花、恶意分叉。第二,国家的监管风险。如何规避或拥抱监管是值得去思考的。第三,竞品项目对这个项目的冲击。包含了Crust、Chia对热度的分流。第四,币价的风险。

翁梓耀分析表示,规则和路径决定了Chia跟Filecoin是完全不同的。Filecoin有前置质押,有释放规则,Chia两者都没有;另外,Filecoin是双重释放,Chia是单一释放。无论是Chia也好,FIL也好,大家应明确赚什么钱。[2021/4/25 20:56:09]

那么,为什么会有超额燃烧,在何种情况下会产生超额燃烧呢?

超额燃烧的由来

Gate.io调整FIL杠杆ETF管理费:FIL3S每日3%,FIL3L每日-3%:据官方公告,由于ETF产品在永续合约市场对冲管理,目前FIL/USDT永续合约资金费率已增长到约6%,原管理费已无法弥补每日巨额支出。因此Gate.io公布调整FIL杠杆ETF管理费:

1、FIL3S的管理费从每日0.1%调整为3% (从净值中扣除);

2、FIL3L的管理费从每日0.1%调整为-3%(奖励到净值中);

3、每日管理费在0点净值再平衡时扣除或者奖励,将影响净值,不影响用户ETF代币持仓。[2020/10/18]

我们知道,Gas是由交易发送者支付的Filecoin链上资源消耗对应的燃料数量,类比汽车行驶一段距离需要消耗相应的汽油xx升。

与以太坊相似的,Filecoin的Gas也有GasLimit和GasUsed的概念。

GasLimit:表示该笔交易最多消耗燃料数量,由交易发送方设置。GasUsed:表示交易上链所消耗的燃料数量,在交易上链之后计算出来。与以太坊不同的是,Filecoin区块中包含的所有消息的GasLimit之和不得超过BlockGasLimit;而以太坊是统计所有消息的GasUsed之和。

ELA 与 Filecoin技术服务商储迅达成战略合作:据悉,ELA 亦来云社区大象团队与Filecoin技术服务商储迅达成战略合作,双方将一起探讨亦来云去中心化存储方案 Elastos Hive以及亦来云生态项目与Filecoin存储技术进行整合。储迅将采用大象钱包作为FIL币的首选钱包,一起探索后续ELA与FIL的应用合作。

储迅在高性能存储、分布式存储集群管理和底层I/O优化等方面拥有核心的硬件软件技术,尤其在RDMA加速、大规模存储集群管理、基于IPFS/Filecoin的优化方案等领域,具有显著的技术优势。[2020/7/28]

一个有趣的知识点:由于Filecoin的区块链采用DAG结构,一个Tipset中可以有多个区块,同一高度下的区块顺序由下一个Tipset的区块统计。因此,交易产生的GasUsed只有在下一个Tipset的区块上链后才能被准确计算出来。

正是由于设计的差异,决定了Filecoin需要对Gas进行更复杂的设计,于是就有了Gas超额燃烧的概念。Gas超额燃烧的设计出现在EIP-1559上线之前,它与EIP-1559并不冲突,可以把它看作是比EIP-1559更基础的Gas模型规则。

动态 | CryptoProfile宣布了一个全新的平台 将彻底改变加密货币行业:据CCN消息,CryptoProfile正在开发一个平台,解决当前ICO在加密领域的问题。这个平台上,合法的令牌生成事件有机会在风险不利的环境中向贡献者进行宣传。CryptoProfile代表平台上的出资方进行尽职调查,以确保他们只参与最有可能成功的ICO。[2019/1/28]

超额燃烧的计算

Gas超额燃烧:当GasLimit和GasUsed之间的差异较大时,需要燃烧的额外Gas量。

根据GasLimit与GasUsed的数值,我们将Gas分为三种情况:

GasLimit较接近GasUsed时,认为GasLimit设置合理:GasOverestimationBurn=0GasLimit明显大于GasUsed时,认为GasLimit设置不合理:GasOverestimationBurn=GasLimit-GasUsed当GasLimit处于上述两者之间时,认为这是一个过渡范围,采用抛物线进行拟合:GasOverestimationBurn=(GasLimit-1.1*GasUsed)*(GasLimit-GasUsed)/GasUsed?

GasOverestimationBurn=(k-1.1)*(k-1)*GasUsed

接下来,采用控制变量法,假设GasUsed=30000,横轴为k,纵轴为GasOverestimationBurn,得出Gas超额燃烧曲线,如下图:

从Gas超额燃烧曲线,我们能够看出当GasLimit设置越高,超额燃烧也就越高;GasLimit越接近GasUsed,超额燃烧也就越少,在合理的GasLimit条件下,超额燃烧为0。?

正常情况下,Filecoin客户端只需要在设置GasLimit时,比预估的Gas设置稍高一点,就能实现“零”超额燃烧。但是现实却是,官方代码中给定的默认系数k=1.25,因此现阶段链上的大多数的交易都产生了超额燃烧费用。这究竟是一个Feature,还是一个Bug呢?让我们继续往下分析。

Feature还是Bug

通过官方社群交流平台的记录和github上的问题追踪,我们最终确定这是由一个Bug引发的官方修改。在主网上线3个月后,社区成员提交的一个(https://github.com/filecoin-project/lotus/issues/5066)。

报告内容是ProveCommitSector交易类型的Gas评估在特定条件下会有40%左右的评估偏差,从而导致Gas溢出、交易出错。为了避免Prove交易的Gas溢出问题,官方经过反复调整,最终还是把默认系数设置为1.25。

在v1.4.2的版本中,经过我们对自建节点三种交易类型的数据分析,得出以下结论:

?Prove交易的评估偏差波动较大,最低与最高相差40%;PreCommitSector交易的有一定偏差,但偏差波动较小;SubmitWindowedPoSt交易能准确评估。超额燃烧优化

上述三种交易是当前Filecoin网络矿工消耗手续费最多的交易类型。如果能够减少这三类交易的超额燃烧,甚至做到“零”超额燃烧,对矿工来说可以节省不小的开销。?

我们对超额燃烧进行优化的基本思路是根据不同的交易类型分别实现。目前能够直接实现“零”超额燃烧的交易有PreCommit交易和WindowedPoSt交易;对于Prove交易,需等到共识部分的代码完善后才能实现最理想的优化。?

因此,对于不同阶段的矿工,可操作的优化方法和优化空间也有所不同。?

对于算力已经稳定,只需要发送WindowedPoSt交易的矿工,优化的操作比较简单:可以直接调整mpool中的评估系数GasLimitOverestimation,直至“零”超额燃烧。

对于正在增加算力的矿工,则需要权衡Gas超额燃烧的收益与Gas溢出的风险,结合节点新增算力的速度和交易的历史数据,计算出最适合自身节点的评估系数。?

如果有代码修改能力的矿工,可以尝试在mpool的源代码中修改不同的交易类型的评估系数,从而实现当前手续费的最优化。

总结

超额燃烧费是Filecoin区块链搭建之初的基础设计,它的实现不受后来的EIP-1559的影响。这部分费用本身是带有一定惩罚属性的,法不责众,理论上Filecoin的所有的交易都应当很容易避免超额燃烧。目前官方正在通过底层数据结构修改来进行完善,以减少Prove交易的Gas评估偏差。

我们相信普遍的超额燃烧情况只是一个短期的状态,通过技术升级最终将解决这一问题。那时,生态应用开发者和用户不必知晓底层复杂的概念逻辑,可以把注意力更多地投入到业务设计和产品体验中。

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

地球链

[0:0ms0-1:608ms