Fabric private data基本概念
fabric private data利用SideDB來儲存私有資料,相當於在通道之上 又提供了一層更細粒度的資料隱私保護機制。本文將介紹fabric private data 的引入目的、基本概念與應用場景。
如果要快速掌握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是如何解決上述問題的?
在上圖中,第一個集合, Channel Read-Write Sets”
是沒有引入fabric private data時的架構,每一個交易都 記錄其狀態和歷史。
第二個集合, private state partition 1
則顯示了在兩個分屬不同機構的節點之間的一個共享私有狀態。這個 狀態是根據預先的策略在節點間複製得到的。
第三個集合, private state partition 2&3
則顯示了fabric private data的真正為例。資料集可以被某些成員 忽略。這意味著你可以為每一個marble賣家和審計者單獨設立私有資料集。這些資料集允許新增一些額外的資料,主要 的資料還是儲存在主狀態和賬本中。
被授權的節點將可以看得到在主賬本上的資料雜湊,以及在私有資料庫中的真實資料。未得到授權的節點將不會 同步私有資料庫,只能看到在主賬本上的資料雜湊。由於雜湊是不可逆的,因此這些未授權的節點無法看到真實的資料。
從更高的層面看,fabric private data解決的問題看起來是這樣:
原文: Private data, a possible built-in “GDPR compliant” solution for Hyperledger Fabric
匯智網翻譯整理,轉載請標明出處