由於以太坊已升級至 PoS 共識機制,因此本文中的礦工部分信息已過時,僅供參考。以太坊的最新共識機制介紹請點擊下方鏈接查看。
上篇文章中,我們簡要介紹了以太坊倫敦升級中即將執行的五個 EIP(以太坊改進提案)。這篇文章,我們將詳細介紹本次升級中最具爭議和受關注的提案:EIP-1559。
關於 EIP-1559
EIP-1559 將調整當前以太坊主網(Eth1)的礦工費機制。該提案將引入 baseFee(基礎費用),baseFee 會根據以太坊區塊空間的使用情況自動調整鏈上操作所需的 Gas Price,從而幫助錢包服務商和用戶便捷估算操作的費用。
此外,EIP-1559 增加了一個新的交易類型,該類型允許用戶自主設定對當前操作願意支付的最高費用(maxFee)和支付給礦工的最高費用(maxPriorityFee),並可將最高費用與 baseFee 和礦工費用的差值退還用戶。
而且,EIP-1559 將銷毀 baseFee(基礎費用),一定程度上減緩 ETH 的通脹速度,因此,社區中不少人認為這是對以太坊經濟的一項重要改進。
imToken 如何支持 EIP-1559
imToken 支持倫敦升級,對本次升級用戶無需進行額外操作。
升級完成後,imToken 用戶仍可以正常使用當前版本 imToken 的以太坊錢包功能並發送交易。交易中的礦工費設置以 GasPrice 表示,GasPrice 的預估將基於 EIP-1559 規則。
關於自定義設置 EIP-1559 費用機制中的 maxPriorityFee(支付給礦工的小費)和 maxFee(最高費用),該功能預計將在後續版本 imToken v2.9.6 中盡快提供。
關於交易費用的變化,對此我們暫時無法預計,需要在 EIP-1559 啟動後繼續觀察。
EIP-1559 設計目標
更好的用戶體驗
當前的以太坊和比特幣都採用第一價格競拍機制,這種費用機制簡單但缺乏效率,其中最大的問題在於費用估計。 EIP-1559 試圖通過讓所有的交易盡可能支付相同的費用來解決該問題。多數情況下,用戶只需要決定是否發起交易,而無需考慮費用該如何設置。
可變區塊容量
區塊空間利用率往往是變化的,有些區塊空間閒置,而有些區塊塞滿交易。可變區塊容量將允許區塊大小隨實際需求變動。
更好的安全性
當區塊獎勵消失,僅靠交易費用不足以激勵礦工維護網絡安全。 EIP-1559 通過銷毀交易費用,即可在不增加總供應量的前提下,延長通過區塊獎勵激勵礦工的時間,從而保障網絡的安全性。
防止經濟抽象
簡單來說,即只允許使用 ETH 支付交易費用。如果用戶可用任何代幣支付交易費用,則可能會威脅到 ETH 的儲備地位。 EIP-1559 通過強制把 ETH 作為費用代幣來緩解這一問題。
EIP-1559 如何工作
升級前的礦工費機制
- 礦工費 = GasPrice * GasUsed
- GasUsed(gas):交易消耗的總 gas 數量。
- GasPrice(gwei):即對單位 gas 的定價,1 gwei= 10^(-9) eth。
- 採用競價機制,GasPrice 設置越高,交易處理速度越快。
- 交易由礦工處理,礦工費完全由礦工收取。
升級後的費用機制
- 交易費用 = (baseFee + PriorityFee)* GasUsed
對比升級前後的公式,可以看出 EIP-1559 是將 GasPrice 拆分成了兩個費率的組合:baseFee 和 PriorityFee。
baseFee(基礎費用)
baseFee 會根據上一區塊的空間利用率自動調整,如果利用率超過 50%,則提升當前區塊的 baseFee;反之降低。
按照 baseFee 計算公式,相鄰區塊間的 baseFee 變化幅度在 ±12.5% 之間:
- 如果上一區塊空間利用率為 100%,則當前區塊 baseFee 將自動提升 12.5%
- 如果上一區塊空間利用率為 0%,則當前區塊 baseFee 將自動降低 12.5%
不同於原來的礦工費機制,EIP-1559 升級後,交易費用不完全由礦工收取,其中 baseFee 將被完全銷毀。
PriorityFee(小費)
PriorityFee 表示給礦工的小費,延續了競價設計。如果希望自己的交易在區塊中被盡快打包,可通過設置 PriorityFee 激勵礦工,礦工將優先處理 PriorityFee 高的交易。
同時,用戶還可以自行設置 PriorityFee 的最高值,即付給礦工小費的上限,也叫 maxPriorityFee。
maxFee(最高費用)
maxFee 表示用戶願意對某筆交易可支付的最高交易費用。對應到公式中,maxFee = baseFee + maxPriorityFee,其中 maxFee 和 maxPriorityFee 都支持用戶自行設置,baseFee 則由算法自動給出。
注:升級後「礦工費」的說法已經不合適了,因為費用中的 baseFee 是要銷毀的,只有 PriorityFee 由礦工收取。或許 EIP-1559 升級後,我們應該在以太坊生態中棄用「礦工費」的說法了。
EIP-1559 交易費用計算實例
- 升級前
- 礦工費 = GasPrice * GasUsed
- 升级后
- 交易費用 = (baseFee + PriorityFee)* GasUsed
- maxFee >= baseFee + maxPriorityFee
可能出現的各種費用情況,單位 gwei
如何看待 EIP-1559
EIP-1559 歷經了兩年的討論,至今仍然備受爭議,對於 EIP-1559 的利弊,社區中有很多嚴肅深入的思考和討論,感興趣的同學可以查看:
- EIP-1559 提案:EIP-1559: Fee market change for ETH 1.0 chain
- 中文資料匯總:鏈聞精選 | 讀懂以太坊 EIP-1559 提案,它為何備受爭議?
- 英文資料匯總:EIP-1559 Resources 🔥
EIP-1559 相關工具
- https://ethburned.info/
這個頁面統計了 EIP-1559 啟動後銷毀的 ETH 數量。 - https://www.gasnow.org/
基於 EIP-1559 規則,GasNow 提供了對 baseFee、maxFee 及 maxPriorityFee 的設置建議。
參考資料
- Deribit Insights | Analysis of EIP-1559
- Chang-Wu:EIP-1559
---
如果你對 EIP-1559 感興趣或有疑問,歡迎掃描下方海報二維碼參與討論。