2021 以太坊社區 Meetup :The Merge 重點摘要
10 月 26 日,ECN 攜 togETHer 的社區夥伴 (ETHPlanet/DAOSquare/原語裏弄/Hiblock/Rebase/BTCU) 在上海舉辦了以太坊社區 Meetup,現場氣氛活躍,幹貨滿滿,對多個主題進行了討論,包括 EIP-1559、以太坊2.0、MEV、DAO、區塊鏈安全等。ECN 特此將這些內容整理成文分享給大家,希望能增進社區對以太坊的了解和思考。
下面是以太坊基金會 Eth2 研究員 Hsiao-Wei Wang 的主題分享《以太坊 The Merge 重點摘要》的文字及演示整理,講解了以太坊當前最重要的合並工作的細節、大致時間以及相關影響。
我從比較技術的角度來介紹什么是合並 (The Merge)。
從宏觀的角度來說,大概是這樣。兩個不同系統的融合。
我們過往都稱以太坊的 Proof of Stake 以及 sharding 的研究叫 Eth2。那它們的客戶端开發就叫 Eth2 client。那反而就是反推回來,就是把現在的 Proof of Work 的工作量證明的鏈叫 Eth1。那關於這個品牌的重新命名,我們把它 rebrand 了一番,變成以合並後的功能為名。我們的 Proof of Work 鏈,我們抽取出它的 execution layer,就是這個執行層。Eth2主要會負責未來的整個核心的共識層,那我們叫 consensus layer。當這兩者真正合二為一,就變成一個完整的 Ethereum。
那當然了,也許未來會有Eth3、Eth4,那個就交給後人去設計。
現在來看一下目前區塊,還有未來的區塊有什么樣的差異?
首先這張圖是 execution layer 的部分。上面的圖就是目前的 Proof of Work 鏈。外面是一層Proof of Work的共識層包裹,包住裏面的 execution layer。那其實是稱呼名稱的不同,你可以就把它想象就是execution layer的這個核心 engine 就是 EVM, 大家用的 Ethereum Virtual Machine。那裏面有 state root ,去記錄我們每個用戶自己的account,我們叫做 account state 的記錄。那大家的合約狀態和合約代碼都會被記錄在這個鏈的歷史資料中。那合並後,我們是將這個 execution layer 的核心抽取出來。我們不需要外層的Proof of Work的共識去維護了,以後就是Proof of Work mining,就挖礦的相關欄位將會被棄用。比如說像這個 mixhash 或者是 difficulty 這些欄位未來會被棄用。未來的欄位會相對簡單一點,就主要都是為了服務 EVM 所需的資料。那可能可以稍微注意一下。就是這個transation 的邏輯層都是在 EVM 會被解讀出來和執行的。
然後是合並後的區塊。
合並後會有兩個state root,一個是 consensus layer的 state root,一個是內層state。那這個內層 state root 就是execution layer 的state root 就是我們目前 EVM 那個 merklized 後的 hash 值。
這整個execution layer就是如上一張圖所示,那外層的這個state root 則是我們的信標鏈的state root。beacon chain 上並沒有交易的邏輯層。我所說的交易是指比如說a 轉給b 十個 Ether 這種交易。在目前的信標鏈上沒有這個邏輯層,它有的是,比如說我們的驗證投票的記錄,以及一些驗證者指令,比如存款和提款的記錄。
那下面這張表就是比較一下這個 execution layer 和 consensus layer。EL 就是execution layer,CL 就是 consensus layer。主要功能剛已經講過。關於未來分叉,就是 fork choice (分叉選擇), 決定哪一條鏈是我們主鏈的規則,以後會用 LMD-Ghost 去實現。在過往大家都知道,就是最長鏈會主導鏈的走向。那未來就是用 LMD-Ghost。在初期,為了簡化,我們的交易池架構是不會改變的。所以說用戶一樣在送出 transaction 的時候,用一樣的邏輯一樣的 API 就可以和客戶端做溝通。
兩者的networking 邏輯也不一樣。一個是使用目前的 devp2p 與其他執行層的節點連线,這連线傳送的資料就是 transaction 的廣播。那另外一邊 CL 層,我們會用 libp2p 和其他的CL 節點做連线。所以說,在初期,至少在第一個版本的合並,客戶端可能會要开比較多的port 出去,也會接收比較多的 port 回來。
比較重要的是,對於 CL 而言,鏈上區塊會有交易的資料層。這個資料層只有二進制數據的形式,而不是清楚的業務邏輯,就是像 A傳給 B 10 個 Ether 這種邏輯,這種邏輯不會被明確寫在 consensus layer 的資料之中,而是會用二進制數據的方式,然後再去給execution layer做解讀。這是一個 execution layer 的抽象化。engine 未來可能不是 EVM,也許是其他未來版本,與未來的設計更兼容的設計。
提問:在merge 以後,比如說我在 Defi 裏面要去執行一個transaction,那他的這個記錄我還是可以正常的通過 Etherscan 查看,顯示的只是 EL 的這個信息了,對吧?那主流的這種查詢工具會不會把 CL 的這種信息也展現出來呢?會做區分嗎?
回答:有些欄位可能我們以後未來會新增upcode 去讀取 CL 的資料。
也許會存一些比如在 CL 上叫 black root,在 EL 上是原本的 black hash,也許 EVM 可以讀取一些 black hash 的資料。也許未來會增加 CL 上的 black root 上去。類似這種 upcode,如果有需要,未來可能有 EIP 擴充。
回到演講。
這張圖是 merge transition 的過程。
那我們可以看到上面是目前正在運行中的 Proof of Work。
左下前面兩個區塊就是merge 之前的 beacon chain。請注意裏面是空空的,那在某個時間點,就是客戶端准備好後,我們會去設定一個指定 terminal total difficulty 的值。那客戶端就會依據這個值去判斷什么時間點合並會發生在哪一個區塊中。
合並之後,Proof of Work 鏈是直接被包裹在整個信標鏈之中的。
所以它沒有消失,只是被包了起來。
這裏大概講一下 API 接口。剛剛也有提到就是兩個信標節點,主要是CL的部分,和下面 execution engine 會有不同的 p2p 接口。
以开發者的角度來看,可能會看的是這個 web3 library。原則上幾乎不會去改動到這個 web3.eth 的 API,反而是新增信標鏈的 API。然後兩個系統之間會用 RPC call 去傳送request 和 response。主要是信標節點會向 execution engine 做請求,請 execution engine 回傳比如說處理過 state root,類似這種要求。
下面是一些大家可能比較關心的問題的總結。
第一個就是什么時候 merge,大家都期待了已經好幾年了。我們其實今年真的有蠻多重大進展的。那在今年十月的時候,我們用的一個初次凍結的規範,interop就是說Eth1 和 Eth2 客戶端能不能夠建接起來,Eth1 和 Eth2 都有附屬的客戶端讓你選擇,那這些全部的客戶端是否能夠變成一個測試網絡。那在interop 中是頗為成功的,就是大部分的客戶端都有加入這個測試網。
目前進行中的是這個叫做 Pithos 的測試鏈。大家有興趣的話,也可以試着嘗試加入。
那我們預計應該下個月會再凍結一版的就規範,在可能趕在節日之前吧。這一版會修正一些interop 中發現的一些小問題。我們再請客戶端去做下一個版本的測試網絡。
目前大家。保守預估就是大概2022年上半年還是蠻有機會去做硬分叉的。難度炸彈也延遲到了明年年中的時間,這是大衆所期待的目標。但是還是要以實際的开發,尤其是測試的狀況為主,去不斷修正這個時間軸。
那剛才提到的這個第一次硬分叉,在 EIP 或是規範上,我們都希望能夠最小化修改架構啊,為了就是要減少开發者去debug。也許一次可能我們不會新增太多 EIP,那後續才會再有一個進一步清理這些沒有做到完美的地方的修正。比如說像是剛剛講過有一些 Proof of Work 的mining 欄位,在未來其實是不需要的。那可能會在 merge 之後的下一次硬分叉把這些欄位清理出來。
那再來是大家都非常非常關注的就是到底什么時候可以提款出來。這個部分設計也會在合並後硬分叉完成。
作為以太坊使用者,在合並後的使用體驗會有什么差異。那首先第一個就是維護的架構會稍微復雜一點。但相信开發者也會封裝成比較容易使用的 container。
對於 dapp 开發者來說基本上是不會有太大差異的。那我記得剛剛聽上一個panel,陳平有提到有些人正在使用 difficulty 欄位,那未來怎么辦?那首先第一點就是說。如果要用這個欄位來產生亂數,如果是龐大的 DeFi 項目的話,即使是硬分叉之前的,也請不要再用。這其實並不是很安全的亂數產生欄位。我們未來可能會有 EIP 去把欄位職能直接用信標鏈的 randao 欄位取代。它一樣有亂數的功能,但是邏輯上它並不是真的這個難力度的值。所以希望是能夠較為滑順地轉移這個使用者體驗。
那對於dapp 服務提供者來說,可能要注意的是,工作量證明和權益證明對最終確定性會有所不同。在工作量證明,我們傳統上它只是幾率上的最終確定性。比如說我們可能類似 Etherscan,也許它設定所有的 block 會從確認中慢慢變成一個一個綠色打勾的模式。就是也許十二個區塊對於這個鏈來說幾乎是完全安全的。但是這其實都是幾率上,因為你隨時可能會有一條更長的鏈去分叉。那整個鏈可能會重組過去。
而對於權益證明,我們有三分之二的驗證者確認的話,就可以有最終確定性了。那一般情況來說,大概十二分鐘會有最終確定性。但服務提供者可能就要根據這些服務的內容去決定到底百分之多少的投票驗證了這條交易,可以算是 ok,大家通過的點。
好,那大概就到這邊。要了解更多的話,可以去參考這些資料。
提問:到時开放提款是提到執行層還是共識層?
回答:目前應該是有功能會直接讓用戶轉移到 EVM 上用戶的余額裏,也許會可以讓信標鏈上的驗證者互相轉账,但目前應該是優先讓用戶可以直接提到 EVM 的狀態上,這樣用戶的使用會比較有彈性。當驗證者存款時,可以在提款憑證裏指定未來提款到 Eth1 的地址。所以說如果你在存款的時候已經設定好的話,提款的時候就可以直接提到那個地址。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
崩!比特幣插針66800、以太坊失守2400美元,美總統「大選前避險」美股全倒
比 特幣昨日最高回彈到約 69,500 美元水平後無法持續攀高,在今(5)日零點後開啟新一波下跌,...
Coinbase「鉅額上幣費」公關危機未平,又遭爆 Armstrong 等高管將再賣9億美元股票
美 國上市加密貨幣交易所 Coinbase 執行長 Brian Armstrong,近期趁幣安陷入...
華爾街大鱷 Bernstein:無論誰當選美國總統,比特幣將在2025突破20萬美元
備 受全球關注的美國總統大選開票將在臺灣時間 11 月 6 日陸續啟動,由於共和黨候選人川普和民主...
備戰美國大選》過去十屆選舉後,美股標普500和比特幣歷史表現如何?
備 受全球關注的美國總統大選即將在臺灣時間 11 月 6 日正式開票,但由於共和黨與民主黨可能帶來...