摘要:區(qū)塊鏈接到區(qū)塊,區(qū)塊鏈接到區(qū)塊。共識整個交易流的更廣泛的術(shù)語,用于生成順序協(xié)議并確認構(gòu)成區(qū)塊的交易集合的正確性。策略策略是由數(shù)字身份的屬性組成的表達式,例如。在中,智能合約被稱為鏈碼,智能合約鏈碼安裝在對等節(jié)點上并實例化為一個或多個通道。
術(shù)語表
術(shù)語很重要,以便所有Hyperledger Fabric用戶和開發(fā)人員都同意每個特定術(shù)語的含義,例如,什么是智能合約。文檔將根據(jù)需要引用術(shù)語表,但如果你愿意,可以隨意閱讀整個內(nèi)容;這很有啟發(fā)性!
錨點由八卦使用以確保不同組織中的對等點彼此了解。
當提交包含對錨點更新的配置塊時,對等點會聯(lián)系到錨點并從中了解錨點已知的所有對等點。一旦來自每個組織的至少一個對等點已經(jīng)聯(lián)系了錨點,錨點就會了解通道中的每個對等點。由于八卦通訊是連續(xù)的,并且因為對等點總是要求被告知他們不知道的任何對等點的存在,可以為通道建立共同的成員資格觀點。
例如,假設(shè)我們在通道中有三個組織 — A、B、C和一個多帶帶的為組織C定義的錨點 - peer0.orgC,當peer1.orgA(來自組織A)聯(lián)系peer0.orgC時,它會告訴它關(guān)于peer0.orgA,而且,稍后peer1.orgB聯(lián)系peer0.orgC,后者會告訴前者關(guān)于peer0.orgA。從那時起,組織A和B將開始直接交換成員資格信息,而無需peer0.orgC的任何幫助。
由于跨組織的通信依賴于八卦以便工作,因此必須在通道配置中定義至少一個錨點,強烈建議每個組織都提供自己的一組錨點,以實現(xiàn)高可用性和冗余。
ACLACL或訪問控制列表,將對特定對等點資源(例如系統(tǒng)鏈碼API或事件服務(wù))的訪問權(quán)限關(guān)聯(lián)到策略(指定需要多少和什么類型的組織或角色類型)。ACL是通道配置的一部分,因此它存在于通道的配置塊中,并可使用標準配置更新機制進行更新。
ACL被格式化為鍵值對列表,其中鍵標識我們希望控制其訪問權(quán)限的資源,并且該值標識允許訪問它的通道策略(組)。例如,lscc/GetDeploymentSpec: /Channel/Application/Readers定義對生命周期鏈碼GetDeploymentSpec API(資源)的訪問可由滿足/Channel/Application/Readers策略的身份訪問。
configtx.yaml文件中提供了一組默認ACL,configtxgen使用該文件來構(gòu)建通道配置??梢栽?b>configtx.yaml的頂級“Application”部分中設(shè)置默認值,也可以在“Profiles”部分中按每個配置文件覆蓋默認值。
區(qū)塊區(qū)塊包含一組有序的交易,它以加密方式鏈接到前一個區(qū)塊,然后鏈接到后續(xù)區(qū)塊,這種區(qū)塊鏈中的第一個區(qū)塊稱為創(chuàng)世區(qū)塊,區(qū)塊由排序系統(tǒng)創(chuàng)建,并由對等點驗證。
區(qū)塊B1鏈接到區(qū)塊B0,區(qū)塊B2鏈接到區(qū)塊B1。
鏈分類帳的鏈是一個交易日志,結(jié)構(gòu)為哈希鏈接的交易區(qū)塊,對等點從排序服務(wù)接收交易區(qū)塊,根據(jù)認可策略和并發(fā)沖突將區(qū)塊的交易標記為有效或無效,并將區(qū)塊附加到對等點的文件系統(tǒng)上的哈希鏈。
區(qū)塊鏈B包含區(qū)塊0,1,2。
鏈碼請參閱智能合約。
通道通道是私有區(qū)塊鏈覆蓋,允許數(shù)據(jù)隔離和機密性,一個特定于通道的分類帳在通道中的對等點之間共享,并且交易方必須正確地認證到通道,以便與其進行交互,通道由配置區(qū)塊定義。
通道C連接應(yīng)用程序A1,對等點P2和排序服務(wù)O1。
提交通道上的每個對等點驗證有序的交易區(qū)塊,然后將區(qū)塊提交(寫入/附加)到其通道分類賬的副本,對等點還將每個區(qū)塊中的每個交易標記為有效或無效。
并發(fā)控制版本檢查并發(fā)控制版本檢查是一種跨通道上的對等點保持狀態(tài)同步的方法。對等點并行執(zhí)行交易,在提交到分類賬之前,對等點檢查執(zhí)行時讀取的數(shù)據(jù)未更改,如果為交易讀取的數(shù)據(jù)在執(zhí)行時間和提交時間之間發(fā)生了變化,然后發(fā)生了并發(fā)控制版本檢查違規(guī),并且交易在分類帳上標記為無效,并且狀態(tài)數(shù)據(jù)庫中的值不會更新。
配置區(qū)塊包含定義系統(tǒng)鏈(排序服務(wù))或通道的成員和策略的配置數(shù)據(jù),對通道或整個網(wǎng)絡(luò)的任何配置修改(例如,離開或加入的成員)將導(dǎo)致將新配置區(qū)塊附加到適當?shù)逆?,該區(qū)塊將包含創(chuàng)世塊的內(nèi)容加上delta。
共識整個交易流的更廣泛的術(shù)語,用于生成順序協(xié)議并確認構(gòu)成區(qū)塊的交易集合的正確性。
聯(lián)盟聯(lián)盟是區(qū)塊鏈網(wǎng)絡(luò)上的非定序組織的集合,這些是組建和加入通道以及擁有對等點的組織,雖然區(qū)塊鏈網(wǎng)絡(luò)可以有多個聯(lián)盟,大多數(shù)區(qū)塊鏈網(wǎng)絡(luò)只有一個聯(lián)盟。在通道創(chuàng)建時,添加到通道的所有組織必須是聯(lián)盟的一部分,但是,未在聯(lián)盟中定義的組織可能會添加到現(xiàn)有通道。
當前狀態(tài)請參閱世界狀態(tài)
動態(tài)成員資格Hyperledger Fabric支持添加/刪除成員、對等點和排序服務(wù)節(jié)點,而不會影響整個網(wǎng)絡(luò)的可操作性,當業(yè)務(wù)關(guān)系調(diào)整并且出于各種原因需要添加/刪除實體時,動態(tài)成員資格至關(guān)重要。
認可 認可策略 Hyperledger Fabric CA 創(chuàng)世區(qū)塊 八卦協(xié)議 初始化 安裝 實例化 調(diào)用 領(lǐng)導(dǎo)對等點 分類賬 成員請參閱組織。
成員資格服務(wù)提供商 成員資格服務(wù) 排序服務(wù)一個已定義的將交易排序到一個塊中的節(jié)點集合,排序服務(wù)獨立于對等點進程,并以先到先服務(wù)的方式為網(wǎng)絡(luò)上的所有通道排序交易,排序服務(wù)旨在支持超越開箱即用的SOLO和Kafka變種的可插拔實現(xiàn),排序服務(wù)是整個網(wǎng)絡(luò)的通用綁定;它包含與每個成員關(guān)聯(lián)的加密身份資料。
組織 對等點維護分類帳并運行鏈碼容器以便對分類帳執(zhí)行讀/寫操作的網(wǎng)絡(luò)實體,對等點由成員擁有和維護。
一個對等點,‘P’。
策略策略是由數(shù)字身份的屬性組成的表達式,例如:Org1.Peer OR Org2.Peer。它們用于限制對區(qū)塊鏈網(wǎng)絡(luò)上的資源的訪問,例如,他們決定誰可以讀取或?qū)懭氲酵ǖ溃蛘l可以通過ACL使用特定的鏈碼API,在引導(dǎo)排序服務(wù)或創(chuàng)建通道之前,可以在configtx.yaml中定義策略,或者可以在通道上實例化鏈碼時指定它們,示例configtx.yaml中提供了一組默認策略,適用于大多數(shù)網(wǎng)絡(luò)。
私有數(shù)據(jù) 私有數(shù)據(jù)集合(集合) 提案針對通道上特定對等點的認可請求,每個提案都是實例化或調(diào)用(讀/寫)請求。
查詢 軟件開發(fā)工具包(SDK) 智能合約智能合約就是代碼 - 由區(qū)塊鏈網(wǎng)絡(luò)外部的客戶端應(yīng)用程序調(diào)用 - 管理對世界狀態(tài)中一組鍵值對的訪問和修改。在Hyperledger Fabric中,智能合約被稱為鏈碼,智能合約鏈碼安裝在對等節(jié)點上并實例化為一個或多個通道。
狀態(tài)數(shù)據(jù)庫當前狀態(tài)數(shù)據(jù)存儲在狀態(tài)數(shù)據(jù)庫中,用于從鏈碼進行有效的讀取和查詢,支持的數(shù)據(jù)庫包括levelDB和couchDB。
系統(tǒng)鏈 交易調(diào)用或?qū)嵗峤唤o排序、驗證和提交的結(jié)果。調(diào)用是從分類帳讀取/寫入數(shù)據(jù)的請求,實例化是一個啟動和初始化通道鏈碼的請求。應(yīng)用程序客戶端收集來自認可的對等點的調(diào)用或?qū)嵗憫?yīng),并將結(jié)果和認可打包到提交給排序、驗證和提交的交易中。
一個交易,"T"。
世界狀態(tài)也被稱為“當前狀態(tài)”,世界狀態(tài)是HyperLedger Fabric分類賬的一個組件,世界狀態(tài)表示鏈交易日志中包含的所有鍵的最新值,鏈碼針對世界狀態(tài)數(shù)據(jù)執(zhí)行交易提案,因為世界狀態(tài)提供對這些鍵的最新值的直接訪問,而不是通過遍歷整個交易日志來計算它們。每當鍵的值發(fā)生變化時(例如,當汽車的所有權(quán) - “鍵” - 從一個所有者轉(zhuǎn)移到另一個所有者 - “值”)或添加新鍵時,世界狀態(tài)就會改變(一輛車被創(chuàng)造出來)。因此,世界狀態(tài)對交易流至關(guān)重要,因為必須知道鍵值對的當前狀態(tài)才能改變它,對等點將處理塊中包含的每個有效交易的最新值提交到分類帳世界狀態(tài)。
世界狀態(tài),"W"。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/24203.html
摘要:企業(yè)區(qū)塊鏈平臺企業(yè)級許可的分布式分類賬平臺,為廣泛的行業(yè)用例提供模塊化和多功能性。這些節(jié)點通過應(yīng)用已經(jīng)由共識協(xié)議驗證的交易來維護分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊中。 企業(yè)區(qū)塊鏈平臺 企業(yè)級許可的分布式分類賬平臺,為廣泛的行業(yè)用例提供模塊化和多功能性。 介紹 一般而言,區(qū)塊鏈是一個不可變的交易分類賬,維護在一個分布式對等節(jié)點網(wǎng)絡(luò)中。這些節(jié)點通過應(yīng)用已經(jīng)由共...
摘要:在上周周記的結(jié)尾,我曾經(jīng)說過本周要介紹的開發(fā)和應(yīng)用??稍谕ㄗx完的文檔之后,我立即取消了原定計劃,直接介紹。讓其成為開發(fā)首選的理由只有一個對開發(fā)者友好。將發(fā)布到的暴露成,供外部調(diào)用,完全語言中立。而后者則是為測試而生的。 在上周周記的結(jié)尾,我曾經(jīng)說過本周要介紹Fabric的開發(fā)和應(yīng)用。按照最開始的寫作計劃,我打算講講兩種開發(fā)模式:直接使用Fabric API和利用Composer框架???..
摘要:腳本列出了在結(jié)束時安裝的映像。在不同的體系結(jié)構(gòu),將用標識體系結(jié)構(gòu)的字符串替換。提供了許多來支持各種編程語言,官方發(fā)布了兩款針對和的和文檔。。 入門 在我們開始之前,如果你還沒有這樣做,你可能希望檢查是否已經(jīng)在開發(fā)區(qū)塊鏈應(yīng)用程序和/或運行Hyperledger Fabric的平臺上安裝了所有前提條件。 一旦安裝了前提條件,就可以下載并安裝HyperLedger Fabric了,當我們在F...
摘要:環(huán)境搭建快速入門前提安裝安裝安裝安裝查看版本信息輸出安裝查看版本信息輸出版本要求版本要求上傳解壓文件編輯環(huán)境變量文件添加如下內(nèi)容輸出如果系統(tǒng)中有舊版本的則使用如下命令卸載舊版本的然后再重新安裝 環(huán)境搭建 快速入門: http://hyperledger-fabric.rea... 前提 安裝git $ sudo apt update $ sudo apt install git 安裝...
閱讀 2671·2021-09-30 09:48
閱讀 2661·2019-08-30 14:10
閱讀 2834·2019-08-29 11:22
閱讀 1917·2019-08-26 13:51
閱讀 2358·2019-08-26 12:02
閱讀 2504·2019-08-23 16:06
閱讀 3645·2019-08-23 14:06
閱讀 1165·2019-08-23 13:56