比特币价格·比特币行情
Ctrl+D收藏简单区块链

再探 Filecoin 费用机制:天价手续费如何应对?

作者:

时间:2020/12/21 16:16:30

燃料(Gas)费用高昂,老矿工无奈纷纷停工,趁这个时机调整一下矿池,但挡不住新进矿工的涌入,继续推高 Gas 费用。这个时候,大家就想问一句话,到底 Gas 费用能不能降下来了?什么时候能?怎么做?

每一次升级不少人都充满期待,但是,事实并非如此。当前的升级并不能够降低 Gas 消耗,也不能降低 Gas 费用。只是让 Gas 费用更趋合理。

Gas 费用能降下来吗?怎么降?要说清楚这个事情,我们一步一步来。

在 Filecoin 网络中,Gas 是一条消息(交易)在网络中执行所需要耗费资源的度量。这里所谈的资源包括计算资源和存储资源,也就是说,是执行一个交易的成本。比如我们说,某一条 PreCommitSector 消息消耗 25,346,170 Gas,也就是说,对于这一条消息,Filecoin 通过处理这一条消息,改变网络状态,所需要花费的成本是 2 千 5 百多万 Gas。每一条消息都会需要网络执行,都会消耗网络资源,因此,都会消耗相应的 Gas。比如时空证明 WindowedPoSt 一般消耗 Gas 的量是 2 亿到 5 亿;而复制证明 ProveCommitSector 消耗 4 千万到 6 千万以上。一般的转账消息由于处理起来比较简单,消耗的 Gas 相对而言就少很多,大致在一百万之内。

每一条消息消耗的 Gas 数量与消息类型关系密切,比如证明消息消耗的多,这是因为其计算量大,同时也需要调用大量的状态信息,比如 Sector commits 进行计算,所以消耗大。而转账无论是存储还是计算消耗量都少很多。同时,同样类型的消息的 Gas 消耗在不同的情况下也不尽相同。这是因为当时的网络状态不同,需要的资源消耗就不一样。

举一个简单的例子,比如同时发送两条转账,向新地址转账消耗的 Gas 就比向老地址转账要多,这是因为向新地址转账时,网络需要首先创建这个地址,这就会多花费计算和存储资源,所以消耗就更多一些。这样一来,对于消息的发送者而言,发送消息的时候到底要支付多少 Gas 就比较难判断了。这个时候,就需要做一个合理的估计。

在发送的每一条消息里面,消息的发送者都可以为这一条消息消耗的 Gas 设置一个上限,如果执行的时候需要的 Gas 超过这个上限的话,消息就不被执行了。这个上限值就是消息发送者对此消息成本的一个估计和愿意支付的最大成本。这个估计很重要,尤其是在支持智能合约之后,有些消息的成本估计变得很困难,或者由于设计的原因出现 bug,没有上限可能导致消息发送者的巨大损失或者导致网络安全问题。

一般情况下,大家对发送消息做一个估计,并在估计的基础上加一个保险(比如 10~25%),用来设置这个上限:GasLimit。

前面提到了每一条消息都需要计算资源,通过 Gas 来进行度量。任何资源都是需要成本的,计算资源也一样。Gas 数量乘以一个价格,就是这条消息执行的成本了。燃料(Gas)费用就是 Gas 的单价,比如说,Filecoin 里面定义 Gas 的最低费用为 100 attoFil,也就是 0.0000000000000001 Fil. 这种情况下,一条需要消耗 4 亿 (4e8) Gas 的 WdPoSt 消息,需要的费用就是:

100 attoFil * 4e8 = 40nanoFil = 0.00000004 Fil

非常低了,基本上可以忽略。

但是,如果 Gas 的单价涨到 4 nanoFil,也就是 0.000000004 Fil,这是当前网络的平均 Gas 费用单价,相对于最低的 100attoFil 来说,上涨了 4 千万倍。那么这个时候同样一条需要消耗 4 亿(4e8) Gas 的 WdPoSt 消息,需要的费用就是 1.6Fil,这一下吓人了吧。

在 Filecoin 的设计中,引入了 EIP-1559 的 Gas 费用调解机制,Gas 费用分为两个部分:1)基本费(baseFee);2)小费(Premium)。基本费由网络自动计算,反映网络的拥堵程度或者说资源消耗情况,这部分费用会燃烧掉;而小费就是消息发送者支付给矿工的费用,通过支付费用希望矿工打包自己的消息。

当然,像 GasLimit 用来设置 Gas 消耗的总数量一样;Gas 的价格也可以设置一个上限,这个上限就是 feeCap。意思是消息发送者愿意支付的 Gas 的最高单价。

结合上面两个部分,我们得出结论,一个消息发送者愿意为她的这条消息支付的最高费用是:

GasLimit * feeCap

也即愿意支付的最高 Gas 数量和最高价格的乘积。

一句话,为了网络安全。无论什么系统,都有一个处理能力。对于去中心化的区块链系统而言,因为有大量的矿工共同维护网络,考虑的就是网络的一般处理能力。如果需要处理的消息(交易)超过网络的处理能力,网络安全就会出现问题,至少对于 Filecoin 而言,其出块就会受到影响,如果大量的消息拥堵,导致处理能力稍低的矿工很快被淘汰出网络,网路会被处理能力最强的矿工霸占。

通过 Gas 费用的调节,并同时辅助一些惩罚措施,来形成一个反馈系统,在网络拥堵的时候调高 Gas 单价,在网络空闲的时候调低单价,保障网络的顺畅。同时也可以防止垃圾消息泛滥和对网路的攻击。具体的做法是,设置一个网络处理能力值,在消息消耗 Gas 的总量(具体就是计算 GasLimit 的和)超过这个值的时候,提高 baseFee,低于这个值的时候,降低 baseFee。为了快速调节,调节的方式是指数调节。这也是为什么大家看到 Gas 费用的改变非常快的原因。

当 Gas 费用高企,很多人希望 Filecoin 团队采取措施,降低 Gas 费用。这里有一个十分简单的办法,那就是人为调高系统的处理能力。但是这件事是不能武断地就这么干的。如果设置的处理能力超过了网络中节点一般处理能力的话,一方面提高了网络进入的门槛,另一方面网络的安全性就下降了。

那么为什么团队不直接把 Gas 费用降低一些呢?到底有没有办法降低 Gas 费用呢?

前面讲了一个理由,为了网络安全,不能想怎么设置就怎么设置。必须要考虑网络的情况和真实地反映消息的实际成本。但是,最近两次升级不是都对 Gas 消耗产生影响了吗?怎么回事。

现在来说一下这两次升级。

V1.2 升级调整了一些消息处理模块的 Gas 消耗的值,这个调整的主要原因是之前的版本设置相对武断了一些,这一次把它合理化。具体调整如下:

大家可以直接看到的就是,PoSt 的验证费用大大降低了。那么这对 WdPoSt 的消耗产生了积极的影响,更省钱了。但是,对存储相关的操作费哟哦那个又都升高了。这是因为当网络数据越来越多,存储的消耗成本也越来越高,这之前对存储的消耗哦估计不足,所以进行调整。这个调整后,大家看到的情况就是 PreCommitSector 和 ProveCommitSector 消息费用不降反升了。尤其是对于大矿工而言,增加算力时对存储的访问量更大,其消息消耗的燃料费更高。

所以,这一次升级并不是要调整燃料费,或者说降低燃料费,而是让其更加合理。

V1.3 的升级主要解决一个问题,WindowedPoSt 的燃料消耗还是太大了。尤其是小矿工受不了。同时,这个消息是控制类的消息,不得不发。怎么办,想一个办法,是不是可以少燃烧或者不燃烧这部分。这个想法在前期讨论中被提出来。当然还有很多其他想法,但这个想法目前实现起来相对比较简单。最后成文为 FIP009 (其中在前期相关工作中一节提到 Steven004 提出的类似想法)。这个升级仅仅调整的是 WdPoSt 的燃烧部分,但 Gas 消耗的计算没有发生变化。

因此,任何认为通过这次升级能够降低 Gas 费用的想法都是不现实的。

综上所述,我们知道 Gas 费用涉及到系统的安全问题,与系统处理能力有关系,不能随意调整。那么能够做的就两个方面:1)系统处理能力的提升;2)大家根据 Gas 费用自己掌握发送消息的节奏,对目前而言就是增长算力的节奏。

目前最为现实的,而且是持续比较现实的,Filecoin 的参与者都需要考虑的就是无论算法如何优化,网络性能如何增强,网络还是会出现拥堵,因此,这些情况都需要靠大家共同面对和处理,这个部分不是开发者能够解决的。这个燃料费本身就是为了调节,因此涨跌是正常现象,要平常心对待。这与现实的经济生活是一样的,靠市场调节。

另外,当 Filecoin 的生态越来越繁荣,Filecoin 网络的处理能力也需要进一步提升,不然较低的处理能力也会阻碍网络和生态的发展。这部分的工作也是当前最重要的工作之一。目前已经在考虑的多个提案都与 Filecoin 网络性能的提升有关,比如说:

FIP007: 提升 HAMT 和 AMT 的性能和安全性:HAMT 和 AMT 是 Lotus 里面存储状态最主要的数据结构,其性能的提升有助于整个网络性能的提升

FIP008: 批量处理 Pre-commitments:目前每个 Sector 的 precommit 都是一个单独的消息。如果支持批量发送的话,可以省掉不少消息,对存储的访问和更新也可以一次性处理,因此可以提升性能

进一步,根据 FIP008 的思路,Prove-Commitments 也可以批量处理。这个目前在处理上已经是批量处理了。但消息发送还是单独发送。

一些更加激进的方案:考虑到目前消息处理的资源消耗最大的都是验证证明消息,也就是 PoRep 和 PoSt。那么有一个想法,那就是干脆不验证。这就大大节省时间了。可以极大地降低资源消耗。那么不验证不是可以造假吗?其实不然,类似于共识错误的惩罚。在考虑绝大多数人不会造假的情况下,考虑一个检举机制来防止造假。那么,只要有一些节点愿意在链下验证,并进行检举就可以了。

根据目前核心开发组的讨论,在新年假期之后,FIP007 会进入下一个版本之中,发布的时间窗口可能在一月下旬;FIP008 视实现情况在同一个版本实现或者放到下一个版本。

对于无需证明的激进方案,还有一些问题需要探讨。比如说安全性问题,如果有人大量造假是否会带来比较大的问题,对于检举者如何奖励,检举的期限等等都还需要探索。这需要更长一些时间。

但是,如果 Gas 的单价涨到 4 nanoFil,也就是 0.000000004 Fil,这是当前网络的平均 Gas 费用单价,相对于最低的 100attoFil 来说,上涨了 4 千万倍。那么这个时候同样一条需要消耗 4 亿(4e8) Gas 的 WdPoSt 消息,需要的费用就是 1.6Fil,这一下吓人了吧。

V1.3 的升级主要解决一个问题,WindowedPoSt 的燃料消耗还是太大了。尤其是小矿工受不了。同时,这个消息是控制类的消息,不得不发。怎么办,想一个办法,是不是可以少燃烧或者不燃烧这部分。这个想法在前期讨论中被提出来。当然还有很多其他想法,但这个想法目前实现起来相对比较简单。最后成文为 FIP009 (其中在前期相关工作中一节提到 Steven004 提出的类似想法)。这个升级仅仅调整的是 WdPoSt 的燃烧部分,但 Gas 消耗的计算没有发生变化。

Messari首席执行官:BCH应将重点放在PoS上:金色财经报道,Messari首席执行官Ryan Selkis发推文称,BCH应将重点放在PoS上,销毁10年内不移动的“死”代币,并向持有者提供通胀奖励和未来的网络费用。[2020/9/12]

Augur联合创始人:Augur Project v2几乎解决了所有主要问题:Augur联合创始人Jeremy Gardner发推称,我刚刚检查了Augur Project v2,它将是下一个级别的。原始的DeFi平台也将做到最好。它包含用于流动性的0x Project,用于稳定币的MakerDAO和Uniswap Protocol。有用户评论称,我希望它能解决gas费的低效问题。Gardner回复称,这一版本将于在28日推出,几乎所有主要问题都得到了解决。[2020/7/21]

FUBT即将上线FN:据FUBT官方公告,FUBT平台将于2020年4 月30日15:00:00 上线Filenet (FN),并推出FN充币交易比赛。 \n4月30日10:00:00-5月7日15:00:00期间,用户在FUBT平台进行FN充值、交易,即可参与瓜分FN空投奖励。 \nFilenet(FN)是知名分布式存储应用公链。Filenet致力于存储分发有价值的内容,以挖矿的形式,奖励矿工贡献闲置带宽以及存储空间。Filenet的使命是连接一切闲置存储空间,凡可以连接上网的存储设备都可以参与挖矿,形成强大的分布式数据服务系统。概括而言,Filenet就是基于分布式存储内容共享的超级云系统。[2020/4/29]

标签:

区块链热门资讯
从十张图看加密领域的开发者流向

开发者多的生态不一定是最好的生态。但如果将时间拉长看,发展不错的,往往是开发者最青睐的,开发者进入越多,生态越趋繁荣。从开发者进入的角度,我们可以大概感受到如今加密生态的发展趋势。本文的数据全部来自于Electric Capital。

2020/12/21 16:49:15
美国FinCEN针对加密钱包提出新规 要求其适用《银行保密法》

要点: 美国财政部下属金融犯罪执法网络(FinCEN)已发布了针对未托管加密货币钱包的拟议规则; 这些规则将要求货币服务企业向FinCEN报告此类钱包的某些加密交易; FinCEN称这些规则旨在打击非法活动。 美国财政部所属机构金融犯罪执法网络(FinCEN)最近提议,要求银行和货币服务企业记录私人加密货币钱包的交易。数周来一直盛传的流言尘埃落定。

2020/12/21 16:38:14
比特币矿业下个十年:算力商品化会成为主流吗?

现在,Slush Pool 庆祝了其开采的第一个区块 97834 的 10 周年纪念日,这是不可思议的十年。 然而,这不会是对过去 10 年的一些自我感觉良好的反映。相反,这篇文章将会关注我们下一个十年的愿景,因为这将是决定比特币矿业能否保持有意义的十年,主要能源生产商甚至政府越来越多地参与到挖矿业和更大的比特币的生态系统。

2020/12/21 16:27:22
金色趋势丨BTC大方向继续打开新的上涨空间

目前已经周线收盘,收盘已经站上2010-2020年长期趋势线,历史上我们可以看出,周线级别只要突破该长期趋势线,后面都将会迎来牛市加速上涨行情,例如2013年8月价格突破站上,后面用了一个月的时间进行回踩震荡,蓄势后价格向上直线拉升,迎来了2013年牛市的疯狂期,还有2017年的5月,周线再次突破站上,并未立即回踩测试。

2020/12/21 16:16:25
数字人民币手册3:国家间竞争的终极战场?大国求稳不求快

数字人民币的试点进展备受期待。从中国人民银行成立专门研究团队到现在已过去6年,数字人民币真容初露,目前已在深圳、苏州、雄安、成都等地试点测试。深圳、苏州近期推出的数字人民币红包测试,更是让数万人得以参与其中,数字人民币脚步声越来越近。数字人民币的正式发行尚无时间表,但在它真正到来之前,我们有必要读懂甚至读透它。

2020/12/21 16:16:21
加密企业如何跨越文化鸿沟?浅谈中 美加密货币信息差

律动 BlockBeats 消息,12 月 19 日,Coindesk 采访了 Multicoin Capital 的执行董事 Mable Jiang,请她讲述作为投资机构负责人之一对中外用户由于文化差异导致的投资理念不同。Multicoin Capital 作为一家成立了三年的研究驱动型加密基金,在布局基础设施、发掘潜力项目上有着扎实的逻辑。

2020/12/21 15:54:51