矿工竭力反对,Vitalik Buterin还支持EIP-1559的理由是什么?
chia币

矿工竭力反对,Vitalik Buterin还支持EIP-1559的理由是什么?

来源:探探区块链原文标题:《在矿工反对的情况下,Vitalik 为什么坚持 EIP-1559 提案》作者:谈国鹏,Ownbit 创始人

最近有不少关于 EIP-1559 的文章,但是一般都晦涩难懂。我用比较通俗的语言讲一下我对 EIP-1559 的理解。

EIP-1559 是一个改进以太坊手续费机制的提案,由 Vitalik 等人在 2019 年 4 月提出,距今已经讨论、优化近 2 年。虽然它只是一个以太坊的优化提案,但是相应机制已经被Filecoin所采用。因此它从理论和实践层面都有一定的说服力!

然而,对于 EIP-1559 的反对和质疑,就如同赞同它的声音一样,非常的明显和强烈。因此它充满着争议,并且对它的实施存在一些风险(分叉、抵制等)。

最简单 EIP-1559 原理

当前以太坊手续费机制为:fee =gasPrice* gasUsed。因为特定交易使用的 gasUsed 通常不变化,因此整个手续费的核心要素就是gasPrice。调整gasPrice的大小决定了你花费手续费的多少,以及你的交易被确认的速度。

EIP-1559 将 gasPrice 参数拆分为两个参数:BaseFee + Tip。其中 BaseFee 由系统决定,不需要用户指定。而 Tip(又叫 GasPremium)是指额外小费,它决定了在相同 BaseFee 的情况下排序的优先权。

BaseFee

BaseFee 由系统计算,具体的逻辑你可以完全跳过,并不影响你对 EIP-1559 的理解。这里简单阐述一下其计算逻辑:

每个区块设置总 GasUsed 的均点为:1250 万,上限为:2500 万;

当实际区块使用的总气超过均点时提升 BaseFee,低于均点时降低 BaseFee。

因此 BaseFee 会根据网络流量的大小进行上下波动。我们看一下 Filecoin 的 BaseFee 走势图就会有一些感官认识:

Fiecoin BaseFee

在 EIP-1559 设计中,BaseFee 部分的手续费是直接销毁的(只有 Tip 的部分奖励给矿工),以抵制以太坊系统的通胀。该点也是矿工可能抵制的关键点,有观点认为,这将大大降低矿工的收入。该点的设计较为独立,我们不展开讨论。

EIP-1559 有什么用?

EIP-1559 有什么用,才是我们今天要讨论的主要话题。首先我阐述一下我的观点:它没有什么大用,但有一些小用。我分别来阐述一下:

EIP-1559 没有什么「大」作用

没有什么大作用是指它不能减少网络拥堵,即它不是为扩容而设计的。因此实施了 EIP-1559 后,以太坊该拥堵还是拥堵。(你可能认为以上我的观点错了,EIP-1559 可能有一些扩容效果,因为设置了硬顶为 2500 万,是现在的两倍,因此可能有两倍的扩容效果。这点没错,我之所以没这么说,因为这种扩容效果并不需要通过 EIP-1559 来实现,简单地提升区块总气量的上限即可达到,因此不做讨论)。

另外,它没有什么大作用,也是指它不能大幅降低用户矿工费。用户矿工费的本质是由供需关系决定的。在以太坊不能有效扩容,需求过于旺盛的情况下,任何改变手续费机制的措施,对于降低手续费这个目标而言,都是徒劳的!

EIP-1559 有一些「小」的作用

首先,我这里讲的小,是针对以上两个大目标(降低拥堵、降低手续费)而言的。因此此处小并不是贬义,而是指一个程度。

通常用户发出的交易可以分为三种情况:

情况 A:该交易必须下一个区块就确认,例如一些劫持交易、参与某个 1CO 的交易。用户不惜一切代价使其快速确认;

情况 B:用户期望该交易快速确认,例如在 5 分钟内。并不一定要在下一个区块,但是不希望等待太久,例如用户充值交易所,进行数字货币的买卖;

情况 C:用户希望以较少的矿工费确认一笔交易,并不在意多等待数小时甚至数天。

对于情况 A,EIP-1559 的作用并不大。在 EIP-1559 情况下,为了达到情况 A 的目标,我们需要去计算合适的 Tip,这点和现在计算合适的 gasPrice 并无差别。

对于情况 C 而言,EIP-1559 也是没有任何优势,我们设定一个 GasFeeCap(手续费上限)来达到该目标,这和我们目前设置一个固定较小的 gasPrice 也是别无二致的。

但是对于情况 B 而言,EIP-1559 却有非常大的优势。从用户或者钱包开发者角度来看,几乎不需要做什么事情,便可以达成这个目标。在设置的 GasFeeCap 范围内,你的交易总是可以以当前 BaseFee 的价格进入区块。在固定 Tip 的情况下,你所花费的矿工费由系统决定。

因此这是最省心,也是用户最友好的。而在 EIP-1559 之前,为了达到情况 B 的目标,我们可能需要多次发送交易加速(Replace-by-Fee)。

EIP-1559 达到以上目标的本质是延后决定手续费的机制。即在 EIP-1559 之前,用户生成交易即决定手续费的大小,而 EIP-1559 将手续费拆分成两部分,其 BaseFee 的部分在打包时实时决定。这类似于编程环境里常讲的延迟加载、需要时加载等概念。

上述情况 B 也是最常见的情况,因此 EIP-1559 的实施,对于用户而言,是有相当大的作用的。它将降低用户干预交易的需求,同时也将更加经济(系统的 BaseFee 总是比用户自行选择的费用要更加经济有效)。

总结

从用户端和钱包开发这角度来说,EIP-1559 的作用和意义不能说小。虽然它不能解决拥堵的问题,也不能大幅降低交易矿工费,但是它却可以让以太坊系统手续费更加平滑、用户使用以太坊交易的体验更加友好。因此我想,这也是为什么在有很大争议的情况下,技术导向的 Vitalik 坚持 EIP-1559 的主要原因吧!

发表评论