- 區塊鏈原理、架構與應用
- 魏翼飛 李曉東 于非
- 9071字
- 2019-11-15 20:38:01
2.1 區塊鏈體系結構
狹義的區塊鏈技術一般說的是具體產品應用中的數據存儲思想和方式,類似區塊鏈在比特幣中的作用。但隨著區塊鏈技術和不同場景的深入結合,單獨再說到區塊鏈,更多指的是一種數據公開透明、可追溯、不可篡改的產品架構設計。區塊鏈網絡通過結合點對點網絡設計、加密技術、數據存儲技術、分布式算法等多種技術和協議為數據部署和存儲賦予了新的定義。基于區塊鏈的不用應用或許采用了不同的機制,但從根本上的框架結構是大同小異的。實際上,現在并沒有一個統一的分層體系。下面介紹主流的三種體系結構。
2.1.1 區塊鏈六層體系結構
類比OSI(open system interconnection,開放式系統互聯)七層協議的標準,可將區塊鏈系統分為六層,分別是應用層、合約層、激勵層、共識層、網絡層、數據層,如圖2-1所示。

圖2-1 區塊鏈六層體系結構
1. 數據層
數據層封裝了區塊鏈的底層數據存儲和加密技術。每個節點存儲的本地區塊鏈副本可以被看成三個級別的分層數據結構,即交易、區塊和鏈。每個級別都需要不同的加密功能來保證數據的完整性和真實性。
交易是區塊鏈的原子數據結構。通常,交易由一組用戶或類似智能合約的自主對象創建,完成代幣從發送者到指定接收者的轉移。為了保證交易記錄的完整性,數據層中包含了哈希函數和非對稱加密的功能。
哈希函數又稱為加密散列函數,能夠實現將任意長度的二進制輸入映射到唯一固定長度的二進制輸出。哈希函數的計算具有不可逆性,根據輸出恢復輸入是不可行的,同時,兩個不同的輸入生成相同的輸出的概率可以忽略不計。
非對稱加密功能主要指的是在交易過程中使用的公鑰和私鑰,網絡中的每個節點都會生成一對公鑰和私鑰。私鑰與數字簽名的功能相關聯,數字簽名通過一串他人無法偽造的字符串證明交易發送方的身份。公鑰與數字簽名的驗證相關,只有通過對應私鑰生成的數字簽名經過驗證后才會返回true。另外,網絡中的節點還會通過公鑰生成的字符串作為區塊鏈上的永久地址識別自身。
區塊是交易記錄的任意子集的聚合,只有參與建立網絡共識過程的節點才能進行創建,例如在比特幣網絡中,只有具有礦工功能節點才有資格進行新區塊的創建。為了保證交易記錄的完整性,同時在共識節點的本地存儲中按照指定順序進行區塊間的排序,使用了哈希指針的數據字段保存在區塊的數據結構中。為了減少單個交易的存儲占比,增大容量,同時防止交易記錄被篡改,采用了Merkle樹的結構。
區塊中的哈希指針字段,又被稱作父哈希。將上一區塊的哈希碼存儲為當前區塊的指針,區塊通過哈希指針實現鏈狀結構。哈希指針不僅可以指向數據存儲位置,還可以明晰某個時間戳下該數據的哈希值。一旦數據被篡改,哈希指針能即時反映出來。
Merkle樹通過二叉樹的形式存儲交易數據,每個葉子節點均為交易的哈希編碼,非葉子節點是用相連的兩個子節點的哈希碼的連接標記。所有交易信息最終以Merkle根的形式存儲在區塊頭中,其中,僅存儲Merkle根的區塊為輕量級形式的,以便于進行快速驗證和數據同步。
除了哈希指針、Merkle樹和區塊頭以外,區塊中還包含一些輔助數據字段,其定義根據所采用的不同的共識方案的區塊生成協議而變化。實際上,區塊間呈現的結構主要取決于單個區塊保留的前驅哈希指針的數量,區塊網絡可以為線性鏈表,也可以是有向無環圖。在沒有其他說明的情況下,本書的大部分對于區塊鏈的說明均限制在線性鏈表的情況,這樣區塊的排列順序能夠得到保障。
2. 網絡層
網絡層涉及區塊鏈網絡中的分布式點對點網絡和網絡節點連接與網絡運轉所需要傳播和驗證機制。
在拜占庭環境中,身份管理機制在確認區塊鏈網絡中的節點組織模式上起著關鍵作用。在無權限限制的公開區塊鏈網絡中,節點可以選擇自由加入網絡并激活網絡中的任何可用功能。在沒有任何身份鑒別方案的情況下,區塊鏈網絡被組織為覆蓋P2P網絡。但是不同應用場景對于區塊鏈去中心化和開放程度有不同的要求,據此可以將區塊鏈大致分為公有鏈(public blockchain)、私有鏈(private blockchain)和聯盟鏈(consortium blockchain)三大類。
公有鏈去中心化程度最高,各種數字貨幣如比特幣、以太坊均為公有區塊鏈的代表。這種區塊鏈完全不存在把控的中心化機構或者組織,任何人都能夠讀取鏈上的數據、參與交易和算力競爭。
私有鏈的門檻最高,權限完全由某個組織或者機構控制,數據讀取和寫入受到組織制定規則的嚴格限定,多適用于特定機構的內部使用。私有鏈不同于公有鏈,中心化程度較高,可以理解為一個弱中心化或多中心化的系統。同時由于加入門檻最高,私有鏈的節點數量被嚴格控制,較少的節點數量也就代表著更短的交易時間、更高的交易效率和更低的算力競爭成本。
聯盟鏈介于公有鏈和私有鏈之間,是一種實現了部分去中心化的系統。從某種意義上來說,聯盟鏈是開放程度更高的私有鏈,節點的參與和維護對象是線下因為某種利益關系組成的聯盟,這些對象共同加入一個相同的網絡并維護其運行。
相較之下,聯盟鏈僅允許授權節點啟用核心功能,例如參與共識機制或數據傳播。根據網絡采用的共識協議不同,授權節點被組織在不同的拓撲結構中,可以是全連接的網絡,也可以是P2P網絡。本書主要關注全開放的公有鏈。
網絡層的主要目標是在節點間引入隨機拓撲結構,同時實現區塊鏈更新信息的有效傳播和本地同步。大多數現有的區塊鏈網絡采用的均為即用型P2P協議,只對拓撲結構和數據通信略加修改。在對等節點發現和拓撲結構維護上,不同的區塊鏈網絡采用的方式不同。比特幣網絡中有一個“種子節點”列表,種子節點指的是長期穩定運行的節點,新節點可以通過與種子節點建立連接來快速發現網絡中的其他節點,而這些種子節點可以由比特幣客戶端維持,也由比特幣社區成員維護。在以太坊區塊鏈網絡中,采用了基于哈希表的Kademlia協議,通過UDP連接進行對等節點或路由發現。
通常,區塊鏈網絡的P2P鏈路建立在通過握手通信過程建立持久TCP連接的基礎上,節點間通過握手協議交換存儲區塊狀態和使用協議、軟件版本等信息。在比特幣網絡中,當建立一個或多個連接之后,新節點將包含自身IP地址的addr信息發送給相鄰節點,相鄰節點再將該信息轉發給它們各自的相鄰節點,從而完成新節點的信息被多個節點接收,同時新節點通過getaddr消息要求相鄰節點發送已知對等節點的IP信息列表。節點也是通過握手協議與其鄰居節點完成交易、新區塊信息的交換。區塊鏈中的數據傳輸通常是基于HTTP的RPC(remote procedure call,遠程過程調用)協議實現,其中消息按照JSON協議進行序列化。
3. 共識層
共識層主要指的是不同區塊鏈網絡中使用的共識算法,如工作量證明(proof of work,PoW)、權益證明(proof of stake,PoS)、拜占庭容錯算法(Byzantine fault tolerance,BFT)。
在分布式系統中,維護基于P2P網絡的區塊鏈的規范狀態可映射為容錯狀態機的復制問題。換句話說,區塊鏈的獨特的共識協議是由拜占庭將軍條件下的網絡共識節點實現。在區塊鏈網絡中,拜占庭將軍問題導致故障節點可能出現的任意行為,拜占庭節點的任意行為除了可能會產生誤導其他副本節點,還會產生更大的危害,而不僅僅是宕機失去響應,如惡意攻擊(如女巫攻擊或雙重攻擊)、節點錯誤(如由于軟件版本不同導致意外的區塊鏈分叉)和連接錯誤。如果簡單將區塊的序列表示區塊鏈的狀態,交易得到確認時區塊狀態發生變化,在拜占庭環境中,只有滿足共識協議中的條例內容,才能認為網絡達成共識,包括:在公共區塊鏈網絡中,被納入區塊的所有交易都需經過誠實節點的最終確認驗證;新區塊只有被所有誠實節點驗證通過才能被納入區塊鏈中,被全網采納;被采納的新區塊實現了對網絡中現有鏈條的順序延長;誠實節點認同驗證通過區塊中的交易順序。
共識協議因不同的區塊鏈網絡而存在差異。對于公有鏈,即完全開放的區塊鏈網絡,需要對參與共識的節點間進行更為嚴格的信息同步控制。因此多采用傳統拜占庭容錯協議提供的所需要的共識屬性,瑞波(Ripple)就屬于這種協議的實現典型,通過一組節點間的投票機制執行區塊鏈的擴展。此外,PBFT(practical Byzantine fault tolerance,實用拜占庭容錯算法)將算法復雜度由指數級降低到多項式級,在保證活性和安全性的前提下提供了(n-1)/3的容錯性。
去中心化的區塊鏈網絡接納無身份驗證或者顯示同步的方案。因此,區塊鏈網絡中的共識協議需要擁有更加優異的可擴展性,同時容許虛擬身份和非即時的信息同步。由于去中心化的區塊鏈網絡允許任何節點進行新區塊的挖掘,更新區塊鏈狀態信息,共識層主要目標是確保每個節點都能夠遵守“最長鏈原則”,在任何時間內,只有最長的鏈條可以被節點接納為區塊鏈的標準狀態。基于投票的BFT協議缺乏身份驗證,在對權限有限制的區塊鏈網絡中不再適用。與此相反的是,基于激勵的共識方案更為合適。
4. 激勵層
激勵層為刺激區塊鏈網絡向平穩運行和發展加入的激勵措施,包括發行機制和分配機制。
以比特幣為例,為了解決匿名性、延展性等問題,中本聰提出了一種新區塊挖掘的算力競賽模式的去中心化共識協議,稱為工作量證明。算力,指的是節點每秒能夠進行哈希碰撞的能力。從單個節點的角度來看,共識協議主要定義了三個過程:鏈的驗證和確認過程、鏈間的比較和擴展過程以及PoW的破解過程。
驗證和確認過程會檢查區塊鏈中的每個區塊是否提供有效的工作量證明解,同時交易之間不存在沖突。當網絡中存在兩條鏈時,不同的區塊鏈可以是從對等節點接收的或本地自提的,鏈間的比較和擴展過程保證了誠實節點僅采用候選區塊鏈中最長鏈條的提議。PoW解決方案是共識協議的“最主力”部分,通過計算密集的方式定義了新區塊的挖掘方式。
破解工作量證明解的方式是節點按照規范構造區塊,通過將區塊和不同隨機數的組合進行區塊數據的哈希計算,直至找到滿足預條件的隨機值。
節點如果想要贏得算力競賽,就需要盡可能地提高散列查詢率,需要更高的經濟投入(主要是電力消耗)。但是節點自愿參與共識過程,承擔經濟損耗是不切實際的。為了網絡的正常運行,比特幣的共識協議中加入了激勵機制:創建新區塊的獎勵和交易費。
一旦挖掘出新區塊,系統就會產生相應數額的比特幣以激勵節點,比特幣也以該種方式實現了去中心化發行。每一個區塊中的第一筆交易就記錄了系統將比特幣交易給成功挖掘出該區塊的礦工,稱為創幣交易或coinbase交易。不同于其他比特幣交易需要完備的輸入/輸出,創幣交易沒有輸入,只包含一個被稱作coinbase的輸入,用來創建新的比特幣。創幣交易的輸出就是礦工的比特幣地址,創幣交易將獎勵發送到礦工的地址中。這就意味著coinbase的產生就伴隨著新的比特幣發行。
在中本聰的設定中,比特幣實行衰減發行、總量固定,每生成21萬個區塊產量減半。按照平均每10分鐘生成一個新區塊,那么每兩周大約生成2016個區塊,21萬個區塊的生成時間約為4年。那么,第一個4年每個區塊的coinbase獎勵50比特幣,隨后為25比特幣,按規律遞減。于2140年挖礦獎勵為0,此時全網比特幣的總量為2100萬個。
實際上,隨著挖礦獎勵的減少,礦工們的主要收益并不再來源于coinbase獎勵,而是來源于驗證待廣播到全網的交易中的手續費。隨著比特幣的火爆,比特幣網絡中的挖礦設備從最初的CPU、GPU到FPGA、ASIC,發展到目前的專業礦機、礦池,算力逐漸被少數礦池掌握,單個礦工獨自挖礦的情況幾乎不復存在。現在,大多數礦工選擇貢獻部分算力給礦池,礦池再根據實際貢獻情況分配酬勞。
5. 合約層與應用層
合約層是區塊鏈技術的可編程實現,通過各類腳本、算法和智能合約,完成對區塊鏈技術的個人獨特改造;應用層指的是建立在底層技術上的區塊鏈的不同應用場景和案例實現。
一般而言,對于區塊鏈相關應用的研究可大致分為兩類:在現有區塊鏈協議的框架下對共識協議的研究,以及在區塊鏈共識層之上提供服務。前者通常關注網絡的P2P結構,后者的研究主要集中在如何利用區塊鏈網絡的特殊性質,即分布式容錯性、不可篡改性和隱私保護性,并采用區塊鏈網絡來保證各自服務中的特定功能。
比特幣作為區塊鏈1.0的典型代表,區塊加載賬本信息的方式較為單一化,功能集中在貨幣交易,沒有其他更多的功能。以太坊是區塊鏈2.0的代表,增強了腳本功能,創建了一種基于區塊鏈的操作系統式的生態,核心工具就是智能合約,以太坊中的數字貨幣——以太幣更多的是充當支付智能合約的相關運算的結算方式,用戶利用以太坊能夠實現更多樣化的價值創造。
智能合約的概念出現在比特幣之前,由尼克·薩博在1996年首次提出,是將條款用計算機語言的形式記錄的智能合同,當達到預先設定的條件時,就能自動執行相應的合同條款。以太坊通過將智能合約和區塊鏈的結合,為用戶提供了新的去中心化的平臺,區塊鏈的結構保證了智能合約的內容可追蹤且無法被篡改,智能合約將區塊鏈的特性用更平易近人的方式展示給需求用戶。
數十年時間,區塊鏈從1.0進階到3.0。如果說比特幣代表了區塊鏈1.0的可編程貨幣,區塊鏈將比特幣構造成為一種全新的數字支付系統,去中心化、不可篡改等特性讓人們可以無障礙地在全網進行數字貨幣交易,同時保證了交易的安全性和匿名性,這是區塊鏈的起點。智能合約將區塊鏈的應用范圍從貨幣范圍擴大到具有合約的其他領域,如權屬和征信管理、金融服務、投資管理等,區塊鏈成為可編程分布式信用的核心基礎,用以支撐智能合約的實現。隨著區塊鏈技術的進一步發展,區塊鏈的應用不再局限于金融領域,擴展到審計、仲裁等社會領域,還包括工業、文化、科學和藝術等多個領域,實現區塊鏈3.0——可編程社會的目標。
2.1.2 區塊鏈四層體系結構
從系統設計的角度來看,區塊鏈網絡從下至上可以抽象為四個實現層面,分別是數據與網絡組織協議、分布式共識協議、基于分布式虛擬機的自組織框架(如智能合約)和人機交互層面。類比OSI,將區塊鏈網絡中層級和相關技術劃分為如圖2-2所示。

圖2-2 區塊鏈四層體系結構
數據組織協議為形成區塊鏈網絡中各種獨立并維持高安全性的節點提供了多種加密功能,協議同時還定義了節點為防止篡改而對賬本信息進行本地存儲時,在如交易記錄和賬戶余額等記錄間建立關聯性加密的方法。從數據表示的角度來看,術語“區塊鏈”的命名多取決于歷史原因。在區塊鏈1.0中,以比特幣為代表,輔以數字簽名的交易記錄被隨機打包存儲為一種防篡改的加密數據結構中,這種結構被稱為“區塊”。這些區塊按照時間順序組裝為區塊鏈,更確切地說,區塊間通過哈希指針形成了難以被篡改的線性結構。然而,為了提高網絡的處理效率、延展性和安全性,線性的數據結構在不同的應用和場景中被擴展為非線性形式,如樹或圖,甚至無實際區塊。盡管區塊的組織形式不同,加密形式的數據為區塊鏈提供了隱私和數據完整性的基礎保護功能。對比傳統的數據庫,它提供了更為高效的鏈式存儲,而不會損害數據的完整性。
另外,網絡協議確定了區塊鏈網絡的P2P形式,進行路由發現、維持和加密數據的傳輸/同步。除了建立在P2P連接上進行的可靠數據傳輸外,共識層為維護區塊鏈網絡中數據的排序與其本身的一致性和原創性提供了核心功能。從分布式系統設計的角度上看,共識層也為網絡提供了拜占庭容錯協議。在點對點網絡中,節點間希望就網絡區塊鏈的狀態信息達成同步和一致,尤其是可能存在與原始數據相沖突的新輸入和某些節點的拜占庭行為的情況下,節點各自更新的本地數據仍為相同的。在選擇經許可的訪問控制方案時,區塊鏈網絡通常會采用經過充分研究的拜占庭容錯協議,如PBFT(實用拜占庭容錯算法),以在經過驗證的小組節點之間達成共識。與此相反的是,在開放訪問/許可的區塊鏈網絡中,概率拜占庭協議是基于包括零知識證明和激勵機制設計在內的技術組合實現的一種協議。共識協議依賴于半集中式共識框架和更高的信息傳遞開銷以提供網絡的即時共識確認并提高交易處理的吞吐量。然而,無權限的共識機制更適合于對節點的同步和行為進行松散控制的區塊鏈網絡。在有限延遲和多數節點為誠實節點的情況下,無權限的共識協議以較低的處理效率為代價明顯為網絡的可伸縮性提供了更好的支持。
如果能夠保證共識協議的健壯性,智能合約能夠在分布式VM層上進行順利部署。簡單來說,分布式VM層對區塊鏈網絡中的數據組織、信息傳播和公式形成的細節進行了抽象。作為較低層協議和應用程序之間的互操作層,VM層將必要的API公開給應用層,就像分布式計算在單個計算機的本地虛擬運行的環境中執行。當啟用虛擬機的功能時,網絡允許節點以自主運行的程序的形式部署到智能合約的區塊鏈上。另外,通過控制開放的API數量和虛擬機的狀態大小,區塊鏈上的智能合約能夠調整其圖靈完備的水平,從只支持腳本語言的比特幣,到圖靈完備的以太坊和超級賬本。通過圖靈完備性,區塊鏈網絡能夠以分散的方式執行通用計算。也因為如此,區塊鏈網絡不僅能夠提供分布式、可信數據記錄和時間戳服務,還能夠提供促進通用的自組織功能。
區塊鏈網絡通過其獨特的框架和技術體系,適合作為自組織系統的底層支撐,用于管理分布式網絡節點之間數據或交易驅動的交互行為。
2.1.3 區塊鏈Web 3.0體系結構
區塊鏈技術是下一代互聯網、去中心化網絡或Web 3.0的推動力。Web 3.0是一個更加以用戶為中心的網絡,保留用戶對數據、身份和數字資產的完全所有權。Web 3.0也給出了一種區塊鏈體系結構。
1. 從Web 1.0到Web 3.0
Web即萬維網,它開創了互聯網新時代。Web 1.0用戶只能讀取數據,瀏覽的內容取決于網站的編輯人員,就像在圖書館看書一樣,用戶沒有太多的權力,只是消費者。Web 2.0從信息分享發展為信息共建,話語權被下放給普通用戶,用戶可以編寫并讀取數據,網站的模式開始強調多樣生動,社交媒體和電子商務出現并活躍于人們的日常生活中。Web 2.0徹底改變了社會互動,使信息、商品、服務的生產者和消費者的關系更加緊密。
現行的構建互聯網協議多為HTTP和SMTP,這些協議的簡單性使得節點無法保存歷史或狀態信息。對于用戶而言,無論使用任何設備連接到互聯網,都是全新的第一次使用,沒有瀏覽歷史、收藏、保存的設置,則需要重新下載習慣適用的程序。Cookie技術的提出彌補了協議無法存儲狀態的不足,然而Cookie的問題是,它們是由服務供應商提供的,而非用戶創建和控制,用戶無法控制哪個供應商為其提供狀態信息以及訪問狀態信息。為了解決這個問題,互聯網采用服務器—客戶端的集中式服務,用戶的所有個人數據基本都存儲在具有大量存儲空間的計算機中,歸屬于私人公司。如今,像Google、Facebook、Apple等互聯網巨頭擁有著其數十億用戶創造的狀態數據,而近年來頻發的隱私數據泄露表明企業可以用多種方式不動聲色地控制用戶的生活。
區塊鏈技術的分布式容錯性、不可篡改性和隱私保護性為互聯網的發展提供了一種新的可能,成為Web 3.0分布式網絡的推動力,沒有亞馬遜、淘寶的線上購物,沒有微信、微博、Facebook的社交媒體,區塊鏈將帶來真正的數據民主。
Web 3.0將更改集中式系統為分散式網絡,沒有任何集中服務器,所有數據將分布在整個互聯網中,同時對現有互聯網的數據基礎設施進行重新設置。Web 3.0注重于區塊鏈中的點對點結構,但區塊鏈并不是支撐Web 3.0的唯一技術,它將能夠執行Berners-Lee文件,具有語義搜索、個性化數字助理等特征。同時,基于智能應用程序的Web 3.0具有更好的功能體驗,是技術和知識的完美結合。表2-1對比了Web 1.0、Web 2.0和Web 3.0之間的變化。
表2-1 Web 1.0、Web 2.0、Web 3.0對比

2. Web 3.0體系結構
對于Web 3.0體系暫時沒有一個統一的標準,加密貨幣對沖基金Multicoin Capital的資本合伙人凱爾·薩馬尼對當前Web 3.0的區塊鏈體系結構做了一個全面詳細的總結,如圖2-3所示。
Web 3.0區塊鏈應用程序體系結構中基礎是DApp瀏覽器,也是大多數Web 3.0體系的頂部。用戶通過DApp瀏覽器訪問去中心化應用程序,現在較為流行的DApp瀏覽器包括用于以太坊的Metamask和Toshi、用于EOS的Scatter。
核心棧需要為DApp的開發人員提供唯一、權威的賬本,賬本中需要包含所有有效交易的順序記錄,也就是區塊鏈的分布式數據庫。P2P層、共識層和狀態機層共同作用實現該功能,以太坊的核心協議還將擴展到“分片”。

圖2-3 區塊鏈Web 3.0體系結構
凱爾·薩馬尼同時標注出了一些非基礎鏈的組件,這些雖然尚未被認為是DApp開發中必不可少的部分,但他堅信這些將成為擴展后核心堆棧的一部分。例如現在很多區塊鏈團隊都在進行開發的側鏈:比特幣中的drivechain和Liquid,以太坊Plasma框架中的Skale;支付和狀態信道側重實現交易的可擴展性,ILP協議用于實現跨鏈操作的互操作性。然而這些可能會成為未來核心棧功能組件的部分現在的并不成熟,并未形成規模化應用,所以暫時不能被DApp的開發人員使用。
可選組件是指大量“去中心化庫”以可選的去中心化組件的形式存在,每組實現一種特定的功能,供DApp的開發人員選擇和采用。到目前為止只有少部分已經上線,如Livepeer、0x、Kyber、Storj、Sia、Oraclize和Civic,大多數團隊尚未發布能用于生產的工具。庫的不成熟從一方面也導致DApp開發的難度增加。
除了凱爾·薩馬尼的體系結構總結,Web 3.0還有更為模式化的框架分層。將Web 3.0體系分為五層,從上至下依次為應用層、服務與可選組件層、協議層、網絡與傳輸層以及基礎層,如圖2-4所示。

圖2-4 Web 3.0五層框架
1)應用層
應用層位于架構頂端,包括專有應用和基于通用服務平臺的應用,實現了與用戶的交互。DApp為用戶訪問去中心化應用提供了訪問入口,應用托管支撐去中心化應用程序的運行,應用將托管在使用SaaS(software as a service,軟件即服務)的分布式網絡上,應用托管服務通過云存儲使得程序可用。
2)服務與可選組件層
服務與可選組件層涵蓋了創建和運行DApp層的所有重要工具。例如,數據傳輸是Web 3.0中的一個重要方面,說明了節點如何通過可靠信息源進行信息的更新,在分布式網絡中,數據流顯然也是分散的。具體的計算過程集中在線下完成,與鏈上計算相比,線下計算成本相對更加低廉,更加省時,同時保證了計算值的可信度并確保值不會被惡意篡改。而DAO實現了對不同去中心化應用和服務的管理。狀態通道、支付通道都用于解決區塊鏈中的可擴展性問題,這些可擴展性解決方案需要與底層協議相互兼容,才能真正支持分布網絡需要的強大的拓撲結構。
3)協議層
協議層包括了不同的共識算法、權限要求、虛擬機等,決定了共識機制和網絡的參與方式。區塊鏈通過共識算法確保節點的一致性;側鏈是可擴展問題的解決方案之一,但作用并不僅限于此,開發人員還可以在側鏈內開發去中心化應用程序,并不會對主鏈產生影響,但應用程序的有效性卻是得到保證的;權限管理是針對開放程度不同的區塊鏈網絡設計的,滿足公有鏈、聯盟鏈、私有鏈的區分要求;虛擬機在以太坊應用程序開發中十分流行。
4)網絡與傳輸層
網絡與傳輸層充當了傳輸媒介、P2P網絡的接口,并決定數據的打包、處理、傳輸、搜索和接收的方式。RLPx協議是以太坊中的通信協議,主要功能是在節點之間建立并維持通信,并對用戶信息間的傳輸進行了加密;自定義協議滿足了用戶創建更適應自身需求的協議的要求,創建自定義協議的選項使得整個Web 3.0結構更富創造性;TEE是遠離主網絡或系統的隔離區域或者服務器,為解決區塊鏈可擴展性問題而增加的系統;區塊交付網絡可將頁面或其他Web內容傳送給請求它的用戶。
5)基礎層
基礎層是Web 3.0的生態基礎,位于最下層,通過內部基礎設施建設或BaaS(blockchain as a service)來控制網絡節點,是區塊鏈技術的基本組成單位。