Quorum

Quorum 中的私人交易(隱私)

  • July 26, 2018
  1. 為什麼在創建合約時需要 PrivateFor?在函式呼叫期間傳遞 privatefor 就足夠了嗎?
  2. 觀察到不一致的狀態。節點 1 為節點 2 和節點 7(privateFor 節點 2 和節點 7)創建了一個合約。節點 3 和節點 4 能夠更新狀態但不能檢索它 - 無法檢索變數是可以理解的,但不能理解能夠更新狀態變數,因為該合約是為節點 2 和節點 7 創建的。之後通過節點 3 和 4、節點 2 和節點 7 更新狀態變數得到了最新的值,即正確。但是,節點 1 仍然是舊的,即陳舊的值。

對上述問題有什麼想法和想法嗎?

已回复@https ://github.com/jpmorganchase/quorum/issues/452

粘貼答案:for 1 – privateFor 需要創建僅在參與方之間共享的私有狀態合約。然後,privateFor 僅適用於使用 privateFor 創建的合約,即它僅適用於私有智能合約。

For 2. 私有合約現在僅在定義的節點之間共享:1、2 和 7,因為在創建合約期間使用了 privateFor。合約只存在於這些節點上。在其他節點上,由於在合約創建期間它們不是 privateFor 的一方,因此不存在合約負載,因此不存在這樣的合約。您可以共享 abi 和合約地址,這將穩定執行,但不會影響原始定義節點上的私有合約。

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