- 區塊鏈國產化實踐指南:基于Fabric 2.0
- 王雅震編著
- 752字
- 2022-04-13 16:10:50
1.3 Fabric經典交易流程
在理解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節點。
- Python程序設計教程(第2版)
- Java Web開發學習手冊
- Mobile Application Development:JavaScript Frameworks
- Intel Galileo Essentials
- 自己動手實現Lua:虛擬機、編譯器和標準庫
- Python自動化運維快速入門(第2版)
- Julia機器學習核心編程:人人可用的高性能科學計算
- Raspberry Pi 2 Server Essentials
- Learning Neo4j 3.x(Second Edition)
- 匯編語言程序設計(第3版)
- Learning Python Design Patterns
- Spring快速入門
- 大數據分析與應用實戰:統計機器學習之數據導向編程
- C++編程兵書
- UML2面向對象分析與設計(第2版)