時(shí)間:2021-12-29|瀏覽:486
零知識(shí)證明 zero-knowledge proofs,簡(jiǎn)稱ZKPs,我們都知道區(qū)塊鏈本身的一個(gè)關(guān)鍵優(yōu)勢(shì)就是透明性,但是在很多情況下,智能合約應(yīng)用卻出于各種商業(yè)或法律原因需要保障數(shù)據(jù)隱私,比如傳入真實(shí)有效的數(shù)據(jù)來觸發(fā)智能合約執(zhí)行,但這涉及到信息會(huì)有泄露的風(fēng)險(xiǎn)。如何避免這種情況的發(fā)生呢?零知識(shí)證明的出現(xiàn)很好地解決了這個(gè)問題。
零知識(shí)證明(Zero Knowledge Proof)的研究最早始于1985年,由MIT教授Shafi Goldwasser, Silvio Micali 和 密碼學(xué)大師Charles在《The Knowledge Complexity of Interactive Proof-Systems》論文中提出。正是這篇文章提出了 零知識(shí)證明 這個(gè)偉大概念,并逐步成為了現(xiàn)代密碼學(xué)理論的根基之一,而Shafi Goldwasser和Silvio Micali也于2012 年獲得了有“計(jì)算機(jī)界諾貝爾獎(jiǎng)”之稱的圖靈獎(jiǎng)。零知識(shí)證明系統(tǒng)所要完成的任務(wù)是「證明某一個(gè)事實(shí)并且不泄露知識(shí)」。這個(gè)過程就是零知識(shí)證明。
聽起來還是有些晦澀難懂?講個(gè)簡(jiǎn)單的例子:
阿里巴巴的故事想必大家都聽過,有一天,劫匪抓住了阿里巴巴,拷問他想要得到進(jìn)入山洞的咒語,但是聰明的阿里巴巴知道,如果把咒語告訴了劫匪,那么他也就徹底沒有了價(jià)值,肯定會(huì)將他殺掉,死活不說,那么也會(huì)殺掉他,于是他想到一個(gè)好辦法,即能不泄露咒語,又能讓劫匪相信他知道咒語。
阿里巴巴說:“你們離我一箭遠(yuǎn),然后用弓箭指著我,當(dāng)你們舉右手我會(huì)念咒語打開石門,當(dāng)你們舉左手我會(huì)念咒語關(guān)上石門,如果我逃跑或沒有做到,證明我不知道咒語,你們可以一箭殺掉我?!苯俜送饬诉@個(gè)提議,多次嘗試后阿里巴巴都成功按照指示讓石門打開或關(guān)上了,但是由于有一定距離,他們聽不清楚咒語到底是什么,就這樣,阿里巴巴沒有透露任何消息就向劫匪證明了他的真實(shí)性。
這個(gè)例子非常簡(jiǎn)單,雖然只是零知識(shí)證明機(jī)制簡(jiǎn)單的概念演示,真正的零知識(shí)證明運(yùn)用的是密碼學(xué),在不透露數(shù)據(jù)的情況下證明數(shù)據(jù)的存在??偠灾?jiǎng)?chuàng)建零知識(shí)證明,驗(yàn)證者(劫匪)需要讓證明者(阿里巴巴)執(zhí)行一系列操作,而證明者只有在得知底層信息的情況下才能正確執(zhí)行。如果證明者亂蒙一個(gè)結(jié)果,那么驗(yàn)證者極有可能在驗(yàn)證中發(fā)現(xiàn)并證明他的錯(cuò)誤。那么零知識(shí)證明應(yīng)用在區(qū)塊鏈中有哪些價(jià)值呢?
自從這個(gè)概念被提出來后,人們就將其應(yīng)用到了各個(gè)領(lǐng)域,比如身份認(rèn)證系統(tǒng)、存證系統(tǒng)、數(shù)據(jù)共享、水印檢測(cè),密鑰交換等等,在隱私數(shù)據(jù)越來越受到大家關(guān)注的今天,零知識(shí)證明在隱私數(shù)據(jù)保護(hù)的應(yīng)用中大放異彩:
保護(hù)隱私數(shù)據(jù):日常生活中,比如只想證明考生及格了,但不想透露具體考了多少分;買保險(xiǎn)的時(shí)候,只想證明自己沒有心臟病,卻不想暴露病例的所有信息,不管是哪種信息,都可以把不想暴露的部分換成一個(gè)很像隨機(jī)數(shù)字的零知識(shí)證明,能夠證明數(shù)據(jù)真實(shí)可信。
身份認(rèn)證:在使用網(wǎng)站時(shí),用戶可以向網(wǎng)站證明他擁有私鑰,或者知道某個(gè)只有自己才知道的答案,網(wǎng)站不用知道密鑰,但可以通過零知識(shí)證明確認(rèn)用戶身份,通過去中心化存儲(chǔ),服務(wù)器可以向用戶證明數(shù)據(jù)被妥善保存下來且不被泄露。
計(jì)算壓縮與區(qū)塊鏈擴(kuò)容:在傳統(tǒng)的區(qū)塊架構(gòu)中,同樣的計(jì)算被重復(fù)多次,比如簽名校驗(yàn),交易的合法性校驗(yàn),智能合約執(zhí)行等一些其他的地方,因?yàn)橛辛擞?jì)算的證明,同一個(gè)計(jì)算就不需要多次重復(fù)了,計(jì)算過程可以被零知識(shí)技術(shù)證明壓縮。
由此,零知識(shí)證明真正解決了「數(shù)據(jù)的信任」,實(shí)現(xiàn)了「隱私數(shù)據(jù)的保護(hù)」,也讓區(qū)塊鏈真正實(shí)現(xiàn)了「信任機(jī)器」這一構(gòu)想。
熱點(diǎn):區(qū)塊鏈 智能合約 數(shù)據(jù) 計(jì)算機(jī)