hyperledger fabric框架說明

2021-09-30 14:44:07 字數 1194 閱讀 4680

這個圖就是hyperledger fabric1.0的架構圖,主要分三大模組:

1.區塊鏈服務

區塊鏈服務提供乙個分布式賬本平台。一般地,多個交易被打包進區塊中,多個區塊構成一條區塊鏈。區塊鏈代表的是賬本狀態機發生變更的歷史過程。

2.鏈碼服務(智慧型合約)

鏈碼包含所有的處理邏輯,並對外提供介面,外部通過呼叫鏈碼介面來改變世界觀。

3.成員許可權管理

通過基於 pki 的成員許可權管理,平台可以對接入的節點和客戶端的能力進行限制。

證書有三種,enrollment,transaction,以及確保安全通訊的 tls 證書。

註冊證書 ecert:頒發給提供了註冊憑證的使用者或節點,一般長期有效;

交易證書 tcert:頒發給使用者,控制每個交易的許可權,一般針對某個交易,短期有效。

通訊證書 tlscert:控制對網路的訪問,並且防止竊聽。

fabric1.0架構特點有三點需要說明的

1.鏈碼信任的靈活度大大提公升(chaincode trust flexibility):該架構分離了鏈碼(區塊鏈應用)的信任假設和排序的信任假設。換句話說,排序服務可以由一組node節點(排序orderer節點)提供,這些節點可以容忍它們中間出現一些失敗節點或惡意節點,另一方面,每個鏈碼的背書者可以不同。

2.可擴充套件性。作為特定鏈碼的背書node節點和排序orderer節點是垂直交叉關係,和將這些功能都放在同一批node節點相比,如此實現可以使系統在擴充套件性上更好。特別是,當不同的鏈碼指定不同的背書節點時更是如此,為此在背書節點之間引入了鏈碼分割槽技術,允許鏈碼並行執行(和背書)。此外,鏈碼的執行,可能比較耗費計算資源,所以把它從排序服務的關鍵路徑移除。

舉個例子:一共有50個背書node,10個排序node,完成10個交易。假設每個交易需要找5個背書節點為交易背書,如果policy允許的話最佳情況是10個交易正好用掉了50個背書node,然後10個交易都去orderer節點完成共識。而曾經的架構中,這種情況就是10個交易都由所有的validating peer來統一的驗證,共識,效率和拓展性一目了然。

3.共識模組化。該架構是模組化的,允許可插拔的模組化共識(即排序服務)實現。由於orderer節點的剝離,現在可以根據聯盟鏈所處的環境不同,選擇不同的共識演算法,目前有三種可供選擇:solo, kafka和pbft。

struts Validator框架校驗說明

struts1.1及以上版本在提供了表單輸入自動驗證的功能,即使用validator驗證框架。在使用validator驗證框架時,需要用到二個基於xml的配置檔案進行驗證規則的配置,乙個是validator rules.xml,另乙個是validation.xml。這兩個檔案應該部署在相應的web應...

Hyperledger Fabric 背書策略

背書策略是為了告知peer節點,交易是否被正確的背書。當peer接收到乙個交易到時候,它將會invoke與交易相關的chaincode的vscc validation system chaincode 作為交易驗證流的一部分,來驗證交易的有效性。recall that a transaction c...

Hyperledger Fabric網路節點架構

fabric網路節點的組成如下圖 客戶端必須連線到某乙個peer節點或者排序服務節點才可以與區塊鏈網路通訊。peer節點主要負責通過執行鏈碼 chaincode 實現對賬本的讀寫操作。所有的peer節點都是記賬節點 committer 負責維護狀態資料和賬本的副本。部分peer節點根據背書策略的設定...