Zero-Knowledge-Proofs

理解“倒帶論點”

  • April 27, 2022

我閱讀了關於這個 SE 的相關問題,但我仍然不明白為什麼我們可以使用倒帶參數。具體來說,倒帶對我來說似乎是一個非常強大的超級大國,我不明白為什麼如此強大的假設不會削弱結論的力量。當然,對抗性驗證者從可以操縱時間的模擬器中學到任何東西,但是如果某個實體如此強大以至於它可以操縱時間,我並不感到驚訝它對任何對手都是安全的,我也不相信沒有這種能力的其他實體保持安全。

我想也許這種倒帶能力與模擬器對驗證者的預言機訪問有關,因此模擬器實際上可以執行“前瞻”來了解驗證者要問的問題,然後相應地準備答案。如果是這樣的話,那麼我確信真的沒有超級大國,因為這是驗證者自己可以做的事情,所以零知識屬性隨之而來。

據我所知,你明白了。“倒帶”只是通過預言機訪問模擬器到驗證者而成為可能的“前瞻”策略

它通常被稱為“超級大國”,因為它是 Prover 在正常協議執行期間所沒有的能力,否則可能會損害可靠性(因為模擬器可以在不知道任何內容的情況下生成令人信服的互動記錄,它可能會冒充作弊證明者假裝證明虛假陳述)

關於模擬完全是驗證者可以單獨完成的事實,這是真的:模擬器必須一無所知才能證明 ZKness,誰比驗證者更適合扮演不知道的角色?!


編輯以回答後續評論:

在密碼學基礎教程 (Springer) 的第 6 章中,Yehuda Lindell 寫道:

首先,人們可能想知道如何“技術上”倒帶驗證者。事實上,在考慮黑盒零知識時,這是微不足道的。具體來說,模擬器被授予對驗證者的下一個消息函式 V*(x, z, r, ·) 的 oracle 訪問權限。這意味著它提供傳入消息的轉錄 m’ = (m1, m2, …) 並在 V* 具有輸入 x、輔助輸入 z、隨機磁帶 r 和傳入消息 m’ 時接收回發送的下一條消息

所以這只是下一條消息,而不是互動結束時的整個結果記錄(如果這是你的疑問)。

鑑於下一個消息函式的上述定義(證明者的挑戰屬於驗證者先前收到的消息),對於通用(也稱為潛在作弊)驗證者 V*,您的“明顯方式”對我來說似乎是錯誤的。

如果驗證者是誠實的(所以挑戰是誠實的“隨機” - 即使不一定是均勻分佈的)你可以簡單地恢復模擬器獲取消息的順序(所以首先是結果,然後是挑戰,然後是承諾):順便說一句,這是證明 Schnorr 辨識協議是 HVZKP 的策略(為了簡單起見,省略了我們正在處理的分佈而不僅僅是實際值)。

但是如果我們必須處理一個可能作弊的驗證者 V*(這是你講座第 8.7 節的假設情況),也許挑戰是承諾的函式,所以它們不是相互獨立的,所以你最好的策略是嘗試所有結果直到你找到一個有效的(或者,採用你的演講觀點,給出一個結果,你開始嘗試所有的承諾,直到函式產生“正確”的挑戰)……無論如何,你必須測試一些呈指數增長的案例,如果你只有一個自由度,所以 PPT 模擬器無法處理它,也就是沒有證明 ZK:

這意味著在模擬器倒帶之後,就好像整個協議重新從頭開始一樣。這意味著預期的倒帶次數是指數的,並且我們無法建構 PPT 模擬器,這意味著我們無法證明零知識屬性。

因此,上述倒帶的定義與您講座第 8.7 節第一段的結論之間沒有矛盾。

我承認我沒有想太多關於為什麼模擬器必須是 PPT 並且不能 - 比方說 - 計算無界,至少在原則上:我想听聽其他人的意見。與此同時,我有根據的猜測是:

  • 我們認為那些無法由 PPT 機器執行的任務很棘手”(Goldreich,Foundation of Cryptography Volume I 第 19 頁)
  • 對於任何實際使用,我們總是被限制使用有效的實體(包括證明者,即使理論上認為它們是無界的也沒有問題)
  • 模擬器的存在是 ZK 的充分但非必要條件,因此採用這種範式已經意味著錯過任何最全面的假設:在這種情況下,使用過於謹慎的定義似乎是可以接受的

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