請教大家一個問題,使用1.4.4在本地docker部署了一個fabric區塊鏈網路,1個排序組織,兩個peer節點組織。鏈碼是用java寫的,應用接入使用的是fabric-sdk-java。如果鏈碼的背書策略為 :
"AND('Org1MSP.member','Org2MSP.member')"。
在呼叫鏈碼的時候需要同時獲取兩個機構的背書節點的背書成功,才提交給orderer節點進行排序分發。這是官網的例子,如下:
peer chaincode invoke -o orderer.inc.com:27050 --tls true
--cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/inc.com/orderers/orderer.inc.com/msp/tlscacerts/tlsca.inc.com-cert.pem
-C mychannel -n mycc
--peerAddresses peer0.org1.inc.com:27051
--tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.inc.com/peers/peer0.org1.inc.com/tls/ca.crt
--peerAddresses peer0.org2.inc.com:29051
--tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.inc.com/peers/peer0.org2.inc.com/tls/ca.crt
-c '{"Args":["invoke","a","b","10"]}'
發起交易的client必須同時擁有兩個機構的背書節點的tls傳輸的ca證書,才可以發起交易,獲得兩個組織背書節點的背書結果。
在實際的業務場景中,比如做為Org1MSP的client,擁有Org2MSP的tls ca證書是否可能?或者Org1MSP的client通過Org2MSP的Fabric-CA申請一套CA證書,用于背書交易?我不知道是不是我理解的有問題,這樣的背書策略機制總感覺怪怪的,被來需要多方機構一起發起的交易,現在其中一個機構的client可以同時擁有多個機構的tls -ca證書就可以完成,怎么來保證聯盟內的系統buge(比如重復提交),或者惡意攻擊呢?希望大牛幫忙解惑,多謝多謝。
PS:有沒有志同道合的朋友或者微信群,可以和大家一起交流學習心得,萬分感謝。
uj5u.com熱心網友回復:
實際業務場景中可以用geteway,只需要一個用戶就可以了,可以不關注底層呼叫多個節點背書的邏輯uj5u.com熱心網友回復:
嗯,我擔心的倒不是底層的節點呼叫處理流程,而是這個轉賬的場景下,需要兩個組織的背書節點背書,但這個程序只需要一個用戶發起,而且這個用戶只需要同時具有兩個組織的tls ca證書,滿足鏈碼的背書策略即可。這個程序總感覺是不安全的。
uj5u.com熱心網友回復:
想問下是不是client呼叫的時候必須要指定所有組織的peerAddresses?我這邊在單機環境下多組織只需要指定其中一個組織,但是多機下必須指定大多陣列織,問下這個是為什么?轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/7295.html
標籤:區塊鏈技術
上一篇:重點 |《Wisdom Chain檔案知識庫》之資產定義
下一篇:怎么相比黃金btc
