zombie
> > > >
> > > >

以太坊基金會完整報告:合併後將如何影響以太坊的應用層

2021/12/01 17:02
以太坊基金會完整報告:合併後將如何影響以太坊的應用層

以太坊向 POS(權益證明)的過渡 —「合併」已即將到來:開發網正在建立、規範正在敲定,社群宣傳也加緊腳步展開。合併的目的是最小化對以太坊的終端用戶、智能合約和 DApp 的運作方式產生影響,也就是說,有一些小變化值得強調。在我們深入了解之前,這裡有幾個文章,能夠提供關於整個以太坊合併架構的背景。
路線圖的演變
合併後的客戶架構
這篇文章的其餘部分將假設讀者對上述內容熟悉。而對於那些想更深入了解的人,可在此查閱合併的所有架構。
執行層
共識層
API 引擎

區塊結構

合併後,POW(工作證明)區塊將不再存在於網路中,以前 POW 鏈的內容會成為信標鏈(Beacon Chain)上所創建之區塊的一部分。你可以理解為信標鏈將成為以太坊 POS 鏈的共識層,取代了之前的工作量證明共識層。信標鏈區塊將包含 ExecutionPayloads,它是合併後當前工作證明鏈上的區塊等價物,下圖顯示了這層關係。

對於終端用戶和程式開發者來說,這些 ExecutionPayloads 是與以太坊交互的地方。這一層的交易仍將由執行層客戶端(Besu, Erigon, Geth, Nethermind等)處理。幸運的是,由於執行層的穩定性,合併會帶來極小的破壞性。

挖礦和叔塊場

合併後,以前包含在工作量證明區塊頭中的幾個字段將無法使用,因為它們與 POS(權益證明)無關。為了盡量減少對工具和基礎設施的干擾,這些字段被設置為 0,或其數據結構的等價物,不會完全從數據結構中刪除。關於區塊字段的修改詳細內容可以參考 EIP-3675

由於 POS 並不像 POW 那樣自然產生 omers(又稱「叔塊」),每個區塊中的這些列表將是空的,這個列表的哈希值(omersHash)將成為一個空列表的 RLP 編碼哈希值。同樣地,由於難度和 nonce 是 POW(工作證明)的特徵,考慮到它們的字節大小值,它們都將被設置為0。而另一個與採礦有關的字段 – mixHash,不會被設置為0,而是包含信標鏈的 RANDAO 值。
關於這方面的更多詳細內容請看下面章節內容。
BLOCKHASH 和 DIFFICULTY 的操作碼變化
合併後,BLOCKHASH 操作碼仍可使用,但鑑於它不再能被透過工作證明哈希計算的過程來製造,該操作碼提供的偽隨機性將大大減弱。另一方面,DIFFICULTY 操作碼(0x44)將被升級並更名為 RANDOM。合併後,它將返回為由信標鏈提供之隨機性信標的輸出。因此,這個操作碼將成為比 BLOCKHASH 更強大的來源(儘管仍有偏見),作為給程式開發人員使用的隨機性來源。
RANDOM 暴露的值將被存儲在 ExecutionPayload 中,其中 mixHash 是一個與工作量證明計算相關的值。payload 的 mixHash 字段也將被重新命名為 random。下方式一個關於DIFFICULTY 和 RANDOM 操作碼在合併前和合併後如何工作的說明。

合併前,我們看到 0x44 操作碼返回塊頭中的 difficulty 字段。合併後,該操作碼更名為RANDOM,指向之前包含 mixHash 的區塊頭字段,現在存儲來自信標鏈狀態的 random 值。在 EIP-4399 中正式確定的這一變化,也為鏈上應用提供了一種評估合併是否已經發生的方法。

區塊時間

合併後將影響以太坊的平均區塊時間。目前在 POW 下,平均每 13 秒就有一個區塊產出(實際區塊時間有一些差異),在 POS 下,每 12 秒就有一個區塊產出,除非驗證者離線或沒有及時提交區塊而錯過了一個時間段。在實踐中,這種情況只在 <1% 時間段中發生過。
這意味著網路的平均區塊產出將減少 1 秒,那些有計算一個特定的平均區塊時間需求的智能合約將需要考慮這一點。

安全頭塊和最終確任區塊

在 POW 下,總是有可能出現重排的情況,應用程式通常需要等待幾個區塊在新的頭塊(head)之上被開採出來,然後再將其視為「不太可能從公認鏈中刪除」。不過,在合併之後,我們反而有了「finalized(最終確任)」和「safe head(安全頭塊)」的概念。這些區塊甚至可以比「confirmed(確認)」的 POW 區塊更可靠,但需要轉變觀念以正確使用。
一個最終確定的區塊是被大於 2/3 的驗證者接受為公認的區塊,要創建一個衝突的區塊,攻擊者必須燒掉至少1/3的總權益(stake)。撰寫本文時,這代表了以太坊上價值超過 100 億美元的以太幣(或大於 250 萬顆 ETH)。
安全頭塊是指在正常的網路條件下,我們期望被包含在公認鏈中的塊。假設網絡延遲小於 4 秒、大多數驗證者是誠實的,並且沒有對分叉選擇規則的攻擊,安全頭塊將永遠不會成為估塊。
這裡有一份詳細介紹在各種情況下如何計算安全頭的報告。此外,在即將發表的論文中安全頭塊的假設和保證正在被正式定義和分析。
合併後,執行層 API(如JSON RPC)在調用最新(latest)區塊時,將默認返回安全頭。在正常的網路條件下,安全頭塊和鏈的實際頂端將是相等的(安全頭塊只落後幾秒鐘)。安全頭塊將比當前 POW 的最新區塊更不可能被重鑄。為了揭露 POS 鏈的實際頂端,一個不安全(unsafe)的標誌將被添加到 JSON RPC 中。同時,最終確定區塊也將通過 JSON RPC,以一個新的最終確定的標誌被公開,這些設計可以作為工作證明確認的一個更有力的替代品。下表對此進行了總結。

下一步

我們希望這篇文章能幫助程式開發者為備受期待的 POS(權益證明)過渡做好準備。在接下來的幾周里,一個長期存在的測試網將被提供給更廣泛的社群進行測試,還有一個即將舉行的關於基礎設施、工具和應用程式開發人員提問的「合併社群線上會議」,歡迎前來聽取關於合併的最新技術更新。
原文連結

join Zombit

加入桑幣的社群平台,跟我們一起討論加密貨幣新資訊!

桑幣區識 Zombit

桑幣筆記 Zombit 為專業的區塊鏈財經自媒體,利用自身的金融和區塊鏈知識,提供區塊鏈相關的時事新聞、專題專欄、新手教學和趨勢週報...等,協助大眾吸收正確的資訊,並和社群朋友站在一起,互相扶持成長。

桑幣熱門榜

zombie

桑幣正在徵文中,我們想要讓好的東西讓更多人看見!
只要是跟金融科技、區塊鏈及加密貨幣相關的文章,都非常歡迎向我們投稿
投稿信箱:[email protected]

為提供您更多優質的服務與內容,本網站使用 cookies 分析技術。若您繼續閱覽本網站內容,即表示您同意我們使用 cookies,關於更多相關隱私權政策資訊,請閱讀我們的隱私權及安全政策宣示