戰(zhàn)爭中你被俘了,敵人拷問你情報。你是這么想的:如果我把情報都告訴他們,他們就會認(rèn)為我沒有價值了,就會殺了我省糧食,但如果我死活不說,他們也會認(rèn)為我沒有價值而殺了我。怎樣才能做到既讓他們確信我知道情報,但又一丁點(diǎn)情報也不泄露呢?
這的確是一個令人糾結(jié)的問題,但阿里巴巴想了一個好辦法,當(dāng)強(qiáng)盜向他拷問打開山洞石門的咒語時,他對強(qiáng)盜說:“你們離我一箭之地,用弓箭指著我,你們舉起右手我就念咒語打開石門,舉起左手我就念咒語關(guān)上石門,如果我做不到或逃跑,你們就用弓箭射死我?!?br>
強(qiáng)盜們當(dāng)然會同意,因?yàn)檫@個方案不僅對他們沒有任何損失,而且還能幫助他們搞清楚阿里巴巴到底是否知道咒語這個問題。阿里巴巴也沒損失,因?yàn)樘幱谝患氐膹?qiáng)盜聽不到他念的咒語,不必?fù)?dān)心泄露了秘密,而且他確信自己的咒語有效,也不會發(fā)生被射死的杯具。
強(qiáng)盜舉起了右手,只見阿里巴巴的嘴動了幾下,石門果真打開了,強(qiáng)盜舉起了左手,阿里巴巴的嘴動了幾下后石門又關(guān)上了。強(qiáng)盜還是有點(diǎn)不信,說不準(zhǔn)這是巧合呢,他們不斷地?fù)Q著節(jié)奏舉右手舉左手,石門跟著他們的節(jié)奏開開關(guān)關(guān),最后強(qiáng)盜們想,如果還認(rèn)為這只是巧合,自己未免是個傻瓜,那還是相信了阿里巴巴吧。

“零知識證明”說的是示證者向驗(yàn)證者表明他知道某種秘密,不僅能使驗(yàn)證者完全確信他的確知道這個秘密,同時還保證一丁點(diǎn)秘密也不泄露給驗(yàn)證者。阿里巴巴的這個方案,就是認(rèn)證理論“零知識證明”的一個重要協(xié)議。
除了被俘后如何靠情報保命這個問題,零知識證明在社會領(lǐng)域中還有著很多應(yīng)用場合。例如你證明了一個世界級的數(shù)學(xué)難題,但在發(fā)表出來之前,總是要找個泰斗級的數(shù)學(xué)家審稿吧,于是你將證明過程發(fā)給了他,他看懂后卻動了歪心思,他把你的稿子壓住,把你的證明用自己的名義發(fā)表,他名利雙收,你郁悶至死,你去告他也沒用,因?yàn)閷W(xué)術(shù)界更相信的是這位泰斗,而不是你這個無名之輩。
這并不是天方夜譚,而是學(xué)術(shù)界常見的難題,前些年有個博士生告他的泰斗級導(dǎo)師剽竊他的成果,但除了令師生關(guān)系惡化外沒有任何效果,最后他使出了撒手锏,稱他在給導(dǎo)師審閱的論文的關(guān)鍵公式中,故意標(biāo)錯了一個下標(biāo),而這會導(dǎo)致整個推導(dǎo)失敗。學(xué)術(shù)委員會一查果真如此,但還是有傾向于泰斗的聲音,有人說那是泰斗的筆誤,只不過讓你發(fā)現(xiàn)了而矣,并不能證明那公式就是你推導(dǎo)出來的。
這個博士生故意標(biāo)錯下標(biāo),不能說他沒有心眼,但他沒有把“零知識證明”理論用好,以致于落到這種地步。
我告訴你一個可以在法庭上都能當(dāng)作有效證據(jù)的招數(shù),你將證明打印好,選擇一個最可靠最權(quán)威的郵政公司,把它寄給自己,當(dāng)你收到這個扣著郵戳的包裹后,不要打開,把它放好,然后就可以把證明寄給數(shù)學(xué)泰斗。如果他用自己的名義發(fā)表了,不必著急,等他依靠其影響力把這個證明炒熱后再出手,你上法庭控告他,他當(dāng)然不承認(rèn),在法庭上你將那個沒開封的包裹拿出來,上面清清楚楚地蓋著時間戳,這就證明了你包裹里的證明是發(fā)生在那個時間戳之前的,加上之后的你郵給泰斗論文的郵件存根,和泰斗以自己名義發(fā)表論文的時間,三者就構(gòu)成了一個完整的證據(jù)鏈,泰斗灰頭土臉名聲掃地,而你大獲全勝名利雙收。