區塊鏈可伸縮性解決方案:以太坊分片

本文的目的是使人們更好地理解什麼是分片,這是以太坊公司區塊鏈縮放解決方案之一。以太坊已經提出了從第一階段到第六階段關於分片的階段性開發路線圖。到目前為止,最明確定義的階段(階段1)已經結束,而其他階段正在按順序開發。(截止2018年6月8日)分片發展路線圖如下:


區塊鏈可伸縮性解決方案:以太坊分片


圖1所示。在本文中,我討論了分片階段1,以便提供分片的清晰概述。關於分片的更多細節將在下期分片問答中討論。

分片的背景

分片是以太坊公司為解決區塊鏈(如等離子體和萊頓網絡)的可伸縮性問題而提出的一種解決方案。等離子體和萊頓網絡是脫鏈解決方案,分片是一種通過改變主鏈本身的協議來提高主鏈性能的鏈上解決方案。

應用鏈上解決方案需要主網絡的硬分支,而非鏈上解決方案通過在主鏈外添加其他系統來消除對硬分支的需要。

此外,基於厲害關係證明(PoS)算法設計分片,以支持以太坊所設想的從工作量證明(PoW)到厲害關係證明(PoS)的過渡。

關於分片

首先,分片是一種鏈上解決方案,它將整個網絡按照部分順序來存儲事務。然後並行處理這些事務,以解決區塊鏈可伸縮性問題。簡而言之,數據被分割並存儲為單獨的分片以供處理。


區塊鏈可伸縮性解決方案:以太坊分片


“分片”的概念源於數據庫環境。在數據庫環境中,分片是對錶進行水平分區以處理和存儲大量數據的過程。

同時,以太坊共享將主鏈分割成N塊。每個分片並行地處理網絡上的所有事務。因此,網絡的總體吞吐量通過多個分片來提高,這與當前主鏈的事務處理機制形成了對比。例如,假設有100個事務。使用10個分片鏈,每個分片鏈平均可以同時處理10個事務。

分片鏈的特點

為了更好地理解分片,必須瞭解分片鏈的組件和關鍵術語。然而,隨著分片研究的不斷深入,分片相關的組件和術語也在不斷變化。但同樣,本文還是在第一階段規範的再次進行的討論。


區塊鏈可伸縮性解決方案:以太坊分片


排序: 在分片鏈的主鏈中,排序與塊的作用相同。排序規則由事務列表組成。整理構成的信息,並通過提案人的簽名提交給主鏈。在這裡,事務列表指是排序中的事務列表。


區塊鏈可伸縮性解決方案:以太坊分片


提案人:提案人主要負責收集事務,創建提案,然後將其提交給核對人。此外,提案是未經驗證的整理。

Collator:審核申請人提交的提案。對於每個時間段,一個排序器被分配給一個分片,而分片是在某個時間段之前隨機選擇的。

執行器:將整理的數據傳遞到主鏈中的分片管理器契約(SMC)中。這改變了分片鏈的實際狀態。(執行器出現在分片階段3)

期間:分片鏈的整理數據向主鏈提交的時間。這裡的單位是主鏈中的塊數。例如,如果PERIOD_LENGTH = 5,生成5個塊的是1週期。

前瞻週期 : 核對人是SMC在驗證分片鏈中的排序之前偽隨機分配的。同樣,“前瞻週期”表示每個排序器在某個時間段之前被分配到哪個分片鏈。例如,如果LOOKAHEAD_PERIODS = 4,它意味著核對人在4週期之前必須把數據分配到分片鏈中。然後,核對人才可以確保他們提前下載分片鏈的狀態信息的時間。

分片經理合同(SMC)

SMC是在分片鏈中起重要作用的一種智能合約。SMC連接主鏈和分片鏈,管理整理器、提案器。SMC的角色對於分片鏈參與主鏈是至關重要的。SMC的主要作用如下:

讓我們看看分片鏈的結構和SMC的作用


區塊鏈可伸縮性解決方案:以太坊分片


PoS系統:SMC管理核對人的存款。如果核對人在分片鏈中做錯了什麼,那麼SMC可能會削減一個人的存款。

偽隨機抽樣:SMC偽隨機將數據分配給核對人池中的分片鏈。這減少了核對人攻擊特定分片的可能性,這樣可以防止核對人知道哪個分片會被分配給哪個分片。


區塊鏈可伸縮性解決方案:以太坊分片


整理頭驗證:驗證分片鏈提交的整理頭。SMC通過addHeader函數進行驗證,並且必須在啟用排序之前進行驗證。

跨分片通信:對於分片的事務傳輸,必須在主鏈中創建收據。SMC起到管理這個收據的作用。當分片鏈中的用戶創建收據時,該收據將通過SMC傳遞給另一個分片鏈,並使用它來傳輸分片事務。(這將在分片階段4中實現)。

鏈上治理:SMC在鏈上治理中起著核心作用。整理人員的投票通過SMC進行處理,以便這些投票可以在鏈上進行。

分片鏈式機制過程

現在讓我們看看分片鏈是如何工作的。我想讓你們記住分片鏈的組成和術語來理解分片鏈的機理過程。


區塊鏈可伸縮性解決方案:以太坊分片


(1)首先,想通過SMC成為提款人的網絡參與者存款餘額。

(2)同樣,希望通過SMC成為核對人的網絡參與者也可以通過SMC進行存款。

(3)整理人員定期檢查SMC狀態,看是否選擇他們作為整理人員。

(4) SMC將整理器偽隨機分配到每個分片鏈上。使他們在前瞻期間下載分片的先前狀態。每個整理人會從提出選定方案的提案人處收到建議標書。

(5)然後提案人向保證人提交建議書。(建議書是指尚未核實的校勘。當一個提案被核對人選中時,提案人會從交易發起人那裡收取交易費用。)

(6)整理人進行表決,以核實每份建議書內的交易是否有效。

(7)如果超過2/3的整理人批准提案的交易有效,那麼提案就是有效的。

核對人調用add_header函數並在投票後將新創建的校對標頭髮送到SMC。通過SMC上傳的add_header連接到主鏈。

分片將在這個階段中添加執行器和跨分片事務等功能。首先分析了最基本的分片化連鎖經營流程和激勵結構。讓我們看看分片鏈的分叉選擇規則。

分片鏈的分叉選擇規則

與主鏈一樣,在分片鏈中選擇分支的鏈也是一個問題。當前主鏈有一個分叉選擇規則,當分支發生時,它會選擇最長的邊。然而,分片鏈中的分叉選擇規則更為複雜。

在分片的情況下,主鏈和分片鏈基本上都是長鏈。也就是說,1)選擇最長的分片鏈,2)主鏈需要較長的分片鏈。讓我們仔細看看下圖。


區塊鏈可伸縮性解決方案:以太坊分片


在階段1中,分片鏈中的分叉選擇規則取決於最長的主鏈。也就是說,當一個分支發生時,分片鏈的選擇不應該僅僅是最長的分叉鏈,而是主鏈中最長的分叉鏈。

例如,在圖8中,包含塊B3的主鏈是最長的鏈。因此,可以看出塊B3是有效的,以及collation C3也是有效的。得分是塊或整理的高度。


區塊鏈可伸縮性解決方案:以太坊分片


如圖所示,當添加塊B3 '時,上面的鏈和下面的鏈被捆綁在一起。在這種情況下,根據主鏈上的分叉選擇規則,在分片時刻的有效塊是隨機確定的。

此時,B3塊被選擇為有效塊,而屬於B3的排序規則C3是有效的排序規則。


區塊鏈可伸縮性解決方案:以太坊分片


在上圖中,底層鏈中添加了一個新的塊B4 '。底鏈是最長的主鏈。在這種情況下,當我們比較排序規則 C3和排序規則n C2的分數時,排序規則 C3分數> 排序規則C2分數。這意味著帶有排序碼C3的分片鏈是較長的分片鏈。然而,分片鏈的選擇取決於主鏈。最長的主鏈中包含的排序規則是C2,而不是C3。因此,儘管排序規則C2的得分較低,但排序規則C2也會成為一個有效的排序規則,並被選為一個有效的分片鏈。這就是分片鏈的分叉選擇規則。

在本文中,我們關注的是階段1,在階段1中給出了具體的規範,以幫助理解總體分片。如前所述,我們必須解決區塊鏈中的可伸縮性問題。分片是非常有趣的,因為它是一個鏈上的解決方案,主要用於以太坊中的PoS轉換。

在分片的情況下,沒有發佈具體的白皮書,所以公文是有限的。以太坊基金會仍在進行分片,分片的信息存儲在不同的地方,比如prysmaticlabs、ethresearch和github。如果你想了解最新的分片信息,你需要不斷更新。


原文:https://medium.com/decipher-media/blockchain-scaling-solutions-4-1-ethereum-sharding-e88e8cacdfc

翻譯:雷茜


分享到:


相關文章: