以太坊1559升级后的7大变化 谁能实现谁会落空
1 设计原理
区块链的本质是一连串的账本,在去中心化的世界里,没有人有义务为用户记账,记账与账本相连的工作需要参与挖矿的矿工来完成。挖矿,不仅仅是记账,更是对生态链安全的保障。一条算力不足的网络极易受到51%算力的攻击,安全问题将会面临威胁。因此,用户的付费机制与矿工的收入机制决定了整个区块网络的效率与安全程度。当用户付费过高,参与链上交易的用户便会减少,导致区块空间浪费,降低了整个网络的价值;而当矿工的收入过低时,投入挖矿的算力就会减少,网络的安全性便难以保证。
因此,交易费的设置,是一个供需平衡的过程。矿工是供给方,用户是需求方,而商品则是以太坊中网络被称为Gas的对象,可以理解为每一笔交易所需的工作量。例如,最基础的工作即简单的转账需要花费21000个单位的Gas,而越复杂的工作如智能合约的执行则需要越多的Gas。当然,一个区块所能容纳的Gas大小并不是无限制的,这个限制称为Gas limit,由矿工投票表决。最近一次调整是在4月23日,由Vitalik提出,虽然遭到部分矿工反对,但最终还是从1250万提升到了1500万,从而缓解了链上活动增加所带来的网络拥堵。
这里需要解释一下为什么矿工会反对,这有助于理解1559协议的作用。矿工在每次记账前,区块链网络会发布一个加密的区块,矿工们收到区块发布的消息后进行算法解密,首先解出谜题的矿工将获得这个区块的记账权,以太坊算法会为此给予固定的出块奖励。那么矿工是怎么进行记账的呢?抽象的来说,就是挖到了这个区块的矿工将内存池里一些等待确认的信息“打包”并填入区块当中,而后再放入区块链网络进行传递。因此,区块容量越小,每次打包的信息就越少。物以稀为贵,用户为了尽快被打包,自然必须付出更高昂的报酬,矿工便可从中获利,这便是为何矿工不情愿提高Gas limit。
这里引入了第三个概念,即Gas price,代表用户为每单位Gas愿意支付的费用,采用第一价格拍卖原则,即价高者得,由此可计算出总费用等于Gas×Gas price。整个过程中,矿工可以获得算法提供的出块奖励和用户给予的交易费。其中,出块奖励固定(可通过投票更改协议),交易费则有较大的浮动空间。随着以太坊网络用户量的与日俱增,Gas手续费不断上涨,去年9月份Gas price一度涨到478Gwei,这意味着在区块利用率100%的情况下,交易费将近6个ETH(1250万×478Gwei÷10亿)。而区块奖励仅仅2个ETH,因此交易费成为了矿工的主要收益。
既然矿工倾向于制造稀缺性,为什么最终还是通过了提议?原因就在于随着以太坊用户的暴增,区块空间呈现出严重的供不应求,以至于即使提升了Gas limit,用户仍需拍出高价来竞争有限的空间。下图供需曲线可以很好地解释这一现象:
其中,D1为扩容前Gas需求曲线,D2为扩容后需求线;供给线同理。不难看出,随着Gas上限的提升,在用户量没有增加的前提下需求曲线会向左移,相应地Gas费将会下降,但由于Gas数量增加,矿工得到的交易费并不会减少。不仅如此,实际上由于用户量的不断增加,用户对Gas的需求并没有因为Gas limit的提升而有所下降,因此Gas price不降反升。
需要注意,此处(后文同理)所涉及的供给量,指的是矿工愿意为打包信息付出的工作量,而并非区块的大小。区块大小固定为Gas limit(实际略有浮动),不受矿工算力的影响;同样,出块时间也只受解密难度影响,以太坊算法会根据矿工投入的算力自动调整难度以达到平均13秒出一个区块的速度。因此,真正由矿工掌握的是记账权力,即矿工可以选择不打包任何内容,只传递一个空块出去。这也是1559协议背后,矿工最大的博弈优势。
2 EIP-1559协议是什么
EIP-1559最大的改变就是将原来的交易费拆分成了base fee与tip。其中,base fee为用户必须支付的费用,金额由前一区块的利用率决定,而不再由用户拍卖决定。为此,1559协议还特意改变了区块的空间上限,从之前的1500万扩大至3000万,但仍以1500万为目标大小。这样设计的意图是为了将区块利用率维持在50%,以方便base fee的计算。当区块利用率超过50%时,系统会自动提升base fee;反之亦然。具体计算如下:
其中,b0为前一区块base fee,s0为前一区块利用率。通过计算我们可以发现,当出现连续39个区块利用率接近100%后,base fee将会扩大至原来的99倍(1.125^39)。也就是说,若初始base fee为10Gwei,那么不到九分钟的时间,这项费用就会超过1000Gwei。显然,用户无法承受如此高昂的交易费,因此随着base fee的上升,链上信息量便会减少,随着几个利用率不足50%的区块出现后,base fee也就随之回落。通过这种方式,协议可以将区块维持在“半满”状态。
在这过程当中,钱包会根据前一区块大小自动计算出当前base fee,用户可以选择接受与不接受。若不接受,那么用户只能等待base fee回落后再被打包,在交易不是很急迫的情况下,这未尝不可。若接受,那么信息就有可能在当前区块被成功打包。注意,这只是可能,因为系统是根据前一区块的利用率计算base fee的,但并不能预测当前区块的利用率。假设一种情况:由于前几个区块的利用率不足50%,base fee已大幅下降,此时用户认为费用较低,便纷纷支付,乃至购买的Gas数量超过了当前区块的最大容量,此时部分信息便无法被当前区块所打包,只能等待下一个区块。但由于当前区块利用率达到100%,下一区块的base fee会有所上升,若不追加交易费,这部分信息只能继续等待,直到base fee重新回落。
因此,若想要确保信息被立即打包,用户必须在base fee基础上额外支付一些小费,即tip。与base fee不同,tip大小由用户自己决定,决定方式仍为第一价格拍卖,即tip越高,越有可能被立即打包。并且,tip会直接支付给矿工,而base fee则会销毁。例如,假设当前区块的base fee为100Gwei,用户设置的费用上限为200Gwei+5Gwei,这代表用户在最多愿意支付200Gwei base fee(以防当前区块无法被打包而下一区块base fee上升)的同时还愿意支付给矿工5Gwei tip,最终支付的费用是105Gwei。这里需要解释一下为什么base fee必须销毁,若非如此,矿工便会在网络上进行频繁的小额交易,导致区块利用率高居不下,base fee便会指数式爆炸。
3 对以太坊网络的影响
EIP-1559协议是由Vitalik Buterin和Eric Conner提议并主导设计的,Eric Conner在Medium上对该协议的动机和优点进行了详细阐述,认为该交易费机制能给以太坊网络及其用户带来如下裨益:
a)节省高达 90% 的交易成本费用
b)通过实现交易费用竞价体系的自动化从而改善用户体验