零知識證明有時稱為 zk 協定,是一種發生於證明者與驗證者之間的驗證方法。在零知識證明的系統中,證明者能夠向驗證者證明他們擁有關於特定資訊的知識 (例如一個數學方程式的解) 而不需要透露資訊本身。這類證明系統可以被現代密碼學者用來提供更高等級的隱私性與安全性。
一個 zk 證明必須滿足兩個基本要求,即完備性與可靠性。完備性是指證明者以高度可能的準確性展示相關資訊之知識的能力。一項證明若要可靠,則驗證者必須能確定證明者是否真的擁有該資訊。最終,為了達成真正的零知識,證明必須在證明者與驗證者完全不溝通相關問題的資訊下,同時達成完備性與可靠性。
零知識證明主要應用於隱私與安全不可或缺的應用程式中。例如,身分驗證系統可以使用 zk 證明來驗證憑證或身分,而無需直接洩漏這些資訊。舉個簡單的例子,它可以用來驗證一個人是否擁有電腦系統的密碼,而無需透露該密碼。