零知識證明是什麼?

現如今,區塊鏈已經成為全民關注的領域,不少企業也早已深入其中研究該技術的落地情況。但目前仍有很大一部分人對區塊鏈技術的相關概念並不熟悉。

鏈動學院特為大家整理推出【區塊鏈小知識】的系列課程,通過通俗易懂的語言為大家講解區塊鏈的小知識,希望能幫您更快速更簡單的認識區塊鏈。

零知識證明是什麼?

在區塊鏈世界裡,交易所都開始實名制,交易數據又是公開透明的,你確定在區塊鏈世界裡你可以做到完全匿名嗎?今天我們來聊聊零知識證明,它是怎麼做到完全匿名的?

網上流傳著這樣一句話,“On the Internet,nobody knows you’re a dog”。真的是這樣嗎?在互聯網上,你真的擁有隱私麼?那些不厭其煩地給你打騷擾電話的人是如何知道你的聯繫方式的呢?

零知識證明是什麼?

彼得·施泰納(Peter Steiner)漫畫

在互聯網上,若沒有政府、銀行、騰訊等第三方機構提供校驗信息,我們很難驗證對方的身份。但是這些中介機構出於各種原因,收集互聯網上每一個人的數據來實現自己的目的,比如國家安全、社會穩定、商業發展等。而且互聯網上的黑客,一直覬覦著互聯網上有價值的數據,利用這些隱私對個人進行敲詐勒索。

零知識證明是改變這一現狀的手段之一,它可以為我們帶來必要的隱私保護。

一、什麼是零知識證明

零知識證明(zero-knowledge proof)是由S.Goldwasser等人在20世紀80年代初提出的。零知識證明必須包括兩個方面,一方是證明者,另一方為驗證者。零知識證明是指證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。

可能看完上面還是不太懂零知識證明,其實翻譯成大白話就是:

我知道一個秘密,我在不告訴你秘密是什麼的前提下,讓你知道我知道這個秘密,而不是在蒙你。

看上去有點繞口,但這樣的思想在我們的生活中隨處可見。

零知識證明是什麼?

比如小偷偷了一部手機,結果遇到了警察,那麼警察應該如何證明這步手機是不是小偷偷的呢?

答案很簡單,就看小偷能否解鎖這個手機。(無論是開機密碼或者是指紋)

關鍵來了,警察根本不需要知道具體的密碼是什麼,只要看小偷能不能打開手機桌面就行了。這就是零知識證明,因為警察壓根就不知道具體打開手機的信息(知識)。

二、應用與分類

首個使用零知識證明的幣種是ZCash,它採用的是一種名為zk-SNARK的加密技術。今年2月份,這項技術入選了科技界“奧斯卡”《麻省理工科技評論》(MIT Technology Review)評選的2018年“全球十大突破性技術”。

目前,零知識證明的zk-SNARK 技術已經被應用在真實世界的商業行為中。摩根大通公司已將 zk-SNARK 添加到自己基於區塊鏈技術的支付系統中。不過 zk-SNARK 目前仍存在缺陷,如計算量大、運行緩慢、存在密鑰丟失的安全隱患。

零知識證明可分為交互式和非交互式。交互式需要證明者提供證明的要求,然後證明方給出證明,驗證者再進行驗證;非交互式則是證明方直接給出證明,驗證者直接可以驗證。上述的例子中皮特給出的零知識證明屬於交互式零知識證明,需要方舟提出驗證要求,即取出哪一個物品出來。

由於交互式的證明,證明者和驗證者都需要投入更多的精力,特別是需要證明者要向多人證明的情況下,需要投入大量的精力。因此,在區塊鏈中使用一般採用非交互式零知識證明。

PS:採用零知識證明的匿名幣也並非無懈可擊,只要給出足夠的時間或者現實生活中有其他的相關聯交易,仍然存在被破解的可能性。只不過相對於比特幣等顯幣,匿名幣在隱私上做的更好。

更多區塊鏈小知識,持續更新中......


分享到:


相關文章: