區塊鏈元件概觀

執行不同版本的 IBM Blockchain Platform? 切換至 2.1.32.5、2.5.1、 2.5.22.5.3版。

重要事項: 您不會查看最新的產品說明文件。 強烈建議您儘快升級至產品的最新版本。 升級可確保您使用最新產品特性及修正程式,例如改良的產品穩定性、自動化憑證更新及現行安全修補程式。 安全修補程式不會套用至不再受支援的舊版產品。 舊版說明文件中說明的受支援環境 (例如先前支援的 Kubernetes 版本) 不會更新,且可能不再精確-不依賴舊版產品中列出的任何版本支援。

IBM® Blockchain Platform 的元件和結構是以 Hyperledger Fabric的基礎架構和工具為基礎,是 IBM 主要貢獻者的開放程式碼許可的區塊鏈解決方案。 基於 Fabric 的網路包括數個可部署在許多配置中的標準元件,以支援各種使用案例。

如需 Fabric 網路及包含它之元件的交互關係的更綜合性概觀,請參閱 Fabric 社群文件中的 本文件說明區塊鏈網路的結構 ,其中顯示如何啟動網路並使其成熟。

基於此概觀的目的,我們只聚焦在憑證管理中心 (CA)、排序節點、對等節點、智慧型合約及應用程式。 如您從 建置網路指導教學中所見,此順序不是任意的; 它反映基於 Fabric 的網路中元件部署的適當順序。

對等節點

在概念性層次上,區塊鏈網路主要由組織組成 (因為組織會決定網路的結構,以及擁有節點和管理身分)。 不過,在實體層次,區塊鏈網路主要由組織所擁有及管理的對等節點組成。 對等節點是網路的基本元素,因為它們管理分類帳及智慧型合約 (包含在 "鏈碼"中) ,因此是執行及驗證交易的位置。

更準確的說,對等節點可管理分類帳的實例,以及智慧型合約的實例。 由於智慧型合約和分類帳用來將共用程序和共用資訊封裝在網路中,因此,對等節點的這幾方面使其成為瞭解 Fabric 網路實際功用的絕佳起點。

若要特別進一步瞭解對等節點,請參閱 Fabric 社群文件中的 對等節點

IBM Blockchain Platform 主控台可讓您建立對等節點、將它們加入頻道、建立錨點對等節點、安裝智慧型合約,以及無縫升級對等節點。

憑證管理中心 (CA)

您可以將區塊鏈網路視為節點之間的一系列受管理互動,以提供已定義的商業使用案例。 若要讓這些互動可驗證 (換句話說,以確保誰是誰) ,則需要身分及可在每次互動期間檢查的許可權系統。 您可以將需要的身分類型視為與信用卡類似,因為它會識別特定環境定義內的某人。 信用卡藉由銀行交易來識別個人,而 Fabric 身分則允許在區塊鏈環境定義中識別使用者。

在 Hyperledger Fabric 及 IBM Blockchain Platform中,此元件是「憑證管理中心 (CA)」,它會以 x509 憑證的形式建立身分,以及透過建立「成員資格服務提供者 (MSP)」來定義組織的定義, MSP 會在元件及頻道層次定義身分的許可權。 這些身分可以包括它們的相關屬性,例如,將它們鏈結至特定組織或組織單位 (OU)。

例如,組織 MSP 具有稱為 admins的 MSP 子資料夾。 其憑證位於該管理資料夾內的任何使用者都是組織的管理者。 因為此 MSP 定義組織,所以它會列在組織所屬每個頻道的配置中。 因此,每當組織的管理者嘗試執行動作時,就會根據 MSP 中列出的憑證來檢查管理者的簽署憑證 (附加至其所有互動)。 憑證是否符合通道配置中列出的憑證? 如果這樣做,其他組織將會驗證它,並且可以執行動作。 如果沒有,則會拒絕執行交易的要求。

IBM Blockchain Platform CA 是以 Hyperledger Fabric CA為基礎,但如果它使用以 x.509 憑證為基礎的 PKI ,則可以使用另一個 CA。 因為未配置非 Fabric CA 來建立適當格式化的 MSP ,所以想要使用這種 CA 的使用者必須為自己建立 MSP。

如需如何使用憑證管理中心來建立身分及成員資格的相關資訊,請參閱 身分上的 Hyperledger Fabric 文件成員資格

排序服務

許多分散式區塊鏈 (例如以太坊和比特幣) 的特性系統,其中任何節點都可以參與交易訂購並組合成區塊的處理程序。 基於此事實,這些系統依賴於機率共識演算法,這種演算法最終保證分類帳一致的機率較高,但這些演算法仍然容易受到有分歧的分類帳(也稱為分類帳「分叉」)的影響,即網路中的不同參與者看到的交易接受順序不同。

Hyperledger Fabric 的運作方式與此不同。 它具有一種依賴確定性共識演算法 (稱為「排序節點」或「排序節點」) 來執行此交易排序的節點。 排序節點的集合構成「排序服務」。

除了提升最終性之外,也會區隔對智慧型合約執行的背書(這在對等節點上發生)與排序,這使得 Fabric 在效能和可調整性方面具有優勢,消除了在由相同節點執行智慧型合約執行和排序時可能發生的瓶頸問題。

排序服務會執行一個其他主要功能:它維護稱為「系統頻道」的項目,這是管理「聯盟」的預設頻道,而聯盟即是可以建立和加入應用程式頻道的組織清單。 因為依預設,應用程式頻道配置的某些層面是從系統頻道繼承而來(例如,特定功能層次),所以建立預設值是排序服務管理者的工作。 不過請注意,排序服務組織可以將其他管理組織新增至系統通道。

IBM Blockchain Platform 使用 Raft 通訊協定的實作,其中主導節點是在通道中的排序節點之間動態選取(此節點集合稱為「參與節點集」),並且該主導節點會將訊息抄寫到關注者節點。 因為系統可以保持流失的節點(包括主導節點),所以只要大部分排序節點(稱為「額定」)還在,就能說 Raft「損毀容錯 (CFT)」。 在 IBM Blockchain Platform中,使用者可以選取單一節點排序服務或五節點排序服務,但稍後可以在排序服務及通道中新增或移除節點。 同樣地,一個組織或多個組織可以管理排序服務並提供節點。

如需排序服務的相關資訊,請參閱 排序服務

通道

通道是提供專用通訊層的機制,容許網路成員子集為其交易建立個別分類帳。 通道不僅 私人 是指不屬於通道一部分的網路成員無法查看交易,而且 祕密 也是指除非網路成員是通道的一部分,否則他們甚至不會知道通道存在。

可以在成員之間建立多個通道,從而支援其中一個 許多實作隱私權的機制。 如 對等節點一節中所討論,區塊鏈網路中的資料會儲存在分類帳中的對等節點上。 每一個通道都有個別分類帳,用於保留該通道的交易 (包括配置交易)。

IBM Blockchain Platform 容許輕鬆建立和管理通道。 頻道配置更新可讓頻道成員編輯頻道參數,以符合其使用案例。 例如,可以將更多成員新增至一個通道,也可以變更一個通道的功能。 因為頻道的變更必須由頻道成員核准,所以 IBM Blockchain Platform 提供收集必要簽章的機制。

如需通道及其使用方式的相關資訊,請參閱 Hyperledger Fabric 文件

智慧型合約

在企業可以彼此交易之前,必須先達成並定義對規則和程序的共同瞭解。 這些合約可結合起來構成「商業模型」,以控管事業夥伴之間的所有互動。

在區塊鏈網路中也存在相同的需求。 在區塊鏈網路上,這些商業模型的業界術語叫作「智慧型合約」。 Fabric 網路以所謂「鏈碼」的更大型結構來包含這些合約,鏈碼不僅包含商業邏輯,還包含基礎架構,用來驗證嘗試呼叫智慧型合約的使用者身分。

在與律師事務所簽署並存檔的商業領域中,智慧型合約會安裝在對等節點上,並部署在頻道上。

如需智慧型合約的相關資訊,請參閱 智慧型合約

應用程式

Fabric 型網路 (例如 IBM Blockchain Platform ) 中的用戶端應用程式利用基礎架構 (例如 API、SDK 及智慧型合約) ,以容許更高抽象層次的用戶端互動 (呼叫及查詢)。

如需瞭解應用程式如何根據 Fabric 與網路互動,請參閱 Hyperledger Fabric 文件中的 開發應用程式 主題。 您也可以檢視 建立應用程式 主題,以瞭解如何將應用程式連接至 IBM Blockchain Platform。

範例網路

圖 1 描述由四個組織 (組織 A、組織 B、組織 C 和組織 D) 組成的已部署區塊鏈網路範例。每一個組織都有自己的「憑證管理中心」,負責配送加密身分資料。 還有一個排序服務包含五個 Raft 節點,可定義原則及網路參與者。 「頻道 X」包括所有四個組織,但「頻道 Y」僅限於「組織 C」及「組織 D」。最後,擁有適當簽署的 x509 憑證的用戶端應用程式可以將呼叫傳送至網路上的相關聯對等節點。

區塊鏈網路
圖 1. 具有四個成員的區塊鏈網路範例,利用通道來隔離資料