
零知識(shí)證明有兩個(gè)主要角色:證明者和驗(yàn)證者。證明者的作用是證明他們知道秘密信息。驗(yàn)證者的作用是確定證明者是否誠(chéng)實(shí)。驗(yàn)證者通過(guò)多次測(cè)試證明者來(lái)做到這一點(diǎn),向他們提供只有知道信息的人才能完成的問(wèn)題或任務(wù)。
一個(gè)用來(lái)幫助理解零知識(shí)證明的常見(jiàn)例子叫做色盲測(cè)試。假設(shè)有兩個(gè)人,一個(gè)證明者和一個(gè)驗(yàn)證者。證明者有兩個(gè)球,需要向驗(yàn)證者證明它們是不同的顏色,但驗(yàn)證者是色盲。為了證明這一點(diǎn),證明者將球交給驗(yàn)證者,并讓驗(yàn)證者偷偷交換他們持有每個(gè)球的手,并要求證明者判斷球是否被交換。如果證明者正確地做了一次,有50%的可能性他是真實(shí)的,50%的可能性是他猜對(duì)了,所以這個(gè)實(shí)驗(yàn)會(huì)重復(fù)幾次,直到他說(shuō)謊的概率顯著降低。對(duì)于證明者來(lái)說(shuō),這是一種不費(fèi)吹灰之力的方式來(lái)告訴驗(yàn)證者這些球是不同的顏色,而驗(yàn)證者卻從未見(jiàn)過(guò)這些球的顏色。
另一個(gè)示例與2D圖形和圖形上的兩個(gè)點(diǎn)有關(guān)。假設(shè)證明者想向驗(yàn)證者證明他們知道圖上的兩個(gè)秘密點(diǎn)。他們可以通過(guò)給驗(yàn)證者一條線來(lái)證明這一點(diǎn),線上有兩個(gè)點(diǎn)。圖中可以畫(huà)出無(wú)數(shù)條線,因此這為驗(yàn)證者提供了足夠的證據(jù),證明他們知道這兩個(gè)點(diǎn)的位置。
如第一個(gè)例子所示,不能100%保證所說(shuō)的內(nèi)容是真實(shí)的,因此證明者有一定的可能撒謊。但是,通過(guò)適當(dāng)?shù)臏y(cè)試和預(yù)防措施,這種情況的可能性會(huì)變得非常低,以至于幾乎不可能發(fā)生。
零知識(shí)證明有多種用途,將徹底改變我們共享數(shù)據(jù)的方式以及區(qū)塊鏈的工作方式。借助數(shù)字身份和零知識(shí)證明,人們可以證明他們的年齡或公民身份,而不必放棄其身份證明文件中的敏感和有價(jià)值的數(shù)據(jù)。它還可以用于數(shù)字投票,并確保匿名投票有效且可計(jì)入。另一個(gè)用例是在區(qū)塊鏈中,因?yàn)樗试S完全可審計(jì)且無(wú)需信任的完全私人交易。事實(shí)上,這項(xiàng)技術(shù)已經(jīng)在ZCash和Monero等面向隱私的加密貨幣中實(shí)施。
零知識(shí)技術(shù)仍然是一個(gè)令人難以置信的新事物,要成為密碼學(xué)的主要組成部分還有很長(zhǎng)的路要走。然而,它的研究正在取得巨大進(jìn)展,有朝一日可以為各種事物創(chuàng)建零知識(shí)證明,包括以太坊智能合約和金融應(yīng)用程序。這將徹底改變我們與數(shù)據(jù)交互的方式,并導(dǎo)致個(gè)人隱私的復(fù)興。