tft每日頭條

 > 圖文

 > fabric系統架構

fabric系統架構

圖文 更新时间:2024-08-19 19:17:47

作為引領新一輪信息技術革命的關鍵技術之一,近些年來,區塊鍊逐漸走進人們的視野。我國已将區塊鍊産業上升為國策,利用區塊鍊賦能各行各業,乃至促進我國治理體系和治理能力現代化。

BSN目前已适配和正在适配的聯盟鍊底層框架為Hyperledger Fabric、FISCO BCOS、國密Fabric、CITA、梧桐鍊、Brochain和百度XuperChain等,以便讓開發者有更多選擇。

本文将重點介紹 Fabric框架。

----------

1.Fabric來源

要了解Fabric,首先要知道Hyperledger開源項目。

2015年12月,由開源世界的旗艦組織Linux基金會牽頭,30家初始企業成員共同宣布Hyperledger聯合項目成立。Hyperledger 超級賬本,是首個面向企業應用場景的分布式賬本平台,包括了:IBM、Intel、Cisco、DAH、摩根大通、R3等在内的衆多科技和金融巨頭的貢獻參與,在銀行、供應鍊等領域得到了廣泛的關注和發展,目前已經擁有超過200家企業成員。

fabric系統架構(聯盟鍊框架介紹)1

Fabric是超級賬本中的最活躍的區塊鍊項目之一,它是一個開源的企業級許可分布式賬本技術(Distributed Ledger Technology,DLT)平台,專為在企業中使用而設計,緻力于滿足以下需求:

  • 參與者必須是已認證或者可識别的
  • 加入網絡需要獲得許可
  • 高交易吞吐量
  • 交易延遲低
  • 商業交易和數據的隐私性和機密性可以保證

BSN介紹 :區塊鍊服務網絡(Blockchain-based Service Network)(以下稱為“服務網絡”或“BSN”)是一個跨雲服務、跨門戶、跨底層框架,用于部署和運行區塊鍊應用的全球性公共基礎設施網絡,由國家信息中心、中國移動通信集團公司、中國銀聯股份有限公司、北京紅棗科技有限公司共同發起。互聯網是通過TCP/IP協議将屬于各方的雲資源和數據中心連接而形成的,BSN則是通過一套區塊鍊環境協議将屬于各方的雲資源和數據中心連接而組成。兩者均不屬于任何單一組織,都是公共基礎設施。

服務網絡緻力于改變目前區塊鍊應用開發和部署的高成本問題,以互聯網理念為開發者提供公共區塊鍊資源環境,極大降低區塊鍊應用的開發、部署、運維、互通和監管成本,從而使區塊鍊技術得到快速普及和發展。

BSN由遍布全球的公共城市節點組成。在公共城市節點上,應用發布方和使用方可以使用統一身份證書發布、管理和加入不限數量的區塊鍊應用,不再需要建設獨立的區塊鍊運行環境。所有應用通過負載均衡機制使平均資源消耗降至最低,運行成本僅為傳統區塊鍊雲服務的20%。通過BSN,一個應用每年僅需2000-3000元人民币即可成鍊并開始運行。中小微企業、甚至學生在内的個人都可以通過BSN進行創新、創業。

2.Fabric中的重要概念

在Fabric中,以下概念非常重要,具體包括order、CA、MSP、通道和peer。

Order:排序節點是為網絡中所有合法交易進行全局排序,并将一批排序後的交易組合生成區塊結構。

CA:CA節點是證書頒發機構,由服務器和客戶端組件組成。CA節點接收客戶端的注冊申請,返回注冊密碼用于用戶登錄,以便獲取身份證書。在區塊鍊網絡上所有的操作都會驗證用戶的身份。

MSP:Fabric中的MSP可以理解為賬号,是根據PKI規範生成的一組證書和秘鑰文件。Fabric中的組織、節點、用戶都擁有各自的MSP賬号信息,這種機制的好處是可以保證網絡中的用戶數量是可控的并且用戶都是被授權的。fabric基于這樣的MSP賬号體系保證了網絡中的每條交易都有發起人的數字簽名,而且背書節點也會在交易中加入自己的簽名,保證了交易過程的清晰透明,不可篡改。Fabric中的orderer、peer、客戶端等操作都需要使用MSP賬号。比如:啟動orderer節點、啟動peer節點、創建通道、部署鍊碼、調用鍊碼、peer向orderer發送請求。

通道:通道是Fabric中非常重要的概念,作用是用于實現區塊鍊網絡中業務的隔離,一個聯盟多個通道,每個通道可代表一項業務,并且對應一套賬本,通道内的成員為業務參與方(即聯盟内的組織),一個組織可以加入多個通道。通道分為系統通道和應用通道,排序節點通過系統通道來管理應用通道,用戶的交易信息通過應用通道傳遞,對一般用戶來說,通道是指應用通道。

在Fabric中,peer(節點)包括Endorse(背書節點)、Anchor(錨節點)、Leader(leader節點)、commit(記賬節點)。背書節點負責背書策略,提交節點負責數據的提交。

首先所有的peer(節點)都是committer(記賬節點),而又有可能擔任的角色有endorser(背書節點)、Leader(主節點)、Anchor(錨節點)。

Committer:記賬節點使用基于Gossip的p2p數據分發,節點會定期跟其他節點交換信息。

Leader:主節點連接到排序服務,負責把接受到的批量區塊轉發給其他節點。

Endorser:背書節點為動态的角色與具體的chaincode綁定,背書節點的故障對網絡的影響取決于chaincode對應的背書策略,例如背書策略指定隻要3個組織其中的2個組織的成員完成背書,該交易就是有效的,那麼隻有一個組織的成員節點出現故障對交易完成沒有影響。

Anchor:錨節點是在一個channel上可以被所有其他peer發現的peer,channel上的每個成員都有一個anchor Peer(或多個anchor peer 來防止單點故障),允許屬于不同成員的peer發現channel上的所有現有peer。

3.Fabric系統架構、網絡拓撲圖、交易流程

Hyperledger Fabric系統架構

fabric系統架構(聯盟鍊框架介紹)2

Fabric網絡拓撲圖

fabric系統架構(聯盟鍊框架介紹)3

Fabric交易流程

fabric系統架構(聯盟鍊框架介紹)4

多通道

fabric系統架構(聯盟鍊框架介紹)5

4.Fabric賬本存儲

Fabric賬本由區塊鍊和狀态數據庫兩部分組成。

區塊鍊是一組不可更改的有序的區塊,記錄着全部交易的日志。每個區塊中包含若幹個交易的數據,不同區塊所包含的交易數量可以不同,區塊之間用哈希關聯。

狀态數據庫通常使用數據庫保存一組賬本當前的狀态值,這樣就不用遍曆所有的交易日志去計算當前的狀态值,通常使用key-value鍵值對表示,狀态值可被創建,更新和删除。

若保存test的值為a,更新test的值為b,此時獲取test值為b,獲取曆史記錄就會得到以下兩條記錄:1、test:a 2、test:b 。

原理如圖

fabric系統架構(聯盟鍊框架介紹)6

删除 test,獲取test值提示查詢的信息不存在,但是獲取曆史記錄就會得到三條記錄:1、test:a 2、test:b 3、已删除。

原理如圖

fabric系統架構(聯盟鍊框架介紹)7

5.Fabric的共識機制

在Fabric中,有以下3中典型共識機制。

Solo共識

solo共識機制隻能用于單節點模式,即隻能有一個Orderer節點,因此,其共識過程很簡單,每接收到一個交易信息,就在共識模塊的控制下産生區塊并廣播給節點存儲到賬本中。

fabric系統架構(聯盟鍊框架介紹)8

Solo 模式下的共識隻适用于一個Orderer節點,所以可以在實驗、或者測試環境中使用。不建議用于生産環境。

Kafka共識

在Kafka共識模式中,Orderer與Orderer之間不會互相直接建立連接,而是與Kafka連接。

這種共識模式中,依賴于外部的Kafka集群系統和zookeeper集群系統。每個Orderer會把自己的交易發送給Kafka集群,交易在Kafka對應的topic中排序後, Kafka把排序後的交易推送給Orderer節點。Orderer節點收到交易後對交易打包,然後發給peer。

fabric系統架構(聯盟鍊框架介紹)9

使用Kafka共識的Fabric網絡,是一個僞的去中心化的網絡,整個網絡的“中心”- Kafka集群,需要一個專門的組織去運行。

Kafka并不是Fabric原生支持的,需要複雜的步驟去部署。

Raft共識

在Raft共識模式中,Orderer與Orderer之間直接建立連接,不依賴外部系統。

在Orderer節點中,會創建Raft的協程來處理與其他Orderer的通信,具體如下圖:

fabric系統架構(聯盟鍊框架介紹)10

在Raft模式中,每個組織都可以貢獻排序節點共同組成排序服務,更好的去中心化。

每個通道都會運行Raft協議的單獨實例。有N個通道的網絡,就有N個Raft集群,每個Raft集群都有自己的主導排序節點。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved