區塊鏈匿名機制之零知識證明
零知識證明是指證明者能夠在不向驗證者提供信息本身內容的情況下,使驗證者相信某個論斷是真實可信的一種技術。也就是說,它既能充分證明自己是某種權益的合法擁有者,又不把有關的信息泄露出去,即給外界的“知識”為“零”。
在有必要證明一個命題是否正確,又不需要提示與這個命題相關的任何信息時,零知識證明系統是不可或缺的。所以零知識證明實質上是一種涉及兩方或更多方的協議,即兩方或更多方完成一項任務所需採取的一系列步驟。證明者向驗證者證明並使其相信自己知道或擁有某一消息,但證明過程不能向驗證者泄漏任何關於被證明消息的信息。
大量事實證明,零知識證明在密碼學中非常有用。如果能夠將零知識證明用於驗證,將可以有效解決許多問題。
舉個例子:A要向B證明自己擁有某個房間的鑰匙,假設該房間只能用鑰匙打开鎖,而其他任何方法都打不开。這時候,A可以選擇把鑰匙交給B,B用這把鑰匙打开房間的鎖,從而證明A擁有該房間的正確的鑰匙或者A自己用鑰匙打开房間。從房間裏拿出一個物體出示給B,B知道這個物體確實只有房間有。方法二的原理就是零知識證明。
零知識證明的過程是這樣的:
零知識證明過程中,有兩個參與者,一個是證明者,一個是驗證者。證明者擁有某個祕密,想讓驗證者相信他真的擁有着某個祕密,卻不想讓他知道這個祕密是什么。因此雙方需要通過一個協議進行一系列的交互,最後驗證者會獲得一個結果,根據這個結果可以確定證明者是否擁有個祕密,而不需要確認祕密的內容是什么。
零知識證明圖解
生活中,我們入住酒店都需要使用居民身份證進行登記,以方便酒店开展服務和管理。當有關部門人員對酒店進行安全檢查時,他們只需驗證身份證號碼是否有效,就可以證明我們是不是合法公民,而對於職業、住址等涉及個人隱私的信息,他們並不會去查詢。這也是一個典型的零知識證明案例。
零知識證明具有以下性質:
(1)完備性。如果證明方和驗證方都是誠實的,並遵循證明過程的每一步,進行正確的計算,那么這個證明一定是成功的,驗證方一定能夠接受證明方。
(2)合理性。沒有人能夠假冒證明方,使這個證明成功。即打开房間的鑰匙是唯一的。
(3)零知識性。證明過程執行完之後,驗證方只獲得了“證明方擁有這個知識”這條信息,而沒有獲得關於這個知識本身的任何一點信息。
零知識證明可以在不泄露信息本身內容的情況下,證明我知道這個祕密,可以有效解決許多驗證問題。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
區塊鏈愛好者
文章數量
34524粉絲數
0