Zero-Knowledge-Proofs

惡意模型中模擬器的可提取性

  • June 21, 2018

在惡意設置中證明協議的安全性時,有時需要模擬器能夠在協議的 ZKP 步驟中 提取攻擊者的見證集,攻擊者往往是擁有一些知識的證明者。

我在理解模擬器如何能夠在沒有對手自行決定的情況下提取見證集時遇到問題?

如果模擬器能夠做到這一點,那豈不是違背了 ZKP 是零知識的目的,至少對模擬器來說是這樣嗎?

我還讀到模擬器的見證提取不一定是機率多項式時間。有人可以詳細說明一下嗎?

讓我試試。首先,需要明確一點:模擬和實際執行是兩件不同的事情。模擬器可以學習一些東西並不意味著實際執行中的驗證者可以學習同樣的東西。因此,模擬器可以提取知識這一事實不會影響協議的零知識屬性(這與實際執行中的驗證者有關)。

為什麼模擬器(或更準確地說是知識提取器)可以提取知識而驗證器不能?這是因為模擬器具有一些現實世界中各方所沒有的特殊能力。一個例子是“倒帶”:知識提取器可以將對手倒回到之前的狀態。如果你熟悉 Schnorr 協議,你應該知道倒帶是用來提取知識的。但是真正的驗證者可以倒帶證明者嗎?不。

那麼為什麼知識提取器被賦予了這樣的能力呢?這是為了寫安全證明。一個安全的知識證明協議意味著如果證明者說服了驗證者,那麼它必須知道並使用協議中的見證人。這實際上很難證明。因此,我們允許具有額外能力的知識提取器來幫助我們,以便如果使用見證人,知識提取器可以從記錄中提取它。因此,如果可以提取見證人,我們可以確定使用了見證人並且協議是知識證明。

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