众所周知,在以太坊网络中的一笔交易费 =Gas(Used) * Gas Price(Gwei),其中:
Gas即该该笔交易消耗的总Gas数量,一般每笔交易需要消耗的Gas数量都是固定的;
Gas Price(Gwei)即该笔交易中我们为每单位Gas所愿意付的价格,所以它是直接决定矿工是否愿意快速打包该笔交易的关键;
而目前的Gas Price(Gwei)主要就是一种“竞拍”游戏——每个以太坊区块的Gas Limit容量固定,也就是坑位有限,那么自然谁出价高(Gas Price给的高),谁的交易就优先被打包进区块确认。
从博弈的角度讲,这种“竞拍”模式下,在拥堵时因为没有足够的参考信息,只能进行主观上模糊的费用估算,大家自然会为了确保自己的交易能够快速被优先打包确认,将自己的Gas Price(Gwei)不断调高以超过其他待打包的用户。
同理,其他人也会竞相调高,这样彼此之间反复“喊价”,某种程度上形成了“恶性的竞拍竞争”,使得此时的Gas Price(Gwei)偏离正常范围,从而造成高手续费的困境(甚至不排除矿工从利益角度考虑发送大量粉尘交易变相助推交易费用)。
可能有朋友会说,那就增加坑位,直接提高每个以太区块的Gas Limit不就完了?也不是没有这样做过,以太坊的Gas Limit 其实已经不止一次扩容了。
2019 年9月以太坊网络Gas Limit 从800 万增加到 1000 万,而在2020年6月,再次从 1000 万增加到 1200 万,但事实证明单纯地增加区块容量本质上并不能解决问题:
以太坊目前的区块其实并不是每时每刻都在拥堵,进行种菜耕作的“科学家”们最清楚,在清晨等空闲时段并不拥堵,Gas Price(Gwei)也相对合理,甚至只有拥堵时的1/5,只是在遇到UNI空投之类的需求时才会出现这种撞车的“竞拍拥堵”状况。
数据层面也佐证了这个看法,市场对区块空间的需求其实是动态波动很明显的——大多数时段的区块其实处于半满的状态(不到1000万Gas),而剩余的区块则块块爆满也不够满足需求。
说白了,“竞拍”模式下,在大家的交易需求撞车时,这种恶性竞争只会起到“雪中不送碳反而加冰”的反向效果,导致“堵时更堵,但照样有低费用、非拥堵时刻”的畸形情况出现。
同时区块的无限制扩大也会导致运行全节点的负担加重(BSV:对此我深有体会,虽然我是个反例——以太坊是堵得时候特别堵,变大区块也没用,而我,任何时候都填不满我空虚的大区块......),同样并不利于以太坊网络在去中心化层面的发展。
所以严格意义上讲,如何解决现有情况下拥堵以及高手续费的痛点,关键在于提高以太坊区块网络利用率——均衡市场上实时的用户交易需求,错峰安排,类似对以太坊网络全时段“削峰填谷”式的调节,而其中的关键之一自然就在于对“竞拍”模式的改革。
讲到这里可能大家已经对EIP 1559的解决思路有了一个猜测了:EIP 1559的方案,有点类似于电力局将白天、晚上的电价根据需求分别标价——白天电力需求旺盛,电价就会标高一点;晚上电力需求冷淡,电价就会标低一点。
这样通过明明白白的标价,从利益角度让用户自己权衡,如果确实需求强烈,那就按标出价,让所有的交易都尽可能支付相同的费率,这样就杜绝了因为信息差而出现的畸形恶性竞拍,按照官方解释:
EIP-1559 是一个对以太坊交易机制进行优化的机制,旨在使以太坊网络上的交易费用更加可预测,解决当前「按需付费」的收费模式问题。
那么,EIP 1559的机制设计具体是怎样解决手续费和拥堵问题?
EIP 1559 具体如何解决手续费和拥堵问题?
V神在 2018 年7月发布的文章中,详细说明了EIP 1559这个交易费市场改革提案的细节安排,它把用户支付的交易费分成了两个部分。
一部分是由协议确定并交由协议处置的 “Base Fee ”(基本交易费) ,另一部分则是支付给矿工的“小费”,而前者是必须的且明码标价的“准入门槛”,后者才是和当下类似的“竞拍模式”:
当网络不拥堵时,大家只需要支付由协议确定的明码标价的“基本交易费”,就可以将自己的交易打包;
当网络拥堵时,支付由协议确定的明码标价的“基本交易费”的用户中,再根据各自“小费”的大小来确定打包次序;
也即网络不拥堵时,总费用=“基本交易费”(明码标价);网络拥堵时。总费用=“基本交易费”(明码标价)+“小费”(竞拍),这样在大多数情况下,用户只需决定是否支付费用,而不再决定出价多少,降低了“恶意竞拍”的可能。
不过可能听起来会很抽象,但如果抽丝剥茧地解构EIP 1559,其实核心要义就是通过动态调节机制来进一步优化以太坊网络利用率,从而达到降低平均手续费、缓解网络拥堵的问题。而这个动态调节机制,主要分为两个模块:Gas价格机制+“基本交易费”费用销毁。
1,Gas价格机制(基本交易费+小费)
EIP-1559根据以太坊网络目前的区块使用情况,设定了一个平均区块大小限制:一个1000万Gas/区块的均衡目标,一个2000万Gas/区块的硬顶上限。
在此基础上,EIP 1559 引入的“Base Fee ”(基本交易费)和“小费”概念就有了用武之地:
首先,网络会实时以1000万Gas/区块为均衡状态,根据需求量来调整“基本交易费”(以使实际使用量趋于1000万Gas/区块),也就是说“基本交易费”是一个每时每刻都在进行动态调节的”准入门槛“,目标是让区块的使用率维持在均衡状态。
具体就是当区块小于1000万Gas/区块时,“基本交易费 ”会逐渐下调来增加需求;而当区块超出1000万Gas/区块时,“基本交易费 ”会逐渐上调来减少需求,以达到理想的1000万Gas/区块。
这个变化的幅度由距1000万Gas/区块的“距离”而定,但每个区块上下浮动的程度均不超过12.5%。举例来说,当一个区块的利用率高于1000万Gas/区块时,“基本交易费 ”会升高为原来的 112.5%;相反,如果利用率低于50%,“基本交易费 ”会降低为原来的 87.5%。
12.5%的变动幅度听起来可能没有直观的感受,但上图就是该动态调节“基本手续费”的效果展示图:
假设在第0个区块的基本费为10Gwei(ETH的价格按240美元计算),那一笔典型的21000Gas的交易成本为0.0005美元。按照动态调节机制,只要接下来10个区块的需求全都爆满。超过2000万Gas/区块,那交易成本就会增加至0.02美元,而100个区块后交易成本将增加至657美元,这无疑是指数级的动态调整。
这样由于矿工打包交易所需的补贴几乎不随需求量而变化,不堵的时候费用固定,堵的时候明码标价的高“基本交易费”直接筛掉了一部分不迫切的用户。
而需求迫切的用户只需额外支付较低的“小费”,因此这就能在一定程度上避免因为大家集体参与“竞价”而导致的高手续费用。
2."基本交易费'费用销毁
同时也为了杜绝以太坊矿工出于自己利益最大化的角度考量,从而将每个区块的的这个“Base Fee ”(基本交易费)参数调高,所以在EIP 1559的设计中,“基本交易费”这部分收益不再由矿工获取,而是协议销毁。
这样的话每一笔“基本手续费”的产生都会直接烧毁,减少全网 ETH 供给量,等于为所有持币人带来了“通缩红利”。
当然对矿工群体而言,“基本手续费”被烧掉会降低的打包意愿,即便所有着急发送交易上链的用户,可以提升交易里的“小费”激励矿工尽快打包自己的交易,但在网络不堵的时候,“基本手续费”烧掉了,也没有“小费”,矿工的收入等于是直接只剩区块奖励了(相当于拿原本属于矿工那部分的收入给所有持币人做“福利”了)。
不过这也解决了V神提到的网络安全问题——“基本交易费”被烧掉,相比“小费”,区块奖励在矿工收入中的占比再度提高,从而降低了之前提到的“51% 攻击”风险。
总体来看,EIP 1559本质上属于“削峰填谷”的调节,而非分片、Rollup这种Layer 2层面对以太坊实实在在的扩容,所以无论将来分片、Rollup等如何发展,EIP 1559 理论上都是在经济模型层面对当下以太坊交易费用机制的有益革新。
EIP 1559 对以太坊的影响尚是未知之数
EIP 1559中,“基本交易费”、“小费”的设置,以及“基本交易费”的协议销毁,无疑是对现有以太坊经济机制的根本改变,肯定会直接冲击矿工等利益相关方,带来很多新生变量,所以EIP 1559自推出以来,围绕它的争议其实也从来都没有停止过。
最直接的就是虽然“基本交易费”是明码标价的,但“小费”依旧是竞拍模式,那矿工未尝不会尽力降低“基本交易费”,然后让“小费”市场回归最高价拍卖模式,用户依然需要通过竞价的方式让自己的交易被打包到链上。
V神在前不久的采访中曾表示“eth1 和eth2 的合并在一年内很可能无法实现”,这也就意味着在接下来一到两年的时间里,以太坊大概率还是持续目前的底层状态,那EIP 1559的部署也就有了相对迫切的需求。
颇有意思的是,虽然以太坊上的部署实施目前看起来还是遥遥无期,但Filecoin已经将EIP-1559纳入其核心协议,当下每天因网络交易而消耗的FIL约为10万-15万。到目前为止,EIP-1559的“基本手续费”机制在将网络容量保持在百分之百的目标上做得很好。
总之,EIP 1559作为从根本上改变以太坊经济机制的全新尝试,将来能够给以太坊带来的影响(既有机遇,亦有风险),目前有期待也有争论,在尚未全面经过测试之前,都更多的还属于未知之数。
EIP 1559的主要推动者 Tim Beiko最新也在Discord上直言,“EIP-1559 现在还未做好全面实施的准备”,但无论如何,"EIP 1559"将会是以太坊在2021年最值得期待的变化之一“,让我们一起等待今年盛夏的消息。