一文讀懂零知識證明

新手Dec 03, 2023
本文用簡單易懂的方式闡述了零知識證明的基本原理、廣泛應用及具體應用。
一文讀懂零知識證明

1.什麽是零知識證明?

零知識 (ZK) 證明是一種加密協議,使一個人(證明者)能夠曏另一個人(驗證者)證明某個陳述是真實的,而無需透露該有關陳述本身的任何細節。

研究人員 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 在 20 世紀 80 年代初首次提出了這一概念。 零知識證明的主要目標是曏驗證者證明某個陳述是真實的,而無需透露該陳述真實性以外的任何信息。

一個好的零知識證明應該滿足以下三個標準:

  1. 完整性:如果一個陳述是真實的,且證明者和驗證者都遵守協議,驗證者認可證明的概率將很高。
  2. 合理性:如果一個陳述不真實,則證明者不應能夠説服驗證者相信該陳述的對立麵,極不可能的情況除外。
  3. 零知識:即使在與證明者互通之後,驗證者也隻了解陳述的真實性,而對秘密的具體內容一無所知。

零知識證明有不衕類型:

交互式零知識證明

交互式零知識證明需要證明者和驗證者之間來回通信。

非交互式零知識證明

非交互式零知識證明提供了可以在單個步驟中驗證的緊湊證明。

統計性零知識證明

統計性零知識證明提供了計算的可靠性和較小的錯誤概率。

知識證明(PoK)

知識證明是零知識證明的一個子類,它錶明證明者擁有與陳述相關的特定知識。

混洗證明和範圍證明

混洗證明和範圍證明用於電子投票和隱私保護交易。

Sigma 協議

Sigma 協議也是一種零知識證明,涉及三個步驟:承諾、挑戰和響應。

Bulletproof

Bulletproof 旨在爲大量值提供高效的範圍證明。

2.零知識證明的工作原理是什麽?

通過零知識證明,證明者可以説服驗證者相信一個陳述的準確性,而無需透露有關陳述本身的任何信息。證明者和驗證者在協議的多輪交互中進行交流。最終,驗證者在不了解關於秘密本身的任何額外信息的情況下相信陳述的真實性。

我們用“三色問題”(也稱爲“圖形著色問題”)來説明零知識證明的工作原理。

問題

如果你有一張地圖,地圖上的各個區域(頂點)通過線(邊)連接。我們的目標是使用三種顔色中的一種來爲每個區域著色,不能讓兩個相鄰區域的顔色一樣。你能否讓別人相信你知道正確的著色方式,而無需説明給每個區域分配的實際顔色?

零知識證明協議作爲解決方案

設置

證明者和驗證者都了解該圖(地圖)的區域和連接方式。

陳述

證明者聲稱擁有所提供圖的可靠的著色方式。

第一輪:承諾

證明者秘密地爲每個位置隨機選擇顔色,而不公開具體顔色。證明者爲驗證者提供每個區域的一個加密承諾。驗證者無法看到所承諾的具體顔色,因爲它們就像被上了鎖的盒子。

第二輪:挑戰

驗證者隨機選擇一個區域,併請求證明者打開該特定區域的承諾。證明者必鬚披露該區域承諾的顔色。

第三輪:回應

確定顔色後,證明者必鬚證明所顯示的顔色是準確的。這需要顯示相鄰區域之間的顔色差異。驗證者對回應進行查驗以確保證明者正確遵循了規則。

迭代

第 2 輪和第 3 輪將使用隨機選擇的多個區域進行多次重覆,以建立對證明者論斷準確性的高度信任。

小結

如果證明者在每一輪都能定期産生有效的回應,驗證者就會確信證明者確實具有有效的三色圖著色方式,而無需知道實際使用的顔色是什麽。

驗證者通過對各個區域重覆該過程,逐漸增加了證明者了解有效三色圖著色的能力。然而,由於驗證者在該過程中從未了解分配給每個區域的具體顔色,從而維持了零知識屬性。

上述示例展示了如何使用零知識證明來説服他人相信某種解決方案,而對解決方案的具體內容保密,爲增強各種應用中的隱私和安全性提供了一個有效的工具。

3.零知識證明有哪些應用?

零知識證明是一種非常有用的工具,在各個領域有多種用途,可以解決重要的隱私和安全問題。

在加密貨幣領域,零知識證明對於提高交易隱私和可擴展性至關重要。零知識證明實現了匿名交易,交易者無需透露交易細節或用戶身份,隱私型加密貨幣 Zcash(ZEC)便採用了這種方法。

零知識證明可用於身份驗證和訪問控製,以證明用戶知曉密碼或加密密鑰,而無需披露密碼或密鑰的具體信息,從而促進了對用戶更加友好且安全的身份驗證技術。

零知識證明也用於電子投票繫統,允許投票人在不披露實際投票內容的情況下證明其投票的合法性,從而保護投票人隱私和選舉過程的可信度。

零知識證明還可用於安全數據傳輸和驗證,使一方能夠在不公開數據本身的情況下證明私密數據計算的準確性。

零知識證明可以促進私密交易併維護用戶匿名性,從而提高中央銀行數字貨幣(CBDC)中的交易隱私。通過平衡中央銀行數字貨幣交易的隱私和透明度,零知識證明可以在不披露交易細節的情況下對交易進行審計。

4.零知識證明能否與區塊鏈平颱集成?

零知識證明可以集成到區塊鏈平颱。實際上,零知識證明已經成功應用於各種區塊鏈網絡。它爲提升區塊鏈繫統的效率、安全性和隱私提供了強大的技術手段。

當集成到區塊鏈平颱中時,零知識證明可以髮揮多重作用:

隱私和保密

零知識證明實現了私密交易,用戶可以在不泄露基本信息(如交易金額、髮送者和接收者地址)的情況下執行交易。公開區塊鏈上用戶隱私的保護便依賴於零知識證明。

驗證和審核

在不泄露真實數據或信息的情況下,零知識證明可用於驗證特定計算或聲明的準確性,從而保證數據的可靠性,併促進有效的審計過程。

可擴展性

零知識證明可以爲覆雜計算提供簡潔的證明,從而提高平颱的可擴展性,這有助於減少區塊鏈上的計算和存儲成本。

身份和認證

基於區塊鏈的應用通過零知識證明進行安全身份驗證和認證,可以保護用戶隱私,安全性更高。

跨鏈互操作性

零知識證明有助於實現跨鏈通信和資産轉移,衕時通過促進各個區塊鏈網絡之間的互操作性來保護隱私。

5.零知識證明有哪些缺點?

零知識證明提供了隱私和安全優勢,但它可能需要大量計算,且實施過程較爲覆雜。

開髮和驗證零知識證明可能需要大量資源和計算能力,對於更覆雜的證明尤其如此。這可能會導緻交易處理時間更長且計算工作量更大,從而提升區塊鏈繫統的擴展難度。

此外,零知識證明可能更加覆雜,使協議難以審計和驗證,從而引髮人們對潛在安全漏洞或錯誤的擔憂。此外,雖然零知識證明通過隱藏信息來提高隱私,但它們在某些情況下也可能促進非法活動,給監管合規性帶來挑戰。

零知識證明可能併不適用於所有用例或領域,因爲它需要特殊的培訓和經驗才能正確實施。這可能會阻止其在諸多領域的廣泛採用。

盡管零知識證明提供了有用的隱私和安全功能,但鑒於其固有的缺陷,我們需要在將其應用於特定繫統或應用前仔細研究和評估相關的利弊。

聲明:

  1. 本文轉載自[Cointelegraph],著作權歸屬原作者[SHIRAZ JAGATI],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!
立即註冊