区块链技术之Fabric逻辑架构详解
一、架構圖
該圖出自區塊鏈技術指南一書,架構解釋也主要出自于本書,有興趣的同學可以去自行找一找資源。
如圖所示:fabric的底層主要由四種服務構成,分別是:身份服務、策略服務、區塊鏈服務、智能合約服務。在這些基礎服務之上,通過一些API、SDK、CLI為上層業務應用提供一些可以編程的接口服務。
二、服務詳解
2.1身份服務
首先明確一點,fabric和比特幣與以太坊的最大的區別在于其身份識別能力,fabric是權限區塊鏈,而后兩者是匿名的非權限區塊鏈。明確這一點后,fabric的身份識別主要表現在fabric的賬本中的各類事件個交易中,參與者和對象都具有明確的身份信息。這些信息主要包括參與者的組織、驗證者、交易者,賬本中的資產和智能合約,以及系統組件包括網絡和服務器、運行環境等等這些信息。驗證者在fabric網絡建立的時候就可以確定參加交易的權限級別。
2.2策略服務
由于fabric中的許多功能需要以策略的方式進行驅動,所以需要一套側羅服務來提供系統所需要的策略配置和管理功能。該服務最重要的功能在于訪問控制和授權管理。fabric的交易需要參與方具有相關的權限才能夠進行參與。其他的功能還包括加入或者退出網絡、身份的注冊、驗證、隱私、保密、共識策略等。
2.3區塊鏈服務
fabric的區塊鏈服務能夠提供構建分布式賬本的最基礎的能力,可以實現數據傳輸、共識達成等功能。并且提供訂閱/發布事件的管理框架。分布式賬本內部的各種事件可以通知外部的監聽的應用。fabric的區塊鏈服務主要包含4個組件:P2P協議組件、分布式賬本組件、共識管理器組件、和賬本存儲組件
2.3.1P2P協議組件
該組件主要提供的是區塊鏈節點之間的雙向的通信的能力。包括流式數據傳輸、流控制、多路復用等。P2P協議的通信機制采用了互聯網現有的基礎設施(防火墻、代理、服務器等),把數據封裝為一個消息對象,采用點對點或者組播的方式在節點之間傳輸。
2.3.2分布式賬本組件
該組件主要管理著fabric的區塊鏈數據。區塊鏈網絡的每一個節點可以看作為一個狀態機,分布式賬本維持著區塊鏈數據和各個狀態機之間的相同狀態。該組件的性能直接影響著區塊鏈網絡的吞吐量。所以在很多地方都需要較高的處理效率來提高網絡的效率。
2.3.3共識管理器組件
由于在業務場景中,需要在不同的共識算法中進行靈活切換,fabric的模塊化架構可以支持不同的場景切換不同的共識算法。通過統一的抽象接口,共識管理器接受各種交易數據,然后根據共識算法來決定如何組織或者進行交易,交易成功后,修改區塊鏈賬本的數據。
2.3.4賬本存儲組件
由于在區塊鏈上存儲大型文檔效率很低下,所以一般大文檔的存儲都是放在鏈外存儲中的。賬本存儲組件可以提供鏈外數據的持久化能力,每一個鏈外數據的哈希值可以保存在鏈上,從而可以保證數據的完整性。
2.4智能合約服務
該服務的實質是在驗證節點上運行的分布式交易程序,用以自動執行特定的業務規則,最終更新賬本信息的狀態。智能合約又分為:公開合約、保密合約和控制合約幾種。公開合約可以被任何成員調用;保密合約智能有驗證成員調用;訪問控制合約允許某些批準的成員調用。智能合約服務為合約代碼提供了安全的運行環境和合約控制管理周期。
2.5應用編程接口
用戶可以調用fabric的應用接口,實現業務應用,來構建基本的分布式賬本。
總結
以上是生活随笔為你收集整理的区块链技术之Fabric逻辑架构详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超级账本(Hyperledger Fab
- 下一篇: Fabric架构演变之路