hyperledger fabric 區塊鏈網路交易的執行分為以下幾個步驟。endorser 與 committer 都是 hyperledger fabric 區塊鏈網路中 peer 節點的具體角色。與背書策略強相關的是第3步。
client 構造交易併發往 endorser 節點,endorser 節點執行交易並呼叫系統鏈碼 escc 對交易簽名(背書),結果返回 client
client 將交易響應傳送給 orderer 節點進行排序出塊,orderer 節點將交易打包到區塊中,廣播給網路上的 committer 節點
committer 節點收到區塊後,對區塊內交易逐一驗證,其中乙個重要的步驟是呼叫系統鏈碼 vscc 校驗交易是否符合指定的 endorsement 策略,最後將區塊追加到區塊鏈上。
hyperledger fabric 區塊鏈網路的交易執行到第3步時, orderer 節點已經出塊,交易包含在區塊中。若此處僅僅是區塊內部的交易驗證失敗,不會影響區塊上鏈,只是對於該交易會標記乙個交易失敗的驗證碼(validationcode: 「0」 表示交易成功,"非0"表示交易無效),對於背書策略不符的情況,驗證碼為 endorsement_policy_failure(10)。對於 chaincode 例項化後才加入的組織,其節點可以進行 chaincode 查詢操作,但是不能對背書交易進行提交,此時需要修改 chaincode 的背書策略以增加該組織相關節點的許可權。我們可以通過 upgrade chaincode 來達到為其指定新的背書策略的目標。
策略就是去驗證簽名者的身份,根據msp的role來驗證。一共有4種role
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』)。
Fabric背書策略相關概念與背書驗證過程
目錄 背書策略 cli中背書策略語法 為chaincode指定背書策略 背書策略的驗證過程 節點通過背書策略來確定乙個交易是否被正確背書。當乙個peer接收乙個交易後,就會呼叫與該交易chaincode相關的vscc validator system chaincode例項化時指定的 作為交易驗證流...
票據背書以及票據背書的好處
今天帶領大家認識下票據背書的過程,以銀票 電票 背書為例,我們首先來看下例項,下面兩張分別是銀票的正面和背面。圖1 票據的正面 圖2 票據的背面 也許有些人會問,為什麼叫票據背書,其實可以簡單的從字面理解,就是背書人與被背書人都會在票據的背面顯示出來,所以叫做背書。背書的過程是背書人把票據通過ecd...
Fabric動態更新出塊策略
fabric中更新出塊策略主要分為三步 1.獲取通道配置資訊 2.修改配置 3.應用和提交修改。一 獲取通道配置資訊 進入peer節點的cli容器docker exec it cli name bash獲取通道配置peer channel fetch config config block.pb o...