解读以太坊提案EIP1559:降低交易费总额和交易费波动性
作者:Edison Zhao, Cdot Network 研究员
EIP1559是由以太坊联合创始人Vitalik Buterin和ethhub_io创始人Eric Conner合作提出的以太坊交易费机制改进提案。2018年8月,Vitalik发表论文《Blockchain Resource Pricing》从经济学角度阐述了现存交易费机制的问题,并且提出了解决方案雏形。
此后,Vitalik在Zcash社区对方案进行了进一步细化。在2019年举行的Ethereum Core Devs Eth1x/Istanbul Planning Meeting上,Vitalik介绍了EIP1559的研究背景、目标和机制等,其交易费机制的调整将影响以太坊的主要利益相关群体(用户、开发者、矿工、钱包等)。
EIP1559提案的研究背景涉及较为复杂的经济学,我们在学习了相关资料后,希望用非学术化的语言简述其原理和影响,为普通读者理解EIP1559提供帮助。
为避免全节点趋于集中,追求架构去中心化的区块链会严格限制区块容量。例如比特币的Block Size Limit以及以太坊的Gas Limit。当交易需求超过区块容量,需要一种机制公平地分配稀缺资源,常见的方式是让用户以交易费的形式进行竞价——矿工会优先将交易费高的交易纳入区块。然而,在限量和竞价模式中,用户对于其他人的出价一无所知,只能依靠历史交易费进行猜测,当网络发生拥堵,交易费上升,部分用户为了及时发出交易,只能给出更高价格,从而快速推升交易费率,直到某个临界点,费率又掉头向下。交易费的剧烈波动会造成两个问题:
- 用户将支付过高的交易费,数据显示由竞价导致的额外交易费用将为平时的5倍
- 很多交易依旧不能按用户预期的时限成交
基础费根据上一区块的基础费和利用率计算。当利用率高于50%,基础费升高;当利用率低于50%,基础费降低。每个块的基础费改变不超过1/8。可见,基础费能够被钱包软件准确预测,并且它的波动也比较平滑。用户发起交易除了需要支付基础费,还需要支付一笔小费(Tip)。小费的作用是补偿矿工因把交易纳入区块所增加的叔块风险。预计小费会形成约定俗成的固定值,例如1GWei。
用户对于交易的时效性需求可以分为三类:
- 第一类是希望交易被尽快收录,但并不特别紧急。
- 第二类是要求交易被立即收录,并且愿意为此付高价。
- 第三类是没有时效要求,只要交易最终成功即可。
EIP1559的机制设计巧妙地融合了次高价竞价模式(second price auction)的优势,同一区块内所有交易支付的价格基本一致,对用户更公平。新机制下用户可设置两个参数:交易费上限(fee_cap)和小费(tips)。当基础费低于用户设置的交易费上限,交易费被收录,用户支付基础费加小费。当基础费高于交易费上限时,交易在mempool中等待。可以预期,EIP1599的实施将大幅降低以太坊交易费总额和交易费波动性。