Zero-Knowledge-Proofs

d-KCA 如何幫助保護 zcash 協議?

  • March 26, 2018

我一直在解釋 SNARKs 系列的第 2部分和第 4部分之間來回切換。

  • 在第 2 部分中,聲稱Bob對多項式有一個想法,並希望通過發送給 Alice 來測試Alice是否知道它 $ (g, s.g, …, s^d.g) $ 並檢查答案 $ P(s).g $ .
  • 在第 4 部分中,聲稱現在Alice返回 2 個多項式 $ a’ = P(s).g $ 和 $ b’=\alpha P(s).g $ 計算自 $ (g, s.g, …, s^d.g) $ 和 $ (\alpha.g,\alpha s.g, …, \alpha s^d.g) $ . 但現在鮑勃只檢查 $ b’=\alpha.a’ $ 如果是這樣,那麼愛麗絲很有可能知道 $ (c_0,…,c_d) $ .

我的問題:知道d-KCA有什麼 用:

  • 如果鮑勃知道 $ P $ 並且Alice不使用P的情況下正確回答的機率非常低,那麼可驗證性已經得到保證。
  • 如果在d-KCA中,Alice發回 $ a’=\beta .g $ 和 $ b’=\beta \alpha .g $ , 我們有 $ b’=\alpha . a’ $ . 因此,如果Bob只檢查相等性,他可能會被愚弄。

我真的很想知道我錯過了什麼……

兩點:

  • 鮑勃知道 $ P $ 這部分是協議的重點。
  • Alice 可以用 $ \alpha $ -一對 $ (a’,b’) = (\beta g, \alpha\beta g) $ , 沒有什麼不妥。這意味著她的係數是 $ c_0=\beta, c_i=0 $ 為了 $ i>1 $ .

然而,這只會對她有任何好處,如果她的係數 $ (c_0, \cdots, c_d) $ 實際上提出了 QAP 的解決方案。

它所證明的只是愛麗絲在相同的線性組合中使用了 (g , s . g , … . . , s d . g ) 和 ( α . g , α s . g , …

需要額外的測試(稍後在他們的教程或本教程中解釋)以確保她從我們的 QAP 的有效解決方案中得到的線性組合

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