天天看點

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

什麼是一個Fabric網絡

  一個Fabric許可的網絡是一個為應用程式客戶和管理者提供賬本服務的技術基礎架構。大部分情況下,多個機構合并成一個聯盟組成網絡,他們的權限是一些列政策決定的,這些政策是在網絡初始配置時,聯盟同意建立。此外,網絡政策會随着時間推移改變,但是需要要有聯盟中的機構同意。

  這個文檔将會引導你了解機構在,配置和部署fabric網絡時,形成channel在網絡中交易時,要做的決策,同時在網絡的整個生命周期中如何去修改這個決策。你也将會學習到這些決策是怎樣嵌入到Fabric的體系結構群組件中的。

  誰應該讀這個

  在這個主題中,我們會聚焦網絡的一些主要元件,他們為什麼存在以及什麼時候使用他們。這個主題對區塊鍊架構師和區塊鍊網絡管理者是有用的。區塊鍊應用程式開發者可能也會有興趣。這将是一篇概念性文檔,如果你喜歡深入到技術細節,我們鼓勵你檢視這個網站上的其他可用技術文檔。

  

區塊鍊網絡的業務需求-例子

  機構RA、RB、RC、RD決定共同投資一個Fabric區塊鍊網絡。機構RA将貢獻3個peer節點,同時RA會有2個客戶應用程式将要消費區塊鍊網絡的服務。機構RB将貢獻4個peer節點,以及1個客戶應用程式。機構RC将貢獻3個peer節點和2個客戶應用程式。機構RD将貢獻4個order節點。機構RA和RB已經決定組成一個聯盟,同時在他倆之間開發一個獨立的應用程式channel。機構RB和RC也已決定組成兩一個聯盟同時也在它倆之間開發一個獨立的應用程式channel。每一個應用程式channel有它自己的政策。

  

一個網絡的組成部分

  一個網絡由如下組成:

  • 賬本(每個channel一個,由blockchain和狀态資料庫組成)
  • 智能合約(又稱為鍊碼)   
  • Peer節點   
  • Ordering 服務   
  • channel   
  • fabric證書頒發機構(fabric

    ca)

網絡服務的使用者

  • 屬于機構的客戶應用程式   
  • 區塊鍊網絡管理者的客戶

網絡政策和身份

  Fabric CA頒發證書用于網絡中的機構認證。一個網絡上可以有一個或者多個CA,同時機構能夠選擇使用它們自己的CA。另外,屬于聯盟中機構的客戶應用程式使用證書去認證交易提案,同時peer節點使用它們去給提案背書,同時送出交易到賬本,如果他們是有效的話。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

上圖的解釋如下:

有一個Fabric網絡N以及網絡政策NP1以及排序服務O。

C1 channel由通道政策CP1管理。

C1 channel是由RARB聯盟建立。

C1 channel是由ordering服務O和peer節點 P1、P2以及已經被配置設定權限和C1交易的客戶應用程式A1、A2組成。

客戶應用程式A1屬于RA機構。

證書頒發機構CA1服務于機構RA。

peer2節點維護着與channel C1關聯的賬本L1以及channel C2關聯的賬本L2.

peer2使用鍊碼S4和S5.

ordering服務O的的orderer節點屬于RD組織。

建立網絡

  網絡是由聯盟的定義建立 ,它包括它的客戶、peer節點、channel和ordering 服務。ordering服務是網絡的管理點,因為它包括網絡中channel的配置。每個channel的配置包括了channel的政策和每個channel上的每個會員資訊會員資訊。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

定義一個聯盟

  一個聯盟是由兩個或以上的網絡上的機構組成的。聯盟是由需要彼此交易業務的機構定義的。同時他們必須同意網絡管理的政策。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

為聯盟建立一個channel

  channel是用于連接配接網絡組建和/或成員用戶端的應用程式。channel通過在ordering server上生成配置區塊的方式來建立,該區塊用來評估channel配置的有效性。channel的作用是他們允許資料的隔離性和機密性。交易的機構必須通過channel的身份認證才能它互動。通道由它們配置的政策管理。

    

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

Peer節點和channel

  通過機構加入channel的方式,屬于它們的peer節點也加入了,同時網絡上能有多個peer節點。Peer節點能同時承擔多個角色:

  

  • 背書peer-政策中定義的特殊節點,用來模拟執行智能合約交易,同時會給客戶應用程式一個提議傳回(背書)。
  • 送出peer-驗證排序交易區塊同時送出(寫/追加)它維護的一個賬本拷貝區塊中。

      因為所有的peer節點都維護着一個它們加入的每個一個channel的賬本拷貝。所有的peer節點都是送出peer。但是,隻有智能合約,背書政策定義的peer節點才是背書節點。一個peer節點能進一步被定義成如下角色:

      錨節點-在channel配置中定義,是一個channel加入的機構在網絡中将被發現的第一個peer

      上司peer-存在網絡中,代表包含着多個peer節點的機構與ordering服務通信。

      

    Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

應用程式和智能合約

  智能合約鍊碼必須被安裝和執行個體化在一個peer節點上為了一個用戶端應用程式能調用智能合約。用戶端應用程式是網絡外,唯一一個交易送出可以被建立的地方。當交易被一個用戶端應用程式提議,智能合約被模拟在複制賬本上執行的背書節點調用,同時發送送出響應(背書)到他們的用戶端應用程式。用戶端應用程式将這些傳回結合到一個交易,然後廣播它們到ordering服務。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

越來越多的網絡

  當沒有一個理論限制網絡能發展到多大規模,是以随着網絡增長,為了優化網絡吞吐量,穩定性和伸縮性而去考慮設計是很重要的。評估網絡政策,調節大量peer節點的gossip protocal協定的實作都是潛在的考慮。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

簡化的視覺詞彙

  在下面的段落中,我們能看到有兩個用戶端應用程式連接配接到一個有兩個peer節點和一個ordering 服務的channel上。由于隻有一個channel,該例裡面也隻有一個邏輯賬本。在這個單個channel的例子裡,P1和P2有着一樣的拷貝賬本(L1)和智能合約-也稱為鍊碼(S4)。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

增加另外的聯盟定義

  當聯盟被定義和增加到一個已存在的channel,我們必須修改channel配置通過發送一個channel修改交易配置到ordering service。如果這個交易是有效的,ordering服務将會建立一個新的配置區塊。網絡上的Peer節點将必須驗證ordering服務建立的新channel配置,同時如果他們驗證通過新的區塊,再修改他們的channel配置。重要的需要注意的是,channel配置修改交易是被系統鍊碼處理的,系統鍊碼被區塊鍊網絡管理者調用,同時不被用戶端應用程式交易提議調用。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

增加一個新的channel

  機構是用來構成和加入channel的,随着網絡的增長,增加機構能修正channe的配置。當新增一個channel到網絡中,它的政策與同一個網絡中的其它channel的政策依然是分離開的。

  在這個例子中,ordering 服務商的channel1和channel2配置将依然是和其它分離配置開的。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

  

  

增加另一個peer節點

  在這個例子中,屬于機構3的p3節點被增加到了C2中。注意,雖然網絡中可以有多個ordering 服務,這個理中隻有一個ordering服務來統治多個channel。在這個例子中,C2的channel政策是與C1隔離的,P3也與C1隔離,因為它僅通過C2進行身份驗證。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

增加一個peer節點到多個channel

  在這個例子中,P2已将加入到了C2中。P2将保證C1和C2以及他們關聯交易的私密性和隔離性。另外,用戶端應用程式A3頁将會被C1隔離。ordering 服務通過評估所有channel上,所有node節點政策和數字簽名,來維護網絡治理和channel的隔離。

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

  

  網絡完全形成

  在這個例子中,網絡被開發成包含多個用戶端應用程式、peer節點和channels,它們都連接配接着同一個ordering服務。P2是唯一一個連接配接C1和C2的peer節點,它保證了它們彼此之間的隔離性以及它們資料的私密性。在這個例子中,現在有兩個邏輯賬本,一個用于C1,一個用于C2。

  簡單的視圖

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

  更好的排布

  

Hyperledger Fabric 官方最新翻譯---關鍵概念(四)(Hyperledger Fabric Network)什麼是一個Fabric網絡區塊鍊網絡的業務需求-例子一個網絡的組成部分網絡服務的使用者網絡政策和身份建立網絡定義一個聯盟為聯盟建立一個channelPeer節點和channel應用程式和智能合約越來越多的網絡簡化的視覺詞彙增加另外的聯盟定義增加一個新的channel增加另一個peer節點增加一個peer節點到多個channel

  

繼續閱讀