菜鳥系列Fabric——Fabric 基本概念(1)


Fabric 基本概念

1.區塊鏈介紹

區塊鏈之所以引來關注是因為比特幣開源項目,尤其是比特幣價值的飆升,讓大家開始關注數字貨幣以及相關技術。那么區塊鏈究竟是什么?

1.1 區塊鏈定義

狹義上,區塊鏈是一種以區塊為基本單位的鏈式數據結構,區塊中利用數字摘要對之前的交易歷史進行校驗。

廣義上,區塊鏈指代這些基於區塊鏈結構實現的分布式記賬技術。

1.2 具體特征

  • 去中心化。由於使用分布式核算和存儲,體系不存在中心化的硬件或管理機構。
  • 開放性。系統是開放的,除了交易各方的私有信息被加密外,區塊鏈的數據對所有人公開,任何人都可以通過公開的接口查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。
  • 自治性。區塊鏈采用基於協商一致的規范和協議使得整個系統中的所有節點能夠在去信任的環境自由安全的交換數據。
  • 信息不可篡改。一旦信息經過驗證並添加至區塊鏈,就會永久的存儲起來,除非能夠同時控制住系統中超過51%的節點,否則單個節點上對數據庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高。
  • 匿名性。由於節點之間的交換遵循固定的算法,其數據交互是無需信任的。

1.3 分類

當前根據參與者類型,主要分為以下三類:

  • 公有鏈,任何人都可以參與使用和維護,參與者多為匿名。典型的如比特幣和以太坊區塊鏈,信息是完全公開的。

  • 私有鏈,由集中管理者進行管理限制,只有內部少數人可以使用,信息不公開。

  • 聯盟鏈,介於兩者之間,由若干組織一起合作維護一條區塊鏈,該區塊鏈的使用必須是帶有權限的限制訪問,相關信息會得到保護,典型如超級賬本項目。

接下來,將重點介紹聯盟鏈超級賬本fabric項目。

2. 超級賬本Fabric項目

超級賬本(Hyperledger)項目是全球最大的開源企業級分布式賬本平台。

在 Linux 基金會的支持下,超級賬本項目吸引了包括 IBM、Intel、Cisco、DAH、摩根大通、R3、甲骨文、百度、騰訊等在內的眾多科技和金融巨頭的參與貢獻,以及在銀行、供應鏈等領域的應用實踐。

作為最早加入到超級賬本項目中的頂級項目,Fabric 由 IBM、DAH 等企業於 2015 年底提交到社區。項目在 Github 上地址為 https://github.com/hyperledger/fabric。

該項目的定位是面向企業的分布式賬本平台,創新的引入了權限管理支持,設計上支持可插拔、可擴展,是首個面向聯盟鏈場景的開源項目。

2.1 Fabric特性

  • 解耦了原子排序環節與其他復雜處理環節,消除了網絡處理瓶頸,提高可擴展性;
  • 解耦交易處理節點的邏輯角色為背書節點(Endorser)、確認節點(Committer),可以根據負載進行靈活部署;
  • 加強了身份證書管理服務,作為單獨的Fabric CA項目,提供更多功能;
  • 支持多通道特性,不同通道之間的數據彼此隔離,提高隔離安全性;
  • 支持可拔插的架構,包括共識、權限管理、加解密、賬本機制都模塊,支持多種類型;
  • 引入系統鏈碼來實現區塊鏈系統的處理,支持可編程和第三方實現。

2.2 Fabric架構

超級賬本 Fabric 的整體架構如下圖所示。

image

Fabric 為應用提供了 gRPC API,以及封裝 API 的 SDK 供應用調用。應用可以通過 SDK 訪問 Fabric 網絡中的多種資源,包括賬本、交易、鏈碼、事件、權限管理等。應用開發者只需要跟這些資源打交道即可,無需關心如何實現。其中,賬本是最核心的結構,記錄應用信息,應用則通過發起交易來向賬本中記錄數據。交易執行的邏輯通過鏈碼來承載。整個網絡運行中發生的事件可以被應用訪問,以觸發外部流程甚至其他系統。權限管理則負責整個過程中的訪問控制。賬本和交易進一步地依賴核心的區塊鏈結構、數據庫、共識機制等技術;鏈碼則依賴容器、狀態機等技術;權限管理利用了已有的 PKI 體系、數字證書、加解密算法等諸多安全技術。底層由多個節點組成 P2P 網絡,通過 gRPC 通道進行交互,利用 Gossip 協議進行同步。

2.3 核心概念與組件

超級賬本 Fabric 采用了模塊化功能設計,整體的功能模塊結構如下圖所示。

image

超級賬本 Fabric 面向不同的開發人員提供了不同層面的功能,自下而上可以分為三層:

  • 網絡層:面向系統管理人員。實現 P2P 網絡,提供底層構建區塊鏈網絡的基本能力,包括代表不同角色的節點和服務 ;
  • 共識機制和權限管理:面向聯盟和組織的管理人員。基於網絡層的連通,實現共識機制和權限管理,提供分布式賬本的基礎 ;
  • 業務層:面向業務應用開發人員。基於分布式賬本,支持鏈碼、交易等跟業務相關的功能模塊,提供更高一層的應用開發支持。
有興趣的關注IT程序員客棧哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM