3

为什么需要1559?

 3 years ago
source link: https://news.ethereum.cn/news/why-1559
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
ETH   $ 1875.66   0.45%      Gas:  121 Gwei          Epoch / Slot :
Loading...
       活跃验证者 :
Loading...

为什么需要1559?

本文认为,EIP-1559有益于以太坊的用户体验、经济和安全性。


Tim Beiko        2021-01-29

来源 | timbeiko/why-1559

EIP-1559 是一个相当复杂的提案。本文尝试尽可能用简单的语言解释它的裨益。注意:1559的缺点不在本文的写作范围,这些内容将在此份EIP的"安全问题 (Security Consideration)"部分呈现。

EIP-1559的裨益

EIP-1559 提议改变以太坊的费用市场,这份提案将在UX (用户体验)、经济、与安全上给以太坊带来好处。

UX上的裨益

总体上提高打包交易速度

在目前的费用市场下,以太坊上的交易经常需要等很长时间才能被打包。因为区块经常是满的,每个新区块里的交易都从上一个区块继承最高的交易费打包。如果一笔交易不能马上被打包 (通常需要很高的gas费),用户很难估算交易什么时候能被打包。

在EIP-1559之下,区块可以达到“200%满”,也就是说如果把 gas limit 设为12.5m的话,区块实际上最高可以容纳 25m 的gas。区块也会把支付了最低gas费的交易打包进去,即BASE FEE。当区块超过容量的100%时,BASE FEE会上升。当区块容量低于100%时,BASE FEE会下降。

这意味着在大多数时间里,区块都有额外100%的容量来容纳交易。因此,只要发送交易的费用高于BASE FEE,且包含了给矿工的小费,交易就会被打包到后面的几个区块里。

BASE FEE肯定会在交易被发送与被打包之间上涨。为了帮助解决这个问题,交易需要指定它们愿意支付的最高交易费金额,即FEE CAP。交易发送者最后会获得FEE CAP减去BASE FEE(会被销毁) 与 TIP(支付给矿工) 的差额。

另一个角度看是1559使打包交易的价格在协议里变得明晰,而不是在黑盒里。

例如,如果打包的“市价”是100 gwei,且一个用户想要确保他的交易被快速打包,现在的情况是他们需要支付多于100 gwei (由于这部分的值不是协议的一个部分,因此很难估算),而他们出价的全部会被计为交易价格。而在1559下,如果BASE FEE是100 gwei, 用户给出了200 gwei的FEE CAP,和3 gwei的小费, 那么他们只需要支付打包到区块的BASE FEETIP。两者的总和与200 gwei的FEE CAP之间的差价会返还给交易发送者。

关于这方面的改动对 (特别是新的) 终端用户带来的影响,这里有一个更详尽的例子。

对于已达“200%满”的区块,有一个需要注意的地方。在这种情况下,费用市场会转为支付最高小费的交易优先打包的拍卖机制,也就是我们现在的系统。由于BAES FEE上涨的速度非常快 (大约每5分钟10倍),这些时段持续的时间应该会很短。也就是说,在1559下,现在的“正常情况”会变为“最差的情况”。

更准确的交易价格估算

在1559下,另一项值得注意的UX改善是交易费用估算变得更容易,无论是对1559式的交易还是遗留交易。

如上文所述,为1559式交易估算合适的价格变得很简单:设置高于BASE FEEFEE CAP,或者是用户愿意为此笔交易支付的最高费用,设置足以覆盖矿工的计算成本与出叔块风险的TIP(钱包在默认情况下会设置小费的值,并随时更新,因此终端用户无须自己设置)。

有趣的是,1559式交易费的简易估算也使得遗留交易 (仍然被支持) 的费用估算更简易。通过参考BASE FEETIP的历史值,交易估算服务将能提供比现在更准确的估算值。这份研究提供了有关原因的技术说明。

经济上的裨益

交易费需要ETH来支付

也就是大家所说的”防止ETH的经济抽象“。EIP-1559 会要求在协议里的所有交易都用ETH支付BASE FEE 。尽管这听上去好像是小事,但现在的费用市场无法保证支付给矿工的交易费是用ETH结算的,或者可能交易费是由矿工支付,然后把自己的交易打包到链上。

换言之,今天有人可以在链下给矿工支付交易费 (或者在链上以其他资产结算,比如DAI、USDC等) ,然后以0 gas费把他们的交易打包到链上 (例子)。这会导致ETH无法成为以太坊网络的首要货币。

在1559下,因为 BASE FEE在交易执行中会被销毁,且必须以ETH来支付,交易费需要在链上支付。显然,矿工可以在其他交易里自由选择接收的代币类型,但他们还是需要获取ETH来支付其他类型交易的BASE FEE,这在经济上相当于用户直接用ETH支付他们的交易费。

越来越大的区块空间需求形成通缩压力

由于每笔交易里的BASE FEE都会被销毁,以及对以太坊的区块空间更大的需求会推高BASE FEE ,对以太坊区块空间的持续高需求将对ETH的供应量形成通缩压力。也就是说,越多人想用以太坊,BASE FEE 会越高,被销毁的ETH会越多,无论是总量还是在每笔交易里。

这样的设计符合“最低必要发行量”原则,并能在网络使用与网络价值间形成一个正反馈循环。

安全上的裨益

减轻近区块头重组的风险

随着区块里交易费总额的不断上升,矿工们会更有动力执行小型的近区块头重组来捕获高额交易费的交易,打包到他们的区块里,而不是让一个有竞争力的矿工赚取交易费。这里有一份对这种现象的分析。

在1559下,因为大部分的交易费都会被销毁,矿工执行近区块头重组的动力会大大减弱。

使DoS或垃圾信息攻击的成本随着时间呈指数级增长

现在,如果攻击者想对网络发起DoS或垃圾信息攻击,他们的成本是不变的,如果与矿工合作的话,可能会低于市场成本。

攻击者想对网络发起DoS或垃圾信息攻击只需支付足够矿工打包交易所需的gas费,而且这个价格不为其他正在被打包到链上的交易所影响。如果攻击者与矿工合作,他们可以支付低于市场率的价格,因为矿工可以以低价甚至0 gas费把交易打包到区块。

在1559下,因为区块容量可以变成200%满,如果攻击者想用大量的区块空间来攻击网络,这会导致BASE FEE上涨。这意味着攻击成本会随时间推移而变大 (例如,非攻击矿工可以继续打包其他用户的交易),以及攻击者不能以低于BASE FEE的价格打包交易到链上。

ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系[email protected]进行授权。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK