官术网_书友最值得收藏!

區塊鏈網絡(blockchain network)從參與者范圍的角度定義,分為公有鏈、聯盟鏈和私有鏈。公有鏈人人均可參與,如以太坊。聯盟鏈將參與者的范圍限制在聯盟成員范圍內。私有鏈則是單個組織或個人私有的,目前應用較少。本書中討論的Hyperledger Fabric 2.0(項目倉庫為hyperledger/fabric)屬于聯盟鏈。區塊鏈網絡本質上是基礎設施,向外可以提供容錯、共識、防篡改交易、分布式賬本存儲等服務。在Fabric區塊鏈網絡中,所有參與者各自提供一部分基礎設施和資源,組成網絡,并參與網絡管理或交易服務。

聯盟(consortium)表示若干個組織通過現實手段達成一定的協議,彼此作為“命運共同體”成員。在Fabric區塊鏈網絡中,聯盟成員認可彼此的身份、權限配置、責任劃分,成員依據相同的交易邏輯產生數據、依據相同的策略認可交易。

通道(channel)是Fabric區塊鏈網絡中隔離賬本交易數據的邏輯主體。一個通道對應著一個聯盟,一個通道也對應著一個賬本。通道中的賬本數據在聯盟成員之間共享,但完全與另一個通道的數據隔離。這就讓通道與通道之間具有私有數據集合的功能,但通道在Fabric區塊鏈網絡中是“較重”的資源,每個通道均需完整地運行一套交易服務、賬本服務、共識服務等,因此在設計通道時需慎重對待。更多的情況下,如果是為了隔離業務數據,應使用私有數據集合功能。

組織(organization)是參與Fabric區塊鏈網絡、組成一個聯盟的基本單位,也是一個邏輯主體。任何因一定的屬性、目的而將多個單體編制成集合的主體,都可以是組織,如現實中的公司、行業協會、多個工廠同類產品的生產線等。

節點(peer)是組成組織的個體在Fabric區塊鏈網絡中運行的基礎設施實體。在Fabric區塊鏈網絡中,節點在廣義概念上的專用名詞為Peer。具體地,由于職責和功能的迥異,Fabric區塊鏈網絡將主要的參與節點分為orderer和peer,orderer節點主要負責運行系統通道、共識排序服務,peer節點負責背書、廣播、散播等服務。但orderer節點和peer節點均可被視為區塊鏈網絡中廣義概念上的節點,因而兩者在配置上又存在很多類似的地方。

智能合約(smart contract)是使用編程語言實現的一種交易規則,以鏈碼(chaincode)的形式部署在Fabric區塊鏈網絡中。智能合約屬于通道,供聯盟成員調用,產生交易數據。使用智能合約的目的是依托區塊鏈網絡賦予賬本數據的可信性,在技術上完全地模擬實現商業交易規則,減少或消除人為干預合約履行的可能性。雖然智能合約支持Go、Java這樣的高級語言,但在實際項目應用時,由于智能合約是依托區塊鏈網絡運行的,其在實用性、適用范圍、效率、功能拓展等方面能力有限,因此Fabric官方也在積極探索拓展鏈碼能力的途徑。

賬本(ledger)是Fabric區塊鏈網絡中數據存儲的主體,用于以多種形式記錄網絡中所有發生的成功或失敗的交易。具體地,賬本使用blockfile存儲區塊,使用LevelDB或CouchDB存儲來自區塊的有效交易數據、區塊索引、歷史數據、私有交易數據。賬本與通道是一對一的,賬本與賬本之間數據隔離,不產生任何關聯。

區塊(block)是區塊鏈特性在數據存儲方面的核心體現,也是Fabric區塊鏈網絡中賬本數據存儲的基本單位。區塊的次序號由0開始,依次遞增,前后塊相互驗證關聯,形成一條不可篡改的鏈。一條鏈中區塊的數量,也被稱為高度(height)。一個通道的賬本,可以視為一條區塊鏈。

交易(transaction)是Fabric區塊鏈網絡的通道賬本中組成區塊的基本單位,主要描述了依據交易規則對應用通道中賬本數據的讀取、更改,以及對交易數據表示認可的背書主體。

私有數據集合(private data collection)是在Fabric區塊鏈網絡參與者之間隔離交易數據方面更細化的應用。通道與通道之間的交易數據是隔離的,但通道是“較重”的資源,而面對大量細化的交易數據隔離需求,通過通道實現數據隔離,顯得過于“笨重”,因此設計了私有數據集合的概念。通道中,有不公開交易需求的若干參與者組成一個“小團體”,遵循一份私有數據集合定義,執行交易,產生的交易數據只在“小團體”范圍內散播存儲。

共識機制(consensus mechanism)保證了Fabric區塊鏈網絡的賬本數據的可信、防篡改等特性。從技術上講,Fabric區塊鏈網絡運行的最終目的是產生所有參與者均認可的賬本數據,即在交易數據方面達成共識。Fabric區塊鏈網絡中的共識機制不單指某一共識算法(如PoW、PoS、Raft、PBFT等),而是基于交易處理流程的分階段共識,并在分階段共識的基礎上,達成整個網絡交易處理的共識。背書階段,與交易相關的參與者已就鏈碼定義(包括背書策略等)達成了共識,因而均認可鏈碼產生的交易數據。排序階段,由Raft算法主導確定每個交易在塊和賬本中的位置,參與者對此也達成共識。散播階段,由gossip算法按已排序好的位置,將包含交易的塊散播、存儲至所有參與者節點本地的賬本副本中,參與者對此也達成共識。在這些階段共識的基礎上,參與者對整個交易流程、結果可以達成共識。

主站蜘蛛池模板: 观塘区| 荆州市| 新建县| 公安县| 榆林市| 新野县| 稷山县| 衡东县| 子洲县| 洛宁县| 民勤县| 海淀区| 叙永县| 贡觉县| 汶川县| 启东市| 格尔木市| 遂溪县| 巴楚县| 靖宇县| 灵璧县| 濮阳市| 綦江县| 乌鲁木齐市| 隆子县| 邢台县| 南皮县| 大同市| 泽州县| 安多县| 黔江区| 新田县| 广元市| 清丰县| 赣榆县| 乌拉特前旗| 游戏| 抚顺市| 达日县| 神农架林区| 蓬莱市|