Hyperledger Fabric 介紹

Hyperledger (超級帳本)是一組開源工具,旨在構建一個強大的、業務驅動的區塊鏈框架。linux

Hyperledger (超級帳本)是區塊鏈行業中最大的項目之一,它由一組開源工具和多個子項目組成。該項目是由 Linux 基金會主辦的一個全球協做項目,其中包括一些不一樣領域的領導者們,這些領導者們的目標是創建一個強大的、業務驅動的區塊鏈框架。git

區塊鏈網絡主要有三種類型:公共區塊鏈、聯盟或聯合區塊鏈,以及私有區塊鏈。Hyperledger 是一個區塊鏈框架,旨在幫助公司創建私人或聯盟許可的區塊鏈網絡,在該網絡中,多個組織能夠共享控制和操做網絡內節點的權限。github

由於區塊鏈是一個透明的,基於不可變模式的安全的去中心化系統,因此它被認爲是傳統的供應鏈行業改變遊戲規則的一種解決方案。它能夠經過如下方式支持有效的供應鏈系統:數據庫

  • 跟蹤整個區塊鏈中的產品
  • 校驗和驗證區塊鏈中的產品
  • 在供應鏈參與者之間共享整個區塊鏈的信息
  • 提供可審覈性

本文經過食品供應鏈的例子來解釋 Hyperledger 區塊鏈是如何改變傳統供應鏈系統的。瀏覽器

食品行業供應鏈

傳統供應鏈效率低下的主要緣由是因爲缺少透明度而致使報告不可靠和競爭上的劣勢。安全

在傳統的供應鏈模式中,有關實體的信息對該區塊鏈中的其餘人來講並不徹底透明,這就致使了不許確的報告和缺少互操做性問題。電子郵件和印刷文檔提供了一些信息,但它們不可能包含完整詳細的可見性數據,由於很難在整個供應鏈中去追蹤產品。這也使消費者幾乎不可能知道產品的真正價值和來源。ruby

食品行業的供應鏈環境複雜,多個參與者須要協做將貨物運送到最終目的地 —— 客戶手中。下圖顯示了食品供應鏈(多級)網絡中的主要參與者。網絡

典型的食品供應鏈
Typical food supply chain

該區塊鏈的每一個階段都會引入潛在的安全問題、整合問題和其餘低效問題。目前食品供應鏈中的主要威脅仍然是假冒食品和食品欺詐。架構

基於 Hyperledger 區塊鏈的食品跟蹤系統可實現對食品信息全面的可視性和和可追溯性。更重要的是,它以一種不變但可行的方式來記錄產品細節,確保食品信息的真實性。最終用戶經過在不可變框架上共享產品的詳細信息,能夠自我驗證產品的真實性。框架

Hyperledger Fabric

Hyperledger Fabric 是 Hyperledger 項目的基石。它是基於許可的區塊鏈,或者更準確地說是一種分佈式分類賬技術(DLT),該技術最初由 IBM 公司和 Digital Asset 建立。分佈式分類賬技術被設計爲具備不一樣組件的模塊化框架(概述以下)。它也是提供可插入的共識模型的一種靈活的解決方案,儘管它目前僅提供基於投票的許可共識(假設今天的 Hyperledger 網絡在部分可信賴的環境中運行)。

鑑於此,無需匿名礦工來驗證交易,也無需用做激勵措施的相關貨幣。全部的參與者必須通過身份驗證才能參與到該區塊鏈進行交易。與以太坊同樣,Hyperledger Fabric 支持智能合約,在 Hyperledger 中稱爲 Chaincodes鏈碼,這些合約描述並執行系統的應用程序邏輯。

然而,與以太坊不一樣,Hyperledger Fabric 不須要昂貴的挖礦計算來提交交易,所以它有助於構建能夠在更短的延遲內進行擴展的區塊鏈。

Hyperledger Fabric 不一樣於以太坊或比特幣這樣的區塊鏈,不只在於它們類型不一樣,或者說是它與貨幣無關,並且它們在內部機制方面也不一樣。如下是典型的 Hyperledger 網絡的關鍵要素:

  • 帳本Ledgers:存儲了一系列塊,這些塊保留了全部狀態交易的全部不可變歷史記錄。
  • 節點Nodes:區塊鏈的邏輯實體。它有三種類型:
    • 客戶端Clients:是表明用戶向網絡提交事務的應用程序。
    • 對等體Peers:是提交交易並維護分類賬狀態的實體。
    • 排序者Orderers 在客戶端和對等體之間建立共享通訊渠道,還將區塊鏈交易打包成塊發送給聽從的對等體節點。

除了這些要素,Hyperledger Fabric 還有如下關鍵設計功能:

  • 鏈碼Chaincode:相似於其它諸如以太坊的網絡中的智能合約。它是用一種更高級的語言編寫的程序,在針對分類賬當前狀態的數據庫執行。
  • 通道Channels:用於在多個網絡成員之間共享機密信息的專用通訊子網。每筆交易都在一個只有通過身份驗證和受權的各方可見的通道上執行。
  • 背書人Endorsers 驗證交易,調用鏈碼,並將背書的交易結果返回給調用應用程序。
  • 成員服務提供商Membership Services Providers(MSP)經過頒發和驗證證書來提供身份驗證和身份驗證過程。MSP 肯定信任哪些證書頒發機構(CA)去定義信任域的成員,並肯定成員可能扮演的特定角色(成員、管理員等)。

如何驗證交易

探究一筆交易是如何經過驗證的是理解 Hyperledger Fabric 在底層如何工做的好方法。此圖顯示了在典型的 Hyperledger 網絡中處理交易的端到端系統流程:

Hyperledger 交易驗證流程
Hyperledger transaction validation flow

首先,客戶端經過向基於 Hyperledger Fabric 的應用程序客戶端發送請求來啓動交易,該客戶端將交易提議提交給背書對等體。這些對等體經過執行由交易指定的鏈碼(使用該狀態的本地副本)來模擬該交易,並將結果發送迴應用程序。此時,應用程序將交易與背書相結合,並將其廣播給排序服務Ordering Service。排序服務檢查背書併爲每一個通道建立一個交易塊,而後將其廣播給通道中的其它節點,對的體驗證該交易並進行提交。

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: opensource.com/article/19/…

做者:Matt Zand 選題:lujun9972 譯者:Morisun029 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章
相關標籤/搜索