以太坊下一次硬分叉升級(伊斯坦布林):或涉及狀態租賃手術
在本月底,預計以太坊會迎來它的“君士坦丁堡”硬分叉升級,關於這一被延遲的升級計劃,相信很多朋友應該有所瞭解了,對於大多數市場參與者而言,其最大的影響便是以太幣的區塊獎勵將降低1/3(3ETH變為2ETH),而在以太坊Core開發者的第55次視訊會議上,開發者們表示這次升級預計會很順利,當然,也有人預測稱,因為CREATE2的影響,這一升級還將被延遲 =。=
但這不是本文要討論的話題,筆者想要討論的,是以太坊的下一次硬分叉升級((:◎)≡)。
以太坊創始人Vitalik在twitter上確認稱,以太坊的下一次硬分叉升級,將會使用伊斯坦布林(Istanbul)這一名稱,那麼,這一升級會有哪些內容值得我們關注呢?
我們可以先來了解一下它的初步預估時間線,然後再談談目前已知與之相關的升級內容:
2019-05-17(週五):這是伊斯坦布林(Istanbul)升級提案內容的最後確認時間,在這個時間點之前,任何人都可提交相關提案,至於是否會被接受,便要看開發者社群的共識了。
2019-07-19(週五):這是以太坊主要客戶端實施伊斯坦布林相容的軟截止日期; 2019-08-14(週三):預計的測試網升級伊斯坦布林(Istanbul)日期; 2019年10月16日(星期三):以太坊主網進行伊斯坦布林(Istanbul)硬分叉升級的預計日期;
關注最新開發者會議的朋友,會注意到,有開發者談到了 EIP 1418 (狀態租賃)這一提案,這也有可能會是第一個被納入伊斯坦布林(Istanbul)硬分叉的升級提案(如果不是,類似的狀態租賃提案也會被考慮)。
EIP 1418是個啥?
這一EIP的標題為《區塊鏈儲存租賃支付》,它是由William Entriken提出的,其吸取了AlexeyAkhunov以及lrettig等人的區塊鏈狀態租賃想法。
William提出這個EIP的動機是這樣的:以太坊的狀態大小當前已經是非常龐大了,如果其繼續以目前的速度增長,以太坊網路將變得異常臃腫。而我們正在低估儲存的長期成本,儲存成本可以近似地建模為:位元組*時間,因此,我們有必要對當前以太坊的狀態設計進行改動。
經濟學背景和常量
在2015年執行的一個‘ SSTORE
’操作,耗資了20,000 gas,並存活了約600萬個區塊。gas的價格一直在1~50 Gwei左右( 1ETH = 10億Gwei
),到目前為止,基本上每個字塊(word-block)的耗費為4,000 Wei。也許儲存一個帳戶要比儲存一個詞要密集10倍。但實際上,G_transaction是21,000 Wei,而G_sstore則是 20,000Wei,所以它們是相似的,它們都可建立新的帳戶/詞(word)。
那它們又咋樣呢:
* RENT_WORD_COST (租賃成本,單位為Wei,為每個字塊(word-block)付費) -- 4,000 Wei * RENT_ACCOUNT_COST -- (租賃成本,單位為Wei,為每個賬戶塊(account-block)付費)4,000 Wei * RENT_STIPEND (租金的數額,單位為Wei,觸碰便記到賬上。)-- 4,000 Wei * 區塊的360天值
租金是用以太幣定價的,它不是由客戶端協商的,也不是動態的,而是線性的。為什麼這是個好主意?因為現在以太坊是一個有多個自由變數(以太幣/gas價格、gas/操作碼成本、以太幣/區塊獎勵。)的系統。所以最終的結果是,我們可固定其中一個值,這樣便可以了。
通過設定以太幣的租金價格,並根據浮動利率設定現有的gas價格,黃皮書中的隱含價格設定為4 Gwei。
該狀態租賃方案會帶來的問題
這一提案會有一個360天的過渡期(與RENT_STIPEND有關),它需要通過硬分叉的方式進行部署(伊斯坦布林符合這一條件)。此外,使用者需要接受科普,這不會是個簡單的任務,因為其概念本身就很複雜。
狀態租賃的首位提出者Alexey Akhunov還曾提到:
“不幸的是,在我看來,大多數合約都需要重新編寫、重新部署以及重新填充資料。”
顯然,狀態租賃會是一個非常大的手術,而且根據以太坊2.0的路線圖來看,狀態租賃也將在以太坊2.0層(目前的計劃是在 階段2)進行部署,但兩者的機制會有不同。
這種技術方案,對於以太坊的可擴充套件性和可持續性而言是非常重要的,但其本身也會對使用者造成困擾。好在,距離伊斯坦布林升級的提案截止日還有將近3個月的時間,開發者和社群參與者們能否順利將狀態租賃方案安利進以太坊1.0主網,這會是一個令人期待的發展。
參考資料:
https://github.com/ethereum/pm/issues/77#issuecomment-463715937
https://github.com/ethereum/EIPs/issues/1418
以太坊進化之路:ETH2.0工程指南(https://www.8btc.com/article/347489)
https://www.8btc.com/article/329211