• <option id="cacee"><noscript id="cacee"></noscript></option>
  • <table id="cacee"><noscript id="cacee"></noscript></table>
  • <td id="cacee"></td>
  • <option id="cacee"></option>
  • <table id="cacee"></table>
  • <option id="cacee"><option id="cacee"></option></option>
  • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
    <option id="cacee"><option id="cacee"></option></option>
     找回密碼
     立即注冊

    掃一掃,登錄網站

    首頁 百科 查看內容
    • 6485
    • 0
    • 分享到

    零知識證明:區塊鏈隱私保護利器

    2018-7-21 05:58

    來源: 簡書 作者: 哈希未來

    零知識證明原理


    零知識證明是一種加密方案,最初在20實際80年代由MIT研究人員在論文中提出。“零知識協議是一方(證明方)可以向另一方(驗證方)證明某事是真實的方法,除了這一具體陳述是真實的事實以外,不透露任何額外的信息。

    例如對于現在登錄網站而言,在Web服務器上存儲了客戶的密碼的哈希值,為了驗證客戶實際上知道密碼,目前大部分網站采用的方式是服務器對客戶輸入的密碼進行哈希計算,并與已存結果對比,但是這種方式的弊病在于服務器在計算時就可以知道客戶的原始密碼,一旦服務器被攻擊,用戶的密碼也就泄露了。如果能夠實現零知識證明,那么就可以在不知道客戶密碼的前提下,進行客戶登錄的驗證,即使服務器被攻擊,由于并未存儲客戶明文密碼,用戶的賬戶還是安全的。

    基本的零知識證明協議是交互式的,需要驗證方向證明方不斷詢問一系列有關其所掌握的“知識”的問題,如果均能夠給出正確回答,那么從概率上來講,證明方的確很有可能知道其所聲稱的“知識”。

    例如某人聲稱知道一個數獨難題的答案,一種零知識證明的方式是驗證方隨機指定這一次按列、按行還是按九宮格來檢測,每次檢測不需要看到數字擺的具體位置,只需要檢測出來是否包含了1-9個數字即可,只要驗證的次數足夠多,那么可以大概率相信證明方是知道數獨題目的解的。但是這樣簡單的方式還不能讓人相信證明方和驗證方均沒有作假,在數獨的案例中,兩者有可能事先串通好,從而使得證明方在不知道答案的前提下通過驗證。如果他們想讓第三方信服,驗證方必須也要證明自己每次的檢測方案是隨機的且自己沒有和證明方串通。

    由于第三方觀察者難以驗證交互式零知識證明的結果,因此當我們向多人證明某些內容時,我們需要付出額外的努力和成本。而非交互式的零知識證明顧名思義,不需要互動過程,避免了串通的可能性,但是可能會額外需要一些機器和程序來決定試驗的序列:例如在數獨的例子中,通過程序的方式來決定哪一次按行、哪一次按列來檢測,但是這個試驗序列必須保密,否則驗證方預先知道了試驗的序列就有可能利用這個信息,提前準備,在并不知道真實“知識”的情況下通過驗證。

    零知識證明的內容可以概括為兩類:“事實”類陳述:例如證明“一個特定的圖可以進行三著色。”或者“一個數N是合數”;關于個人知識的陳述:例如“我知道這個特定圖的染色方案”或者“我知道N的因式分解”。

    但并不是所有的問題都有零知識證明的加密方案,Goldreich, Micali 和 Wigderson 給出了理論上存在零知識證明解的有效范圍。他們發現對于在多項式時間內可以驗證解的決策問題(問題的答案僅為是/否),存在已知的零知識證明方案。只需要在這樣NP問題中找到想要證明的論述,并轉化為三色問題的一個實例,那么就可以利用已有的協議實現零知識證明。由于三色問題屬于NPC問題,任何其他的NP問題都可以轉化為這個問題的實例。

    版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。
    相關新聞
    發表評論

    請先 注冊/登錄 后參與評論

      回頂部
    • <option id="cacee"><noscript id="cacee"></noscript></option>
    • <table id="cacee"><noscript id="cacee"></noscript></table>
    • <td id="cacee"></td>
    • <option id="cacee"></option>
    • <table id="cacee"></table>
    • <option id="cacee"><option id="cacee"></option></option>
    • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
      <option id="cacee"><option id="cacee"></option></option>
      妖精视频