區塊鏈技術面試常被問到的Hyberledger Fabric關鍵概念

先給英文官方原文地址:https://hyperledger-fabric.readthedocs.io/en/latest/overview.html

總覽Overview

介紹 Hyberledger Fabric 做為一個全面、可定制、企業級區塊鏈解決方案關鍵設計需求:

  • Assets (資產) - 資產定義了可以交換的幾乎所有東西,其能通過網絡用錢計價,從食物、到古董車、到未來的貨幣。
  • Chaincode(鏈碼/智能合約) - Chaincode分區執行,根據交易順序、所需信任級別的限制、驗證跨節點類型、優化網絡規模和性能
  • Ledger Features (賬本) -
    不可更改、共享帳本記錄了每個channle的完整的交易歷史,包括類SQL的查詢能力以保證高效的審計和糾紛解決
  • Privacy through Channels - (跨channles隱私)
    通道能滿足競爭企業和受監管行業在普通網絡在進行多邊交易能滿足高隱私和保密需求。
  • Security & Membership Services (安全和成員服務) -
    帶權限的成員管理提供了可信的區塊鏈網絡,參與者值得所有的交易可以被有授權的監管和審計人員探測和跟蹤。
  • Consensus (共識) - Fabric 獨特的共識機制能滿足企業對靈活性和可擴展性的需求。

Fabric 功能

Hyperledger Fabric 是分布式帳本(DLT)的一個獨特實現,采用模塊化區塊鏈架構,其提供了企業所需的網絡安全、可擴展性、保密性和性能。其主要的區塊鏈網絡功能包括:

  • Identity management 身份管理

Hyperledger Fabric 提供用戶識別服務來管理用戶的ID和參與者在網絡內的授權。訪問控制列表可以作為額外的許可層提供特定網絡操作授權。比如,一個特定的用戶ID可以執行chaincode應用,但是無法部署新的chaincode。
用戶之間相互知道身份,但是并不知道相互之間做了什么。

  • Privacy and confidentiality 隱私與保密

Hyperledger Fabric 使競爭商業組織、任何需要私有、保密交易的組織共存在同一個許可網絡中。私有channel限制消息路徑來給特定子網成員完成隱私和保密交易。沒有該channel權限的用戶無法見到和訪問channel的任何數據,包括交易、成員和通道數據。

  • Efficient processing 高效的處理

Hyperledger Fabric 根據節點類型分配網絡角色。為給網絡提供并發和并行,交易執行從交易共識和承諾中分開。執行交易先于共識是每個peer節點能同時處理多個交易。并發執行提高了每個peer節點的執行效率,加速了分發交易到 ordering 服務。
除了能夠進行并行處理之外,還使交易處理和帳本維護的節點得到了拆分,peer節點沒有了共識的工作負載。這樣分工同樣降低了授權和認證的處理需求;所有peer節點不需要信任全部 ordering 節點,反之亦然,因此處理能被獨立與對方認可外運行

  • Chaincode functionality 鏈碼/智能合約功能

Chaincode應用編碼了在channel上執行特定類型交易的邏輯。Chaincode定義資產所有權變更的參數,例如,確保轉讓所有權的所有交易都遵守相同的規則和要求。System chaincode 是定義了整個channel操作參數的chaincode。生命周期和配置system chaincode定義channle的規則;背書和驗證system chaincode定義了背書和驗證交易的需求。

  • Modular design 模塊化設計

Hyperledger Fabric實現了模塊化設計,網絡設計者能根據需求選擇功能。比如特定的識別、共識、加密算法可以插入任何 fabric網絡。因此,其是一個任何行業和公共領域都可以使用的通用區塊鏈架構,保證其網絡可以跨市場、監管和地理邊境進行互操作。相比之下,其他競爭對手大多是受限于特定領域和行業的。

Fabric 模型

  • Assets 資產

資產可以是有形(實體和硬件)或無形(合同和知識產權)的??梢院芊奖阍诳蛻舳薺avascript定義資產,在你的Fabric應用中使用,通過Fabric Composer工具。
Fabric支持資產的交換,通過未使用交易輸出作為后續交易的輸入。資產(和資產注冊)在Fabric中作為鍵值對的集合存在,在channel帳本中帶狀態變更記錄作為交易。Fabric允許任何資產采用二進制或JSON格式表示。

  • Chaincode

Chaincode 是定義資產和修改資產的交易指令的軟件。也就是說,它就是業務邏輯。chaincode執行讀取和修改鍵值對和其它狀態數據庫信息的規則。chaincode 函數基于帳本當前狀態數據庫執行,通過交易提案初始化。chaincode 執行結果是一系列鍵值對寫入,其被提交到網絡并被所有peer節點的帳本記錄。

  • Ledger Features 帳本特性

帳本是fabric中所有狀態轉換的記錄,其記錄為順序、防篡改。狀態轉換是參與方提交的chaincode的執行結果。每個交易結果是一系列鍵值對提交給帳本來創建、更新或刪除。
帳本由一個區塊鏈來保持不可變更、順序記錄在區塊中,同時一個狀態數據庫來維護fabric當前狀態。每個channel一個賬本。每個peer維護所屬每個channel的一個賬本拷貝。

  • 檢索和更新賬本使用基于key查找、范圍檢索和組合key檢索

  • 只讀檢索使用富檢索語言(如果使用 CouchDB 作為狀態數據庫)

  • 只讀歷史檢索 - 檢索一個key的賬本歷史,可以查看數據來源(enabling data provenance scenarios)

  • 交易由各版本的鍵值對組成,chaincode (讀集合)讀取的和chaincode寫入的(寫集合)

  • 交易包括每個背書peer的簽名,提交到ordering服務

  • 交易被ordered(排序?共識)進區塊,從ordering服務發布到channel的peer節點中

  • peer節點根據背書策略驗證交易并執行策略

  • 在添加新塊之前,將執行版本檢查來保證資產的狀態從chaincode執行時刻開始沒有被改變

  • 一旦交易被驗證和提交就不可以被改變

  • 一個channel的帳本包括了配置區塊,其定義了策略、訪問控制列表和其它相關信息

  • channel 包括成員服務提供者實例允許從不同證書機構加密材料。閱讀帳本主題,深入了解數據庫、存儲結構和"檢索能力".

  • Privacy through Channels 跨通道隱私

Fabric 實現了基于每個channel的不可變帳本,同時chaincode可以操作和修改資產的當前狀態(比如,更新鍵值對)。一個賬本存在于一個channel范圍 - 它可以被整個網絡共享(假設每個參與者都在一個共同的channel內操作) - 或者可以私有給有一組特定的參與者。
在后續,這些參與者將能創建一個分離的channel,因此隔離/分離他們的交易和賬本。Fabric甚至能解決這樣的場景:希望彌合全局透明度和隱私之間的差距。Chaincode僅安裝在需要獲取資產狀態來執行讀寫操作的peers(換句話說,如果一個chaincode沒有安裝一個peer,它將不能與賬本交互)。為了更進一步的隔離數據,chaincode內的值可以在附到賬本前使用通用的加密算法,如SHA-256,來加密(部分或全部)。

  • Security & Membership Services 安全和成員服務

Hyperledger Fabric 加強了交易網絡,所有參與者都有已知的身份。公鑰基礎設施用來生成與組織,網絡組件以及最終用戶或客戶端應用程序相關聯的加密證書。因此,數據訪問控制可以在網絡和channel層面進行操作和管理。Fabric的“許可”概念,加上channel的存在和功能,有助于解決隱私和機密性至關重要的場景。
參看 Fabric CA章節來更好的理解加密的實現,以及在Fabric中的簽名、證明、驗證實現。

  • Consensus 共識

在分布式帳本技術中,共識最近變成一個實現獨立功能的特定算法的同義詞。然后,共識不僅是簡單的同意交易的順序,它是貫穿了整個交易流程中的基本角色,從提案、背書、到確認順序、驗證和承諾,Hyperledger Fabric中強調這樣差異。簡單來說,共識是對一個塊內一組交易正確性的全生命周期驗證。
當一個塊內交易的順序和結果符合明確的政策標準檢查時,共識最終達成。這些檢查和平衡發生在一個交易的生命周期內,包括的背書策略使用,指定特定成員必須對特定交易等級背書;同時系統chaincode保證這些策略被執行和堅持。在承諾前,peers將執行系統chaincode來保證足夠的背書存在,而且它們是從恰當的實體發布而來。更進一步,當帳本的當前狀態被同意時將進行版本檢查,在任何包括交易的區塊被附加的帳本前。這個最終的檢查時為了保證避免雙重支付和其它可能可能導致危機數據完整性的其它威脅,并允許對非靜態變量執行函數。
除了大量背書、有效性和版本檢查之外,同時還有在交易流程中所有方向上持續存在的身份識別。訪問控制列表在網絡層上分級實現(從ordering服務下到channels),并且隨著交易穿過不同架構組件,payloads(負載在不同層次上是不同的)被重復簽名,驗證和認證。 總而言之,共識不僅僅局限于一批交易的順序達成一致,而是作為在交易從提案到承諾的過程中進行持續驗證的副產品而實現的總體。


圓方圓學院匯集大批區塊鏈名師,打造精品的區塊鏈技術課程。 在各大平臺都長期有優質免費公開課,歡迎報名收看。
公開課地址:https://ke.qq.com/course/345101

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容