對于區(qū)塊鏈來說,去中心化的本質(zhì)是要達成安全。因此,去中心化是其根本屬性,是不能被妥協(xié)的一個屬性。那么,如何在不犧牲安全的情況下實現(xiàn)擴展?目前來看,分片是一條少有的能夠兼顧安全和擴展性的道路。
當(dāng)你將一個大型數(shù)據(jù)庫劃分為許多更小、更快且更易于管理的部分時, 它在外行術(shù)語中被稱為 “分片”。這只是意味著你有一個大數(shù)據(jù)庫, 你分解成許多小型的數(shù)據(jù)庫, 可以在許多服務(wù)器上擴散。
關(guān)于區(qū)塊鏈驗證機制的實現(xiàn)問題,人們有些過度擔(dān)心了。通過分片, 驗證過程只會得到加強。通過這一過程, 只有相當(dāng)小的一組節(jié)點(又名分片,而不是整個網(wǎng)絡(luò)節(jié)點) 將對每個交易進行驗證。
在區(qū)塊鏈的情況下, 場景并沒有那么復(fù)雜。區(qū)塊鏈網(wǎng)絡(luò)在邏輯上被劃分為多個較小的節(jié)點或分片。當(dāng)用戶創(chuàng)建交易時, 分片的驗證將由分片組中的節(jié)點執(zhí)行。然而,有些比普通的分片更聰明更有潛力的東西, 它的名字叫自適應(yīng)狀態(tài)分片。
使用自適應(yīng)狀態(tài)分片技術(shù),每個分片每秒能夠進行3750筆以上的交易,如Elrond。(藍狐筆記注:Harmony也是采用了自適應(yīng)狀態(tài)分片技術(shù),具體參考《Harmony區(qū)塊鏈的分片擴展之路》)
為什么叫自適應(yīng)?
當(dāng)吞吐量增加時, 新的分片會自行激活, 這都得益于其自適應(yīng)特性, 在區(qū)塊鏈中實現(xiàn)線性的可伸縮性。
該網(wǎng)絡(luò)已開發(fā)近兩年。與此同時, 人們對區(qū)塊鏈的興趣也在增加, 因此投入的資源也在增加;因此, 在現(xiàn)有的基礎(chǔ)設(shè)施上, 特別是以太坊已經(jīng)有了令人難以置信的發(fā)展。網(wǎng)絡(luò)基礎(chǔ)架構(gòu)的第三個支柱是互操作性。
其區(qū)塊鏈服從以太虛擬機(EVM)。由于以太坊一直是許多獨立區(qū)塊鏈開發(fā)人員的基礎(chǔ), 因此對于試圖尋求擴展性的已有項目來說,該網(wǎng)絡(luò)將是最具吸引力的解決方案。為了進一步簡化項目利用以太坊網(wǎng)絡(luò)的流程, Elrond 區(qū)塊鏈提供了與以太坊ERC-20 代幣標準的反向兼容性。(藍狐筆記注:反向兼容是說向下兼容,向后兼容,新的可以兼容舊的。)
該網(wǎng)絡(luò)在真正去中心化的網(wǎng)絡(luò)中提供可擴展性、安全性和互操作性。該項目的測試網(wǎng)絡(luò)將很快上線, 開發(fā)者將有一個早期的構(gòu)建機會, 可以說, 在迄今為止先進的區(qū)塊鏈的基礎(chǔ)上更上一層樓。
下面是對該區(qū)塊鏈的多層構(gòu)成進行詳細的闡述。
加密層
任何區(qū)塊鏈的最底層基礎(chǔ)都是加密層。這本質(zhì)上是區(qū)塊鏈的DNA, 因為這一層是交易和區(qū)塊驗證條件的設(shè)計層。
該網(wǎng)絡(luò)利用Schnorr 方案進行交易簽名和驗證;使用 Schnorr 簽名占用的數(shù)據(jù)空間更小。Schnorr 方案不僅簡單高效, 還采用了經(jīng)過充分研究和久經(jīng)實戰(zhàn)的算法。這種創(chuàng)建數(shù)字簽名的方法已經(jīng)存在于各種加密貨幣中,也有人建議將其集成到比特幣網(wǎng)絡(luò)中。
由于區(qū)塊驗證需要來自多個驗證者的聚合簽名, 因此需要多重簽名方案。這樣,該網(wǎng)絡(luò)將使用Boneh-lynn-shacham (BLS) 多重簽名方案進行區(qū)塊簽名和驗證。
核心和執(zhí)行層
在區(qū)塊鏈中, 區(qū)塊、交易和帳戶都以數(shù)據(jù)的形式存在;所有這些數(shù)據(jù)都集中在區(qū)塊鏈的核心中。網(wǎng)絡(luò)核心中的數(shù)據(jù)模型可以實現(xiàn)臨時或永久存儲。
交易和地址以數(shù)據(jù)的形式存在; 通過將數(shù)據(jù)模型與接入點分離, 核心先緩沖(Buffer)交易, 然后才能將它們打包進區(qū)塊。
這一層的執(zhí)行方面是確保一旦數(shù)據(jù)輸入得到驗證, 區(qū)塊鏈就會寫入交易。執(zhí)行層處理交易, 然后將它們打包進區(qū)塊;然后在所有節(jié)點上維護執(zhí)行的交易和區(qū)塊, 以確保一致性。因此, 執(zhí)行層還在所有分片上并行維持節(jié)點同步;分片之間的同步是在元鏈(Metachain)上完成的。
通信層
該網(wǎng)絡(luò)是去中心化的協(xié)議, 因此節(jié)點之間的有效通信至關(guān)重要。通信層的目的是用于消息傳遞和廣播, 也是用于通信的通道。
出于安全目的, 網(wǎng)絡(luò)從各種分片中隨機重組節(jié)點。此外, 所有節(jié)點都必須在交易吞吐量上保持同步。網(wǎng)絡(luò)必須能夠在分片的節(jié)點內(nèi)和網(wǎng)絡(luò)中的所有分片內(nèi)中繼通信, 通信層可以實現(xiàn)這一點。使用分片內(nèi)和跨分片通信通道還可確保網(wǎng)絡(luò)正確處理復(fù)合交易。
簡單地說, 當(dāng)核心層和執(zhí)行層處理數(shù)據(jù)和傳輸時, 在其處理完成后,通信層提供數(shù)據(jù)移動通道。
通信層確保節(jié)點連接, 中繼網(wǎng)絡(luò)內(nèi)數(shù)據(jù)的來回傳輸, 為信息請求的提供通道, 并處理在單個分片節(jié)點和跨網(wǎng)絡(luò)中所有分片的區(qū)塊、交易和收據(jù)的廣播。通信基于來自IPFS中經(jīng)高度優(yōu)化的libp2p。網(wǎng)絡(luò)分片可確保通信僅限于其在需要的地方使用。具體來說, 分片內(nèi)通信僅發(fā)生在感興趣的節(jié)點之間。這就實現(xiàn)鏈之間的互操作性, 而不會導(dǎo)致數(shù)據(jù)流瓶頸。
共識層
區(qū)塊鏈能夠通過維持共識, 作為安全和去中心化的網(wǎng)絡(luò)運作。這是任何具有魯棒性的區(qū)塊鏈的基本屬性。在核心層和執(zhí)行層處理了網(wǎng)絡(luò)功能并將其中繼到分片后, 共識層充當(dāng)一種這樣的機制, 它可以確保吞吐量僅驗證誠實數(shù)據(jù)。
網(wǎng)絡(luò)的安全權(quán)益證明(SPOS)共識算法基于實用拜占庭容錯(pBFT)。拜占庭錯誤是去中心化網(wǎng)絡(luò)上的錯誤或不誠實的數(shù)據(jù)。顧名思義, pBFT 的存在是為了確保共識層能夠承受上述的錯誤。pBFT 共識假定網(wǎng)絡(luò)中不超過1/3的節(jié)點是惡意的。因此, 在 Elrond 網(wǎng)絡(luò)中, 只有當(dāng)2/3 + 1個驗證者節(jié)點聚合簽名時, 區(qū)塊才能被驗證。
在SPOS 機制中, 每個分片都由驗證者組成, 驗證者的資格是通過權(quán)益確定的, 該權(quán)益在智能合約中持有, 并有評級。較低的評級會降低驗證者被選中的概率。對于每個區(qū)塊, 通過輪盤賭選擇(roulette-wheel selection)隨機選擇一組新的驗證者。隨機選擇的去中心化性質(zhì)確保了攻擊向量永遠無法預(yù)測驗證者是誰, 因此他們無法知道占據(jù)哪些節(jié)點來發(fā)動攻擊。
基于pBFT 的領(lǐng)導(dǎo)者-跟隨者模型(leader-follower model), SPOS將驗證者組中的第一個節(jié)點指定為區(qū)塊提出者。因此, 提出者和驗證者都是隨機選擇的, 從而使共識層能夠為網(wǎng)絡(luò)提供最佳的安全性。
SPOS 的優(yōu)點是, 與pow不同, 它是環(huán)保的。由于節(jié)點是根據(jù)權(quán)益和評級選擇的, 因此不用擔(dān)心網(wǎng)絡(luò)算力會集中到兩個或三個礦場中。相反, 任何人都可以成為一個節(jié)點, 由于這個網(wǎng)絡(luò)只需最少的資源來讓活躍節(jié)點參與, 區(qū)塊鏈仍然是真正去中心化的。
自適應(yīng)狀態(tài)分片
自適應(yīng)狀態(tài)分片包括網(wǎng)絡(luò)/通信、交易/計算和狀態(tài)/存儲的分片。要想對自適應(yīng)狀態(tài)分片所包含的內(nèi)容有深入了解, 了解每種分片形式的目的是很重要的。
交易/計算分片:交易分片這種機制被許多項目所追求。它解決了PoW 的不足——每個節(jié)點都必須批準每個交易。在交易分片中, 節(jié)點被拆分為不同的組(分片)并行處理交易。
網(wǎng)絡(luò)/通信分片:數(shù)據(jù)(消息) 是跨分片分區(qū)的。
狀態(tài)/存儲分片:區(qū)塊鏈必須存儲它們處理的交易的整個歷史記錄。狀態(tài)/存儲分片不是讓每個節(jié)點存儲所有數(shù)據(jù)的副本, 而是將存儲負擔(dān)分配到不同的節(jié)點組 (分片) 之中。
Elrond 網(wǎng)絡(luò)集成了所有三種形式的分片, 這使得網(wǎng)絡(luò)擴展可以跟驗證者和分片的數(shù)量成正比(藍狐筆記注:它的意思說,隨著分片和驗證者的增加,其網(wǎng)絡(luò)也會得到線性的擴展。)。
元鏈(Metachain)協(xié)調(diào)分片, 并確保在更多節(jié)點加入網(wǎng)絡(luò)時激活新的分片。分片可以被無縫添加, 因為錢包通過分層二叉樹模型在分片之間進行劃分。添加分片會將父分片的一半地址空間傳遞給兄弟分片。同時, 刪除后續(xù)分片會將地址空間從兄弟分片合并回父分片。
跨分片交易
Elrond 網(wǎng)絡(luò)允許將交易從一個分片發(fā)送到另一個分片。由于網(wǎng)絡(luò)使用異步模型, 驗證和處理首先在發(fā)送方分片中進行, 然后在接收方分片中進行。當(dāng)交易被調(diào)度時, 元鏈通過創(chuàng)建和提出新的元區(qū)塊(元鏈上創(chuàng)建的區(qū)塊), 并公證從發(fā)送分片中來的區(qū)塊確保它的安全。
元區(qū)塊包含有關(guān)每個分片區(qū)快的以下信息: 發(fā)送方分片 ID、接收方分片 ID 和分片區(qū)塊哈希。(藍狐筆記注:是不是跟以太坊和Harmony的信標鏈有似曾相識的感覺?)
在跨分片交易中, 接收分片從元區(qū)塊中獲取交易的相關(guān)分片區(qū)塊的哈希(在分片中創(chuàng)建的區(qū)塊, 而不是元鏈中創(chuàng)建的區(qū)塊哈希), 請求發(fā)送分片中的分片區(qū)塊, 分析交易列表, 請求缺少交易 (如果有), 然后最終在本地分片中執(zhí)行相同的分片區(qū)塊, 并將此分片區(qū)塊發(fā)送到元鏈中成為元區(qū)塊。一旦這一點被元鏈公證, 交易就最終完成。
結(jié)語
Elrond 網(wǎng)絡(luò)是高度專注的研究和開發(fā)的成果, 也是各種新型區(qū)塊鏈基礎(chǔ)設(shè)施解決方案實施的結(jié)果。每一層都發(fā)揮著至關(guān)重要的作用——從處理網(wǎng)絡(luò)吞吐量到通信或驗證網(wǎng)絡(luò)交易。該網(wǎng)絡(luò)能夠通過其本地使用自適應(yīng)狀態(tài)分片來增加新的分片, 從而擴大某些層的容量。安全權(quán)益證明 (SPOS) 共識確保:在(1)區(qū)塊鏈具有去中心化的性質(zhì), (2)實施區(qū)塊驗證資格的權(quán)益和評級系統(tǒng), (3)以及區(qū)塊提出者和驗證者的可證明地隨機選取,三種方法結(jié)合的情況下, 網(wǎng)絡(luò)仍然是安全的。
Elrond 網(wǎng)絡(luò)堅持可擴展性、去中心化和互操作性的原則。由于每個分片能夠每秒處理3750 筆交易, 并確保即使是一臺簡單的筆記本電腦也能運行一個節(jié)點, 因此網(wǎng)絡(luò)符合可擴展性和去中心化的原則。此外,其虛擬機與EVM 的兼容性提供了互操作性, 確保在需要更高吞吐量的行業(yè)和應(yīng)用場景中,可輕松將其網(wǎng)絡(luò)轉(zhuǎn)移到Elrond。
評論
查看更多