以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > Ethereum > Info

合并前夜 回顧以太坊協議層的七年之變_ETH:以太坊

Author:

Time:1900/1/1 0:00:00

回溯歷史,通往“世界計算機”的每一步都印在那密密麻麻的code里。

作者:freeyao

什么是以太坊

什么是以太坊?一千個人有一千個答案,而本文想探討的是最為一致的答案,即以太坊的協議是什么?或用更技術地描述——如果要開發以太坊的客戶端(PoW鏈/ETH1),我需要依照什么規則?

你沒法找到一份規范描述以太坊當前的共識規則,因為以太坊的協議是通過增量更新來描述的。以太坊黃皮書描述了創世時的完整協議,而每一次協議變更都稱為一次硬分叉(當然,也有人嘗試用「網絡升級」這個表述),需要所有的客戶端更新代碼。簡而言之,以太坊通過硬分叉來實現協議層的變化,變化的最小單元被稱為以太坊改進提案(EIP,EthereumImprovementProposal),一次硬分叉包含一組以太坊改進提案。本文將回顧以太坊的歷次硬分叉及其中包含的改進提案,試圖展現過去的七年中以太坊究竟做了什么。

歷次硬分叉介紹

概況

以太坊的歷次硬分叉可以通過此頁面查看。自2015年7月30日上線起,共進行了14次硬分叉,包含39個EIP。間隔最近的兩次硬分叉是26天,間隔最遠的兩次則是490天。

硬分叉分為「主動升級」和「被動升級」。主動升級指的是開發團隊主動對以太坊協議的修正,而被動升級則是「不得不」采取的行動,以應對潛在的安全性風險。被動升級至少包括「DAOFork」、「TangerineWhistle」、「SpuriousDragon」、「MuirGlacier」、「ArrowGlacier」、「GrayGlacier」,它們或處置黑客盜竊(DAOFork),或應對DDOS攻擊(TangerineWhistle,SpuriousDragon),或僅僅處置難度炸彈(MuirGlacier,ArrowGlacier,GrayGlacier)。而「主動升級」大致符合白皮書的規劃,Frontier(Frontier,FrontierThawing)、Homestead、Metropolis(Byzantium,Constantinople/Petersburg,Istanbul),而Berlin和London則是以太坊路線圖變更后的過渡性升級。此外,多次主動升級也包含了推遲難度炸彈的選項。

FTX:以太坊合并期間ETH和AAVE、UNI等ERC-20 Token存款和取款將至少暫停30分鐘:金色財經報道,由于以太坊網絡本月將進行兩次重要更新,FTX 用戶至少有 30 分鐘無法向平臺提取或存入任何 ETH 或 ERC-20 Token。據 FTX 稱,以太坊 Bellatrix 更新計劃于 9 月 6 日進行,而合并預計將在 9 月 15 日進行,期間該平臺將暫停客戶對某些 Token 的存款和取款,比如AAVE 或 UNI 等以太坊區塊鏈原生代幣。 FTX 還宣布,如果礦工決定分叉以太坊以在合并后保持以太坊工作量證明鏈運行,該交易所將根據分叉快照時的 ETH 余額向用戶提供分叉的 ETH Token,他們也將考慮是否在以后上架分叉 ETH Token。(cryptobriefing)[2022/9/6 13:11:11]

硬分叉是如何達成共識的呢?盡管關于硬分叉的協商并無成文規定,而是依照某種社區慣例進行,但其流程發生過一次變更,標志性事件是MartinHolstSwende提出了「以EIP為中心的升級」。這種新的硬分叉協商機制首次在Berlin升級使用,并避免了一次大型失誤,細節將在后文中介紹。

代表性硬分叉解讀

歷次硬分叉背后蘊含著一些代表性事件,頗具戲劇性,包括DAO分叉、上海DOS、雙堡奇緣和拆彈危機。

DAO分叉

以太坊官網:合并不會降低gas費用,質押提款將在上海升級后啟用:8月17日消息,以太坊基金會推出的以太坊官網ethereum.org在以太坊升級指南中闡明關于合并的誤解,內容包括:1.“運行一個節點需要32枚ETH”的說法是錯誤的,任何人都可以自由地同步自己的以太坊的自驗證副本(即運行一個節點),不需要使用ETH,無論合并前后。2.合并是共識機制的改變,不是網絡容量的擴大,也不會降低gas費用。3.“合并后交易會明顯加快”的說法是錯誤的,盡管存在一些細微的變化,但L1的交易速度將基本保持不變。4.合并后并不會立刻啟用質押提款,之后的上海升級將啟用質押提款。5.上海升級后,費用獎勵將記入驗證者控制的主網賬戶并立即可用。6.啟用提款后,出于安全原因,驗證者/質押者退出的速率會受到限制。7.更多最新的估計預測,合并后質押APR接近50%,而不是200%。 8.合并升級旨在以零停機的狀態過渡到權益證明。[2022/8/17 12:31:25]

DAO分叉事件是以太坊發展過程中最為深遠的一次事件。由于theDAO的智能合約被黑客攻擊,約360萬ether被黑客盜走,但有28天的凍結時間。在這期間,借助Carbonvote,持幣者表達意愿,以太坊基金會決定將這部分資金轉移到新的智能合約,允許投資者提款。此次分叉產生了EthereumClassic,也引發了大量的社會爭論。

上海DOS

Yearn Finance宣布此前合并的各協議將獨立運行,因造成社區混亂等問題:2月25日消息,收益聚合協議Yearn Finance發布公告表示,該項目曾在2020年底進行多個項目合并,包括SushiSwap、CREAM Finance、Akropolis、Pickle Finance等,盡管各個項目團隊之間進行了強有力的協作并取得了許多成功,但這些項目從未成為真正的合并實體,這在各自的社區內造成了混亂、角色和責任的不確定性,并減緩了決策制定。

因此,未來每個協議將獨立運行,同時與 Yearn 和彼此保持合作伙伴關系。此外,Iron Bank 還將作為一個獨立項目運營,擁有自己的溝通渠道和前端,同時繼續作為 Yearn Vaults 的流動性合作伙伴。(medium)[2022/2/26 10:16:46]

在Devcon2期間,以太坊核心開發者們齊聚上海,但以太坊網絡卻遭遇了大量的網絡流量攻擊,造成了拒絕服務(DOS)。由于EXTCODESIZE操作碼所消耗的實際系統資源遠高于攻擊者所需支付的手續費,攻擊者反復調用該操作碼,造成全網大多數節點無法追上最新區塊。開發者們一面協調礦池和全節點啟用受影響較小的Parity客戶端,一面協商降低區塊gas(從5M降低至1.5M)。最終,借助TangerineWhistle和SpuriousDragon兩次硬分叉調整了相關操作碼的價格,并做了狀態清理,才緩解了DOS攻擊的影響。這次硬分叉還帶來了后續影響,由于對EIP-161(納入在SpuriousDragon中)的實現不當(Go-ethereum和Parity各自錯誤地做了實現),造成了共識分叉。

加密公司Apex Clearing將通過反向合并在納斯達克上市:美國金融結算執行公司及加密貨幣初創公司Apex Clearing表示,將通過反向合并Northern Star Investment Corp II進行公開募股。在與Northern Star達成交易后,Apex將在納斯達克上市。據悉,Northern Star是由NHL紐約島人隊(New York Islanders)的所有者Jon Ledecky支持的空白支票公司,此次交易將使Apex的估值達到47億美元(包括債務)。此前消息, Apex Clearing及其加密投資子公司Apex crypto為經紀商和金融顧問推出了一個新的交易平臺,幫助他們的客戶更有效地進行加密交易。(FinanceMagnates)[2021/2/23 17:41:08]

雙堡奇兵

你也許會好奇為什么在7280000高度會有「君士坦丁堡」和「彼得堡」兩個分叉,仔細觀察會發現兩者的差別就在于「彼得堡」移除了EIP-1283。

根據ChainSecurity的報告,EIP-1283會為部分合約引入重入攻擊的風險。TrailOfBits給出了更詳盡的分析并提供了可能受影響的合約列表。在硬分叉激活前32小時,以太坊基金會發文提醒節點升級或降級以推遲君士坦丁堡升級,隨后發布新版本引入彼得堡硬分叉,客戶端需要將「雙堡」配置在同一塊高或禁用君士坦丁堡硬分叉。

動態 | 針對Bitfinex及Tether的四項集體訴訟已被合并:金色財經報道,根據紐約南區法院(SDNY)于1月24日發出并于1月27日提交的命令,針對Bitfinex、Tether和其母公司iFinex的四起集體訴訟已被合并。原告認為,這些公司在2017年底共同創造了比特幣價格泡沫。現在,原告Leibowitz、Young、Faubus和Ebanks以及所屬各相關方的案件將被聯合審理。[2020/1/28]

拆彈危機

為什么MuirGlacier和Istanbul兩次硬分叉之間只有26天,這是因為核心開發者們錯誤計算了難度炸彈的爆炸時間,導致在Istanbul中未納入推遲難度炸彈的提案。等到發現難度炸彈即將要對網絡產生影響時,第76次核心開發者會議迅速接受了EIP-2384,并納入到MuirGlacier硬分叉中。

硬分叉決策流程變更

硬分叉是如何決定的?實際上以太坊長期缺少成文文檔,更多依賴「社會共識」。EIP-233試圖規范分叉的正式流程,但并未被接受。

盡管本文無法展現以太坊社區對硬分叉決策流程的討論,但以太坊的硬分叉決定流程顯然發生過變化。在Berlin硬分叉之前,開發者首先確定硬分叉的時間,再決定要納入哪些EIP,確定之后再進行實現和測試。Berlin前的每次硬分叉都是一個MetaEIP,例如Istanbul硬分叉通過EIP-1679定義(簡稱HFM-1679)。

MartinHolstSwende提出了EIP為中心的硬分叉流程,其核心觀點是將EIP的接受與硬分叉剝離,核心開發者聚焦于單個EIP的認可、實現和測試,當單個EIP被接受后,后續的硬分叉可選擇納入該EIP。盡管在寫作過程中尚未找到該流程是如何被以太坊核心開發者接受的,但是Berlin硬分叉棄用了HFM-2070,而是采納了Martin提出的流程。

決策流程的變更很快就發揮了作用,在Berlin硬分叉測試網激活前兩周,圍繞EIP-2315的廢留,開發者們展開了激烈的爭論并最終移除了EIP-2315。由于新流程的采納,最后時刻的變更并未對硬分叉造成太大影響,并最終按期進行。更多細節可參考本人撰寫的《移除EIP-2315:以太坊柏林升級前的緊急剎車》

不是改變的改變

值得一提的是,以太坊的區塊空間上限(Blockgaslimit)并非共識的一部分。礦工有權更改區塊空間上限,每個區塊的上限變化最多為0.1%。不去硬編碼這個數值主要是為了避免潛在的攻擊風險。該數值變化的歷史可參見MyCrypto撰寫的研究報告。

EIP深入分析

這些EIP對以太坊究竟造成了什么影響,又是誰影響著以太坊的決策呢。本文整理了以太坊硬分叉中納入的所有EIP(不包含元提案),詳見鏈接。

https://primitiveslane.notion.site/cbd45cf0289c414b86715b8a9e71b28e?v=838baf2ac3a442a6b3fa03e58c5dc0ae

EIP都在做什么

納入硬分叉的EIP的類型主要包含計費模型變更、新操作碼引入、難度炸彈、經濟模型、預編譯、安全考慮等。

計費模型變更

計費模型變更是數量最多的EIP,共有10個,占25.6%。其通過增減操作碼的單價,以平衡gas消耗和實際占用系統資源的不匹配,可消除系統被DOS攻擊的隱患,或是有利于特定類型應用的部署。一部分DOS隱患是因為對系統資源的錯誤估計造成的,EIP-150和EIP-160解決了這個問題;而另一部分DOS隱患則是系統的固有特性,伴隨著狀態數據增長,訪問狀態數據的實際資源消耗也隨之增長,因此需要定期調整相應操作碼的單價,典型的有EIP-1884(我認為寫得最好的EIP之一)。

由于以太坊的狀態表示模型,計費模型必須定期調整,這是特性,而非故障。

新操作碼引入

共有9個EIP為以太坊虛擬機引入了新的操作碼(不含EIP-1884),占23.08%。其中比較有影響力的包括EIP-7(DELEGATECALL),EIP-1014(CREATE2),EIP-3198(BASEFEE)等。

難度炸彈

共有6個EIP在推遲難度炸彈,占15.4%。有2次硬分叉伴隨著經濟模型的調整,即降低新區塊獎勵。其中有3次僅為了推遲難度炸彈而實施的分叉,即名字中帶有Glacier的硬分叉。有關難度炸彈的歷史,可見原語里弄的報告。

經濟模型

有4個EIP對經濟模型有影響,2個降低了新區塊獎勵,1個調整了難度計算模型(EIP-100),此外引發較多爭議的EIP-1559調整了手續費市場。

預編譯

有4個EIP將一些密碼學操作預編譯,因此無需在EVM中執行,提升運行效率。包括EIP-152,EIP-196,EIP-197,EIP-198。

安全考慮

有3個EIP是出于安全考慮的,包括重放攻擊保護(EIP-155),狀態前綴樹清理(EIP-161),合約代碼大小限制(EIP-170)。

其它

其它EIP還包括網絡協議改進(EIP-8),增加交易執行狀態接口(EIP-658),增加新的交易類型(EIP-2718)等。此外,EIP-2包含了Homestead的所有更新,較為復雜。

誰為EIP做貢獻

共有43人,77人次參與了這些EIP的撰寫,其中參與2個以上(含)EIP的作者有11個。VitalikButerin參與撰寫的最多,共17個,占43.6%。MartinSwende和ChristianReitwiessner各參與5個,AlexBeregszaszi和JamesHancock各參與3個,其余人參與的個數均不超過2個。

MartinSwende是以太坊基金會安全負責人,Go-ethereum工程師,EIP為中心的硬分叉流程的提出者;ChristianReitwiessner是Solidity語言的發明者。

另外有趣的是在新的硬分叉流程實施之后,EIP作者的數量發生了顯著變化,這或許說明新的流程提高了EIP的參與度。Berlin之前,28個EIP,43人次,平均每個EIP有1.54個作者;Berlin之后,11個EIP,34人次,平均每個EIP有3.09個作者,增長了一倍。

總結

本文介紹了以太坊歷史上的歷次硬分叉,解讀了幾次硬分叉背后的代表性事件,并詳細描述了以太坊硬分叉決策流程向EIP為中心的轉變。文章還深入分析了歷次硬分叉中的EIP所發揮的作用以及他們背后的貢獻者。

以太坊即將迎來新的時代,往事涌上心頭,讀者朋友,你有何感受?

Tags:以太坊ETHTHEHER以太坊價格ETHY幣Ethernal FinanceNuCypher

Ethereum
《時代》雜志:為何以太坊合并很重要?_區塊鏈:CRYP

撰文:AndrewR.Chow來源:TIME,編譯:南風當以太坊區塊鏈完成被稱為“合并”的軟件更新時,Crypto歷史上最重要的轉變之一將發生.

1900/1/1 0:00:00
Web3.0:開放、公平、普惠的下一代互聯網技術 對話邊界智能創始人兼CEO曹恒_WEB3.0:有人拉你做區塊鏈

下一代互聯網是什么樣子?Web3.0應該怎么定義?構建在人工智能、區塊鏈、數字隱私保護、虛擬現實等新技術之上,Web3.0正在打通數字世界與現實世界,推動更多產品、產能、產業涌現.

1900/1/1 0:00:00
金色晨訊 | 9月20日隔夜重要動態一覽_區塊鏈:DEFI

21:00-7:00關鍵詞:OWCVentures、Binance、Coinbase1.OpenWebCollective宣布成立名為OWCVentures的新部門.

1900/1/1 0:00:00
社交代幣設計的 10 個要點:如何解決「社交代幣悖論」問題 ?_BIT:bitkeep收了u怎么查賬

邁出建立社交代幣網絡的第一步。原文標題:《社交代幣設計過程中的10個關鍵學習點,回答「社交代幣悖論」問題?》撰文:MengyaoHan 編輯:Skypiea 人類歷史發展過程中充斥著各種失敗的經.

1900/1/1 0:00:00
以1000%年化利率借ETH來獲得空投 到底劃不劃算?_ETH:WETH

如果你對未來的不確定性感到不安,那么最好撤回ETH,不要參與其中原文:《EulerFinance創始人:在合并之前打算借入ETH的投資者,請留意這些問題》撰文:MichaelBentley.

1900/1/1 0:00:00
如何把握以太坊合并“準確時間”?TTD 了解一下..._ripple:以太坊

9月,我們將一起見證以太坊“合并”完成。“合并”是以太坊2.0升級過程中的重要步驟之一,具體來說是推出“分片鏈”之前進行主網與信標鏈權益證明系統的“合并”,這將讓“挖礦”在以太坊網絡成為歷史.

1900/1/1 0:00:00
ads