廢話不多說,直接進入學習分享內容,Fabric 從IBM第一個內部通用版本V0.6 到 V1.x 再到V2.0的發布,經歷很多場景、框架的完善,逐步將聯盟鏈的概念完善起來,其實從外文的原文,公有鏈(Permissionless Blockchain)、聯盟鏈(Permissioned Blockchain),就可以看出對于聯盟鏈的定義,
對比公有鏈來說,自激勵、參與方式無限制、網路規模普遍偏大、吞吐量較低;而聯盟鏈,主要通過外部激勵、參與方式是通過授權、網路規模偏小、吞吐量較高,
對于筆者而言之前有幸與IBM共事一個專案,基于Fabric V0.6版本,從而打開了筆者對于區塊鏈專案的新世界,由于0.6的版本對于CA認證、賬本隔離、隱私等方面都沒有完善,因此本次的分享主要是針對V1.x 和 V2.0進行大致的介紹,
Fabric的基本模塊概念:
Organiztion(membership service provider):組織,是Fabric網路中的基本成員,
Identify:身份標志,一般是通過Fabric-CA下發證書,通過證書和密鑰來管理認證組織成員身份,
Consortium、Channel:聯盟、通道,整個Fabric網路通過通道配置樹來管理組織、聯盟的范圍,
Smart Contract:智能合約,直接與賬本結構打交道,并支持上層業務邏輯,應用程式通過呼叫智能合約提供的方法來實作業務邏輯,
ChainCode:鏈碼延伸自智能合約的概念,負責對應用程式發送的請求作出相應,執行代碼邏輯,實作與賬本的互動,
Endorsement:背書,可以通過Signature Policy方式,指定特定身份簽名組合來進行背書,如指定多個組織內任意成員身份進行背書,或指定必須要有一個監管單位組織進行背書;也可以通過Channel Config Policy方式,參考通道內已有的策略進行背書,如果不顯示的指定背書策略,則會使用通道配置中的Channel、Application、Endorsement策略,其默認為通道內的大多數成員,
Private Data:分布式賬本可以幫助多個成員進行資料共享和協作,隱私保護就成了關鍵性問題,Fabric目前通過通道機制,使各個通道之間資料進行彼此隔離;通過私密資料庫,在同一通道內,實作對私密交易內容的保護;通過資料加密保護,在資料上鏈之前進行客戶端加密,實作對鏈上資料的保護,
Fabric V1.x更新的特征主要有:
Private Data Collections(私有資料集合)
Endorsement(背書)
Commit(提交)
Reconciliation(和解)
Fabric V2.0的更新:
Private Data Enhancements(私有資料增強)
Decentralized Application Patterns(去中心化的應用模式)
私有資料集合:在同一通道上有多個組織之間共享資料,但是對通道上的其他組織保持資料私密,私有資料集合會在chaincode實體化、升級時定義,會定義組織中的哪些peer節點被授權存盤集合資料,
背書:背書節點分發私有資料到被授權的組織節點,私有資料先存盤在臨時存盤中,交易提交時再存到StateDB,臨時資料不會被包含在提交到排序服務的交易中,只有私有資料的HASH值會被包含在交易區塊中,
私有資料提交:交易驗證后私有資料和HASH值會被存盤至StateDB中,未被授權的節點只存盤私有資料的HASH值,如果授權節點沒有私有資料,那么它會嘗試從其他被授權節點獲取私有資料,
私有資料和解:如果授權節點在提交時刻,還是獲取不到私有資料,它會在提交后繼續嘗試獲取私有資料,
在V1.x的版本中,必須為所有可能交易的私有資料進行私有資料集合的定義,即使它是一個單組織的網路,
私有資料增強:支持集合級別的背書策略,每個組織隱式的私有資料集合,能夠跨集合共享、驗證私有資料,這樣隱式的背書所匹配的組織,只有組織內的peers可以讀寫私有資料,不需要定義集合,非集合成員通過存盤在賬本中的HASH值來驗證私有資料,組織之間在需要知道的基礎上進行私有資料的共享,
本次分享就到這里,主要講Fabric的基本概念,V1.x V2.0的更新進行了簡介,這里不做太深入的探討,在后期具體模塊解讀時,再進行決議,目前大家有個概念就行,下一次分享會繼續講框架、基本概念進行描述,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/292555.html
標籤:區塊鏈
