1. 程式人生 > >蝸牛講-Fabric入門之架構

蝸牛講-Fabric入門之架構

oss 通過 三種 參與者 數據 關註 pad mem 維護

區塊鏈的三大最佳實踐:比特幣,以太坊和超級賬本。比特幣可以看出是區塊鏈1.0,主要作為數字貨幣進行流通交易,是區塊鏈在金融領域的一個最佳實踐。以太坊作為區塊鏈2.0 的代表,具有了可編程的智能合約特性,使得區塊鏈在除金融領域之外的其他領域可以有用武之地,但是距離真正的商用還有很多需要考慮的因素。超級賬本平臺fabric則可以看成是區塊鏈3.0的雛形,讓整個區塊鏈技術在不同領域例如自動化采購,物聯網,供應鏈管理等真正進入了應用時代。下面是三種區塊鏈技術特點的比較

技術分享圖片

當前fabric已經release 到了1.1.0版本。而且相對於fabric 1.0之前的版本,Fabric 1.x版本的架構和實現都有了很大的變化。這些變化主要是從以下幾個點考慮:

  • 更好的支持現有的信任機制

  • 在參與者的數量和交易的吞吐量上盡量做到可擴展性

  • 消除不確定的交易

  • 實現可插拔的數據存儲

  • 可升級fabric和chaincode

  • 移除fabric ca中SPoF(Single Point ofFailure),支持多種成員管理服務(MemberShip Services)

我們本章節以及後續要介紹關於fabric的相關內容都是基於1.x或是更高版本。

下面是fabric V1.x的架構圖

技術分享圖片

該架構主要包括幾個部分:

  • 應用sdk:用於和區塊鏈網絡進行通信,提供了包括安全認證,交易申請等功能

  • 節點:負責背書,驗證,提交交易等功能,每個節點都維護了一個或是多個賬本,同時通過gossip網絡對其他節點保持通信。Fabric裏每個節點都是無狀態的,

  • order服務,負責打包,排序和分發交易

上圖也簡要概括了fabric一個交易的完整周期。

  1. 客戶端首先通過進行身份認證等安全操作,進入區塊鏈網絡

  2. 客戶端之後創建一個交易申請,發送給背書節點進行背書操作。

  3. 背書節點執行對應的鏈碼,基於應用的key操作生成讀寫操作集,並把背書結果返回給客戶端

  4. 客戶端收到背書返回後,把交易發送給節點,由節點轉發到order服務

  5. order服務排序交易,把交易封裝到區塊裏,並廣播給每個節點(或是說每個提交節點)

  6. 節點對交易進行背書策略驗證,身份認證,區塊中所有交易的有效性認證。之後寫入賬本,並返回交易結果

    參考:

    https://blog.csdn.net/jamenew/article/details/55050986

    http://baijiahao.baidu.com/s?id=1585939473857151270&wfr=spider&for=pc


歡迎大家關註微信號:蝸牛講技術。掃下面的二維碼

技術分享圖片

蝸牛講-Fabric入門之架構