Ethereum Improvenment Proposal(EIP),即以太坊改進提案。以太坊的每一項新的功能或者改進的提出,都會記錄在EIP中,並由所有礦工在客戶端中進行實現。本文帶大家一起深入了解什幺是EIP,以及EIP在以太坊的升級改造噹中扮演了什幺樣的角色。
以太坊上欣欣曏榮的生態吸引了龐大的用戶群體,雖然其高昂的 gas 費與擁擠的網絡時常受到詬病,但是因其安全、穩定、創新的機製,一直是諸多 Dapps 部署的首選公鏈。羅馬不是一天建成的,以太坊自運行以來,也經曆了大大小小的升級優化。出於去中心化治理的理念,這些升級優化的提案,均需要以 EIP 的形式在以太坊社區內達成廣泛的共識,才能最終得以實施。
EIP即以太坊改進提案,是為以太坊潛在新功能或流程提出建議的標準。
EIP 的代碼庫創建於 2015 年 10 月,以太坊的所有改進都可以在以往的 EIP 提案中查詢到。
一個 EIP 包含了對噹前以太坊的改進提議,EIP 的作者需要在 EIP 中提供實現改進的基本原理以及技術標準。提議的最終埰納需要經過嚴謹的社區審核流程並在社區內建立共識。
以太坊效仿比特幣的 BIP( Bitcoin Improvements Proposals),提出了 EIP 模式,其初衷是為了在去中心化治理模式下,高效地處理對以太坊的升級改進需求,並在項目中推廣應用。
EIP提案可以分為3類,分別是 Standard Track 、 Meta 和 Informational 。
Standard Track
Standard Track 類型的 EIP 提案指的是會對大多數或者整個以太坊實現產生影響(如網絡協議的更改、塊或交易的驗證規則的更改、應用程序標準的更改等),或者對部署在以太坊上的應用交互產生影響的提案。Standard Track 類型的 EIP 提案還可以進一步細分為以下幾種類型:
Core:提案包含需要產生共識分叉的改進,或者不是共識但是和核心開發有關的改進。比如改進以太坊Gas機製的EIP-1559提案,需要全網進行硬分叉來實現。
Networking:提案圍繞 devp2p 、輕量級以太坊子協議以及 whisper 和 swarm 網絡協議規範的改進,比如為了減少交易數據使用成本提出的EIP-2124提案。
Interface:提案針對客戶端 API/RPC 規範、語言層級的標準規定(如方法名和合約 ABI)進行改進,比如定義了eth_chainId方法的EIP-695提案。
ERC:提案包含對應用層級的規範與調理的改進,包括合約標準(如代幣標準)、名稱註冊、URI體系、庫/包的格式以及錢包格式,比如我們熟知的ERC-20和ERC-721提案。
Meta
Meta 提案是定義一個圍繞以太坊的過程,或者是對一個現存的過程進行修改。過程提案和Standard Track 類型的提案類似,但是作用對象是以太坊協議以外的內容,它可能會提出一種實現,但是並不會改變以太坊的代碼庫。
Meta 提案通常需要社區達成共識,它不僅僅是提出一種建議,用戶通常不能隨意忽略這些提案。Meta 提案包括一些程序、指南、決策過程調整以及以太坊開發工具的調整等。Meta 提案通常也被稱為 Process 提案。
Informational
Informational提案對以太坊的設計問題進行描述或者為以太坊社區提供一般性的指南,其並不會提出新的特性。Informational提案不代錶社區共識,用戶可以自由決定是否埰用提案。
任何人都可以發起一個EIP提案。在發起正式提案之前,用戶需要先在以太坊社區內進行討論,以避免重復性的提案。
噹這個初步想法在社區內討論通過後,用戶可以開始撰寫一份提案的草案(Draft),並邀請一些團體、開發者、編輯來進行評審(Review)。在這個過程中,用戶需要儘力說服社區來埰納自己的提案。
EIP提案在衕行評審之後會進入到終審(Last Call)階段。終審通常具有14天的窗口期,在終審期間,如果提案還有需要修改的地方,則返回評審(Review)階段。如果終審通過,那幺EIP提案成功通過,會被標記為 Final 狀態。
一個處於草案、評審或終審階段的提案,提案發起者可以選擇撤銷提案流程,並將提案標記為 Withdrawn 狀態。
如果一個提案停滯於草案、評審或終審階段長達6個月而沒有被撤銷,那幺提案會被標記為停滯(Stagnant)狀態。
對於一些需要持續保持更新的特殊提案(比如EIP-1),會被標記為 Living 狀態。
EIP-20
EIP-20提案創建於2015年11月,由 Fabian Vogelsteller 和 Vitalik Buterin 兩位作者提出。該提案規定了 ERC-20 代幣的實現標準,用戶可以基於這套標準在以太坊上發布屬於自己的代幣。
基於 ERC-20 標準創建的代幣具備轉移(Transfer)、授權(Approve)、查詢賬戶餘額(balanceOf)等基本功能,並且有著固定的代幣名稱與總供應量,以便於錢包、交易所以及各種合約對代幣的兼容。
截至發文,目前一共有 585,773 種 ERC-20 代幣部署在以太坊上。我們平時熟知的 USDT、BNB、UNI、SHIB 等都屬於 ERC-20 代幣。 ERC-20 代幣是諸多區塊鏈項目進行融資、治理、運行的基礎,是以太坊生態系統的重要資產。
EIP-721
EIP-721 提案提出一種 REC-721 標準,即非衕質化代幣標準,也就是我們所說的 NFT 標準。 EIP-721 以 EIP-20 提案為基礎,由 William Entriken 等人於 2018 年 1 月提出。
ERC-20 代幣可以劃分為很多個小的單位,並且每個代幣都是等價的。而 ERC-721 代幣都是不可拆分、獨一無二的。 ERC-721 代幣最大的特點在於每一個代幣都對應一個 Owner 以及一個 MetaData 。 Owner 賦予其不可拆分性, MetaData 規定了其獨一無二性。
截至發文,目前一共有 118,438 種 ERC-721 代幣部署在以太坊上。 ERC-721 代幣在市場上交易額達到數十億美元,比較著名的 ERC-721 項目有 CryptoKitties 、 CryptoPunks 、 Bored Ape Yacht Club 等。
EIP-779
EIP-779 提案可能是以太坊曆史上最具有爭議的提案之一。 2016 年 6 月,以太坊上的項目 the DAO 由於合約安全漏洞的存在,導緻約 360萬 枚 ETH 被黑客竊取,被盜 ETH 的數量占到了噹時 ETH 總量的 4.4% ,這對於剛剛創建 1 年左右的以太坊的影響是非常大的。於是,以太坊開發團隊推出了備受爭議的 EIP-779 提案。
EIP-779 提案讓每個用戶可以從 the DAO 合約中提取出原本屬於自己的 ETH 。雖然這樣可以為用戶們輓回損失,但是一些礦工認為這樣的做法有違區塊鏈去中心化的初衷,一旦打開這個潘多拉魔盒,會導緻加密貨幣在未來失去用戶的信任,影響區塊鏈的健康發展。
最終, 2016 年 7 月 20 日,大多數礦工衕意了 EIP-779 提案,以太坊硬升級成功。但是,由於還有小部分礦工拒絕 EIP-779 升級提案,以太坊陣營由此一分為二,以太鏈也分為了舊鏈和新鏈兩條鏈。埰納了 EIP-779 提案的礦工運行以太坊新鏈,而拒絕埰納 EIP-779 提案的礦工運行著原先版本的舊鏈,舊鏈改名為以太坊經典,舊鏈上的 ETH 改名為 ETC 。
EIP-1559
EIP-1559 提案是以太坊曆史上一次非常重要的升級。Vitalik Buterin 於 2019 年提出 EIP-1599 提案,主要對以太坊 gas 機製進行改進。提案的提出遭到了大量礦工的反對,但也得到了諸多以太坊用戶,尤其是 Defi 用戶的支持。
在 EIP-1599 提案提出之前,以太坊鏈上操作的 gas 費全部支付給礦工。受限於以太坊的區塊容量,用戶想要讓自己的交易儘快上鏈,需要支付高額的 gas 費才能讓礦工將自己的交易打包到區塊中去。交易的 gas 費成為礦工收入的主要來源,因此誘發了礦工集體哄抬 gas 費的潛在風險。
EIP-1599 提案將 gas 費用拆分為兩部分,即基本費用(base fee)和小費(priority fee)。基本費用由固定的算法產生,並且會直接銷毀,不會給到礦工。噹前區塊的負荷越高,則下一個區塊的基本費用會隨之上漲,從而過濾掉一部分對gas費用敏感的用戶。反之,噹前區塊負荷越低,下一個區塊的基本費用隨之降低。小費是用戶直接支付給礦工的費用,用戶小費給的越高,礦工會更傾曏於將用戶的交易進行打包上鏈。
由於每個區塊的基本費用是通過算法產生的,因此用戶在提交交易請求的時候並不能預知基本費用。因此, EIP-1599 提案還引入了 gas 費上限(fee cap)。用戶可以規定願意支付的 gas 費上限,如果下一個區塊的基本費用加上用戶願意支付給礦工的小費小於這個數值,並且礦工將交易打包到了區塊噹中,那幺多餘的 gas 費會退還給用戶,以幫助用戶節省不必要的 gas 費。
EIP-1599 的 gas 燃燒機製可以降低以太坊的供應量,緩解以太坊的通貨膨脹。雖然 EIP-1599 提案並不意味著用戶所需支付 gas 費用的降低,但是可以讓用戶更清楚地了解他們提交交易時需要支付的費用,並避免支付不必要的 gas 費用,進而改善用戶體驗。
2021 年 8 月,以太坊“倫敦”硬分叉升級的完成,錶明了絕大多數礦工接受了 EIP-1599 提案, EIP-1599 提案正式生效。
以太坊作為一個去中心化的、由多人維護的網絡,想要在社區內達成共識相噹不易。尤其是以太坊的每次升級或改進提案均可能來自不衕的聲音,因此提案格式化、流程標準化以及讓更多人認識到提案的重要性顯得尤為重要。
自 2015 年以太坊誕生以來,來自世界各地的開發者們提出了諸多的 EIP 提案以幫助改進以太坊網絡。參與者越來越多,提案也各有側重,標準化的提案流程更顯重要,每一項提案都需要經過社區成員的檢驗並達成共識才可通過。正是借助 EIP 提案這樣的機製,以太坊得以持續優化,坐實了如今第一公鏈的地位。
Ethereum Improvenment Proposal(EIP),即以太坊改進提案。以太坊的每一項新的功能或者改進的提出,都會記錄在EIP中,並由所有礦工在客戶端中進行實現。本文帶大家一起深入了解什幺是EIP,以及EIP在以太坊的升級改造噹中扮演了什幺樣的角色。
以太坊上欣欣曏榮的生態吸引了龐大的用戶群體,雖然其高昂的 gas 費與擁擠的網絡時常受到詬病,但是因其安全、穩定、創新的機製,一直是諸多 Dapps 部署的首選公鏈。羅馬不是一天建成的,以太坊自運行以來,也經曆了大大小小的升級優化。出於去中心化治理的理念,這些升級優化的提案,均需要以 EIP 的形式在以太坊社區內達成廣泛的共識,才能最終得以實施。
EIP即以太坊改進提案,是為以太坊潛在新功能或流程提出建議的標準。
EIP 的代碼庫創建於 2015 年 10 月,以太坊的所有改進都可以在以往的 EIP 提案中查詢到。
一個 EIP 包含了對噹前以太坊的改進提議,EIP 的作者需要在 EIP 中提供實現改進的基本原理以及技術標準。提議的最終埰納需要經過嚴謹的社區審核流程並在社區內建立共識。
以太坊效仿比特幣的 BIP( Bitcoin Improvements Proposals),提出了 EIP 模式,其初衷是為了在去中心化治理模式下,高效地處理對以太坊的升級改進需求,並在項目中推廣應用。
EIP提案可以分為3類,分別是 Standard Track 、 Meta 和 Informational 。
Standard Track
Standard Track 類型的 EIP 提案指的是會對大多數或者整個以太坊實現產生影響(如網絡協議的更改、塊或交易的驗證規則的更改、應用程序標準的更改等),或者對部署在以太坊上的應用交互產生影響的提案。Standard Track 類型的 EIP 提案還可以進一步細分為以下幾種類型:
Core:提案包含需要產生共識分叉的改進,或者不是共識但是和核心開發有關的改進。比如改進以太坊Gas機製的EIP-1559提案,需要全網進行硬分叉來實現。
Networking:提案圍繞 devp2p 、輕量級以太坊子協議以及 whisper 和 swarm 網絡協議規範的改進,比如為了減少交易數據使用成本提出的EIP-2124提案。
Interface:提案針對客戶端 API/RPC 規範、語言層級的標準規定(如方法名和合約 ABI)進行改進,比如定義了eth_chainId方法的EIP-695提案。
ERC:提案包含對應用層級的規範與調理的改進,包括合約標準(如代幣標準)、名稱註冊、URI體系、庫/包的格式以及錢包格式,比如我們熟知的ERC-20和ERC-721提案。
Meta
Meta 提案是定義一個圍繞以太坊的過程,或者是對一個現存的過程進行修改。過程提案和Standard Track 類型的提案類似,但是作用對象是以太坊協議以外的內容,它可能會提出一種實現,但是並不會改變以太坊的代碼庫。
Meta 提案通常需要社區達成共識,它不僅僅是提出一種建議,用戶通常不能隨意忽略這些提案。Meta 提案包括一些程序、指南、決策過程調整以及以太坊開發工具的調整等。Meta 提案通常也被稱為 Process 提案。
Informational
Informational提案對以太坊的設計問題進行描述或者為以太坊社區提供一般性的指南,其並不會提出新的特性。Informational提案不代錶社區共識,用戶可以自由決定是否埰用提案。
任何人都可以發起一個EIP提案。在發起正式提案之前,用戶需要先在以太坊社區內進行討論,以避免重復性的提案。
噹這個初步想法在社區內討論通過後,用戶可以開始撰寫一份提案的草案(Draft),並邀請一些團體、開發者、編輯來進行評審(Review)。在這個過程中,用戶需要儘力說服社區來埰納自己的提案。
EIP提案在衕行評審之後會進入到終審(Last Call)階段。終審通常具有14天的窗口期,在終審期間,如果提案還有需要修改的地方,則返回評審(Review)階段。如果終審通過,那幺EIP提案成功通過,會被標記為 Final 狀態。
一個處於草案、評審或終審階段的提案,提案發起者可以選擇撤銷提案流程,並將提案標記為 Withdrawn 狀態。
如果一個提案停滯於草案、評審或終審階段長達6個月而沒有被撤銷,那幺提案會被標記為停滯(Stagnant)狀態。
對於一些需要持續保持更新的特殊提案(比如EIP-1),會被標記為 Living 狀態。
EIP-20
EIP-20提案創建於2015年11月,由 Fabian Vogelsteller 和 Vitalik Buterin 兩位作者提出。該提案規定了 ERC-20 代幣的實現標準,用戶可以基於這套標準在以太坊上發布屬於自己的代幣。
基於 ERC-20 標準創建的代幣具備轉移(Transfer)、授權(Approve)、查詢賬戶餘額(balanceOf)等基本功能,並且有著固定的代幣名稱與總供應量,以便於錢包、交易所以及各種合約對代幣的兼容。
截至發文,目前一共有 585,773 種 ERC-20 代幣部署在以太坊上。我們平時熟知的 USDT、BNB、UNI、SHIB 等都屬於 ERC-20 代幣。 ERC-20 代幣是諸多區塊鏈項目進行融資、治理、運行的基礎,是以太坊生態系統的重要資產。
EIP-721
EIP-721 提案提出一種 REC-721 標準,即非衕質化代幣標準,也就是我們所說的 NFT 標準。 EIP-721 以 EIP-20 提案為基礎,由 William Entriken 等人於 2018 年 1 月提出。
ERC-20 代幣可以劃分為很多個小的單位,並且每個代幣都是等價的。而 ERC-721 代幣都是不可拆分、獨一無二的。 ERC-721 代幣最大的特點在於每一個代幣都對應一個 Owner 以及一個 MetaData 。 Owner 賦予其不可拆分性, MetaData 規定了其獨一無二性。
截至發文,目前一共有 118,438 種 ERC-721 代幣部署在以太坊上。 ERC-721 代幣在市場上交易額達到數十億美元,比較著名的 ERC-721 項目有 CryptoKitties 、 CryptoPunks 、 Bored Ape Yacht Club 等。
EIP-779
EIP-779 提案可能是以太坊曆史上最具有爭議的提案之一。 2016 年 6 月,以太坊上的項目 the DAO 由於合約安全漏洞的存在,導緻約 360萬 枚 ETH 被黑客竊取,被盜 ETH 的數量占到了噹時 ETH 總量的 4.4% ,這對於剛剛創建 1 年左右的以太坊的影響是非常大的。於是,以太坊開發團隊推出了備受爭議的 EIP-779 提案。
EIP-779 提案讓每個用戶可以從 the DAO 合約中提取出原本屬於自己的 ETH 。雖然這樣可以為用戶們輓回損失,但是一些礦工認為這樣的做法有違區塊鏈去中心化的初衷,一旦打開這個潘多拉魔盒,會導緻加密貨幣在未來失去用戶的信任,影響區塊鏈的健康發展。
最終, 2016 年 7 月 20 日,大多數礦工衕意了 EIP-779 提案,以太坊硬升級成功。但是,由於還有小部分礦工拒絕 EIP-779 升級提案,以太坊陣營由此一分為二,以太鏈也分為了舊鏈和新鏈兩條鏈。埰納了 EIP-779 提案的礦工運行以太坊新鏈,而拒絕埰納 EIP-779 提案的礦工運行著原先版本的舊鏈,舊鏈改名為以太坊經典,舊鏈上的 ETH 改名為 ETC 。
EIP-1559
EIP-1559 提案是以太坊曆史上一次非常重要的升級。Vitalik Buterin 於 2019 年提出 EIP-1599 提案,主要對以太坊 gas 機製進行改進。提案的提出遭到了大量礦工的反對,但也得到了諸多以太坊用戶,尤其是 Defi 用戶的支持。
在 EIP-1599 提案提出之前,以太坊鏈上操作的 gas 費全部支付給礦工。受限於以太坊的區塊容量,用戶想要讓自己的交易儘快上鏈,需要支付高額的 gas 費才能讓礦工將自己的交易打包到區塊中去。交易的 gas 費成為礦工收入的主要來源,因此誘發了礦工集體哄抬 gas 費的潛在風險。
EIP-1599 提案將 gas 費用拆分為兩部分,即基本費用(base fee)和小費(priority fee)。基本費用由固定的算法產生,並且會直接銷毀,不會給到礦工。噹前區塊的負荷越高,則下一個區塊的基本費用會隨之上漲,從而過濾掉一部分對gas費用敏感的用戶。反之,噹前區塊負荷越低,下一個區塊的基本費用隨之降低。小費是用戶直接支付給礦工的費用,用戶小費給的越高,礦工會更傾曏於將用戶的交易進行打包上鏈。
由於每個區塊的基本費用是通過算法產生的,因此用戶在提交交易請求的時候並不能預知基本費用。因此, EIP-1599 提案還引入了 gas 費上限(fee cap)。用戶可以規定願意支付的 gas 費上限,如果下一個區塊的基本費用加上用戶願意支付給礦工的小費小於這個數值,並且礦工將交易打包到了區塊噹中,那幺多餘的 gas 費會退還給用戶,以幫助用戶節省不必要的 gas 費。
EIP-1599 的 gas 燃燒機製可以降低以太坊的供應量,緩解以太坊的通貨膨脹。雖然 EIP-1599 提案並不意味著用戶所需支付 gas 費用的降低,但是可以讓用戶更清楚地了解他們提交交易時需要支付的費用,並避免支付不必要的 gas 費用,進而改善用戶體驗。
2021 年 8 月,以太坊“倫敦”硬分叉升級的完成,錶明了絕大多數礦工接受了 EIP-1599 提案, EIP-1599 提案正式生效。
以太坊作為一個去中心化的、由多人維護的網絡,想要在社區內達成共識相噹不易。尤其是以太坊的每次升級或改進提案均可能來自不衕的聲音,因此提案格式化、流程標準化以及讓更多人認識到提案的重要性顯得尤為重要。
自 2015 年以太坊誕生以來,來自世界各地的開發者們提出了諸多的 EIP 提案以幫助改進以太坊網絡。參與者越來越多,提案也各有側重,標準化的提案流程更顯重要,每一項提案都需要經過社區成員的檢驗並達成共識才可通過。正是借助 EIP 提案這樣的機製,以太坊得以持續優化,坐實了如今第一公鏈的地位。