首頁
詞彙表
零知識證明

零知識證明

進階

零知識證明有時稱為 zk 協定,是一種發生於證明者與驗證者之間的驗證方法。在零知識證明的系統中,證明者能夠向驗證者證明他們擁有關於特定資訊的知識 (例如一個數學方程式的解) 而不需要透露資訊本身。這類證明系統可以被現代密碼學者用來提供更高等級的隱私性與安全性。

零知識證明的概念最初是由一篇 1985 年的 MIT 論文 所提出,該論文由 Shafi Goldwasser 與 Silvio Micali 所發表。他們展示了有可能在證明某些數字特性的同時,不揭露該數字或任何關於該數字的額外資訊。該論文也介紹了一個數學上的重大發現,即證明者與驗證者間的互動可以減少所需證明給定定理的資訊量。 

一個 zk 證明必須滿足兩個基本要求,即完備性與可靠性。完備性是指證明者以高度可能的準確性展示相關資訊之知識的能力。一項證明若要可靠,則驗證者必須能確定證明者是否真的擁有該資訊。最終,為了達成真正的零知識,證明必須在證明者與驗證者完全不溝通相關問題的資訊下,同時達成完備性與可靠性。

零知識證明主要應用於隱私與安全不可或缺的應用程式中。例如,身分驗證系統可以使用 zk 證明來驗證憑證或身分,而無需直接洩漏這些資訊。舉個簡單的例子,它可以用來驗證一個人是否擁有電腦系統的密碼,而無需透露該密碼。 

現實生活的零知識證明重要應用案例,也在加密貨幣與區塊鏈技術的世界中可見一斑。以隱私為中心的加密貨幣 (如 Zcash ) 使用一種稱為簡明非交互零知識證明 (zk-SNARK) 的證明, 能夠為用戶提供更高隱私等級的區塊鏈交易。自從 2017 年的 Byzantium 更新以來,以太坊也一直在努力導入 zk-SNARK 證明。