Hyperledger Fabric 私有数据(1)概念
生活随笔
收集整理的這篇文章主要介紹了
Hyperledger Fabric 私有数据(1)概念
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 定義
允許通道內的指定的某一個組織中的部分成員可以對私有數據進行操作,而其他沒有權限的節點只能知道有這么一筆交易發生而不能了解交易的細節。
1.1 什么時候需要
- 當所有的數據都需要在通道內的成員之間保密的時候,使用通道比較合適。
- 當交易要在所有組織之間傳播,并且要求只有通道內的部分組織成員可以查看或操作交易內的某一部分數據時,并且部分數據需要對排序節點進行保密時。
2. 屬性
每一個私有數據集合都包含以下幾種屬性:
- name:集合名稱
- policy:定義了允許持久化數據的組織節點
- requiredPeerCount:分發私有數據要求的對等節點數量,也作為合約背書的條件
- maxPeerCount:對于數據冗余的目的,當前要向其分發數據的其他節點的數量。當私有數據拉取請求發過來,如果背書節點掛掉,其他的節點在提交的時候還可用。
- blockToLive:對于價格或者個人信息等敏感信息,這個參數代表了這些數據應該在私有數據集合中存在時間。數據將會存在于私有數據庫指定的區塊數量中,在這之后數據就會被清洗,從網絡中淘汰。為了保持私有數據一直存在的方法是永不清洗私有數據,設置 屬性blockToLive的值為0。
- memberOnlyRead:值為true代表了節點自動強制只有屬于集合成員的組織的客戶端被允許訪問讀取私有數據。
- memberOnlyWrite:true代表節點自定強制只有屬于集合成員的組織客戶端允許寫私有數據。
- endorsementPolicy:定義了需要滿足的背書策略來寫私有數據集。集合級的背書策略會覆蓋合約級的背書策略。
2.1 使用私有數據進行交易操作之前,所有的組織需要創建集合定義JSON文件,從而定義與合約匹配的私有數據集合。
eg.
[{"name": "collectionMarbles","policy": "OR('Org1MSP.member', 'Org2MSP.member')","requiredPeerCount": 0,"maxPeerCount": 3,"blockToLive":1000000},{"name": "collectionMarblePrivateDetails","policy": "OR('Org1MSP.member')","requiredPeerCount": 0,"maxPeerCount": 3,"blockToLive":3} ]總結
以上是生活随笔為你收集整理的Hyperledger Fabric 私有数据(1)概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hyperledger Fabric 链
- 下一篇: Hyperledger Fabric 私