Zero-Knowledge-Proofs
這個多項式的程度是否與實現零知識有關?PlonK 問題
我正在閱讀PlonK論文,並在第一輪聲稱通過添加多項式的隨機倍數(一階)來實現零知識 $ Z_H = x^n - 1 $ 到秘密多項式。
這裡, $ H $ 是包含 $ n $ -th 統一的根,通常描述為$$ H = {\omega, \dots, \omega^{n-1}, \omega^n = 1}, $$在哪裡 $ \omega $ 是原始的 $ n $ - 統一的根。
所以,設置如下:我們有一個秘密多項式 $ s(x) $ 這樣我們就必須在某個隨機點進行評估 $ z \in \mathbb{Z}_p $ , 開始 $ z $ 和評價 $ s(z) $ 眾所皆知。
為了避免洩露知識 $ s(z) $ ,他們定義:$$ s’(x) := (b_1x + b_2)Z_H(x) + s(x), $$他們聲稱這足以獲得零知識 $ s(z) $ .
我有兩個問題:
- 為什麼是倍數 $ Z_H(x) $ 有一級而不是,例如,四或六十九?在 PlonK 的第 2 輪中,他們使用相同的策略,但使用了另一個二次多項式。為什麼?
- 為什麼這是真的?如果 $ z \in H $ ,那麼顯然 $ s’(x) $ 導致有關資訊 $ s(x) $ , 作為$$ s’(z) = s(z). $$
- 與消失多項式相乘的致盲多項式的次數 $ Z_H $ 必須從 $ F_d $ 和 $ d $ 大於或等於協議中的評估次數(開口)。給驗證者的每一次評估都會洩露一些關於你的多項式的資訊,所以你需要通過隨機化你的多項式來防止這種情況發生。Mir 協議有一篇很好的博文,解釋了為什麼你不能擁有 $ d $ 小於評價次數。我的理解是,對於一個固定的見證人(多項式是固定的,除了致盲因子),你需要你的致盲係數和開口之間的雙射函式。為了證明這一點,證明你的函式是滿射和單射的。
- 的機率 $ z \in H $ 可以忽略不計,但您可以設計一個協議來阻止您擁有 $ z \in H $ 我相信。