對於區塊鏈來說,去中心化的本質是要達成安全。因此,去中心化是其根本屬性,是不能被妥協的一個屬性。那麼,如何在不犧牲安全的情況下實現擴展?目前來看,分片是一條少有的能夠兼顧安全和擴展性的道路。本文以 Elrond 爲例,框架性地分析了兼顧安全的分片擴展路徑。

原文標題:《不犧牲安全下的分片擴展》
原文作者:Romi Kumar
翻譯:藍狐筆記 Cipher

當你將一個大型數據庫劃分爲許多更小、更快且更易於管理的部分時 , 它在外行術語中被稱爲「分片」。這只是意味着你有一個大數據庫 , 你分解成許多小型的數據庫,可以在許多服務器上擴散。

關於區塊鏈驗證機制的實現問題,人們有些過度擔心了。通過分片 , 驗證過程只會得到加強。通過這一過程 , 只有相當小的一組節點(又名分片,而不是整個網絡節點)將對每個交易進行驗證。

在區塊鏈的情況下 , 場景並沒有那麼複雜。區塊鏈網絡在邏輯上被劃分爲多個較小的節點或分片。當用戶創建交易時,分片的驗證將由分片組中的節點執行。然而,有些比普通的分片更聰明更有潛力的東西 , 它的名字叫自適應狀態分片

使用自適應狀態分片技術,每個分片每秒能夠進行 3750 筆以上的交易,如 Elrond。(藍狐筆記注:Harmony 也是採用了自適應狀態分片技術,具體參考《Harmony 區塊鏈的分片擴展之路》)

爲什麼叫自適應?

當吞吐量增加時 , 新的分片會自行激活,這都得益於其自適應特性 , 在區塊鏈中實現線性的可伸縮性。

該網絡已開發近兩年。與此同時 , 人們對區塊鏈的興趣也在增加 , 因此投入的資源也在增加 ; 因此 , 在現有的基礎設施上,特別是以太坊已經有了令人難以置信的發展。網絡基礎架構的第三個支柱是互操作性。

其區塊鏈服從以太虛擬機 (EVM)。由於以太坊一直是許多獨立區塊鏈開發人員的基礎,因此對於試圖尋求擴展性的已有項目來說,該網絡將是最具吸引力的解決方案。爲了進一步簡化項目利用以太坊網絡的流程 , Elrond 區塊鏈提供了與以太坊 ERC-20 代幣標準的反向兼容性。(藍狐筆記注:反向兼容是說向下兼容,向後兼容,新的可以兼容舊的。)

該網絡在真正去中心化的網絡中提供可擴展性、安全性和互操作性。該項目的測試網絡將很快上線 , 開發者將有一個早期的構建機會,可以說,在迄今爲止先進的區塊鏈的基礎上更上一層樓。

下面是對該區塊鏈的多層構成進行詳細的闡述。

加密層

任何區塊鏈的最底層基礎都是加密層。這本質上是區塊鏈的 DNA, 因爲這一層是交易和區塊驗證條件的設計層。

該網絡利用 Schnorr 方案進行交易簽名和驗證 ; 使用 Schnorr 簽名佔用的數據空間更小。Schnorr 方案不僅簡單高效,還採用了經過充分研究和久經實戰的算法。這種創建數字簽名的方法已經存在於各種加密貨幣中 , 也有人建議將其集成到比特幣網絡中。

由於區塊驗證需要來自多個驗證者的聚合簽名 , 因此需要多重簽名方案。這樣,該網絡將使用 Boneh-lynn-shacham (BLS) 多重簽名方案進行區塊簽名和驗證。

一種兼顧安全的擴展方案:Elrond 自適應狀態分片

核心和執行層

在區塊鏈中 , 區塊、交易和帳戶都以數據的形式存在 ; 所有這些數據都集中在區塊鏈的核心中。網絡核心中的數據模型可以實現臨時或永久存儲。

交易和地址以數據的形式存在 ; 通過將數據模型與接入點分離 , 核心先緩衝 (Buffer) 交易 , 然後才能將它們打包進區塊。

這一層的執行方面是確保一旦數據輸入得到驗證 , 區塊鏈就會寫入交易。執行層處理交易 , 然後將它們打包進區塊 ; 然後在所有節點上維護執行的交易和區塊,以確保一致性。因此 , 執行層還在所有分片上並行維持節點同步 ; 分片之間的同步是在元鏈 (Metachain) 上完成的。

通信層

該網絡是去中心化的協議 , 因此節點之間的有效通信至關重要。通信層的目的是用於消息傳遞和廣播 , 也是用於通信的通道。

出於安全目的 , 網絡從各種分片中隨機重組節點。此外 , 所有節點都必須在交易吞吐量上保持同步。網絡必須能夠在分片的節點內和網絡中的所有分片內中繼通信,通信層可以實現這一點。使用分片內和跨分片通信通道還可確保網絡正確處理複合交易。

簡單地說 , 當核心層和執行層處理數據和傳輸時 , 在其處理完成後,通信層提供數據移動通道。

通信層確保節點連接 , 中繼網絡內數據的來回傳輸 , 爲信息請求的提供通道,並處理在單個分片節點和跨網絡中所有分片的區塊、交易和收據的廣播。通信基於來自 IPFS 中經高度優化的 libp2p。網絡分片可確保通信僅限於其在需要的地方使用。具體來說,分片內通信僅發生在感興趣的節點之間。這就實現鏈之間的互操作性 , 而不會導致數據流瓶頸。

一種兼顧安全的擴展方案:Elrond 自適應狀態分片

共識層

區塊鏈能夠通過維持共識 , 作爲安全和去中心化的網絡運作。這是任何具有魯棒性的區塊鏈的基本屬性。在覈心層和執行層處理了網絡功能並將其中繼到分片後,共識層充當一種這樣的機制 , 它可以確保吞吐量僅驗證誠實數據。

網絡的安全權益證明 (SPOS) 共識算法基於實用拜占庭容錯 (pBFT)。拜占庭錯誤是去中心化網絡上的錯誤或不誠實的數據。顧名思義 , pBFT 的存在是爲了確保共識層能夠承受上述的錯誤。pBFT 共識假定網絡中不超過 1/3 的節點是惡意的。因此 , 在 Elrond 網絡中 , 只有當 2/3 + 1 個驗證者節點聚合簽名時 , 區塊才能被驗證。

在 SPOS 機制中 , 每個分片都由驗證者組成 , 驗證者的資格是通過權益確定的 , 該權益在智能合約中持有,並有評級。較低的評級會降低驗證者被選中的概率。對於每個區塊 , 通過輪盤賭選擇 (roulette-wheel selection) 隨機選擇一組新的驗證者。隨機選擇的去中心化性質確保了攻擊向量永遠無法預測驗證者是誰 , 因此他們無法知道佔據哪些節點來發動攻擊。

基於 pBFT 的領導者-跟隨者模型 (leader-follower model), SPOS 將驗證者組中的第一個節點指定爲區塊提出者。因此,提出者和驗證者都是隨機選擇的 , 從而使共識層能夠爲網絡提供最佳的安全性。

SPOS 的優點是 , 與 pow 不同 , 它是環保的。由於節點是根據權益和評級選擇的 , 因此不用擔心網絡算力會集中到兩個或三個礦場中。相反,任何人都可以成爲一個節點 , 由於這個網絡只需最少的資源來讓活躍節點參與 , 區塊鏈仍然是真正去中心化的。

自適應狀態分片

自適應狀態分片包括網絡 / 通信、交易 / 計算和狀態 / 存儲的分片。要想對自適應狀態分片所包含的內容有深入瞭解 , 瞭解每種分片形式的目的是很重要的。

交易 / 計算分片 : 交易分片這種機制被許多項目所追求。它解決了 PoW 的不足 —— 每個節點都必須批准每個交易。在交易分片中,節點被拆分爲不同的組 (分片) 並行處理交易。

網絡 / 通信分片 : 數據 (消息) 是跨分片分區的。

狀態 / 存儲分片 : 區塊鏈必須存儲它們處理的交易的整個歷史記錄。狀態 / 存儲分片不是讓每個節點存儲所有數據的副本 , 而是將存儲負擔分配到不同的節點組 (分片) 之中。

Elrond 網絡集成了所有三種形式的分片,這使得網絡擴展可以跟驗證者和分片的數量成正比(藍狐筆記注:它的意思說,隨着分片和驗證者的增加,其網絡也會得到線性的擴展。)。

元鏈 (Metachain) 協調分片 , 並確保在更多節點加入網絡時激活新的分片。分片可以被無縫添加,因爲錢包通過分層二叉樹模型在分片之間進行劃分。添加分片會將父分片的一半地址空間傳遞給兄弟分片。同時 , 刪除後續分片會將地址空間從兄弟分片合併回父分片。

一種兼顧安全的擴展方案:Elrond 自適應狀態分片

跨分片交易

Elrond 網絡允許將交易從一個分片發送到另一個分片。由於網絡使用異步模型 , 驗證和處理首先在發送方分片中進行 , 然後在接收方分片中進行。當交易被調度時,元鏈通過創建和提出新的元區塊 (元鏈上創建的區塊), 並公證從發送分片中來的區塊確保它的安全。

元區塊包含有關每個分片區快的以下信息 : 發送方分片 ID、接收方分片 ID 和分片區塊哈希。(藍狐筆記注:是不是跟以太坊和 Harmony 的信標鏈有似曾相識的感覺?)

在跨分片交易中 , 接收分片從元區塊中獲取交易的相關分片區塊的哈希 (在分片中創建的區塊 , 而不是元鏈中創建的區塊哈希), 請求發送分片中的分片區塊,分析交易列表 , 請求缺少交易 (如果有), 然後最終在本地分片中執行相同的分片區塊 , 並將此分片區塊發送到元鏈中成爲元區塊。一旦這一點被元鏈公證,交易就最終完成。

結語

Elrond 網絡是高度專注的研究和開發的成果,也是各種新型區塊鏈基礎設施解決方案實施的結果。每一層都發揮着至關重要的作用 —— 從處理網絡吞吐量到通信或驗證網絡交易。該網絡能夠通過其本地使用自適應狀態分片來增加新的分片,從而擴大某些層的容量。安全權益證明 (SPOS) 共識確保:在(1)區塊鏈具有去中心化的性質, (2)實施區塊驗證資格的權益和評級系統,(3)以及區塊提出者和驗證者的可證明地隨機選取,三種方法結合的情況下 , 網絡仍然是安全的。

Elrond 網絡堅持可擴展性、去中心化和互操作性的原則。由於每個分片能夠每秒處理 3750 筆交易 , 並確保即使是一臺簡單的筆記本電腦也能運行一個節點,因此網絡符合可擴展性和去中心化的原則。此外,其虛擬機與 EVM 的兼容性提供了互操作性,確保在需要更高吞吐量的行業和應用場景中,可輕鬆將其網絡轉移到 Elrond。