Anchor Peer - 錨節點
錨節點是通道中能被所有對等節點探測、並能與之進行通信的一種對等節點。通道中的每個成員都有一個(或多個,以防單點故障)錨節點,允許屬於不同成員身份的節點來發現通道中存在的其它節點。
- Chain - 鏈
chain就是block之間以hash連接爲結構的交易日誌。peer從order service接收交易block,並根據背書策略和併發衝突標記block上的交易是否有效,然後將該block追加到peer文件系統中的hash chain上。
- Channel--通道
通道是構建在“Fabric”網絡上的私有區塊鏈,實現了數據的隔離和保密。通道特定的賬本在通道中是與所有對等節點共享的,並且交易方必須通過該通道的正確驗證才能與賬本進行交互。通道是由一個“配置塊”來定義的。
- Concurrency Control Version Check - 併發控制版本檢查(CCVC)
CCVC是保持通道中各對等節點間狀態同步的一種方法。對等節點並行的執行交易,在交易提交至賬本之前,對等節點會檢查交易在執行期間讀到的數據是否被修改。如果讀取的數據在執行和提交之間被改變,就會引發CCVC衝突,該交易就會在賬本中被標記爲無效,而且值不會更新到狀態數據庫中。
- Current State - 當前狀態
ledger的current state表示其chain交易log中所有key的最新值。peer會將處理過的block中的每個交易對應的修改value提交到ledger的current state,由於current state表示channel所知的所有最新的k-v,所以current state也被稱爲World State。Chaincode執行交易proposal就是針對的current state。
- Fabric-ca
Fabric-ca是默認的證書管理組件,它向網絡成員及其用戶頒發基於PKI的證書。CA爲每個成員頒發一個根證書(rootCert),爲每個授權用戶頒發一個註冊證書(eCert),爲每個註冊證書頒發大量交易證書(tCerts)。
- Gossip Protocol - Gossip協議
Gossip數據傳輸協議有三項功能:1)管理peer發現和channel成員;2)channel上的所有peer間廣播賬本數據;3)channel上的所有peer間同步賬本數據。
- Invoke - 調用
用於調用chaincode內的函數。Chaincode invoke就是一個交易proposal,然後執行模塊化的流程(背書、共識、 驗證、 提交)。invoke的結構就是一個函數和一個參數數組。
- Leading Peer - 主導節點
每一個Member在其訂閱的channel上可以擁有多個peer,其中一個peer會作爲channel的leading peer代表該Member與ordering service通信。ordering service將block傳遞給leading peer,該peer再將此block分發給同一member下的其他peer。
- Member - 成員
擁有網絡唯一根證書的合法獨立實體。像peer節點和app client這樣的網絡組件會鏈接到一個Member。
- Membership Service Provider - MSP
MSP是指爲client和peer提供證書的系統抽象組件。Client用證書來認證他們的交易;peer用證書認證其交易背書。該接口與系統的交易處理組件密切相關,旨在使已定義的成員身份服務組件以這種方式順利插入而不會修改系統的交易處理組件的核心。
- Membership Services - 成員服務
成員服務在許可的區塊鏈網絡上認證、授權和管理身份。在peer和order中運行的成員服務的代碼都會認證和授權區塊鏈操作。它是基於PKI的MSP實現。
fabric-ca組件實現了成員服務,來管理身份。特別的,它處理ECert和TCert的頒發和撤銷。
- Ordering Service - 排序服務或共識服務
將交易排序放入block的節點的集合。ordering service獨立於peer流程之外,並以先到先得的方式爲網絡上所有的channel作交易排序。ordering service支持可插拔實現,目前默認實現了SOLO和Kafka。ordering service是整個網絡的公用binding,包含與每個Member相關的加密材料。
- Peer - 節點
一個網絡實體,維護ledger並運行Chaincode容器來對ledger執行read-write操作。peer由Member擁有和維護。
- 策略
有背書策略,校驗策略,區塊提交策略,Chaincode管理策略和網絡-通道管理策略。
- 提案
一種針對channel中某peer的背書請求。每個proposal要麼是Chaincode instantiate要麼是Chaincode invoke。
- 查詢
對於current state中某個key的value的查詢請求。
- Software Development Kit - SDK
SDK爲開發人員提供了一個結構化的庫環境,用於編寫和測試鏈碼應用程序。SDK完全可以通過標準接口實現配置和擴展,像簽名的加密算法、日誌框架和state存儲這樣的組件都可以輕鬆地實現替換。SDK API使用gRPC進行交易處理,成員服務、節點遍歷以及事件處理都是據此與fabric通信。目前SDK支持Node.js、Java和Python。
- State Database - stateDB
爲了從Chaincode中高效的讀寫,Current state 數據存儲在stateDB中,包括levelDB和couchDB。
- System Chain - 系統鏈
包含在系統級定義網絡的配置區塊。系統鏈存在於ordering service中,與channel類似,具有包含以下信息的初始配置:MSP信息、策略和信息配置。對整個網絡的任何變化(例如新的Org加入或者添加新的Ordering節點)將導致新的配置區塊被添加到系統鏈。
系統鏈可看做是一個channel或一組channel的公用binding。例如,金融機構的集合可以形成一個財團(以system chain表示),然後根據其相同或不同的業務創建channel。
- Transaction - 交易
Chaincode的invoke或instantiate操作。Invoke是從ledger中請求read-write set;Instantiate是請求在peer上啓動Chaincode容器。