Go-Ethereum

當多個帳戶使用相同的仲裁節點時,仲裁是否支持帳戶之間的隱私?

  • March 12, 2018

根據我對事務處理 wiki 的理解,私有 Tx 私有的仲裁節點將更新其私有 stateDbs。

我的問題是,兩個不同的帳戶可以訪問單個節點並與不同節點中的另一個帳戶執行私人交易嗎?

例如,

節點 A 將被兩個賬戶 A1、A2

訪問節點 B 將被兩個賬戶 B1、B2 訪問

現在,A1 是否可以與 B1 執行私有 TX,從而更新私有狀態 A1 和私有狀態-B1?

我覺得我在這裡誤解了一些東西,但我不確定它是什麼。我很困惑。

請幫忙。謝謝你。

你將擁有:

  • 具有公共狀態和私有狀態 A 的節點 A 監聽 A1 和 A2。
  • 具有公共狀態和私有狀態 B 的節點 B 監聽 B1 和 B2。

A1 將發送一個privateFor事務to: B1。由於它是私有的,它會將事務交給事務管理器。事務管理器將知道節點 B 偵聽 B1,並將其交給 enclave 進行加密。一條簽名的消息回來了。事務管理器將簽名消息發送到節點 B,節點 B 解密、確認並記錄事務的雜湊。節點 A 將交易的雜湊置於公共狀態(私有交易雜湊)。

現在,節點 A 和節點 B 都知道從 A1 到 B1 的私人交易,但尚未包含在鏈中。他們等待帶有交易雜湊的探勘交易(只有他們知道)。這是為了確立私有交易在整個網路交易秩序中的地位。

當他們看到privateFor:他們知道的交易的雜湊值時,他們會執行交易並更新各自的私有狀態。每個節點有一個私有狀態,並且它們在節點之間不應該是統一的,因為它們知道不同的私有交易。

考慮私有合約狀態可能比 A1 與 B1 交談更好——更像是 A1 部署合約 A1B1 privateFor [A1, B1]。它將從合約部署交易privateForA1 和 B1 開始。A1 和 B1 將各自將交易發送到具有內部私有狀態的私有合約。這列出了 A1 和 B1 將了解的主題劃分,並且通過擴展,節點 A 和節點 B。

據我了解,節點 C 對該合約或其狀態一無所知,這是一個強有力的保證。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/42404