EIP-1559 是为了实现更好的用户体验和网络安全性。

原文标题:《观点 | 谁说 EIP-1559 是为了降低交易费了?》
撰文:InfStones

最近经常见到的三连:

「1559 能降低 Gas 费吗?」

「哦不能降低啊」

「那 1559 没用啊」

观点 | 谁说 EIP-1559 是为了降低交易费了?

最近以太坊开发者表示有可能在 7 月实施硬分叉升级并实施 EIP-1559,一时之间关于 1559 的讨论又变多了起来。我发现不少媒体在报道这则新闻时,都是这样附带解释 EIP-1559 的:

EIP-1559 试图通过引入固定费用和销毁机制来降低交易费。

前面两点说的确实是 1559 的重要特征之二,但后面的这个目的就有点莫名其妙了,很难不让人对这个逻辑关联产生疑惑:

啥?这么神奇?引入固定费用和销毁机制就能降低交易费了?

尤其是在这个大家都倍感难受的问题上,如果能解决这个问题,大家的关注度无疑就上来了。

所以现在普遍存在的舆论导向成了:

听说 1559 能解决目前价格 1000gwei 的 Gas 费

什么啊,不能解决啊

1559 没用啊

EIP-1559 表示很无辜。

错误的舆论

很长一段时间里中文社区对于 EIP-1559 的争论都集中在它能否降低 Gas 费上,这很让人疑惑,其实中文社区内也不是没有对 EIP-1559 的详细英译中介绍,比如 ECN 的 这篇 以及 这篇

但截止发稿上述两篇的阅读量都是 200 多左右,远不及另一篇广为流传的 EIP-1559 分析文章《EIP-1559 只是徒劳,毫无益处》。在这篇文章里,作者旗帜鲜明地反对 EIP-1559 并提供了一系列分析证明。我非常尊敬作者对此贡献的智力资源,但我不得不说本篇文章的批判点是有问题的。

扫过第一段的引言部分,第二段该文作者便表达了它的批判所指:

「假设有个东西的市场价格很高,你觉得剥夺生产者(卖方)从这个东西中获得的经济收入,可以使获得这种东西的代价变得更低吗?」

「但 EIP-1559 恰恰就是想让你相信,削减矿工从 Gas 费中得到的收入,可以让 Gas 的价格降下来。怎么可能呢?」

接下来整个第二段围绕该话题,作者用大量的篇幅举了一个医院就诊的例子,并通过经济学分析该问题。

但是其实根本不需要,如果 EIP-1559 真如上面引文所述,那真的是一个白痴的提案,无需任何分析就可以看出它巨大的问题。

但问题是,EIP-1559 不是为了降低 Gas 费的呀。

EIP-1559 的设计目的

这里有一篇对 EIP-1559 资源非常好的 搜集帖

当然,这个链接里的资源是全英文的,对中国社区的朋友们实在是不友好。在此我仅引用第一篇文章 Analysis of EIP-1559 中对 EIP-1559 的四个设计目标的阐述,如果你有兴趣与能力阅读其他文章,你会发现他们对 1559 的设计目标阐述是一致的。

  • 更好的用户体验。这是因为大部分情况下用户只需要出固定的费用,而无需弄清 gas price、gas limit,并且预测 gas 的变化,导致因 gas 估算错误而 pending 非常非常久的时间的问题。在这种情况下,大部分交易都可以在 1~2 个区块内被确认。

  • 块松弛机制。允许区块大小根据需求量的多少而弹性变化,允许一些区块变大,而一些区块变小。

  • 更好的网络安全性。比特币总量恒定因此终局状态下只能依赖手续费来留住矿工、保障网络安全,以太坊在通胀矿工激励两方的权衡下应用 EIP-1559 可以持续通过增发奖励激励矿工,同时 1559 销毁 base fee 抑制通胀。

  • 必须以 ETH 支付交易费用。这里的原文是 Prevent economic abstraction,但为了方便理解就不用这么抽象的词了,大白话就是之前矿工是可以收取其他费用来打包区块的(事实有很多),但现在必须烧 ETH 作为 base fee,加强 ETH 的 fee 属性。

对 EIP-1559 的英文推介文章几乎都是在阐述上述四点设计目标,很抱歉,没有任何一点提到了 EIP- 1559 是为了降低 Gas 消耗,或者降低 Gas 价格。

但 EIP-1559 就因此是徒劳而「毫无益处」的吗?

相信你看完 EIP-1559 的四点目标之后,不会做出这样的判断。

仅拿用户体验(UX)问题说明。要弄清 gas fee、gas price、gas limit 等等概念,当发现钱包算出的 gas 高于或低于实际需要而要手动修改 gas price,并要根据 gas price 预测值来惴惴不安地上下试探,给少了要 pending (还会有加速的问题),给多了心里憋屈 ... 这样的以太坊能够走向大规模应用吗?

回应一些普遍的观点

A. 「用户不用在过高的 Gas 费上浪费大量的金钱」

这是我经常能看到的反对者引用的 EIP-1559 介绍文章中的一句话,并将其引申为 EIP-1559 可以降低高昂的 Gas 费。不得不感叹语言的魅力,请准确理解什么是「过高的」,「过高的」指的是高于供需点,指的是因为 Gas price 预测不准确而付出的多余部分的钱,而不是说在网络拥堵时 Gas 费奇高无比,彼时的 Gas 虽然高,但是是符合供需关系的。不要再曲解 EIP-1559 的设计目的了。

B. 所以 EIP-1559 就不会降低 Gas 费咯?

错了!EIP-1559 在很多情况下其实都会降低用户实际付出的 Gas 费,通过区块松弛机制和无需猜测的固定付费,可以减少上述「过高的」Gas 费。但请正确理解它的意思,不要引申为用了 EIP-1559 Gas 费就不会达到几十美金 / Gas Price 就不会达到 200gwei。

C. 当网络拥堵时,应用了 EIP-1559 后大量的交易不是还是需要等待吗?

当然,这个问题是以太坊网络的性能问题,EIP-1559 并不能提升以太坊的性能,它不是干这事的。请注意所有对 EIP-1559 推介文章的表述:「通常情况下(Generally)能够更快地包含交易」。在大部分不拥堵的情况下(并且还要算上松弛机制里备用的 100% 容量),相比采用不靠谱的 Gas Price 预测,直接付出 Base Fee 就可以保证包含交易。

D. 矿工费用变少了,矿工会离开,会降低以太坊网络的安全性

因为以太坊价格的上涨以及最近疯狂的手续费收入,短期吸引了大量的算力进入以太坊。但必须看到,EIP-1559 不是昨天才发布的,对它的讨论至少持续了两年。明知道这是会减少矿工收入的一个大趋势,却还是号召矿工往里投入。改革总会有阵痛,新的矿工也会到来。