EIP-1559前以太坊gas费是怎么算的?
在以太坊中,交易所需的gas费计算方式是:
TransactionFee=GasPrice×GasLimit
其中GasLimit代表你愿意为这笔交易支付的最大gas量,这通常取决于交易的复杂程度。GasPrice指的是Gas的价格,即你愿意为每个单位的gas所支付的ETH数量。
目前以太坊费用机制使用的是首价拍卖模式。用户需要向以太坊网络提交出价。每当生成一个新的区块时,矿工将把TransactionFee最高的那些交易打包进区块里。每一笔交易都会按照它的出价来支付gas费。
我们通常说的“支付更多的Gas费”意思是增加某笔交易的GasPrice以获得被打包的优先权。例如在Metamask中,有“慢”、“平均”和“快”这3个GasPrice选项供用户选择,用户通过这个选项支付更高的GasPrice来加快自己的交易被打包。
问题在于,用户与钱包都无法准确估计他们应该支付的gas费,事实上用户总在支付高于他们本应支付的价格,来确保交易的顺利进行。我们可以从下图中看出,ETH交易费的平均值一直高于它的中位数,并且当网络拥堵的时候差值尤其的大。
ETH交易费的平均数/中位数?(来源:CoinMetrics)
EIP-1559会改变什么?
EIP-1559可以称作是以太坊历史上最令人期待的提案之一。它对以太坊网络的交易费机制进行了很大改造,主要可以概括为:
引入弹性区块大小的机制,每个区块的最大GasLimit被提升至原来的2倍,矿工可以在网络拥堵的时候弹性地改变区块的大小。
原本单一的交易费被更改为固定费用加上小费的模式,固定费用是必须支付的部分,并且会根据上一个区块的Gas使用情况进行动态调整。且每个区块的固定费用部分都会被烧毁,不会给到矿工。
0x推出用于链上治理的新智能合约系统ZEIP:2月21日消息,去中心化交易基础设施0x将推出用于完全链上绑定治理的新智能合约系统ZEIP。ZEIP可以完全控制0x协议、金库和治理,并计划推出在0x协议治理中激励积极的链上投票参与(单独和委托)的正式计划。
此外还将推出0x协议安全理事会,并计划推出0x协议Grants,更新并扩大0x协议的成功实验,以帮助管理社区拥有的金库,旨在使0x协议成为全球价值交换的标准结算层。[2023/2/21 12:18:31]
弹性区块大小允许矿工动态扩张或缩小区块大小来处理暂时性的网络拥堵。有了EIP-1559之后,每区块的目标Gas限值还是15M,?但是最大Gas限值会从15M调整到30M。如果区块中使用的gas量比目标gas限值少,那么代表网络是不拥堵的,下一个区块的固定费用会降低。如果如果区块中使用的gas量比目标gas限值多,那么代表网络是拥堵的,下一个区块的固定费用会升高。我们会在下文仔细讲解这种机制。总的来说,交易量的波动原先会转化为交易费的波动,而如今转化为区块大小的波动。
区块拥堵程度(来源:IOSGVentures)
EIP-1559引入一种新的交易费用机制,来解决首价拍卖模型中的问题。每区块固定费用是“基础费用”,给矿工的额外的激励是“小费”。所以交易费变为:
TransactionFee=BaseFee+InclusionFee
进一步分解:
TransactionFee=BaseGasPrice×GasLimit+InclusionFee
BaseGasPrice代表每个区块的BaseFee里的Gas的单价,每个区块的BaseGasPrice是固定的,而且价格高低由前一个区块的拥挤程度来决定,
BaseGasPrice=PreviousBaseGasPrice?×?(1+k?×CongestionLevel)
GoPlus与慢雾提出合约可限时授权EIP提案,以降低遗留授权导致的被盗风险:10月6日消息,安全机构GoPlus与慢雾提出可限时授权的EIP标准,以降低遗留授权导致的被盗风险。标准中提到,包括TransitSwap事件在内,反复发生的资产盗窃是由于用户对合约的过度授权造成的,如果合约出错,所有没有召回授权的用户都会受到攻击。
GoPlus与慢雾提出的解决方案可以为ERC-20Token设置Approv,以在默认时间段内自动撤回授权,或者使用自定义的时间限制来召回授权并及时避免风险,并提交了一份新的EIP,目前正在由以太坊研究部门审查。[2022/10/6 18:41:11]
其中CongestionLevel代表区块的拥挤程度,PreviousBaseGasPrice代表上一个区块的BaseGasPrice。k是调整速度系数,0<k<2。而根据EIP-1559的初始设定,k=1/8。拥挤程度会根据每区块中使用的gas量是否大于目标gas限值来决定。
CongestionLevel=(PreviousBlockGas/UsedTargetGasUsed-1)
总结来说,我们可以看到,
0.875×PreviousBaseGasPrice≤BaseGasPrice≤1.125×PreviousBaseGasPrice
假设gas限值相同的情况下,
0.875?×PreviousBaseFee≤BaseFee≤1.125?×PreviousBaseFee
当网络拥堵时,每过一个区块后BaseFee最多会增加12.5%,BaseFee不断增加直到用户因为交易不再盈利而减少交易,所以这种机制可以缓解拥堵的网络;当网络不拥堵的时候,每过一个区块后BaseFee最多会减少12.5%,BaseFee的下降激励用户增加交易。
小费是用户付给矿工加速交易用的。小费是可选项,可以设置成零。矿工仍然用首价拍卖模式来优先选择有更多小费的交易来打包进下一个区块。
通胀还是通缩?
以太坊每年的通胀率为4%,每个区块会铸造2个ETH作为固定区块奖励。在EIP-1559中,BaseFee里的ETH都会被烧毁,这会对ETH的价格产生通缩压力。
数据:EIP-1559模式交易占比已接近50%:据欧科云链链上大师数据显示,当前以太坊共计已销毁97205.7ETH,单个区块销毁均值为0.7299 ETH。昨日EIP-1559模式下的交易笔数达到59.54万笔,占比49.35%。[2021/8/26 22:38:08]
区块奖励分解(来源:IOSGVentures)
伦敦升级和EIP-1559提案已经在区块高度10499401部署在了Ropsten测试网。目前社区正在观察EIP-1559的表现,以及gas费会怎么变化。最近,许多文章和评论都刊登了http://watchtheburn.com/这个网站的截图,这个网站在监测有多少ETH被BaseFee燃烧掉。
Ropsten测试网上烧毁的ETH?(来源:watchtheburn.com)
截至目前,从区块高度10499401到10512250,总共烧掉了88571个ETH。也就是说在12859个区块中燃烧了88571个ETH,同时有2*12859=25698个ETH被铸造。这意味着ETH确实因为EIP-1559变得“通缩”了!
但是EIP-1559在以太坊主网上线后也会是这个结果吗?我们觉得不会。
我们认为在Ropsten上之所以燃烧了这么多的ETH,是因为网络有许多不寻常的连续的拥挤的区块,这些拥挤的区块将BaseGasPrice推到很高,并且持续了很长一段时间。一个很好的证明是区块高度10503157到10504352,BaseGasPrice从98.45Gwei增加到了82851Gwei,在1195个区块中增长了841倍。
以太坊社区成员发布改善EIP-1559拥堵收费不合理的解决方案:金色财经报道,以太坊社区成员Face-Shaver在太坊技术论坛ethresear.ch发布改善EIP-1559拥堵收费不合理的解决方案,社区成员表示,EIP-1559将在以太坊交易中引入协议费,并允许根据拥堵情况动态地调整区块大小。在链上拥堵时收取协议费是将MEV从矿工转移到ETH持有者而不伤害用户的有效方法。同时,灵活的区块大小使区块空间的分配更加有效。然而,在目前的收费结构下,错误的人可能最终为拥堵付费。一般来说,当用户拥堵一个区块时,是下一个区块的用户为拥堵付费。这是不可取的,有几个原因。1.这是不公平的; 2.它增加了拥堵;3.它加剧了Gas费的拍卖。
社区成员提出解决方案,建议当一个区块出现拥堵时,同一区块的用户要为拥堵付费,可以通过根据矿工在他的区块中使用的大小来收取费用来实现这一点。[2021/7/24 1:13:36]
Rospten测试网中区块高度为10499401到10506825的基础费用价格(来源:IOSGVentures)
这种情况很特殊,更像是开发者在测试网上做的极端测试。
主网上线后不会出现相同的情况,因为逐步提高的BaseFee会迫使需求不那么强烈的用户不进行转账,进而把区块大小恢复到目标大小,从而降低BaseFee。
以太坊社区的@barnabemonnot做的模拟展示了BaseFee到达一个峰值之后可能的走势??
BaseFee模拟(来源:@barnabemonnot)?
我们预测当主网高度拥堵的时候,一个常见的规律会是几个大型区块后紧接着几个小型区块。高度拥堵的情况不会超过5分钟,以太坊还是会通胀但是通胀率相对较低。
以太坊社区正举行电话会议讨论EIP-1559的实施:据此前消息,2月26日22:00,以太坊猫牧人(Ethereum Cat Herders)组织召开社区电话会议,讨论EIP-1559的实施。
会议的主要参与者为:以太坊社区的EIP拥护者研究人员,开发人员和矿工。小组将讨论矿工对EIP提出的关注,讨论相关的开发和研究更新,并回答社区提交的问题。
会议主持人为以太坊基金会社区经理Hudson Jameson。演讲人包括:以太坊开发者Tim Beiko、以太坊开发人员Rick Dudley、EIP编辑Micah Zoltu、加密研究员Barnabé Monnot,Hasu和Georgios Konstantopoulos、客户端开发人员Tomasz K.Stańczak、网络升级协调员James Hancock、矿工Wang Chun(F2Pool),BitsBeTrippin(Independent)和Chris K.(Flexpool.io)以及社区人员Aftab(DC投资者)。详情点击原文链接。[2021/2/26 17:57:16]
交易费会下降吗?
EIP-1559主网上线之后,交易费会下降吗?是的,我们认为虽然降低交易费并不是EIP-1559提案的最终目的,但是它确实会降低以太坊网络的交易手续费。
首先,因为交易费被分为了BaseFee和小费两部分。过去人们增加gas单价来加快交易被打包确认,整个交易费被增大。而现在改成通过增加小费来加速交易被打包,这并不会影响到BaseFee,BaseFee仍然只是反映着网络的拥堵情况,小费则反映着用户对交易能否成功的紧急程度,这两个部分不会再混在一起了。因此用户更清楚自己至少需要出多少交易费,用户变得更加理性后会减少过度竞价,这样就能让gas费降下来。
GasFee分解(来源:IOSGVentures)
第二,可变的区块大小可以在交易量大的时候作为缓冲,把gas费的波动转化为区块大小的波动。所以当交易量激增时,gas费会比以前上涨得缓慢。
最后,EIP-1559上线之初BaseGasPrice会被设置为1Gwei,相较于最近20+Gwei的gas价格,这会在刚上线的时候把gas费短暂地拉低。
另一方面降低gas费并不是EIP-1559的目的。它的目的更多的是想要让gas费的变化变得更加平稳,减少用户过度竞价,并且让gas费有更高的可预测性。
钱包和用户会怎么样呢?
钱包对gas费不再是估算而是精准计算,因为现在可以准确计算出下一个区块的BaseGasPrice了,用户对交易费用的数额有更清楚的认知。钱包会显示下个区块的BaseGasPrice,并且允许用户设置小费来加快打包。
钱包开始设计新的UI模板,以下是Metamask和Status的模板。
钱包页面模拟(来源:@tvaneppsfromHackMD)
对用户来说,最大的不同就是他们不再需要猜测交易费用的高低,他们不用去猜测自己付的交易费够不够高,能不能被打包进区块;或者自己付的交易费用够不够低,有没有白白多支付费用。现在BaseFee就像一个定价销售,用户只需要决定是否能够接受这个定价。
用户可以根据下一个区块的BaseGasPrice来设置一个BaseGasPriceCap,即用户愿意支付的最大BaseGasPrice。这么做的原因是当用户进行支付时,可能已经有新的区块生成因此BaseGasPrice发生了改变,而如果用户设置一个稍微高一点的BaseGasPriceCap就可以让他的交易在接下来的几个区块里被顺利打包。BaseGasPriceCap和交易被打包区块的BaseGasPrice的差额是会被退回给用户的。
这就是说,即使用户高估了下一个区块的BaseFee,然后设置了一个过高的BaseFeeCap,他也不会过度支付BaseFee。例如下个区块的BaseGasPrice是200Gwei,而用户设置的最大gas价格是300Gwei,如果交易是被下一个区块打包的,那用户还是只需要按照200Gwei的gas价格来付费!这是一个对用户友好度的大改进!
矿工会怎么样呢?
毫无疑问,一些矿工会认为EIP-1559是一个坏消息。原本所有交易费都归矿工所有,而现在只剩下小费会给到矿工,而BaseFee的部分会被烧毁掉,因此矿工们将会失去部分收入。
区块奖励流出方向对比?(来源:IOSGVentures)?
毫无疑问,一些矿工会认为EIP-1559是一个坏消息。原本所有交易费都归矿工所有,而现在只剩下小费会给到矿工,而BaseFee的部分会被烧毁掉,因此矿工们将会失去部分收入。对于MEV而言,矿工在EIP-1559后仍然有调整交易在区块中的顺序的能力,所以MEV的基本面保持不变。
下图是Flashbots基于MEV占比的矿工收入明细。我们假设对于一个非MEV交易,BaseFee通常会比小费多很多,所以下图中大部分的橙色区域会被烧毁,小部分因为小费的存在而留下;而对于矿工MEV收益的部分,大部分MEV收益是来自于Flashbots里的searcher支付的打包费,和矿工通过往区块里混入自己的交易得到的收益。被烧毁的BaseFee和前两个部分相比十分小。所以下图中大部分的绿色区域会保留,大部分的MEV收益仍会被捕获到。
矿工利润分解?(来源:Flashbots)
从长期前景来看,EIP-1559给ETH带来通缩压力;ETH的价格升值最终会让矿工受益。如果矿工在ETH数量上损失了25%,但ETH价格上涨了35%,矿工的美元收入仍然是不变的。
也有提案是说,与其烧掉所有的BaseFee,不如将其中的一小部分与矿工分享。总而言之,所有这些都可以根据EIP-1559的表现进行协商和调整。
EIP-1559会对Flashbots的使用有影响吗?
Flashbots的用户是通过EIP-1559引入的新费用机制竞拍还是继续使用Flashbots呢?新费用机制的小费部分似乎可以用于竞拍。
Flashbots提供的一个重要的功能叫做pre-tradingprivacy,交易只有在被打包进区块之后才会被公开。Flashbots使用首价密封投标拍卖的方式,所有用户同时提交密封的交易包以及竞价,没有竞拍者会提前知道其他人的交易包的内容和所出的竞价。所以用户不用担心被抢先交易,因为他的交易是全程被密封着的。
因为无法提供pre-tradingprivacy,所以EIP-1559不能代替Flashbots。假设套利者提交了一个能够盈利$100的交易进入内存池,并附上有90$的小费。这个交易在进入池子的时候就会被公开,其他套利者可以复制他的交易,并且提交一个新的有更高小费的交易,比如带有$95的小费的新交易。于是新的交易会被打包进区块,原来的套利者就因为被抢跑而失去了套利机会。EIP-1559没办法改变这种情况,无法给用户提供抢跑保护。
没错,即使在EIP-1559上线之后,以太坊用户还是会大量使用Flashbots,来寻找进入区块无风险入口以及抢跑保护。
结论
EIP-1559引入了新的gas费机制,用BaseFee+小费的模式代替了单一的费用机制。以太坊区块大小具有了弹性,由此将gas费的变化转嫁为区块大小的变化。在EIP-1559上线后,以太坊网络的交易费会变的更低并且有更大的可预测性;ETH仍会是通胀的状态但是通胀率会降低;以太坊网络拥堵的情况会得到缓解;用户体验度会得到提升。这些改变会大大提升以太坊的可用性,并让更多的用户最终向以太坊倾斜。
虽然矿工短期会损失一些收益,但是长远来看最终会享受到以太坊价格上涨带来的更多收益。矿工依然拥有调整区块中交易顺序的自由,所以MEV的基本面并没有被改变,但由于BaseFee的燃烧,矿工在MEV方面的收益会相应减少;EIP-1559不能代替Flashbots提供pre-tradingprivacy的功能,所以需要防止交易被抢跑的用户仍然需要使用Flashbots。
EIP-1559已经在Ropsten测试网上线,之后会陆续登陆Goerli、Rinkeby和Kovan等测试网。在测试完备后,EIP-1559预计会在7月底进行主网上线。?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。