零知識證明:保密證明如何工作


什麼是零知識證明

想像一下這種情況:您需要告訴其他人您知道某些信息,但您不想透露此信息。換句話說,另一個人需要相信您的知識,而無需收到數據本身。

乍一看,這似乎是一個棘手的情況,但事實並非如此。

在密碼學中,零知識證明或ZKP通常被稱為一項協議,該協議允許一個方(供奉獻者)確認某些信息的存在(驗證者)。信息的內容仍然隱藏在驗證者中。

通常,在日常任務中,當一個聚會(讓它成為政黨“ A”)試圖說服另一方(讓它成為政黨“ B”)知道一些信息(例如密碼– 讓它成為“ 31102008”的數字“ 31102008”),派對a將“必須告訴黨” B“ b” b“密碼” 31102008”。因此,政黨“ B”將可以訪問密碼– 對於黨派“ A”可以與他人共享密碼的情況,這是一個微不足道的解決方案。

如果我們引入強制性條件– 方面A將無法將此密碼透露給Pary B-,同時B必須獲得足夠的信息,使Party A知道正確的密碼,那麼我們談論了零保密證明的概念。但是,當我們提出一種實施此類系統的具體方式時,我們談到了一個加密協議。

解決方案的抽象示例

有幾個抽象示例說明了零披露證明是如何工作的。

假設您有一張圖片– 矩形圖像在其上顯示了單位符號,其中可以找到字母“ L”。您確切地知道字母“ L”在哪裡,您需要說服另一個人對同一件事– 但不透露準確的位置。

您可以將第一張圖像疊加在另一個灰色和較大區域的圖像上,帶有一個小的“窗口” – 可見“ L”符號的區域。

從視覺上看看起來像這樣:

您可能已經將頂部圖像移到了灰色背景下的左側或右側,向上或向下移動,因此,檢查器很難知道字母“ L”在哪裡– 但是,如果您實際上通過空白區域顯示字母“ L”,則可以說服您知道隱藏符號的位置。

為了確保您沒有隨機“猜測”其位置,檢查員可能會要求幾次向信件的位置進行知識證明。他還可能要求在不同位置使用帶有“窗口”的新灰色背景。如果您在所有情況下都正確地證明了字母“ L”,則在所有情況下,您在檢查員眼中欺騙的可能性將減少。

值得再次強調:這只是一個簡化的示例,即如何在不披露信息的情況下證明擁有信息的問題。通常可以在零披露協議中證明信息的真相,即,證明可能是概率的。

零概率的洞穴

為了說明這一點,通常給出一個示例,以“零概率”或“阿里巴巴的怪異洞穴”, 最初引入 Jean-Jacues Quisquater和其他密碼學家在1990年的《兒童密碼學》上發表的文章。

這樣的事情是這樣:

“來自巴格達的一個叫阿里巴巴的老人一直被強盜搶劫。有一天,他跟隨強盜,看到他逃到一個山洞裡。在山洞的入口處有一個叉子– 向右和左邊。阿里巴巴走到哪裡。

然後一個晚上,他躲在一個死胡同中,跟隨強盜。他跑到了Cul-de-sac的牆上,用魔術短語“芝麻!”發出了魔術短語。牆移動了。阿里·巴巴(Ali-Baba)意識到左右通道彼此相連。阿里·巴巴(Ali-Baba)研究了魔術,並能夠將魔術短語更改為另一個。強盜最終被捕。但是,當問阿里·巴巴(Ali-Baba)是否真的知道魔術短語時,他說他不會告訴任何人,但是人們可以檢查他是否真的知道。

為此,英雄進入了洞穴,外面的人們開始向他大喊:“阿里巴巴,從右邊出來!”,然後他們去了叉子,看到他從右叉的一側出來。當他們同樣向他大喊:“從左邊出來!”他從左邊出來。當他連續十次從右側出來時,人們堅信他真的知道密碼。

“ A” – 洞穴的入口,“ B”叉。將左右與左右(“ C”和“ D”)通道結合的牆壁以紅色標記。

儘管提交形式,但“零概率洞穴”清楚地證明了零披露的證明。順便說一句,協議可以在哪裡遇到?

數據傳輸

實際上,可以針對需要信息安全性的不同系統實現零保密證明的概念。它可以是對個人數據的保護,也可以是在不披露其他信息的情況下在系統中驗證的一種方法。也就是說,零保密證明可以在銀行系統中或在加密貨幣中使用。

互動和非交互式證明

讓我們關注該概念中最重要的問題:區分互動性和非交互性證據變體是普遍的。

互動證據包括審查者與驗證方主動互動的證據。他可以直接向檢查員索取證據,然後在請求後立即提供檢查員。這是使用該協議的常見情況,但是當系統中有一個驗證者和一個確認程序並且它們相互直接相互作用時,它是合適的。非相互作用的變體是為一組驗證者設計的。也就是說,此選項不需要持續的互動。

無論如何,無論證據類型如何,它都需要具有三個重要特性。

它必須與:

完整性:如果數據正確,供者會說服Checker。 健全性:如果數據不正確,則騙子極有可能無法說服Checker 零知識:如果數據正確,則騙子不會學到任何“額外”的東西,而只有數據正確的事實。 ZK-SNARK和ZK-Stark

零披露證明用於某些加密貨幣。最著名的例子是Zcash。在ZCash中,可以通過此類協議實現所謂的屏蔽交易。因此,在Zcash中,可以進行交易,而無需披露有關發件人,接收者和轉移金額的信息。加密貨幣區塊鏈記錄了一個加密證明,該證明可確認交易的正確性,而無需披露數據。

通過加密非交互協議ZK-SNARK(零知識簡潔的知識的非交互性論點)通過驗證實現這一點。此證明是一次創建的,可以通過無限數量的參與者來驗證,而無需從供些驗證者那裡反饋。實際上,ZK-SNARK允許以基於代數轉換的加密證明的形式提供計算正確性的證明。

除了ZK-SNARK外,還有其他非交互式零知識證明協議,例如ZK-Stark(零知識可擴展的知識透明參數)。 ZK-Stark和ZK-Snark之間的主要區別之一是ZK-Stark中沒有值得信賴的環境。值得信賴的安裝是一種情況下,有多個系統參與者的初始“設置” – 身份驗證步驟。

ZK滾動

零知識證據的實際應用包括所謂的零知識匯總(ZK匯總)。這是一種區塊鏈縮放技術,可通過將計算在主區塊鏈之外移動,然後通過零知識證據來大大減少基礎網絡的負載。這種解決方案的一個例子是ZKSYNC項目。

ZKP觀點

自然,零知識證明的概念不僅涵蓋了區塊鏈中的隱私問題。如ZK-SNARK和ZK-Stark的開發所示,技術本身和特定協議繼續發展。實際上,後者是ZKP協議的後期變體。同樣,這個概念可以與匯總結合使用,這意味著分散的金融系統不僅可以擴展,而且可以變得更加安全。有可能,ZKP不僅在加密貨幣中,而且在不傳輸個人數據甚至投票系統的情況下也可以廣泛地存在。

結論

零保密證明的概念允許在沒有披露的情況下確認信息,從而增強了單個系統的安全性和隱私性。該技術在區塊鍊和匿名加密貨幣環境中特別有用。諸如ZK-SNARK之類的協議允許將區塊鏈上有關交易的信息最小化,同時保持正確驗證交易本身的能力。通常,該技術正在積極開發,原始概念已演變為解決驗證數據問題而不披露數據的特定協議。

資訊來源:由0x資訊編譯自COINPAPER。版權歸作者所有,未經許可,不得轉載!

Total
0
Shares
Related Posts