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

在理解Fabric區塊鏈網絡拓撲結構的基礎上,我們可以繼續了解Fabric區塊鏈網絡處理一筆交易的經典流程,如圖1-2所示。圖中,N代表Fabric網絡。CA代表網絡身份認證服務節點,一般為Fabric CA或其他CA認證中心。P代表peer節點,L、S、DB分別代表一個peer節點所使用的賬本副本、智能合約、狀態數據庫。SP、PR、ENV、BLK分別代表不同階段的交易數據。O代表orderer節點,5個orderer節點形成了一個Raft共識集群。

圖1-2 Fabric區塊鏈網絡經典交易流程

Fabric區塊鏈網絡經典交易流程描述如下。

(1)應用客戶端向CA(Fabric CA或其他CA)提交認證請求,驗證用戶或應用客戶端自身的合法性。若驗證有效,則繼續之后的步驟。

(2)應用客戶端(一般為peer命令行客戶端、Fabric SDK或第三方授權應用)收集交易參數,創建一筆背書簽名申請SP,并將SP發送給若干個背書節點。

(3)每個背書節點接收SP,并依據SP調用智能合約S。S執行所實現的合約邏輯,模擬交易行為,產生模擬交易數據。背書節點代表組織,對模擬交易數據進行簽名,形成一個背書應答PR,返回給應用客戶端。

(4)應用客戶端收集各個背書節點返回的PR,比較PR中的模擬交易數據是否一致,確認一致后,收集每個PR中各個背書節點的簽名,創建一筆交易ENV,然后將ENV發送至一個orderer節點。

(5)orderer節點接收ENV,按出塊規則,將ENV放至一個塊BLK,然后將BLK發送至orderer節點所在的Raft集群中進行共識排序。確定BLK的序號后,BLK被寫入orderer節點的本地應用通道的賬本中。每個peer組織中的leader節點,會從orderer節點賬本中順序索要新寫入的BLK。BLK被發送至各個peer組織的leader節點。

(6)leader節點收到BLK后,將BLK寫入本地應用通道的賬本,并從BLK中解析出ENV,將ENV中的交易數據提交至狀態數據庫DB。然后,leader節點將BLK散播至同組織中的其他peer節點,或同通道中其他組織的peer節點,這些節點同樣會寫入BLK和提交ENV中的交易數據,然后嘗試將BLK繼續散播至其他peer節點。

主站蜘蛛池模板: 丰宁| 泸西县| 获嘉县| 宜城市| 太仓市| 大宁县| 清镇市| 班玛县| 芮城县| 平原县| 鄄城县| 屏边| 黔江区| 邳州市| 临桂县| 报价| 仙游县| 浦北县| 浦北县| 东乡族自治县| 沙坪坝区| 贵定县| 额敏县| 介休市| 文水县| 独山县| 漯河市| 平原县| 苏尼特左旗| 寻乌县| 沾化县| 长海县| 高清| 眉山市| 湖州市| 顺义区| 定结县| 澄迈县| 资兴市| 二连浩特市| 洛阳市|