Fabric背書策略

背書策略流程

在這裏插入圖片描述

Hyperledger Fabric 區塊鏈網絡交易的執行分爲以下幾個步驟。Endorser 與 Committer 都是 Hyperledger Fabric 區塊鏈網絡中 Peer 節點的具體角色。與背書策略強相關的是第3步。

  1. Client 構造交易併發往 Endorser 節點,Endorser 節點執行交易並調用系統鏈碼 ESCC 對交易簽名(背書),結果返回 Client
  2. Client 將交易響應發送給 Orderer 節點進行排序出塊,Orderer 節點將交易打包到區塊中,廣播給網絡上的 Committer 節點
  3. Committer 節點收到區塊後,對區塊內交易逐一驗證,其中一個重要的步驟是調用系統鏈碼 VSCC 校驗交易是否符合指定的 Endorsement 策略,最後將區塊追加到區塊鏈上。

Hyperledger Fabric 區塊鏈網絡的交易執行到第3步時, Orderer 節點已經出塊,交易包含在區塊中。若此處僅僅是區塊內部的交易驗證失敗,不會影響區塊上鍊,只是對於該交易會標記一個交易失敗的驗證碼(ValidationCode: “0” 表示交易成功,"非0"表示交易無效),對於背書策略不符的情況,驗證碼爲 ENDORSEMENT_POLICY_FAILURE(10)。

更新背書策略

對於 Chaincode 實例化後才加入的組織,其節點可以進行 Chaincode 查詢操作,但是不能對背書交易進行提交,此時需要修改 Chaincode 的背書策略以增加該組織相關節點的權限。我們可以通過 Upgrade Chaincode 來達到爲其指定新的背書策略的目標。

策略內容

策略就是去驗證簽名者的身份,根據MSP的role來驗證。一共有4種role

  • member
  • admin
  • client
  • peer

Org0.admin: any administrator of the Org0 MSP
Org1.member:any member of the Org1 MSP
Org1.client:any client of the Org1 MSP
Org1.peer:any peer of the Org1 MSP

默認策略

Chaincode需要在部署時指定 Endorsement Policy ,否則默認的背書策略爲通道中組織的任意成員( “any member of the organizations in the channel”)。例如,通道中有兩個組織 Org1, Org2 ,則默認策略爲 OR(‘Org1.member’, ‘Org2.member’)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章