
共識服務是Fabric系統(tǒng)中的區(qū)塊鏈系統(tǒng)核心功能
1、分布式賬本
Fabric賬本數(shù)據(jù)存儲模塊提供了文件系統(tǒng)和鍵值型數(shù)據(jù)庫,統(tǒng)一封裝為Peer節(jié)點的賬本對象(kvLedger)進行管理。利用文件系統(tǒng)保存區(qū)塊數(shù)據(jù),鍵值型數(shù)據(jù)庫保存區(qū)塊索引、是區(qū)塊鏈世界狀態(tài)、歷史數(shù)據(jù)、隱私數(shù)據(jù)等。
2、排序服務
排序服務由Orderer節(jié)點的kafka中間件提供。client發(fā)送來的交易提案是一個數(shù)據(jù)的讀寫集,因此可以在驗證提案的背書簽名等數(shù)據(jù)后,可以將其放入kafka隊列進行排序,然后orderer節(jié)點接收kafka消息(排列后的交易),然后按照配置的規(guī)則構(gòu)造區(qū)塊并分發(fā)區(qū)塊。
3、P2P網(wǎng)絡協(xié)議
Fabric中的P2P協(xié)議主要采用Gossip協(xié)議。其模塊功能如下:
1.管理網(wǎng)絡Peer成員節(jié)點,維護節(jié)點信息相關列表;
2.分發(fā)數(shù)據(jù)消息和更新通道狀態(tài);
3.同步缺失數(shù)據(jù);
4.提供Gossip消息存儲更新和安全機制。
4.背書驗證
client向Orderer發(fā)送交易請求前,需要先向EndorsorPeer節(jié)點發(fā)送交易提案,Endorsor提案進行模擬執(zhí)行,并對模擬執(zhí)行結(jié)果簽名,標識Endorsor節(jié)點認為此次交易是有效的,然后將簽名背書信息等打包成交易提案響應回復給client。client再將提案響應等打包成Envelope格式發(fā)送給Orderer節(jié)點進行排序。