麻省理工學院研究人員在 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...