转账费用,就是消息的验证和打包费用,也称为 Gas 费。当然这个费用其实并不只是用于转账,各种消息都需要 Gas 费用,否则就成了免费劳动了。Filecoin 最近宣布采用 EIP1559 的 Gas 费用设计。这种方式到底好不好,我觉得以太坊社区倒是非常想看看 Filecoin 的试验场做的如何,他们好随后采取行动。😄

Gas 费用是一个难题

Filecoin 的 Gas 费用本来是想按照 Ethereum 的设计方式让用户自己设置两个参数:Gas Price 和 Gas Limit;也就是燃料价格和燃料上限。这个在每一个消息中都需要设置。一般说来:

实际消耗的 Gas 费用 = 消耗的 Gas * Gas 价格

消耗的 Gas 量必须小于设定的 Gas 上限,否则的话,消息将不能打包,但是 Gas 费用照样没收。

但是这里有两个问题:

  1. Gas 价格设置成多少比较合适?
  2. Gas 上限设置成多少比较合适?

这两个问题在 Ethereum 中,名义上是由用户自己确定,但由于难度较大,估计困难,基本上都是钱包软件或者 DAPP 帮助设定。有些钱包给用户一些选项让用户根据转账的紧急程度可以自己选择费用。

但是,Filecoin 看起来更加复杂。因为 Filecoin 的算力增长和保持对一个矿工至关重要。因此,在考虑 Gas 费用的时候,根据不同的消息,设置就会有不同的考虑。比如复制证明和时空证明相关的消息的 Gas 价格就应该比一般的转账高很多,因为这个不及时打包的话,算力就受影响了。但到底高多少,还是那句话,是个难题。

另外,吊诡的是,与以太坊不同,Filecoin 的一条消息到底需要多少 Gas,在验证前还不能完全确定。这个 Filecoin 的共识和 TipSet 机制有关。这就让 GasLimit 的设置变得更加困难。

自己设定还是系统设定

Filecoin 之前的实现是系统给提供参考值,但同时允许用户自己设置价格和上限。但是,在 Calibration 网络的测试中,我们发现了无数次次有意思的事情,矿工获得的 Gas 费很多时候远远大于区块奖励。如下图(取自 filscan.io):

闲聊一下 Filecoin 的转账费用

同一个高度,有一个矿工获得的奖励费用几乎是其他人的 1000 倍。你信吗?这主要是一个用户支付的 gas (燃料)费用。

同样的事情,前段时间在以太坊上发生,就在 6 月份,有人花了 5 百多万美元的 Gas 费来进行了两笔转账。尽管这里面有故意的成分,但也说明这种灵活性可能导致用户话费额外的费用。

E1559:基本费 + 小费

以太坊的燃料费用涨跌波动较大,用户难以把握,这让 Vitalik 有点着急。因此,他提出了一种方案来进行改进。EIP 的意思就是 以太坊改进建议 。每个建议一个标号,大家可以讨论、投票。

EIP1559 的目的就是希望能够给大家提供一套标准,一般情况下大家就不用手动设置燃料费用了,省不少事。E1559 的主要方面包括:

  • Gas Price (燃料价格)的设置包含两个部分:基本费 和 附加费;

  • 基本费(Base_Fee)由网络自动计算,不能改动。变动依据主要看网络消息的数量是否超过或低于设定的标准。太多消息就涨,少了就降,每次改变不能超过 1/8。

  • 附加费(Gas_Premium):由用户自己设定,也就是小费,给的多的话,矿工更愿意先给你打包。给少了在网络拥挤的情况下就有可能等。

  • Gas Limit 改称为 FeeCap,也就是说费用上限,与 Gas Limit 的作用一样。

  • 基本费会被燃烧掉,而附加费(小费)归打包矿工所有

这种方式到底好不好呢?不好说。看起来打包矿工的收益减少了,因为基本费燃烧掉了,但是呢?这形成了一个通缩的机制,燃烧让所有持有以太坊的用户都受益。另一方面,在网络拥挤的情况下,大家还是要靠附加费来进行争夺优先打包权。

Filecoin 率先实验

EIP1559 的设想在 2018 年就提出来了,但是一直没有实施,因为这个确实改动比较大,也许放到 2.0 里面,但是什么时候,大家不着急。

Filecoin 不一样,Filecoin 是一条新链,本来就需要设计一套合适的机制来设置 Gas 费用。根据前面的测试,确实感觉到这种让用户自己设置很麻烦。但是按照程序提供设置参考总是需要一套办法的。EIP1559 看起来不错,既然 Filecoin 和 以太坊:若即若离好基友 一对,那就拿来用。

Filecoin 几乎是照搬 EIP1559 的设计,直接实现到现在的代码之中。从今天(8 月 8 日)网络重置后跑的情况来看,还不错,Gas 费用保持得比较稳定。看起来不错。对于 Filecoin 团队而言,有一套合适的机制先用起来,也许是一个不错的策略。

对 Filecoin 真的好吗?

EIP1559 有其独特指出,但是,直接不加改变地用到 Filecoin 上来,是有很多地方值得商榷的。这些地方,Filecoin 团队应该做更多的考虑。我这里提出几点,以抛砖引玉:

  1. BaseFee (基本费)燃烧掉,这个机制对以太坊问题不大,因为以太坊一直增发,一直有区块奖励,不必须靠交易费来维持矿工打包的积极性。然而 filecoin 的区块奖励会耗尽的,耗尽后需要靠交易费支撑打包费用, _这个燃烧会对矿工打包区块产生消极影响