姓名:王鐳璋
學(xué)號:19011110177
轉(zhuǎn)載自:
鏈接:https://zhuanlan.zhihu.com/p/69776256
https://zhuanlan.zhihu.com/p/104221636
https://zhuanlan.zhihu.com/p/50121048
20世紀(jì)80年代初喷面,麻省理工學(xué)院研究人員S.Goldwasser纯出、S.Micali及C.Rackoff提出了“零知識證明”的概念滥沫。
零知識證明松靡,指的是證明者能夠在不向驗證者提供任何有用的信息的情況下狐榔,使驗證者相信某個論斷是正確的坛增,它實質(zhì)上是一種涉及兩方或更多方的協(xié)議,即兩方或更多方完成一項任務(wù)所需采取的一系列步驟薄腻。
證明者向驗證者證明并使其相信自己知道或擁有某一消息收捣,但證明過程不能向驗證者泄漏任何關(guān)于被證明消息的信息。
舉個例子庵楷,
假如A要向B證明自己擁有某個房間的鑰匙罢艾,該房間只能用鑰匙打開鎖,而其他任何方法都打不開尽纽。B確定該房間內(nèi)有某一物體昆婿,A用自己擁有的鑰匙打開該房間的門,然后把物體拿出來出示給B蜓斧,從而證明自己確實擁有該房間的鑰匙仓蛆。這就是零知識證明。
它的好處在于挎春,在整個證明的過程中看疙,B始終不能看到鑰匙的樣子,從而避免了鑰匙的泄露直奋。
再舉一個更具體的例子:
如下圖:
洞穴里有一個秘密能庆,知道咒語的人能打開C和D之間的密門。對其他任何人來說脚线,兩條通道都是死胡同搁胆。Peggy知道這個洞穴的秘密。她想對Victor證明這一點,但是她不想透露咒語渠旁。下面是她如何使Victor相信的過程:
1.Victor 站在A點攀例。
2.Peggy一直走進洞穴,到達C點或者D點顾腊。
3.在Peggy消失在洞穴中之后粤铭,Victor走到B點。
4.Victor向Peggy喊叫杂靶,要她:
從左通道出來梆惯,或者? 從右通道出來。
5.Peggy答應(yīng)了吗垮,如果有必要她就用咒語打開密門垛吗。
6.Peggy和Victor 重復(fù)第1~5步n次。
假設(shè)這個過程重復(fù)了十次烁登,我們把這個例子放到剛才提到的交互式系統(tǒng)中怯屉,在Peggy知道咒語的情況下,那么她有很高的概率(1-1/2^10)讓Victor相信她知道這個咒語(完備性)防泵,但是如果她不知道咒語蚀之,那么Victor相信的概率最大為 1/2^10,也就是有很高的概率Peggy沒法欺騙Victor(公正性)捷泞。
進一步設(shè)想一下足删,如果Victor和Peggy上面的交互過程用攝像機記錄下來,然后Victor拿給第三個人Carol看锁右,Carol會相信嗎失受,答案是否定的,因為Peggy和Victor完全可以事先商量好進入哪個通道咏瑟,從哪個通道出來拂到,這樣Peggy在不知道咒語的情況下也可以正確的按照Victor的要求從通道走出來÷肱ⅲ或許他們不這么做兄旬,Peggy走進其中一條通道,Victor發(fā)出一個隨機的要求余寥,如果Victor猜對了领铐,好極了;如果他猜錯了宋舷,他們會從錄像帶中刪除這個試驗绪撵。總之祝蝠,Victor獲得一個記錄音诈,它準(zhǔn)確顯示與實際證明Peggy知道咒語相同的事件順序幻碱。
這就說明了兩件事情,其一细溅,Victor不可能 使第三方相信這個證明的有效性褥傍;其二,它證明了這個協(xié)議是零知識的谒兄。在Peggy不知道咒語的情況下摔桦,Victor顯然不能從記錄中獲悉任何信息社付。但是承疲,因為無法區(qū)分一個真實的記錄和一個偽造的記錄,所以Victor不能從實際證明中了解任何信息——它必定是零知識鸥咖。
零知識證明滿足的性質(zhì)
(1)正確性燕鸽。P無法欺騙V。換言之啼辣,若P不知道一個定理的證明方法啊研,則P使V相信他會證明定理的概率很低。
(2)完備性鸥拧。V無法欺騙P党远。若P知道一個定理的證明方法,則P使V以絕對優(yōu)勢的概率相信他能證明富弦。
在零知識協(xié)議中沟娱,除滿足上述兩個條件以外,還滿足下述的第三個性質(zhì)腕柜。
(3)零知識性济似。V無法獲取任何額外的知識。
零知識證明的優(yōu)點
安全盏缤,隨著零知識證明的使用砰蠢,安全性會大大提高。
高效唉铜,零知識證明過程計算量小台舱,雙方交換的信息量會大大減少,因此較為高效潭流。
零知識證明能夠保障數(shù)據(jù)的安全性竞惋,能夠解決很多隱私問題,而且能讓雙方交換的信息量減少幻枉,在各個領(lǐng)域都能有較好的應(yīng)用碰声。
零知識證明的應(yīng)用
零知識證明最初經(jīng)常被應(yīng)用于身份驗證,數(shù)字簽名熬甫,認(rèn)證協(xié)議等胰挑,而后,區(qū)塊鏈的出現(xiàn)給零知識證明的應(yīng)用提供了更多新的方向。
它可以解決區(qū)塊鏈中的隱私問題和安全問題瞻颂,可以在不知道客戶密碼的前提下豺谈,進行客戶登錄的驗證,即使服務(wù)器被攻擊贡这,由于并未存儲客戶明文密碼茬末,用戶的賬戶還是安全的。
運用零知識證明技術(shù)來保證個人信息的隱私安全盖矫。
目前的數(shù)據(jù)以億為計量單位的丽惭,必須對鏈上的數(shù)據(jù)進行加密儲存,在大部分的數(shù)據(jù)應(yīng)用場景中辈双,運用零知識證明责掏,保證鏈上輸出的有效性和安全性。
數(shù)據(jù)使用者只可以獲取到與其業(yè)務(wù)相關(guān)的有限信息字段湃望,確保數(shù)據(jù)使用者難以獲取完整有效的明文用戶信息换衬,
意義
區(qū)塊鏈興起之后,密碼學(xué)受到更大的重視证芭,零知識證明作為一種密碼學(xué)方法瞳浦,熱度也提高了很多。但是零知識證明到底有什么現(xiàn)實意義废士,可以用在哪些場合呢叫潦?
以前零知識證明還有一個名字叫“最小暴露證明”,意思是可以在證明一些命題的同時湃密,對信息進行非常好的保密诅挑,這個特點顯然對保護隱私是有幫助的。例如泛源,我現(xiàn)在要貸款拔妥,貸款公司要求我的月收入是大于兩千元的,但是我不想暴露具體我的工資是多少达箍,這個時候就可以用零知識證明的方式來達成没龙。
另外在區(qū)塊鏈上,也可以用零知識證明來達成隱藏轉(zhuǎn)賬信息的作用缎玫。熟悉比特幣的同學(xué)知道硬纤,比特幣上每一筆交易都是透明的,誰給誰轉(zhuǎn)了多少錢都是公開可查的赃磨。但是筝家,通過零知識證明技術(shù)實現(xiàn)的隱私幣,例如 Zcash 就可以達成隱藏交易信息邻辉,但是同時能讓全網(wǎng)驗證交易合法性的效果溪王。
Web3.0 時代是個人持有數(shù)據(jù)的時代腮鞍,是隱私需求非常高的時代,這個背景下莹菱,零知識證明在很多場景下都會非常有用移国。
結(jié)論
這就是對零知識證明的基本介紹了。我們要記住的是道伟,零知識證明是一種密碼學(xué)方法迹缀,示證者要在驗證者對信息本身“零知識”的前提下去證明跟信息相關(guān)的某個命題是成立的。在 Web3.0 的數(shù)據(jù)經(jīng)濟時代蜜徽,個人隱私問題尤其突出祝懂,零知識證明會大有用武之地。