Filecoin 中的EIP-1559
本文是胡安的演讲总结。
在Filecoin网络中,Gas的概念被用来衡量执行特定链上交易所需的计算资源。这些资源的成本需要被支付,这就引发出谁应该承担这些成本以及如何对消耗有限资源对交易进行优先排序做出决定等相关问题。
例如,一种方法可能是进行首价拍卖。在系统中,希望在区块链上执行交易的操作者向区块矿工提交竞价。然后,当矿工将相关交易打包入区块时,矿工将这些出价作为费用收取。鉴于区块的大小或区块所能消耗的交易的Gas有上限,矿工会对交易进行优先排序,以便优化他们收取的费用。
这种方法虽然概念简单,但已表明存在一些缺陷。首价拍卖可能是复杂的、难以驾驭并可能导致出价人付出多余成本。在网络拥堵期间,它们还可能导致不良行为。
上文详述的系统还将Gas费用全部奖励给矿工,而忽略了网络中的非矿工参与者也必然会花费同样资源来处理每笔交易。
EIP-1559
Ethereum Improvement Proposal (EIP) 1559是针对上述许多问题制定的标准。其主要创新之处在于引入了与每个区块相关的base fee(每单位Gas)。该费用会根据网络拥堵情况而上升和下降,将网络流量维持到目标水平。
根据EIP-1559,交易创建者要指定一个 费用上限(他们愿意为将该交易打包在内而支付的每单位Gas的最高费用)。当费用上限低于一个区块的base fee时,该区块就不能被打包在内。交易创建者还指定了一个小费(也是每单位Gas);这个小费由区块矿工收取。
交易创建者不进行单一价格拍卖,而是支付最低的a)费用上限和b)base fee加小费,再乘以交易所耗的Gas。这样base fee的所有收入都被烧毁,形成通缩压力,补偿整个网络为执行交易而消耗的资源。
反过来,而矿工则会获得a)小费和b)费用上限减去base fee,再乘以交易耗费的Gas最小值。
根据这个方案,交易创建者可以确保他们的高优先级交易仍然可以上链,而支付的费用要少得多。
Filecoin中的EIP-1559 in Filecoin
EIP-1559具有许多令人称赞的特性与Filecoin的设计考虑相一致:
- 效率。EIP-1559概述了一种更有效的Gas设定和核算模式。
- 用户体验。估算和费用设定相对来说比进行首价拍卖要简单。
- 关键消息的吞吐量。Filecoin中的WindowPost消息处理时间十分紧迫,因此必须以一种可以解决拥堵问题的强大支持方式进行处理。EIP-1559为此类消息提供了更高的可靠性和吞吐量。
- 奖励交易网络。整个网络承担着处理交易的成本,所以应该得到相应的补偿。
由于这些原因,Filecoin已经将EIP-1559纳入其核心协议,并进行了小小的调整。Filecoin使用提示集;其交易在执行之前就会上链,而实际的Gas使用量在发生之前无法确定。因此,Filecoin要求用户在交易中提供一个 估计的Gas量。为了适当调整激励机制,超过一定幅度的 高估 会通过烧毁进行惩罚。
当前成效与启示
EIP-1559已在Filecoin主网实施并上线。目前,每天约有10万至15万个FIL因网络交易而被消耗。引入该标准至少带来了两个关键成效:
高价值交易的快车道。 有时,存储落地的消息已经威胁到了对时间更敏感的WindowPost消息的价格。正如预期的那样,整合EIP-1559为Filecoin参与者提供了简单明了的机制,可以在拥堵的情况下正常使用,而不必一直支付高昂的价格。
网络容量管理。 到目前为止,EIP-1559的base fee机制在保持网络容量百分之百达标方面做得非常好。
随着时间的推移,交易创建者也在估计其交易所需的Gas量方面有了很大的提高,从而长期减少了由于高估产生的烧毁。
当然也有一些改进的空间:base fee差异一直很高,其变化率差异很大。这是因为随着新存储的落地,会出现大量拥堵。在过去,这导致大部分的WindowPost消息也被带高价格。
Filecoin社区可以研究一些不同的方法来解决这些定价问题:
Gas费控制器。 解决网络拥堵的一种可能方式是为控制交易创建一个专门的Gas通道,从每个区块中留出一小部分给对区块链的运作至关重要的特定消息。
针对不同消息类型的费用结构。 解决这个问题的另一个方法可能是降低WindowPost的成本,或者增加其他消息的成本,特别是Pre/ProveCommit消息。
Base Fee变化率。 Base fee在一段时间内的波动性,意味着费率的选择并不完美,可以更加平稳。
可以引入与Gas模型无关的其他方法来帮助缓解拥堵。
扩展证明机制。 扩展Filecoin证明机制的想法包括SNARKs的批量验证以及基于惩罚的验证,以减少前期需要做的验证量。
扩展共识。 鉴于目前的拥堵率,Filecoin很可能需要迅速向分片发展。
未来工作
展望未来,基于Filecoin网络到目前为止所取得的成果有很多潜在的数据分析,也有很多以EIP-1559的思想为基础与其他研究人员和区块链社区合作的机会。一些可能的研究领域包括:在Gas模型中引入队列理论(目前的模型可能存在效率低下的问题),保证某些种类的消息和交易的服务质量,以及探索将加密交易引入区块链以在未来某个时间点执行的方法。