零知識證明

2021-09-25 05:10:13 字數 862 閱讀 3901

麻省理工學院研究人員在 20 世紀 80 年代提出的一種加密方案===零知識證明

零知識證明(zero-knowledge proof)或零知識協議是一種基於概率的驗證方法,包括兩部分:宣稱某一命題為真的證明者(prover)和確認該命題確實為真的驗證者(verifier)。

顧名思義,零知識證明就是既能充分證明自己是某種權益的合法擁有者,又不把有關的資訊洩漏出去,即給外界的 「知識」 為「零」。

「能夠在不知道使用者是誰,或者他們有多少錢的情況下判斷『乙個使用者是否有足夠的錢傳送給另乙個使用者』的問題,是零知識證明在區塊鏈中的主要應用之一。」——demiro massessi

舉個例子,如果有人聲稱知道某個數字序列的答案,零知識證明就是驗證者隨機指定某個序列位置進行有驗證,每個測試不需要知道確定的答案,只需要檢測指定位置的數字正確即可,只要測試的次數足夠多,就可以判斷證明者是否知道數字序列的答案。

但是這種測試並不能證明驗證者和證明者是否做過偽證,因為完全有可能兩者在測試之前串通傳遞答案。所以,這種簡單的測試並不能使人相信,要讓第三者相信這個結果,驗證者還須證明此過程是隨機的。

這種方式不需要互動過程,避免了驗證者和證明者作偽證的可能性。但可能需要第三方程式或者機器的參與。

就比如,在數字序列的驗證過程中,由第三方程式做次驗證過程,驗證序列必須保密,否則驗證者可能在不知道真實「知識」的情況下通過驗證。

1.完備性

如果驗證方和證明方都是誠實的,並遵循證明過程中的每一步,並正確的計算,那麼這個證明就一定是成功的,驗證方一定能接受證明方。

2.合理性

沒有人能夠假冒證明方,使這個證明成功。

3.零知識性

證明過程執行完之後,驗證方只獲得了「證明方擁有這個知識」這條資訊,而沒有獲得關於這個知識本身的任何一點資訊。

零知識證明

零知識證明的幾個例子 原創 1 a要向b證明自己擁有某個房間的鑰匙,假設該房間只能用鑰匙開啟鎖,而其他任何方法都打不開。這時有2個方法 一 a把鑰匙出示給b,b用這把鑰匙開啟該房間的鎖,從而證明a擁有該房間的正確的鑰匙。二 b確定該房間內有某一物體,a用自己擁有的鑰匙開啟該房間的門,然後把物體拿出來...

零知識證明

定義 能夠在不向驗證者提供有效資訊的情況下,使得驗證者相信某種論斷的正確性。淺顯易懂的說明 zcash 零知識證明的三條性質 1.完備性 驗證方和證明方都是誠實的,並遵循證明的每乙個步驟 2.合理性 沒人能假冒證明方,阿里巴巴和強盜的故事,存在一種可能的情況 阿里巴巴不知道咒語,但和別人串通好,強盜...

零知識證明

零知識證明 zero knowledge proofs,簡寫為 zkps,最初由 s.goldwasser s.micali 及 c.rackoff 在 1985 年的 互動證明系統的知識複雜性 提出,指的是證明者能夠在不向驗證者提供任何有用資訊的情況下,使驗證者相信某個論斷是正確的。允許證明者 p...