1、簡介
? Hyperledger Fabric是一個分布式賬本解決方案的平臺,采用模塊化架構,提供高度的機密性、彈性、靈活性和可伸縮性,它被設計為支持不同組件的可插拔實作,并適應存在于整個經濟生態系統中的復雜性和復雜性,
1.1、什么是區塊鏈
1.1.1、一種分布式賬本
? 區塊鏈網路的核心是一個分布式賬本,它記錄在網路上發生的所有交易,
? 區塊鏈賬本通常被描述為分散的,因為它在許多網路參與者之間復制,每個參與者都在維護它,去中心化和協作化是現實世界中企業進行商品交換和服務的兩個重要的屬性,

? 除了去中心化和協作化,記錄到區塊鏈的資訊只用于追加,使用加密技術保證一旦一個交易被添加到分類帳中,它就不能被修改,這種“不變性”的屬性使得確定資訊的來源變得簡單,因為參與者可以確定資訊在事后沒有被改變,這也是區塊鏈被描述為證明系統的原因
1.1.2、智能合約
? 為了支持資訊的持續更新——并使一整套賬本功能(交易、查詢等)得以實作——區塊鏈網路使用智能合約來提供對賬本的受控訪問,

? 智能契約不僅是封裝資訊并使其在網路中保持簡單的關鍵機制,還可以撰寫為允許參與者自動執行某些方面的交易,
? 例如,智能合同可以規定貨物的運輸成本,運輸費用取決于貨物到達的速度,根據雙方同意的條款并寫入總帳,當收到款項時,相應的資金就會自動轉手,
1.1.3、共識機制
? 共識機制是用來使網路上的分類帳交易保持同步的程序,共識機制確保只有當交易被適當的參與者批準時,總賬才會更新,并且當總賬更新時,它們會以相同的順序更新相同的交易,

? 以后你會學到更多關于賬本、智能合同和共識的知識,目前,把區塊鏈看作一個共享的、復制的交易系統就足夠了,它通過智能契約進行更新,并通過一個稱為共識的協作程序保持一致的同步,
1.2、為什么區塊鏈有用
1.2.1、傳統的記錄系統
? 傳統的商業網路中成員相互進行交易,但是他們都各自維護各自的賬本,基本結構如下

? 現代技術已經把這個程序從石碑和紙質檔案夾帶到硬碟驅動器和云平臺,但其底層結構是相同的,管理網路參與者身份的系統是不存在的,溯源是一件很困難的事情,可能需要耗費幾天甚至更多時間,合同必須手動簽署,并且系統中的每個資料庫都包含唯一的資訊,因此存在單點故障,
1.2.2、區塊鏈
? 如果商業網路不再像“現代”交易系統那樣,鉆著無效率的老鼠窩,而是擁有在網路上建立身份、執行交易和存盤資料的標準方法,那會怎么樣呢?如果可以通過查看交易串列來確定資產的來源,而這些交易一旦寫好,就不能更改,因此可以信任,那該怎么辦呢?
? 區塊鏈中的商業網路如下圖所示:

? 這是一個區塊鏈網路,其中每個參與者都有自己復制的賬本,除了共享分類帳資訊外,更新分類帳的程序也是共享的,不像今天的系統,參與者的私人程式被用來更新他們的私人賬本,區塊鏈系統有共享的程式來更新共享的賬本,
? 區塊鏈網路通過共享賬本來協調其業務網路,可以減少與私人資訊和處理相關的時間、成本和風險,同時提高信任和可見性,
? 區塊鏈還有很多其他重要的細節,但它們都與資訊共享和程序的基本理念有關,
1.3、什么是超級賬本 (Hyperledger Fabric)
? Hyperledger Fabric是Hyperledger的區塊鏈專案之一,同其他區塊鏈技術一樣,它有一個賬本,使用智能合同,是一個參與者管理交易的系統,
? 與其他區塊鏈不同的是, Hyperledger Fabric 是私有的,并且只有被允許的成員才可以加入到這個網路中( Permissioned ),Hyperledger Fabric網路的成員通過可信的成員服務提供商(MSP)注冊,
? Hyperledger Fabric還提供了創建通道的能力,允許一組參與者創建單獨的交易賬本,對于網路來說,這是一個特別重要的選擇,因為有些參與者可能是競爭對手,而不希望他們所做的每一筆交易——例如,他們提供給某些參與者而不是其他參與者的特殊價格——讓每個參與者都知道,如果兩個參與者組成了一個通道,那么這些參與者——沒有其他參與者——擁有該通道的賬本的副本
1.3.1、共享賬本
? Hyperledger Fabric有一個由兩個組件組成的ledger子系統:世界狀態和事務日志,每個參與者都有一份屬于他們所屬的每個超級賬本網路的賬本副本,
? 世界狀態組件描述了在給定時間點的賬本的狀態,這是總賬的資料庫,事務日志組件記錄導致當前世界狀態值的所有事務;這是世界狀態的更新歷史,因此,賬本是世界狀態資料庫和交易日志歷史的組合,
? 賬本有一個世界狀態的可替換資料存盤,默認情況下,這是一個Level DB 鍵-值存盤資料庫,事務日志不需要是可插入的,它只是簡單地記錄區塊鏈網路使用的賬本資料庫的前后值,
1.3.2、智能合約
? Hyperledger Fabric智能合約是用鏈碼撰寫的,在區塊鏈外部的應用程式需要與賬本互動時呼叫該智能合約,在大多數情況下,鏈碼只與分類賬的資料庫組件、世界狀態(例如查詢它)互動,而不是與事務日志互動,
? 鏈碼可以用幾種編程語言實作,目前支持Go和Node,
1.3.3、隱私
? 根據網路的需要,企業對企業(B2B)網路的參與者可能對共享多少資訊非常敏感,Hyperledger Fabric支持隱私(使用通道)是關鍵運營需求的網路,以及相對開放的網路,
1.3.4、共識
? 事務必須按照它們發生的順序寫入賬本,即使它們可能在網路內的不同參與者之間,要做到這一點,必須建立交易的順序,并對錯誤(或惡意)插入賬本的非法交易進行拒絕,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/641.html
標籤:區塊鏈
上一篇:Ubuntu18.04 安裝 Fabric & 使用 Fabric 測驗網路
下一篇:零知識證明初見
