阿里巴巴四十大盜教你零知識證明
原創: 大寶123 響鏈財經 2018-07-12
響鏈,為技術發聲
了解區塊鏈,關注響鏈
關注在學習區塊鏈知識過程中,有乙個名詞經常出現——零知識證明。其中我們熟知的大零幣zec就是採用的零知識證明。
基本概念
零知識證明這個概念,最早是由三位外國學者在上世紀80年代初提出的。
那麼什麼是零知識證明呢,顧名思義,零知識證明就是既能充分證明自己是某種權益的合法擁有者,又不把有關的資訊洩露出去——即給外界的「知識」為「零」。
舉例說明
上面給的解釋是官方給出來的解釋,對於大眾來說可能太生硬了,看不懂?沒關係,下面舉兩個簡單的例子說明。
最早有關零知識證明的例子,大約發生在16世紀的時候。
當時數學界正在尋求一元三次方程的解法,有兩位數學家同時聲稱自己找到了解法。
為了證明自己沒有說謊,同時保證求根公式不被洩露,於是雙方提出各想出來30個方程給對方求解,要是有求根公式,那30個題目很快就可以算出來。
最後結果也應驗了,乙個人解題成功,另乙個則乙個題也沒有解出來。從這個故事裡可以看到零知識證明的初步概念。
第二個例子是關於乙個童話故事的,大家小時候肯定知道阿里巴巴與四十大盜這個故事。故事是這樣的。
有一天,阿里巴巴被強盜抓住了,強盜向他索要開啟山洞大門的咒語。
但此時阿里巴巴面臨乙個兩難的問題,如果把密碼告訴強盜,自己就沒有利用價值了,最後肯定會被殺。
如果不告訴強盜咒語,強盜以為自己不知道咒語,自己還是會被殺。
怎麼能做到讓他們相信自己確實知道咒語,但是還不能讓他們知道咒語是什麼。
這確實是乙個很難的問題,但是阿里巴巴想出了乙個好辦法。
他對強盜頭領提議說,你們離我30公尺遠,然後用弓箭指著我,當你舉起雙手後,我就念咒語開啟山洞大門;當你把雙手放下後,我就念咒語關上山洞大門,如果我要是逃跑,你們就用弓箭射死我。
對於強盜頭領來說,這顯然是個好主意,於是照辦。
強盜頭領先是舉起雙手,看到阿里巴巴動了動嘴皮子,門就開了,然後放下雙手,阿里巴巴又動了動嘴皮子,門就關了。
顯然,強盜相信了阿里巴巴。
這樣,阿里巴巴在沒有告訴強盜頭領開門咒語的情況下,又向強盜證明了,自己是知道開門咒語的。
這就是兩個零知識證明的重要例項。
基本原理
關於零知識證明的原理,我們以大零幣zec為例來解釋。
我們都知道位元幣使用者可以擁有無數個位元幣位址,並且從這些位址無法追查到真實資訊,兩者沒有任何關係,所以具有一定的匿名性。
但是誰轉給誰,每一筆交易都可以通過**查詢到,如果按照一條線索就很容易查詢到其他鏈條。
而zec運用零知識證明則很好的解決了這個問題。那麼zec怎麼實現這種完全的匿名呢?
一般轉賬的時候涉及到兩個重要資訊,即幣數量和位址。
假設a要向b轉移2個幣,一般有兩個辦法。
方法一就是位元幣的轉移方式;方法二就是zec的轉移方式,保證了b不知道幣的**和具體數量。
zec保證了完全的匿名性,在現實生活中體現在,杜絕了資訊被盜用這個問題。
但也是因為其完美的匿名性,在監管上會帶來諸多問題,如果不法分子利用其進行賭博、轉移資產等違法活動,對於追蹤和監管都是非常大的挑戰。因此,如何正確的使用才是未來的關鍵。
阿里巴巴零知識證明
戰爭中你被俘了,敵人拷問你情報。你是這麼想的 如果我把情報都告訴他們,他們就會認為我沒有價值了,就會殺了我省糧食,但如果我死活不說,他們也會認為我沒有價值而殺了我。怎樣才能做到既讓他們確信我知道情報,但又一丁點情報也不洩露呢?這的確是乙個令人糾結的問題,但阿里巴巴想了乙個好辦法,當強盜向他拷問開啟山...
阿里巴巴零知識證明
戰爭中你被俘了,敵人拷問你情報。你是這麼想的 如果我把情報都告訴他們,他們就會認為我沒有價值了,就會殺了我省糧食,但如果我死活不說,他們也會認為我沒有價值而殺了我。怎樣才能做到既讓他們確信我知道情報,但又一丁點情報也不洩露呢?這的確是乙個令人糾結的問題,但阿里巴巴想了乙個好辦法,當強盜向他拷問開啟山...
阿里巴巴的零知識證明
戰爭中你被俘了,敵人拷問你情報。你是這麼想的 如果我把情報都告訴他們,他們就會認為我沒有價值了,就會殺了我省糧食,但如果我死活不說,他們也會認為我沒有價值而殺了我。怎樣才能做到既讓他們確信我知道情報,但又一丁點情報也不洩露呢?這的確是乙個令人糾結的問題,但阿里巴巴想了乙個好辦法,當強盜向他拷問開啟山...