簡體   English   中英

Hyperledger Fabric:私有數據和世界狀態

[英]Hyperledger Fabric: Private Data and World State

假設我有一個Hyperledger-Fabric應用程序,其中不同的成員可以在彼此的個人資料圖片上發表評論。

進一步假設有三個成員(“組織”):Adam,Bob和Sara。

此外,在Adam和Bob Fabric之間使用了新的“私有數據”功能。 亞當和莎拉之間也使用此功能。

假設有一個名為“ addCommentToProfile”的事務,該事務可用於向其他概要添加注釋。

假設Sarah發送事務“ addCommentToProfile”,並添加注釋“您的頭發看起來很好!” 到亞當的個人資料。

交易的結果(在亞當的個人資料上有新評論“您的頭發看起來很好!”)對鮑勃不可見嗎?

我的理解是鮑勃看不到該評論。 因為就我而言,使用私有數據需要擁有一個獨立的世界狀態。 因此,亞當相對於莎拉會有一個側面,而鮑勃則相對於另一個側面。

我的理解正確嗎?

在研究了整個私人約會概念之后,這也是我的理解。

在亞當和鮑勃的關系中,您所擁有的是他們之間的私人交易。 數據本身位於Sarah無法訪問的私有獨立數據庫中。

在文檔中,它們被稱為特定組織之間的私有數據集合,並且不存儲在分類帳數據庫中。 此外,所涉及的兩個組織的每個對等方都將擁有自己的此輔助數據副本,這意味着與這些對等方進行通信的API可以訪問該數據。 莎拉(Sarah)將沒有數據,因為它不會發送給該組織的同伴。

因此,您提出的方案似乎是正確的。

但是,您提到的是組織,但您真正擁有的是用戶。 您將不會為每個用戶擁有一個組織。 您將擁有屬於組織的用戶,以便兩個組織中的任何人都可以看到數據,因為他們都可以訪問該組織的對等方。

這就是我對此的理解

私有數據功能由私有數據集合(組織)的成員通過八卦協議共享與自身之間的交易有關的私有數據。 只有在集合成員之間共享的私有數據的哈希才被寫入分類賬。

就您的問題而言,答案是肯定的,您正確理解-至少基於您所寫的內容。

您可以在文檔中閱讀有關此功能的更多信息。

這很簡單。

在結構應用程序(v1.2)中,有三個組織Adam(org1),Bob(org2)和Sara(org3)。 並且您正在adam(org1)和sara(org3)之間的通道上定義組織的子集。您正在創建一個僅由Adam(org1)和sarah(org3)組成的私有數據收集通道。 請注意,您並未創建單獨的頻道。

因此,只有亞當(org2)的這些方之間才可見數據。亞當(org2)將僅獲得哈希值。 散列可作為交易的證據,用於狀態驗證,可用於審計目的。但是您的數據保持私有(加密)狀態。 是的,你是對的。

是的,您的理解是正確的。

使用Fabric中的“私有數據”功能,您可以從與您的組織在同一頻道上的組織隱藏數據,但是您不希望他們看到您的數據。 在通道中僅發送數據的哈希。 發送哈希值可防止未經授權的組織和訂購服務看到您的數據。

用您的術語,Bob將看到Sarah評論了Adam的個人資料(哈希),但他看不到評論是什么,而Adam和Sarah將看到評論的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM