爲了知足現代業務需求,IBM與其餘公司合做,共同開發了一個開放源代碼,可當即投入生產的業務區塊鏈框架,稱爲Hyperledger Fabric™,這是由LinuxFoundation®託管的8個Hyperledger®項目之一。數據庫
Hyperledger Fabric是被普遍使用的,支持准入網絡上的分佈式帳本解決方案。它的模塊化架構最大程度地提升了區塊鏈解決方案的機密性,彈性和靈活性。編程
Hyperledger Fabric是用於准入網絡的框架,其中全部參與者都具備已知身份。在考慮准入的網絡時,您應該考慮您的區塊鏈用例是否須要遵照數據保護法規。許多用例(尤爲是在金融部門和醫療保健行業)受數據保護法律的約束,這些法律要求瞭解網絡的成員是誰以及誰在訪問特定數據。安全
例如,考慮一傢俬募股權公司。根據定義,私募股權不在證券交易所公開交易,其投資者一般是風險投資公司,私募股權公司或天使投資者。該網絡的參與者必須是已知的,而且在資金方面具備信譽,才能進行投資才能參與區塊鏈。網絡
Hyperledger Fabric創建在模塊化架構之上,該架構將事務處理分爲三個階段:分佈式邏輯處理和協議(「鏈碼」),事務排序以及事務驗證和承諾。這種分離具備多個優勢:跨節點類型所需的信任和驗證級別更少,而且網絡可伸縮性和性能獲得了優化。架構
爲了說明這一點,讓咱們看一下Hyperledger Fabric v1.0中的事務流,以下圖所示。框架
從圖的左側開始:
1)交易建議由應用程序提交給背書的peer節點。 分佈式
2)背書政策概述了簽署提案須要多少個背書人和/或哪些背書人組合。背書者執行鏈碼以模擬網絡對等方中的提議,從而建立一個讀/寫集。模塊化
3)而後背書的peer節點將簽名的提案響應(背書)發送迴應用程序。工具
4)應用程序將交易和簽名提交給Order服務性能
5)建立一批或一組交易,並將其交付給提交peer節點。
6)當提交peer節點收到一批事務時
7)驗證是否符合背書策略,並檢查讀/寫集以檢測衝突的事務。若是兩項檢查均經過,則該塊將提交到帳本,而且每一個事務的狀態更新都將反映在狀態數據庫中。
因爲使用新的v1.X架構,只有簽名和讀/寫集是經過網絡發送的,所以可伸縮性和性能獲得了優化。此外,因爲只有背書人和提交人才能真正看到交易,所以在區塊鏈系統的不一樣部分中須要較少的信任級別,從而提供了更高的安全性。
例如,在資本市場中,隨着股權支持證券或債券的買賣,交易量因爲參與者的增長而增長。增長的事務須要改進的可伸縮性和性能,Hyperledger Fabric v1.X提供了此功能,部分緣由是拆分了鏈代碼執行。
拆分鏈碼執行還可使網絡動態增加。在Hyperledger Fabric v1.X中,能夠動態和以編程方式添加peer,而不是像v0.6中那樣以靜態方式添加。例如,假設一家管理外匯匯率的公司有一家新銀行要添加到網絡中。使用Hyperledger Fabric v1.X,他們能夠以編程方式執行此操做。
因爲競爭力,保護法和我的數據機密性的規定,企業須要對某些數據元素進行隱私保護,這能夠經過在區塊鏈上進行數據分區來實現。 Hyperledger Fabric支持的通道容許數據僅傳遞給須要瞭解的各方。
例如,許多金融實體對競爭對手甚至看到正在處理的交易數量表示擔心。一些金融機構認爲加密「不足」來保護其數據。鑑於某些金融工具須要花費10年或更長的時間才能實現價值,隨着時間的流逝,密碼破解的風險可能會使私人信息公開。通道幫助提供了數據分區功能,只有那些須要瞭解數據的人員才能看到事務數和數據自己。
分佈式帳本是區塊鏈應用程序狀態轉換的順序記錄。每筆交易都會產生一組資產鍵值對,這些鍵值對在建立,更新或刪除時將被提交到帳本。 peer支持LevelDB和CouchDB兩種格式存儲。
默認狀況下,LevelDB鍵值數據庫支持鍵查詢,複合鍵查詢和鍵範圍查詢。若是您還須要複雜的豐富查詢,則可使用CouchDB,它支持LevelDB的基本功能,並添加完整的數據複雜查詢。這種文檔數據庫(例如CouchDB)的內容是JSON格式的,同時支持複雜查詢,其中數據模型與現有鍵/值編程模型兼容。
這種JSON格式有助於最大程度地減小生成簡單報告和執行審覈功能所需的工做。例如,在供應鏈場景中,您可使用JSON文檔樣式來幫助概述商品和運輸實體的特定數據。您能夠輕鬆地生成用於資產到最終目的地的不一樣地點和運輸實體的資產報告。
Hyperledger Fabric體系結構的模塊化使網絡設計人員能夠插入其首選組件實現,這是一個優點。最須要模塊化的領域之一是「使用本身的身份認證系統」。不少公司已經具備本身的身份管理,而且想要重用而不是重建。
可插拔的體系結構的其餘組件包括共識或加密,容許使用本身的加密標準。
HSM(硬件安全模塊)提供了對數字密鑰的高級保護。對於涉及身份管理的方案,HSM能夠更好的保護密鑰和敏感數據。
更多教程請參考 flydean的博客