Hyperledger Fabric 介紹
Hyperledger (超級賬本)是區塊鏈行業中最大的項目之一,它由一組開源工具和多個子項目組成。該項目是由 Linux 基金會主辦的一個全球協作項目,其中包括一些不同領域的領導者們,這些領導者們的目標是建立一個強大的、業務驅動的區塊鏈框架。
區塊鏈網路主要有三種類型:公共區塊鏈、聯盟或聯合區塊鏈,以及私有區塊鏈。Hyperledger 是一個區塊鏈框架,旨在幫助公司建立私人或聯盟許可的區塊鏈網路,在該網路中,多個組織可以共享控制和操作網路內節點的許可權。
因為區塊鏈是一個透明的,基於不可變模式的安全的去中心化系統,所以它被認為是傳統的供應鏈行業改變遊戲規則的一種解決方案。它可以通過以下方式支持有效的供應鏈系統:
- 跟蹤整個區塊鏈中的產品
- 校驗和驗證區塊鏈中的產品
- 在供應鏈參與者之間共享整個區塊鏈的信息
- 提供可審核性
本文通過食品供應鏈的例子來解釋 Hyperledger 區塊鏈是如何改變傳統供應鏈系統的。
食品行業供應鏈
傳統供應鏈效率低下的主要原因是由於缺乏透明度而導致報告不可靠和競爭上的劣勢。
在傳統的供應鏈模式中,有關實體的信息對該區塊鏈中的其他人來說並不完全透明,這就導致了不準確的報告和缺乏互操作性問題。電子郵件和印刷文檔提供了一些信息,但它們不可能包含完整詳細的可見性數據,因為很難在整個供應鏈中去追蹤產品。這也使消費者幾乎不可能知道產品的真正價值和來源。
食品行業的供應鏈環境複雜,多個參與者需要協作將貨物運送到最終目的地 —— 客戶手中。下圖顯示了食品供應鏈(多級)網路中的主要參與者。
![典型的食品供應鏈](/data/attachment/album/201909/11/105956kbcic8ctb7ub2cec.png "Typical food supply chain")
該區塊鏈的每個階段都會引入潛在的安全問題、整合問題和其他低效問題。目前食品供應鏈中的主要威脅仍然是假冒食品和食品欺詐。
基於 Hyperledger 區塊鏈的食品跟蹤系統可實現對食品信息全面的可視性和和可追溯性。更重要的是,它以一種不變但可行的方式來記錄產品細節,確保食品信息的真實性。最終用戶通過在不可變框架上共享產品的詳細信息,可以自我驗證產品的真實性。
Hyperledger Fabric
Hyperledger Fabric 是 Hyperledger 項目的基石。它是基於許可的區塊鏈,或者更準確地說是一種分散式分類帳技術(DLT),該技術最初由 IBM 公司和 Digital Asset 創建。分散式分類帳技術被設計為具有不同組件的模塊化框架(概述如下)。它也是提供可插入的共識模型的一種靈活的解決方案,儘管它目前僅提供基於投票的許可共識(假設今天的 Hyperledger 網路在部分可信賴的環境中運行)。
鑒於此,無需匿名礦工來驗證交易,也無需用作激勵措施的相關貨幣。所有的參與者必須經過身份驗證才能參與到該區塊鏈進行交易。與以太坊一樣,Hyperledger Fabric 支持智能合約,在 Hyperledger 中稱為 Chaincodes ,這些合約描述並執行系統的應用程序邏輯。
然而,與以太坊不同,Hyperledger Fabric 不需要昂貴的挖礦計算來提交交易,因此它有助於構建可以在更短的延遲內進行擴展的區塊鏈。
Hyperledger Fabric 不同於以太坊或比特幣這樣的區塊鏈,不僅在於它們類型不同,或者說是它與貨幣無關,而且它們在內部機制方面也不同。以下是典型的 Hyperledger 網路的關鍵要素:
- 賬本 :存儲了一系列塊,這些塊保留了所有狀態交易的所有不可變歷史記錄。
- 節點 :區塊鏈的邏輯實體。它有三種類型:
- 客戶端 :是代表用戶向網路提交事務的應用程序。
- 對等體 :是提交交易並維護分類帳狀態的實體。
- 排序者 在客戶端和對等體之間創建共享通信渠道,還將區塊鏈交易打包成塊發送給遵從的對等體節點。
除了這些要素,Hyperledger Fabric 還有以下關鍵設計功能:
- 鏈碼 :類似於其它諸如以太坊的網路中的智能合約。它是用一種更高級的語言編寫的程序,在針對分類帳當前狀態的資料庫執行。
- 通道 :用於在多個網路成員之間共享機密信息的專用通信子網。每筆交易都在一個只有經過身份驗證和授權的各方可見的通道上執行。
- 背書人 驗證交易,調用鏈碼,並將背書的交易結果返回給調用應用程序。
- 成員服務提供商 (MSP)通過頒發和驗證證書來提供身份驗證和身份驗證過程。MSP 確定信任哪些證書頒發機構(CA)去定義信任域的成員,並確定成員可能扮演的特定角色(成員、管理員等)。
如何驗證交易
探究一筆交易是如何通過驗證的是理解 Hyperledger Fabric 在底層如何工作的好方法。此圖顯示了在典型的 Hyperledger 網路中處理交易的端到端系統流程:
![Hyperledger 交易驗證流程](/data/attachment/album/201909/11/105957inogr6s4gnfsgsgg.png "Hyperledger transaction validation flow")
首先,客戶端通過向基於 Hyperledger Fabric 的應用程序客戶端發送請求來啟動交易,該客戶端將交易提議提交給背書對等體。這些對等體通過執行由交易指定的鏈碼(使用該狀態的本地副本)來模擬該交易,並將結果發送回應用程序。此時,應用程序將交易與背書相結合,並將其廣播給 排序服務 。排序服務檢查背書並為每個通道創建一個交易塊,然後將其廣播給通道中的其它節點,對的體驗證該交易並進行提交。
Hyperledger Fabric 區塊鏈可以通過透明的、不變的和共享的食品來源數據記錄、處理數據,及運輸細節等信息將食品供應鏈中的參與者們連接起來。鏈碼由食品供應鏈中的授權參與者來調用。所有執行的交易記錄都永久保存在分類帳中,所有參與者都可以查看此信息。
Hyperledger Composer
除了 Fabric 或 Iroha 等區塊鏈框架外,Hyperledger 項目還提供了 Composer、Explorer 和 Cello 等工具。 Hyperledger Composer 提供了一個工具集,可幫助你更輕鬆地構建區塊鏈應用程序。 它包括:
- CTO,一種建模語言
- Playground,一種基於瀏覽器的開發工具,用於快速測試和部署
- 命令行界面(CLI)工具
Composer 支持 Hyperledger Fabric 的運行時和基礎架構,在內部,Composer 的 API 使用底層 Fabric 的 API。Composer 在 Fabric 上運行,這意味著 Composer 生成的業務網路可以部署到 Hyperledger Fabric 執行。
via: https://opensource.com/article/19/9/introduction-hyperledger-fabric
作者:Matt Zand 選題:lujun9972 譯者:Morisun029 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive