本文是社區提交的文章。作者是 Kenny Li,Manta Network 的聯合創始人,Manta Network 是一種由零知識證明技術支持的可編程隱私第一層協議。
本文中的觀點屬於貢獻者/作者,並不一定反映幣安學院的觀點。
長話短說
零知識證明(ZKP)是一種密碼技術,可以在不泄露信息本身的情況下驗證一條信息的真實性。它已成爲區塊鏈、加密貨幣和去中心化金融(DeFi)領域日益重要的技術,用於增強隱私和安全性。
許多 DeFi 項目已經在使用 ZKP 爲用戶的借貸和交易等服務提供更好的隱私和安全性。許多第 1 層區塊鏈正在添加基於 ZKP 的彙總或 zkEVM。零知識證明預計將在區塊鏈和 Web3 領域發揮越來越重要的作用,因爲它們的應用預計將得到更廣泛的採用。
零知識證明如何工作?
零知識證明是一種方法,通過該方法,一方(證明者)可以向另一方(驗證者)證明某個陳述是真實的,而無需透露任何附加信息。當信息敏感並且證明者不希望驗證者訪問它時,這特別有用。
證明者提供只有他們才能生成的數學證明,驗證者可以使用該證明來驗證陳述的真實性。然而,他們無法使用證據來重建原始信息。
想象一條有兩個入口 A 和 B 的隧道。有一扇上鎖的門,上面有密碼,封鎖了唯一的路徑,阻止人們從隧道的一端走到另一端(A 到 B)。您知道密碼並想將其賣給想要進入隧道的 X 女士。
您希望她在向她透露代碼之前先付款,但她首先希望您證明您確實知道該代碼。在這種情況下,她可以站在隧道前,看着你走進一個入口並從另一個入口出來。這樣,她就會對你確實知道密碼感到滿意。
高級零知識證明示例
想象一下你有一個朋友無法區分紅色和藍色。您展示了兩個球:一紅一藍。然而,你的朋友不相信這些球可以彼此區分。您想要證明它們是不同的顏色,而又不想透露您有一個紅色和一個藍色的球。事實上,您根本不想透露任何有關如何區分它們的信息。
那麼,我們如何證明它們可以被區分,同時揭示有關識別過程或定義特徵的零知識呢?答案很簡單。您要求您的朋友在展示其中一個之前將兩個球放在背後。然後,他們會將球放在背後,並隨機選擇 (50/50) 兩個球之一再次展示。請注意,您的朋友將始終知道他們是否換了球。
然後你的朋友會問你:“球換了嗎?”在確認您的答案的有效性之前。在給出正確答案後,你的朋友可能會懷疑你猜對了。他們要求你再做五次,這意味着你在實驗中每次都猜對的機會是:
機會看起來很渺茫!可以肯定的是,您和您的朋友重複這個過程 15 次。那麼你猜對的機會是:
此時,你幾乎可以肯定證明是正確的。如果你和朋友重複實驗無數次,你每次猜對的機率就會趨於零。
因此,你已經向你的朋友證明,這些球是可以區分的,而你的朋友對此的瞭解爲零。然而,他可以自信地接受這一發現。
爲什麼使用零知識證明?
數字交易中對隱私和安全的需求不斷增長,推動了區塊鏈和加密貨幣中零知識證明的流行。隨着區塊鏈技術和加密貨幣的興起,人們越來越需要一種在不泄露敏感信息的情況下驗證交易的方法——ZKP 可以滿足這一需求。
近年來,零知識證明引起了越來越多的關注和興趣,許多使用 ZKP 的協議已經推出,主要區塊鏈也構建了零知識彙總。在 DevCon 2022 大會上,零知識證明的受歡迎程度得到了明顯體現,超過 20% 的演講都是關於這項技術的。
主要進展
零知識證明的一個關鍵發展是 zk-SNARK(ZKP 的一種特定類型)的使用增加。 zk-SNARK 已廣泛應用於各種 DeFi 應用中,例如私人代幣交易和屏蔽借貸。零知識證明的另一個重大發展是通過 zk-rollups 更加關注可擴展性和性能。
zk-SNARK
零知識簡潔非交互式知識論證(zk-SNARKs)是一種特定類型的零知識證明,它允許在不透露有關陳述本身的任何信息的情況下驗證陳述。
zk-SNARK 已用於 Zcash 和摩根大通基於區塊鏈的支付系統等應用程序。它還被用作向服務器安全地驗證客戶端身份的一種方法。
Zk-Rollups
Zk-rollups 是區塊鏈網絡的擴展解決方案,有助於將多個交易批處理爲單個更大的交易,然後記錄在區塊鏈上。例如,BNB Chain於2022年推出了基於zk-rollup架構的zkBNB測試網。
zkBNB 可以將數百筆交易捆綁到單批鏈下交易中,並生成密碼證明來證明所有交易的有效性。 zk-rollups 在可擴展性和安全性之間提供了平衡,適合高規模、低延遲的設置。
零知識證明的用例
零知識證明有很多用例,其中一些已經實現;其他的預計將在未來成爲現實。一些主要的 ZKP 用例包括:
數字身份驗證
零知識證明可用於驗證用戶身份,而無需泄露任何敏感個人信息。這在數字投票系統等應用中非常有用,因爲這些系統必須驗證選民的身份,而又不損害他們的匿名性。
保護隱私的交易
加密領域零知識證明最流行的用例之一是支持隱私保護交易。例如,Manta Network 的 MantaPay 去中心化應用程序 (DApp) 使用 ZKP 使用戶能夠在去中心化交易所 (DEX) 上進行交易,而無需透露其身份或交易詳細信息。這允許用戶維護自己的隱私,同時仍然能夠使用該平臺進行交易。
屏蔽交易
Zcash 是一種使用零知識證明來實現屏蔽交易的加密貨幣。在此類交易中,發送者和接收者地址以及交易金額在公共區塊鏈中是模糊的,從而爲用戶提供了更多的隱私。
標記化和所有權驗證
零知識證明還可用於對資產進行代幣化並驗證其所有權證明。例如,財產可以被標記化,任何一方都可以驗證其所有權,而無需公開透露任何其他信息。
全球合規性
一些國家對金融信息的收集和共享有嚴格的規定,這對於去中心化平臺來說可能很難遵守。零知識證明可用於與監管機構共享所需信息,同時對其他方保密。
這有助於彌合去中心化平臺和傳統金融機構之間的差距,使 DeFi 更容易遵守各個司法管轄區的法規。
區塊鏈零知識證明的未來
零知識證明未來很可能帶來新的技術創新。一些值得關注的 ZKP 相關未來發展包括:
跨鏈隱私層
隨着區塊鏈和 DeFi 生態系統的不斷髮展和演變,不同區塊鏈網絡之間的互操作性需求日益增加。跨鏈隱私層將允許在不同的區塊鏈網絡上進行交易,同時保護相關方的隱私。
零知識證明
另一個需要注意的領域是 zk-STARK(零知識可擴展透明知識論證)的使用增加,這是一種新型的零知識證明,被認爲比 zk-SNARK 更高效、更安全。 zk-STARKs 相對於 zk-SNARKs 的另一個優點是前者驗證速度更快,並且不需要可信設置。
用戶友好的工具包
零知識證明技術可能很複雜,並不是每個開發團隊都擁有這一特定密碼學領域的專業知識。用戶友好的 ZKP 工具包可以幫助彌合這一差距,並使不同背景的開發人員更輕鬆地使用該技術。
零知識證明的侷限性
零知識證明是一種獨特的方法,可以在保護隱私的同時驗證信息的真實性,但並不能提供 100% 的保證。雖然當證明者撒謊時,驗證成功的概率可以忽略不計,但用戶應該意識到 ZKP 並非萬無一失。
此外,零知識證明使用的算法需要大量的計算資源。在某些類型的 ZKP 中,密集計算是必要的,因爲它們需要驗證者和證明者之間的大量交互。在其他情況下,算法的計算量非常大,這可能會限制 ZKP 的應用。
結束語
零知識證明因其獨特的隱私保護和擴展潛力而迅速受到關注。該技術在區塊鏈、加密貨幣和 DeFi 中的應用越來越多,可能會帶來更多創新服務,讓用戶受益匪淺。零知識證明有望在創建更安全、私密和高效的 DApp 生態系統中發揮至關重要的作用。
進一步閱讀
zk-SNARK 和 zk-STARK 解釋
區塊鏈第 1 層與第 2 層擴展解決方案