零知識證明零知識證明,簡稱ZKPs,我們都知道區塊鏈本身的一個關鍵優勢就是透明性,但在很多情況下,智能合約應用需要出于各種商業或法律原因保護資料隱私,比如匯入真實有效的資料觸發智能合約執行,這就涉及到資訊泄露的風險,如何避免這種情況?零知識證明的出現很好地解決了這個問題,
零知識證明( Zero Knowledge Proof)的研究始于1985年,由麻省理工學院教授Shafi Goldwasser、Silvio Micali、密碼學家查爾斯在“The Knowledge Complexity of Interactive Proof-Systems”中提出,正是這篇文章提出了零知識證明,這個偉大的概念逐漸成為現代密碼學理論的基礎之一,2012年,Shafi Goldwasser和Silvio Micali還獲得了圖靈獎,被稱為“諾貝爾計算機科學獎”,零知識證明系統的任務是“在不揭示知識的情況下證明某一事實”,這個程序是零知識證明,
舉個例子:
想必大家都聽過阿里巴巴的故事,有一天,強盜抓住了阿里巴巴,為了進入山洞的咒語折磨他,但是,聰明的阿里巴巴知道,如果他把咒語告訴強盜,他就完全沒有價值了,他肯定會殺了他,如果他不說,他也會殺了他,于是他想了一個好辦法,既不會泄露咒語,又能讓強盜相信他知道咒語,
阿里巴巴說:“你離我一箭之遙,那就用弓箭指著我,當你舉起右手時,我會拼著打開石門,當你舉起左手的時候,我會拼著去關上石門,如果我逃跑或者做不到,就證明我不知道咒語,你可以用箭射死我,”強盜們同意了這個提議,經過多次嘗試,阿里巴巴按照指示成功打開或關閉了石門,然而,由于一定的距離,他們聽不清楚咒語是什么,就這樣,阿里巴巴在沒有透露任何資訊的情況下,向劫匪證明了自己的真實性,
這個例子非常簡單,盡管它只是零知識證明機制的簡單概念演示,real 零知識證明使用密碼學來證明資料的存在,而不公開資料,綜上所述,創建零知識證明,驗證者(強盜)需要證明者(阿里巴巴)執行一系列操作,證明者只有知道底層資訊才能正確執行,如果證明者得到一個隨機的結果,驗證者很有可能在驗證中發現并證明自己的錯誤,

那么零知識證明應用在區塊鏈有什么價值呢?
自這一概念提出以來,人們將其應用于身份認證系統、證書存盤系統、資料共享、水印檢測、密鑰交換等各個領域,在私有資料越來越受到重視的今天,零知識證明在私有資料保護的應用上大放異彩:
保護隱私資料:比如在日常生活中,我只想證明候選人通過了,但不想透露自己考了多少分;買保險的時候只是想證明自己沒有心臟病,但又不想暴露案件的全部資訊,不管是什么樣的資訊,都可以用亂數零知識證明,替換不想暴露的部分,這樣可以證明資料是真實的,
認證:用戶在使用網站時,可以向網站證明自己有私鑰或者知道一個只有自己知道的答案,網站不需要知道密鑰,但可以通過零知識證明確認用戶身份,通過分散存盤,服務器可以向用戶證明資料已被正確保存且未被泄露,
壓縮和區塊鏈擴展:在傳統的分塊架構中,同樣的計算要重復多次,比如簽名驗證、交易合法性驗證、智能合同執行等地方,因為有了計算證明,同樣的計算不需要重復多次,計算程序可以通過零知識證明技術進行壓縮,
因此,零知識證明真正解決了“資料信任”的問題,實作了“對私有資料的保護”,使區塊鏈真正實作了“信任機器”的思想,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/312183.html
標籤:區塊鏈
