Hash

兩台伺服器同功能抗合謀計算

  • October 27, 2020

是否有一種安全的方法可以通過兩台伺服器計算複製數據的相同雜湊函式。我的意思是兩個伺服器都託管相同版本的複制數據,並且它們應該輸出 h(M) 而不會串通,即它們都真正計算指定的函式。

聽起來您真正想要的是複制證明,您可以在其中讓多個伺服器證明它們每個都有自己的文件副本。

每個伺服器都必須證明他們一直在託管自己的冗餘文件副本,並且他們沒有及時下載它以創建證明。如果您將文件上傳到聲稱將託管該文件的 N 個冗餘副本的雲服務,他們可以使用複制證明來確認他們實際上保留了 N 個副本,而不僅僅是一個。

Protocol Labs(IPFS 和 Filecoin 的開發者)開發了一種複制證明策略。Filecoin Primer的第 8 頁有一個簡短的描述和概述該策略的圖表,他們的複制證明論文更深入。

基本思想是給每個伺服器一個唯一的“密封”數據副本。數據可以很容易地從密封版本中恢復。創建(或重新創建)密封版本需要可預測的時間,並且可以由任何人完成。驗證者可以向伺服器發出質詢,該質詢只能通過使用該伺服器的唯一密封數據版本來回答,並且驗證者希望伺服器在比它所花費的時間短的超時時間內回答伺服器從另一台伺服器下載數據並重新創建印章。

在某些情況下,如果功能允許,可以使用數據屏蔽。

這涉及更改複製的數據,以便每個伺服器獲得一個他們不知道遮罩值的遮罩版本。

然後伺服器不能互相幫助,因為它們的計算不能幫助對方。

簡單的例子

功能:使用密鑰 10010010 的一次性密碼

原始數據:00101001

隨機遮罩 1:10010100

隨機遮罩 2:00100101

伺服器 1 獲取 $ m_1 $ = 00101001 $ \oplus $ 10010100 併計算 $ c_1 $ = $ m_1 $ $ \oplus $ 10010010

伺服器 2 獲取 $ m_2 $ = 00101001 $ \oplus $ 00100101 併計算 $ c_2 $ = $ m_2 $ $ \oplus $ 10010010

然後可以使用相應的遮罩來獲得函式的正確輸出。

引用自:https://crypto.stackexchange.com/questions/59475