原文:
https://www.nulink.org/blog-posts/zero-knowledge-proof-in-nulink-1-introduction
作者簡(jiǎn)介:
作為NuLink Technology的研究員仰挣,Rookie是一位激情的創(chuàng)新者,他專(zhuān)注于密碼學(xué)和區(qū)塊鏈技術(shù)。
翻譯:
Reversing
作為NuLink項(xiàng)目的高級(jí)研究員彪腔,我一直致力于密碼學(xué)和隱私保護(hù)的研究找田。多年來(lái)毒姨,這個(gè)領(lǐng)域一直有一個(gè)有趣的話(huà)題垂蜗,那就是ZKP(Zero Knowledge Proof喘先,零知識(shí)證明)钳吟。最近它在社區(qū)中引起了很多關(guān)注,因?yàn)橛泻芏嘤腥さ膱?chǎng)景可以討論窘拯。例如红且,Zcash(1)。我想用一系列的文章來(lái)介紹這個(gè)超級(jí)有趣的話(huà)題涤姊。
今天將是第一篇文章暇番。通過(guò)一個(gè)簡(jiǎn)單的故事,我將介紹什么是零知識(shí)證明和它的特性思喊。在后面的文章中壁酬,我將給出ZKP的嚴(yán)格形式化定義和NP語(yǔ)言零知識(shí)證明的通用理論構(gòu)造。最后恨课,我將介紹這一技術(shù)近年來(lái)的發(fā)展舆乔、分類(lèi)、代表方案和比較剂公。希望你會(huì)喜歡這一系列的文章希俩。
NuLink網(wǎng)絡(luò)是一個(gè)給保護(hù)隱私的應(yīng)用程序開(kāi)發(fā)人員實(shí)施最佳實(shí)踐和最佳安全和隱私的去中心化的解決方案。NuLink平臺(tái)提供端點(diǎn)加密和加密訪(fǎng)問(wèn)控制纲辽。敏感的用戶(hù)數(shù)據(jù)可以從任何用戶(hù)平臺(tái)安全地共享到云端或分布式存儲(chǔ)颜武,并通過(guò)代理重加密或?qū)傩约用?/b>自動(dòng)授予對(duì)該數(shù)據(jù)的訪(fǎng)問(wèn)。在這個(gè)過(guò)程中拖吼,有必要確保數(shù)據(jù)的可用性鳞上。這里的可用性從字面上看是指數(shù)據(jù)是終端用戶(hù)想要的,可以使用的吊档。有一種加密技術(shù)可以幫助我們解決這個(gè)問(wèn)題篙议,叫做零知識(shí)證明。顧名思義怠硼,零知識(shí)證明可以讓你充分證明你是某些數(shù)據(jù)的所有者涡上,而不會(huì)泄露信息趾断,也就是說(shuō),外界對(duì)你的數(shù)據(jù)(“知識(shí)”)是“零”了解的吩愧。
一個(gè)簡(jiǎn)單的例子,“P(Prover增显,證明者)如何在不透露答案的情況下證明他知道數(shù)獨(dú)游戲的答案雁佳?”。方法如下:P將答案按順序記錄在一組卡片上同云,并將其翻面(記錄答案的那一面朝下)糖权。V(Verifier,驗(yàn)證者)可以選擇每次按行或列或塊(3*3的區(qū)域)拿起卡片炸站,然后翻開(kāi)驗(yàn)證(驗(yàn)證之前先將卡片的順序打亂星澳,否則數(shù)獨(dú)的答案就會(huì)泄露出去,不再構(gòu)成“零知識(shí)”)旱易,每堆卡片都是1–9禁偎。假設(shè)這種行為重復(fù)100次,如果所有的答案都是正確的阀坏,那么P確實(shí)知道解決方案如暖。否則,P需要猜測(cè)V在每一次行為中的驗(yàn)證規(guī)則忌堂。那么他的答案就會(huì)錯(cuò)幾次盒至。整個(gè)證明過(guò)程并不能幫助V得到答案(V仍然不知道數(shù)獨(dú)要如何解,因?yàn)樗看沃荒苣闷?行或1列或1塊)士修。這就是一個(gè)零知識(shí)證明的例子枷遂。接下來(lái),我們將給出一個(gè)關(guān)于證明系統(tǒng)(proof system)和零知識(shí)屬性的非正式定義棋嘲。粗略地說(shuō)酒唉,一個(gè)合理的證明系統(tǒng)應(yīng)該滿(mǎn)足以下兩個(gè)屬性:
完備性(completeness):如果證明者P和驗(yàn)證者V都誠(chéng)實(shí)地執(zhí)行證明系統(tǒng)的指令,那么驗(yàn)證者V將以高概率接受所有真實(shí)信息的證明封字。黔州。
健全性(soundness):對(duì)于有任何錯(cuò)誤信息的證明者P,驗(yàn)證者V以高概率拒絕它阔籽。
從安全的角度來(lái)看流妻,證明系統(tǒng)的屬性只涉及保護(hù)驗(yàn)證者V免受欺騙的問(wèn)題。接下來(lái)笆制,我們將給出零知識(shí)的大致定義绅这,這是一個(gè)與證明者P安全有關(guān)的屬性。
零知識(shí)(zero knowledge):對(duì)于驗(yàn)證者V來(lái)說(shuō)在辆,在證明結(jié)束時(shí)证薇,他不會(huì)獲得任何額外的 “知識(shí)”:他在證明中觀(guān)察到的一切都可以由模擬器模擬出來(lái)度苔,無(wú)需與驗(yàn)證者P互動(dòng)。
很明顯浑度,上述定義并不嚴(yán)謹(jǐn)寇窑,這只是為了讓讀者快速理解這些概念。為了進(jìn)一步探索ZKP技術(shù)箩张,我們需要了解密碼學(xué)中的承諾(commitment)甩骏、語(yǔ)言(language)、證明系統(tǒng)先慷、零知識(shí)證明系統(tǒng)(zero knowledge proof system)饮笛、完備性、健全性和零知識(shí)的正式定義论熙。在接下來(lái)的文章中福青,我們將介紹這些定義。模擬者(Simulator)的概念是亮點(diǎn)脓诡,這是一個(gè)有趣的概念无午,可以幫助我們定義零知識(shí)。
注釋?zhuān)?/b>
(1)Zcash是一種加密貨幣誉券,旨在使用加密技術(shù)為其用戶(hù)提供比其他加密貨幣(如比特幣)更強(qiáng)的隱私指厌。 Zerocoin協(xié)議得到了改進(jìn),并轉(zhuǎn)化為Zerocash系統(tǒng)踊跟,然后在2016年將其發(fā)展為Zcash加密貨幣踩验。
· Nulink?Twitter:?https://twitter.com/NuLink_
· Nulink?Medium:?https://medium.com/@NuLink
· Nulink?GitHub:?https://github.com/NuLink-network
For our website, visit?nulink.org