零知識證明

閱讀時間約4分鐘

零知識證明

什麼是零知識證明?

零知識證明(ZK Proof)或零知識協議是一種在不泄露基礎數據的情況下驗證事物的數學方法。換句話說,證明者能夠向驗證者證明它們具有一條信息的知識,而無需透露信息本身。使用零知識證明是為了提高系統的隱私性和安全性。

驗證者隨機詢問證明者,給出正確答案的頻率越高,證明者擁有“知識“的可能性就越高。一個眾所周知的示例,通常用於證明零知識證明的概念:佩奇(證明者)知道用於打開洞門的密碼代碼。洞穴的形狀像一個環形,有兩個分別通往兩個單獨路徑(A和B)的入口。門連接到兩條路徑,但是只能用密碼才能打開。維克多(驗證者)想知道佩奇是否獲得了密碼,佩奇想證明自己知道密碼但又不想透露密碼本身。為此,佩奇進入山洞,維克多在外面等。他大聲喊出他希望佩奇返回路徑的名稱,即A或B。如果佩奇知道密碼,她可以隨時開門,然後沿著所需的路徑返回。而如果她其實不知道密碼,她只能按照進入時的路徑返回,她將有50%的幾率是正確的,但如果他們重復多次(例如10次),那麼在不真正知道密碼的情況下成功走對路的機會就很小了(0.510)。

零知識證明必須滿足三個屬性:完整性,可靠性和零知識。完整性是指證明者可以高度准確的方式證明知道該信息;可靠性意味著驗證者必須有能力確認證明者是否真正知道;零知識意味著如果證明者確實知道,驗證者只能得知這一事實,但無法知道其內容。

零知識證明的概念最初由Shafi Goldwasser和Silvio Micali於1985年在MIT發表的論文“交互式證明系統的知識復雜性“中提出。他們驗證了有可能證明數字的某些性質而無需透露數字或有關數字的任何其他信息。

區塊鏈中的用例

盡管公共區塊鏈提供了交易的透明性,但某些應用可能需要更高級別的隱私。零知識證明可用於驗證交易,而無需透露任何相關數據。例如,傳輸了多少價值或將其發送到哪個地址。一個例子是Zcash,這是一種注重隱私的加密貨幣,它采用zk-SNARKs(簡潔非交互式零知識證明)來證明有效交易的條件已得到滿足,而不會透露有關地址或價值的任何信息。摩根大根在其Quorum網絡中整合了zk-SNARKs技術。

TradeFi 行易, 是由智聯通集團 (AI Link Group) 通過其附屬公司 DeepAuto以及智聯通財務有限公司(AI Link Finance Limited) 設立並運營的金融科技平台,致力於為香港和內地企業提供貿易融資服務。