典型區塊鏈架構
當前主流的區塊鏈架構包含六個層級:網絡層、數據層、共識層、激勵層、合約層和應用層。圖中將數據層和網絡層的位置進行了對調,主要用途將在下一節中詳述。
網絡層:區塊鏈網絡本質是一個P2P(Peer-to-peer點對點)的網絡,網絡中的資源和服務分散在所有節點上,信息的傳輸和服務的實現都直接在節點之間進行,可以無需中間環節和服務器的介入。每一個節點既接收信息,也產生信息,節點之間通過維護一個共同的區塊鏈來同步信息,當一個節點創造出新的區塊后便以廣播的形式通知其他節點,其他節點收到信息后對該區塊進行驗證,并在該區塊的基礎上去創建新的區塊,從而達到全網共同維護一個底層賬本的作用。所以網絡層會涉及到P2P網絡,傳播機制,驗證機制等的設計,顯而易見,這些設計都能影響到區塊信息的確認速度,網絡層可以作為區塊鏈技術可擴展方案中的一個研究方向;
數據層:區塊鏈的底層數據是一個區塊+鏈表的數據結構,它包括數據區塊、鏈式結構、時間戳、哈希函數、Merkle樹、非對稱加密等設計。其中數據區塊、鏈式結構都可作為區塊鏈技術可擴展方案對數據層研究時的改進方向。
共識層:它是讓高度分散的節點對區塊數據的有效性達到快速共識的基礎,主要的共識機制有POW(Proof Of Work工作量證明機制),POS(Proof of Stake權益證明機制),DPOS(Delegated Proof of Stake委托權益證明機制)和PBFT(Practical Byzantine Fault Tolerance實用拜占庭容錯)等,它們一直是區塊鏈技術可擴展方案中的重頭戲。
激勵層:它是大家常說的挖礦機制,用來設計一定的經濟激勵模型,鼓勵節點來參與區塊鏈的安全驗證工作,包括發行機制,分配機制的設計等。這個層級的改進貌似與區塊鏈可擴展并無直接聯系。
合約層:主要是指各種腳本代碼、算法機制以及智能合約等。第一代區塊鏈嚴格講這一層是缺失的,所以它們只能進行交易,而無法用于其他的領域或是進行其他的邏輯處理,合約層的出現,使得在其他領域使用區塊鏈成為了現實,
以太坊中這部分包括了EVM(以太坊虛擬機)和智能合約兩部分。這個層級的改進貌似給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似并無直接聯系。
應用層:它是區塊鏈的展示層,包括各種應用場景和案例。如以太坊使用的是truffle和web3-js.區塊鏈的應用層可以是移動端,web端,或是是融合進現有的服務器,把當前的業務服務器當成應用層。這個層級的改進貌似也給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似并無直接聯系。
由此可見,單從結構上分析,區塊鏈技術可擴展方案可以直接從網絡層(P2P網絡、傳播機制和驗證機制)、數據層(數據區塊和鏈式結構)以及共識層進行改進達到優化。
以太坊社區在區塊鏈可擴展性上曾提出過Layer分層改進的概念:Layer 1層改進和Layer 2層改進。Layer 1層改進是指通過對某條公鏈本身的改進來提升它的可擴展性,即On-Chain鏈上改進;Layer 2層改進是指不影響該公鏈本身,通過其他方式來實現可擴展性的提升,即Off-Chain鏈下改進(此處鏈下的含義僅僅指脫離該公鏈),如后文將會介紹的側鏈、跨鏈和狀態通道等。
在這個理解的基礎上,我們借鑒計算機網絡分層管理、各層標準化設計的思想,將區塊鏈與傳統互聯網OSI模型結合,建立區塊鏈技術可擴展方案分層模型三個一級層級:Layer 0層數據傳輸層,Layer 1層On-Chain公鏈自身(底層賬本)層和Layer 2層Off-Chain擴展性(應用擴展)層。在一級層級的基礎上,結合區塊鏈架構又可以進一步分解成七個二級層級來詳細研究,具體如圖7的劃分:
區塊鏈分層研究構架圖
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。