零知識證明的力量:深入理解 zk-SNARK

0xAlpha 投稿 DODO research:讓我們一起深入解析了 zk-SNARK 技術,探討它在加密和區塊鏈中實現隱私保護的原理和應用

作者:0xAlpha  Co-founder @DeriProtocol

編譯:DODO Research

歡迎關注推特:@0x_Alpha

0xAlpha 投稿 DODO research。這篇文章將用數學解碼這項技術,揭示它如何在不透露任何信息的情況下證明知識的真實性。準備好,讓我們一起揭開 zk-SNARK 的神秘面紗。

介紹

zk-SNARK,即 “零知識簡潔非交互式知識論證”,使得一名驗證者  能夠確認一名證明者  擁有某些特定知識,這些知識被稱為 witness,滿足特定的關係,而無需透露關於見證本身的任何信息。

為特定問題生成 zk-SNARK 包括以下四個階段:

  1. 將問題(或函數)轉換成算術門電路。
  2. 然後將這個電路翻譯成矩陣公式。
  3. 這個矩陣公式進一步轉換成一個多項式,這個多項式應該能被一個特定的最小多項式整除。
  4. 最後,這種可整除性在有限域的橢圓曲線點中表示出來,證明就在這裡進行。

前三個步驟僅僅是轉換了原始陳述的表示方式。最後一個步驟使用同態加密將第三步的陳述投影到加密空間中,使得證明者能夠證實其中的鏡像陳述。鑑於這種投影利用了非對稱加密,從第三步的陳述回溯到原始陳述是不可行的,確保了零知識的暴露。

閱讀本文所需的數學背景相當於 STEM 專業學生的大一級代數水平。唯一可能具有挑戰性的概念可能是橢圓曲線加密。對於不熟悉這一點的人來說,可以將其視為具有特殊基數的指數函數,同時要記住其逆函數仍然未解。

在本文中,我們將繼續使用方程式 (1) 作為討論的基礎。

第 1 步:算術門電路

方程式 (1) 可以分解為以下基本算術運算:

這對應於以下算術門電路:

我們還將方程式 (2) 稱為一組 4 個 “一級約束”,每個約束描述了電路中一個算術門的關係。通常,一組 n 個一級約束可以概括為一個二次算術程序(QAP),接下來將進行解釋。

第 2 步:矩陣

第 3 步:多項式

如果提取出每一行單獨觀察,不難發現這四行對應於在四個點分別求值的相同表達式。因此,上述矩陣方程等價於:

一種直接但不保密的方式來證明這一點是提供方程式 (4) 的左邊並展示因式分解。然而,zk-SNARK 的主要目的是保持隱秘(不透露任何知識)。因此,我們不會直接證明這個方程,而是在橢圓曲線點的空間中證明它的加密版本。

第 4 步:橢圓曲線點

   將方程式 (4) 重寫為:

接下來,我們將更詳細地闡述實際的操作步驟。

橢圓曲線加密

另一方面,兩個橢圓曲線點的加法定義如下圖所示:

Figure from Wikipedia

然而,Alice 想要證明的方程式 (5) 是二次形式的,所以線性不夠。為了處理二次項,我們需要在加密空間中定義乘法。這被稱為配對函數,或雙線性映射,接下來將進行解釋。

雙線性映射

這是我們都熟悉的東西——加法和乘法操作的分配律。

有了這樣的雙線性映射,我們就可以將方程式 (5) 的兩邊映射到加密空間。

公共參考字符串    

整個過程被稱作 “驗證鑰”,簡稱 VK。這裡只涉及 7 個橢圓曲線點(ECPs),需要提供給驗證方。要注意的是,不管問題裡面涉及多少輸入和一級約束,VK 始終是由 7 個 ECPs 構成的。

另外,值得一提的是,“可信設置” 以及生成 PK 和 VK 的過程,對於一個特定的問題來說,只需操作一次即可。

證明與驗證

現在擁有公鑰(PK),愛麗絲將計算以下橢圓曲線點(ECPs):

這 9 個橢圓曲線點就是零知識簡潔非交互式證明(zk-SNARK)的關鍵!

注意,愛麗絲其實只是對公鑰裡的橢圓曲線點做了些線性組合運算。這點特別關鍵,驗證時會重點檢查。

現在,愛麗絲交出了 zk-SNARK 證明,咱們終於進入驗證環節,分三步走。

參考文獻

  1. “Zk-SNARKs: Under the Hood” (Vitalik Buterin)
  2. “A Review of Zero Knowledge Proofs” (Thomas Chen, Abby Lu, Jern Kunpittaya, and Alan Luo)
  3. “Why and How zk-SNARK Works: Definitive Explanation” (Maksym Petkus)
  4. Website: Zero-Knowledge Proofs
  5. Wikipedia: Elliptic curve
  6. Wikipedia: Finite field
  7. Wikipedia: Pairing-based cryptography

免責聲明

本研究報告內的信息均來自公開披露資料,且本文中的觀點僅作為研究目的,並不代表任何投資意見。報告中出具的觀點和預測僅為出具日的分析和判斷,不具備永久有效性。

免責聲明:作為區塊鏈信息平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論