Hyperledger Fabric 私有数据(3)交易流程
step1. 當客戶端提交一個調用鏈碼的功能(讀或寫私有數(shù)據(jù))提案請求到具有該私有數(shù)據(jù)集合操作權限的背書節(jié)點,通過提案中的transient字段進行發(fā)送。
step2. 背書節(jié)點模擬交易并將私有數(shù)據(jù)存儲到peer節(jié)點上的transient data store一個臨時的數(shù)據(jù)存儲區(qū),并基于私有數(shù)據(jù)定義的策略,通過Gossip協(xié)議發(fā)送到其他具有權限的節(jié)點。
step3. 背書節(jié)點將提案響應發(fā)送給客戶端。
提案響應包括已經(jīng)背書的讀寫集。讀寫集包括公共數(shù)據(jù)和私有數(shù)據(jù)的哈希值。發(fā)送給客戶端的不包括任何的私有數(shù)據(jù)。
step4. 客戶端應用提交交易(包括帶有私有數(shù)據(jù)哈希值的提案響應)到排序節(jié)點。
- 帶有私有數(shù)據(jù)哈希值得交易將和正常交易一樣包括在區(qū)塊中。
- 帶有私有數(shù)據(jù)哈希值得區(qū)塊分發(fā)到所有節(jié)點上。
- 通道中所有的peer節(jié)點可以通過私有數(shù)據(jù)的哈希值對交易進行驗證而不需要知道任何的私有數(shù)據(jù)信息。
step5.
a. 在區(qū)塊提交時,具有權限的節(jié)點通過集合策略確定是否具有訪問私有數(shù)據(jù)的權限。
- 如果有權限,將會檢查本地的transient data store確定他們是否已經(jīng)在進行鏈碼背書的時候接收到私有數(shù)據(jù)。
- 如果沒有,將試圖從其他具有權限的節(jié)點處拉取私有數(shù)據(jù),
b. 驗證公共區(qū)塊中私有數(shù)據(jù)的哈希值并提交交易。
c. 當驗證與提交結束后,私有數(shù)據(jù)將移動到他們的私有數(shù)據(jù)庫和私有讀寫副本中。
d. 從transient data store中刪除私有數(shù)據(jù)。
總結
以上是生活随笔為你收集整理的Hyperledger Fabric 私有数据(3)交易流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hyperledger Fabric 私
- 下一篇: 《Fabric 云存储的电子健康病历系统