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

12/28/2023, 4:28:45 AM
進階
區塊鏈
本文對 zl-SNARKs 進行深入的技術探討。

這篇文章將用數學解碼這項技術,揭示它如何在不透露任何信息的情況下證明知識的真實性。

介紹

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

  • 爲特定問題生成 zk-SNARK 包括以下四個階段:
  • 將問題(或函數)轉換成算術門電路。
  • 然後將這個電路翻譯成矩陣公式。
  • 這個矩陣公式進一步轉換成一個多項式,這個多項式應該能被一個特定的最小多項式整除。

最後,這種可整除性在有限域的橢圓曲線點中錶示出來,證明就在這裡進行。

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

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

本文將遵循以下符號規則:

矩陣:粗體大寫字母,例如A;顯式形式寫作
曏量:帶箭頭的小寫字母,顯式形式寫作[ ] ;默認情況下所有曏量均爲列曏量
標量:常規字母錶示

讓我們用這個問題作爲例子:

f(x)=x^3+x^2+5 (1)

假設愛麗絲想要證明她知道一個 。我們將逐步介紹愛麗絲爲她的證明生成 zk-SNARK 所需採取的整個程序。
這個問題可能看起來太簡單,因爲它不涉及控製流(例如,if-then-else)。然而,將帶有控製流的函數轉換爲算術錶達式併不睏難。例如,讓我們考慮以下問題(或在編程語言中的“函數”):

f(x, z):
if(z==1):
return xxx+xx+5
else:
return x
x+5

將這個問題重寫爲以下算術錶達式很容易(假設z屬於(0,1) ),這併不比方程式 (1) 覆雜多少。

f(x,z)=(z-1)(x^2+5)+z(x^3+x^2+5)

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

第1步:算術門電路

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

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

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

第2步:矩陣

首先,讓我們定義一個“見證”曏量,如下所示:

其中y, s1,s2,s3 與方程式 (2) 中定義的相衕。
通常,對於一個有m個輸入和n個算術門的問題(即 n-1 個中間步驟和最終輸出),這個見證曏量將是(m+n+1)維的。在實際問題中,數字n可能非常大。例如,對於哈希函數,n通常是幾千。

接下來,讓我們構造三個 n(m+n+1) 矩陣A,B,C,以便我們可以將方程式 (2) 重寫如下:

方程式 (3) 隻是方程式 (2) 的另一種錶示形式:每組(ai,bi,ci)對應於電路中的一個門。我們隻需要明確地展開矩陣公式就可以看到這一點:


所以LHS=RHS與方程式 (2) 完全相衕,矩陣方程的每一行對應一個一級約束(即電路中的一個算術門)。

我們跳過了構建(A,B,C)的步驟,其實這些步驟相對簡單直接。我們隻需要根據相應的一級約束,把它們轉換成矩陣形式,從而確定(A,B,C)每一行的內容,即(ai,bi,ci)。以第一行爲例:可以很容易地看出,要使第一個一級約束 x與x 相乘等於 s1 成立,我們需要的是將[0,1,0,0,0]、[0,1,0,0,0] 和[0,0,0,1,0,0]與曏量s相乘。

因此,我們已經成功地把算術門電路轉換成了矩陣公式,即方程式 (3)。衕時,我們也把需要證明掌握的對象,從 轉變爲了見證曏量s。

第3步:多項式

現在,讓我們構造一個 n(n+m+*1) 矩陣PA,它定義了一組關於z的多項式:

這些是六個變量的四組線性方程,可以用傳統方法求解。然而,在這種情況下解決 PA 的更有效方法是拉格朗日插值,它利用了問題的特殊性。這裡我們跳過求解 PA 的過程,雖然有點繁瑣但很直接。


其中:

第4步:橢圓曲線點

將方程式 (4) 重寫爲:

其中i(z)=1隻是z的一個平凡的零次多項式,用來使方程統一——所有項都是二次的。這樣做的必要性很快就會變得清晰。註意這個方程隻包含z的多項式的加法和乘法。

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

橢圓曲線加密

橢圓曲線的一般理論遠遠超出了本文的範圍。就本文的目的而言,橢圓曲線被定義爲從素域Fp映射到E函數,其中E包括滿足y^2=x^3+ax+b的點(稱爲橢圓曲線點,簡稱 ECPs)。

請註意,雖然到目前爲止我們一直在討論常規算術,但現在當我們轉換到素域時,數字的算術運算是以模運算的方式進行的。例如a+b=a+b(mod p),其中p是Fp的階。

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

具體來説,兩個 ECPs P和Q的加法:

找到直線PQ和曲線R的交點 ,定義爲-(P+Q)
翻轉到曲線上R的“鏡像”點R’。
因此我們定義橢圓曲線點的加法P+Q=R’:

請註意,這個規則也適用於特殊情況,即一個 ECP 自加的情況,此時將使用該點的切線。

現在假設我們隨機選擇一個點G,併將數字1映射到它上麵。(這種“初始映射”聽起來有點任意。稍後將進行討論)。然後對於任n 屬於Fp,我們定義:

E(N)=G+G+G+…..+G=G點乘n

這有一個操作錶達式。定義+G的操作爲“生成器”,記爲g。那麽上述定義等衕於:

對於不熟悉橢圓曲線的人來説,你可以將這種映射類比爲一個常規的指數函數,其中基數g代替了實數。算術運算的行爲類似。然而,一個關鍵的區別是g^n的逆函數在計算上是不可行的。也就是説,沒有辦法計算橢圓曲線版本的。這當然是橢圓曲線加密的基礎。這樣的映射被稱爲單曏加密。

請註意,給定一個橢圓曲線,由於選擇G(因此選擇“生成器” g)是任意的(除了 x 軸上的點),有無限種映射方式。選擇(G或 g)可以類比爲選擇指數函數的基數(2^x,10^x,e^x等),這是常識的一部分。

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

雙線性映射

公共參考字符串

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

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

證明與驗證

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

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

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

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

首先得確認,前8個橢圓曲線點真的是通用參考串裡那些點的線性組合。

如果這三項檢查都成立,那麽等式(5)得到驗證,因此我們相信愛麗絲知道見證。讓我們解釋一下等式背後的理由。以第一部分中的第一個等式爲例,等式成立是因爲雙線性性質:


然而,由於愛麗絲不知道符號阿拉法的值,她無法明確計算這個加法。她唯一能想出來滿足等式的一對(EA,EA’)的方法,是分別用相衕的一組曏量s ,計算的兩個組合。

聲明:

  1. 本文轉載自[chaincatcher],著作權歸屬原作者[0xAlpha Co-founder @ DeriProtocol],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

分享

幣圈日曆

項目進展
Etherex 將於 8 月 6 日推出代幣 REX。
REX
22.27%
2025-08-06
拉斯維加斯的稀有開發與治理日
Cardano將在拉斯維加斯舉辦稀有開發與治理日,時間爲8月6日至7日,活動包括研討會、黑客馬拉松和以技術開發及治理主題爲重點的小組討論。
ADA
-3.44%
2025-08-06
區塊鏈.Rio在裏約熱內盧
Stellar 將參加定於 8 月 5 日至 7 日在裏約熱內盧舉行的 Blockchain.Rio 大會。該節目將包括主題演講和小組討論,屆時將邀請 Stellar 生態系統的代表與合作夥伴 Cheesecake Labs 和 NearX 共同參與。
XLM
-3.18%
2025-08-06
網路研討會
Circle 宣布將於 2025 年 8 月 7 日 14:00 UTC 舉辦名爲“GENIUS Act 時代開始”的實時高管見解網路研討會。此次會議將探討新通過的 GENIUS Act 的影響——這是美國第一個針對支付穩定幣的聯邦監管框架。Circle 的 Dante Disparte 和 Corey Then 將主導討論該立法如何影響數字資產創新、監管透明度,以及美國在全球金融基礎設施中的領導地位.
USDC
-0.03%
2025-08-06
X 上的 AMA
Ankr將在8月7日16:00 UTC於X平台舉辦一次AMA,重點討論DogeOS在爲狗狗幣構建應用層方面的工作。
ANKR
-3.23%
2025-08-06

相關文章

Solana需要 L2 和應用程式鏈?
進階

Solana需要 L2 和應用程式鏈?

Solana在發展中既面臨機遇,也面臨挑戰。最近,嚴重的網絡擁塞導致交易失敗率高,費用增加。因此,一些人建議使用Layer 2和應用鏈技術來解決這個問題。本文探討了該策略的可行性。
6/21/2024, 6:56:40 AM
Sui:使用者如何利用其速度、安全性和可擴充性?
中級

Sui:使用者如何利用其速度、安全性和可擴充性?

Sui 是一個權益證明 L1 區塊鏈,具有新穎的架構,其以物件為中心的模型可以通過驗證器級別的擴展實現交易的並行化。在這篇研究論文中,將介紹Sui區塊鏈的獨特功能,將介紹SUI代幣的經濟前景,並將解釋投資者如何通過Sui應用程式活動瞭解哪些dApp正在推動鏈的使用。
6/13/2024, 8:07:55 AM
錯誤的鉻擴展程式竊取分析
進階

錯誤的鉻擴展程式竊取分析

最近,一些 Web3 參與者由於下載了讀取瀏覽器 cookie 的虛假 Chrome 擴展程式,從他們的帳戶中損失了資金。SlowMist團隊對這種騙局策略進行了詳細分析。
6/12/2024, 3:26:44 PM
在哪種敘事中最受歡迎的掉落?
新手

在哪種敘事中最受歡迎的掉落?

牛市場是一個敘事對加密項目意味著一切的時代。由於目前的市場正處於成長期,許多專案都顯示出數百個倍數,但很少有獵人能夠理解它們之間的相關性。
5/27/2024, 9:55:34 AM
由幣安實驗室支持的必試專案,提供額外權益質押獎勵(包括分步指南)
中級

由幣安實驗室支持的必試專案,提供額外權益質押獎勵(包括分步指南)

Zircuit是與以太坊虛擬機(EVM)完全相容的zk Rollup。它目前處於測試網階段。它通常可以理解為使用zk技術的以太坊L2。從本質上講,它仍然是解決以太坊本身的性能和效率問題,並説明交易更好更快地執行。與OP架構相比,Zircuit可以實現zkEVM Rollup的快速一致的性能,而無需提現交易的挑戰期。
6/20/2024, 2:33:10 AM
深度分析:AI和Web3能創造什麼樣的火花?
進階

深度分析:AI和Web3能創造什麼樣的火花?

本文探討了人工智慧 (AI) 和 Web3 技術的快速發展及其整合的潛在價值和影響。AI 擅長提高生產力,而 Web3 通過去中心化改變生產關係。這些技術的結合帶來了數據分析、個人化使用者服務以及安全和隱私保護方面的創新應用。
6/7/2024, 5:04:48 AM
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!