Fabric private data基本概念

fabric private data利用SideDB來保存私有數據,至關於在通道之上又提供了一層更細粒度的數據隱私保護機制。本文將介紹fabric private data的引入目的、基本概念與應用場景。java

若是要快速掌握hyperledger fabric區塊鏈的開發,推薦匯智網的在線互動實戰教程:數據庫

什麼是fabric private data?

目前在Hyperledger Fabric中實現數據隱私的方法是使用通道。可是官方並不孤立爲了實現數據的隱私保護而在大型網絡中建立大量通道,由於這會帶來額外的開銷,例如管理策略、鏈碼版本以及成員服務提供(MSP)等。在一個通道中,全部的數據要麼是公開的,要麼是私有的。所以若是你想要將資產轉給通道外的成員會很麻煩。這就是Hyperledger Fabric引入私有交易的緣由。farbic private data容許基於策略建立私有數據集,來定義通道中的哪些成員能夠訪問數據。能夠簡單地經過添加策略來管理fabric private data。這使得能夠將某些數據僅對部分紅員公開。網絡

考慮一下Hyperledger Fabric的marbles示例。全部的marble數據均可以公開,除了其持有人以及價格信息,這兩個數據是不能對別人公開的,價格不該該被別人瞭解。可能你須要跟蹤這個數據,由於你須要驗證在銷售marble的人是不是真正的持有人。一個假想的marble審計公司能夠做爲你的合夥人來驗證這一點。若是你使用通道,那麼全部的你的行爲將記錄在帳本狀態中,而任何人都看獲得。架構

fabric private data是如何解決上述問題的?

concept

在上圖中,第一個集合,Channel Read-Write Sets」是沒有引入fabric private data時的架構,每個交易都記錄其狀態和歷史。ide

第二個集合,private state partition 1則顯示了在兩個分屬不一樣機構的節點之間的一個共享私有狀態。這個狀態是根據預先的策略在節點間複製獲得的。區塊鏈

第三個集合,private state partition 2&3則顯示了fabric private data的真正爲例。數據集能夠被某些成員忽略。這意味着你能夠爲每個marble賣家和審計者單獨設立私有數據集。這些數據集容許添加一些額外的數據,主要的數據仍是保存在主狀態和帳本中。翻譯

authorized

被受權的節點將能夠看獲得在主帳本上的數據哈希,以及在私有數據庫中的真實數據。未獲得受權的節點將不會同步私有數據庫,只能看到在主帳本上的數據哈希。因爲哈希是不可逆的,所以這些未受權的節點沒法看到真實的數據。code

從更高的層面看,fabric private data解決的問題看起來是這樣:blog

solved


原文:Fabric private data基本概念教程

匯智網翻譯整理,轉載請標明出處

相關文章
相關標籤/搜索