為什麼 MPC 協議中各方的輸出必須與理想/現實世界(而不是輸入)無法區分?
在本文底部的 pg 中。1235 和 pg 的開頭。1236 它說:
一個 MPC 協議被認為是安全的,如果對於每個現實世界的洩漏對手 A 都存在一個理想的世界模擬器 S,使得現實世界中所有各方(包括對手)的輸出在計算上與理想世界中的所有各方(包括模擬器)。
為什麼輸出必須是不可區分的?為什麼不輸入?這篇論文談到了一個“秘密國家”。分泌狀態與輸入/輸出不同嗎?
假設您有一個帶有一些按鈕和一些燈的黑盒子。當您按下按鈕時,燈會亮起和熄滅。你想知道裡面有什麼,但你無法打開盒子。弄清楚裡面是什麼的唯一方法是按下按鈕並觀察燈光。
現在假設你有兩個黑盒子。你想知道它們的內部是否相同。同樣,你不能打開盒子,所以你不能通過檢查來決定。你只需要按按鈕、觀察燈光和比較。如果一系列按鈕按下通常會導致一個盒子上的燈打開,而另一個盒子上的相應燈通常保持關閉,你知道內部不同(可能)。
請注意,如果您有兩個完全相同的黑匣子,並以完全相同的方式按下兩個黑匣子上的按鈕,它們的燈可能仍然表現不同。那是因為在盒子裡面,有一個隨機性的來源,每個盒子可能會產生不同的隨機性。
現在假設黑匣子的內部確實不同,但是如果您以相同的方式按下按鈕,燈似乎總是以相同的方式打開和關閉。對你來說,黑盒子實際上是相同的,因為你現在無法區分一個盒子和另一個盒子。
如果您在兩個黑匣子上按下不同的按鈕,它們可能會以不同的方式響應。但這不允許您區分它們。
那很簡單。棘手的部分是解釋。
協議輸入和對抗性篡改對應於按鈕按下。閃爍的燈對應於協議輸出以及攻擊者在協議執行期間可以觀察到的任何內容。
在第一個黑匣子的內部,我們擁有真正協議的誠實使用者以及他們使用的任何基礎設施。
在第二個框中,我們有兩件事。一件事(通常稱為理想功能)收集誠實使用者的輸入並以所需的方式計算輸出。第二件事(模擬器)從第一件事獲得有關輸入和輸出(指定的允許洩漏)的某些資訊。它模擬觀察讓對手享受。
現在我們觀察到關於第二個盒子的兩件事:
- 它總是會正確地進行計算。
- 對抗性觀察僅使用允許的洩漏來計算,因此只有允許的洩漏才會洩漏。
如果第一個盒子不能與第二個盒子區分開來,那麼從邏輯上講,這也必須適用於第一個盒子。這意味著我們已經確定我們的協議是安全的。