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