区块链中的零知识证明(ZKP)解释

在一個監控幾乎成為日常的時代,各類機構持續蒐集人們的資訊,這種隱私的缺失催生了對新技術介入的需求。

區塊鏈,又稱為分散式帳本技術,是一個去中心化的系統,正在顛覆我們傳統處理事務的方式。這項技術已經帶來了深遠的變革,但進步的空間仍然巨大。

目前,出現了一種稱為零知識證明(ZKP)的新興技術。如果您聽過 ZKP,但對其背後的原理和運作方式還不太了解,那麼您來對地方了。

零知識加密被譽為增強安全性的最佳協議,但它是否足夠出色,足以成為世界期盼已久的解決方案?本文旨在解答這些疑問及相關問題。

什麼是零知識證明協議?

零知識證明是一種密碼學中的創新方法,允許一方(證明者)向另一方(驗證者)證明某項聲明的有效性,而無需揭露聲明合法性以外的任何額外資訊。

證明系統包含證明者、驗證者和挑戰,要求相關方能夠公開展示所有權或知識的證明,同時保護更詳細的資訊不被洩露。

簡而言之,零知識協議在密碼學領域的應用,使您能夠說服他人您知道或完成某件事,而無需透露具體的秘密。

舉例來說,如果您打算貸款,但不希望向銀行透露您的財務細節;銀行可以運用零知識證明來驗證您的財務歷史,包含帳戶付款、居住證明、信用評分或房地產等資訊,而無需存取這些資產的具體細節。

這個協議最早在 1985 年由麻省理工學院的三位科學家 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 在一篇題為「互動式證明系統的知識複雜性」的論文中提出。許多去中心化金融(DeFi)協議已經在使用 ZKP,以確保其借貸和交易服務使用者享有更佳的安全性和隱私。

多個第一層區塊鏈,如 Zcash 和 Polygon,已經整合了基於 ZKP 的彙總或零知識以太坊虛擬機(zkEVM)。區塊鏈和 Web 3.0 愛好者對 ZKP 寄予厚望,認為隨著應用程式採用率的持續增長,ZKP 將發揮不可或缺的作用。

零知識證明的特性

當資訊敏感且證明者認為驗證者沒有必要存取這些資訊時,零知識證明方法便顯得特別有用。

在此情況下,證明者提供只有他們才能產生的數學證明,驗證者可以利用此證明來驗證陳述的真實性。儘管如此,所提供的資訊不能被用於重建原始資訊。

假設有一座巨大的山橫跨您的城市,但有一條隧道連接城鎮的兩端,只有您知道隧道兩端上鎖的門的密碼。

如果您要求任何想進入隧道的人在您向他們透露之前先付費,那麼他們必須確信您真的知道密碼才會信任您。

如果感興趣的各方站在隧道的入口處並看著您從一端走到另一端,他們便會相信您掌握了密碼。

任何零知識證明協議都具備以下三個基本屬性:

❇️ 完整性:驗證者必須確認證明者擁有驗證聲明所需的輸入。

❇️ 可靠性:聲明無法被偽造,若無有效輸入,則驗證者無法相信證明者擁有所需的資訊。

❇️ 零知識:除了聲明的真實性外,驗證者無法獲得其他資訊。各方的個人數據或資訊內容都保持匿名。

不同類型的零知識證明

ZKP 主要分為兩種:

互動式零知識證明

在這種零知識證明中,證明者和驗證者之間存在多次互動。這是因為驗證者可以多次質疑證明者對現有挑戰的回應,直到完全確信為止。

由於此類 ZKP 的操作涉及數學機率,因此證明者必須說服特定的驗證者,或透過一系列與特定事實相關的操作來重複說服多個驗證者。

非互動式零知識證明

在這種 ZKP 中,證明者和驗證者之間沒有主動互動,因為驗證者只有一次機會來驗證證明者提供的證明。

由於此類 ZKP 比互動式 ZKP 更依賴於運算能力,因此證明者有義務創建任何人都可以驗證的證據,以便驗證程序可以進入下一階段。

非互動式 ZKP 可能需要特定的軟體才能使機制有效運作。

零知識證明在區塊鏈中的應用

區塊鏈技術引入了許多重要特性,如去中心化、不可變性、透明度和分散式帳本,使用戶能夠以高度安全性執行交易並匿名操作。

雖然區塊鏈讓使用者控制自己的隱私,但總感覺不夠完善,主要是因為區塊鏈網路使用公共資料庫。任何有網際網路連線的人都可以存取網路的交易歷史紀錄。

因此,可以看到與用戶交易和錢包資訊相關的許多詳細資訊。即使他們的身份保持匿名,第三方仍然可以看到您的公鑰。

透過密碼學技術建立的公鑰可以保護隱私。儘管如此,仍然可能存在某些技術可以揭露匿名和隱私的面紗,因此需要在區塊鏈系統中應用零知識證明以實現以下目標:

#1. 訊息傳遞

當人們使用端到端加密編寫訊息時,總是希望除了預期的對象之外,沒有其他人能夠存取私人訊息。訊息平台會加倍努力向伺服器驗證使用者的身份,反之亦然。然而,實施 ZKP 將使訊息平台能夠在訊息傳遞領域建立端到端的信任,而無需洩露相關的使用者資訊。

#2. 驗證

ZKP 可用於以最高的安全性促進敏感資訊的傳輸,例如身份驗證。區塊鏈平台將能夠為使用者創建安全通道來傳送資訊而不會造成不當洩露,以避免最壞情況下發生數據外洩的風險。

支持區塊鏈的隱私保護交易的最佳範例是 Manta Network 的去中心化應用程式,Manta Pay

該 DApp 使用 ZKP,使用戶能夠在去中心化交易所進行交易,而不必透露他們的個人身份或相關交易細節。因此,使用者在使用平台時能夠維護自己的隱私。

#3. 儲存保護

由於區塊鏈處理大量數據,因此 ZKP 在數據儲存方面也可以派上用場。

零知識證明整合了除了儲存單元本身外,還可以保護敏感資訊的協議。此外,ZKP 還可以保護存取通道,為使用者提供無縫且安全的體驗。

#4. 發送私有區塊鏈交易

發送私有區塊鏈交易的重點在於確保第三方無法獲知這些交易。儘管現有的保護方法具有所有正面的特性,但可能存在一些漏洞,這正是 ZKP 發揮作用之處。

如果實施得當,ZKP 將使任何人都無法駭客、攔截或轉移私有區塊鏈交易。

例如,Zcash 使用零知識交易來啟用屏蔽交易,除了涉及公共區塊鏈的金額外,還可以隱藏發送者和接收者的地址,進而提高安全性。

#5. 複雜的文件

ZKP 的設計具有加密大量數據的潛力,這使得使用者能夠決定允許特定使用者存取哪些區塊並限制其他使用者。這個概念可用於確保只有授權方才能存取複雜的文件。

#6. 民主化投票驗證

ZKP 在區塊鏈中應用的另一個實際範例是它在選舉中可以發揮的民主作用。該協議可以透過在公共區塊鏈上記錄投票,為任何可稽核的投票過程提供可靠的結果。

其結果是投票過程將消除限制和任何第三方驗證的要求。零知識證明將使選民能夠證明他們有資格投票,同時確保他們的敏感個人數據不受損害。

選民還可以利用零知識證明(ZKP)來要求在最終計票中提供不可竄改的投票證明。

#7. 敏感資訊的安全

ZKP 還可以透過在攜帶敏感資訊的區塊中添加額外的高端安全層,以區塊鏈提供交易的方式提供服務。

這可能包含敏感的銀行資訊,例如信用記錄和信用卡詳細資訊,以便接收者只能存取具有所需使用者資訊的必要區塊。相較之下,其他區塊則保持不變並受到保護。

#8. 代幣化和所有權驗證

區塊鏈平台還可以在資產代幣化和驗證其所有權證明的過程中使用 ZKP。例如,使用者可以在不公開透露其個人資訊的情況下證明財產的所有權。

使用零知識證明的優點

如同其他所有形式的新技術,ZKP 與區塊鏈協議結合使用時會帶來許多優勢。除了為使用者提供的自由度和靈活性之外,使用零知識證明的其他好處還包含:

🔷 簡易性:簡易性可能是使用 ZKP 最顯著的優勢,因為使用者不需要知道如何使用複雜的軟體來應用他們提供的不同高級解決方案。此外,儘管 ZKP 完全未加密,但它仍然是完全安全的,這表示它們能無縫地跨越兩個世界。

🔷 安全性:零知識證明協定在促進資訊共享方面具有高度安全性。這表示使用者可以放心地使用它們進行互動,而無需掌握任何特定的程式碼或分析。

🔷 節省時間:使用 ZKP,使用者可以透過體面地提供價值來節省完成區塊鏈交易所需的時間。

🔷 隱私:保護和保留使用者的隱私是 ZKP 的主要特色。這是因為使用者不必分享敏感數據,使其成為一種高度私密的協議。

🔷 保護:零知識證明協議的使用者已經知道他們有關數據共享的政策,這表示他們將阻止任何無正當理由索取其個人資訊的實體。

ZKP 對比多方計算(MPC)

我們已經確定,零知識證明涉及一組獨特的字串,用於證明包含公開價值的聲明的真實性,而無需向相應方透露更詳細的資訊。這可能涉及某些通信的隱藏結構,或與公鑰相關的秘密金鑰。

在區塊鏈交易的背景下,這可能表示交易的發起者將隱藏其確切價值,同時提供有效交易實際發生的證據。

多方計算(MPC)另一方面是指多方之間的互動式通信,使他們能夠安全地同時計算其未公開值的相同函數,同時保留各自的詳細資訊。

一個典型的案例是三方各自擁有一個秘密數字,並且他們可以計算三個數字的總和。然而,除了這三個數字的總和外,各方不需要知道其他兩方持有的秘密數字。

因此,MPC 的主要特徵是涉及許多節點,每個節點都旨在安全地評估其節點功能的秘密價值,同時允許其節點擁有相同的特權,而無需洩露其私人價值。

零知識證明與零信任

驗證方面是零知識證明和零信任之間的界限。零信任模型要求對使用者及其裝置進行嚴格的身份驗證,然後才允許他們存取應用程式和機密數據。

另一方面,ZKP 以只有授權方才能存取的方式加密數據。身份驗證是整個零信任機制的根本動力,而加密則是零知識協議的基本原則。

範圍方面也區分了這兩種協議,網路安全是零信任的主要關注點,而數據安全是零知識的支柱。

應用零信任是為了確保只有經過授權和身份驗證的裝置或使用者才能存取機密應用程式或數據,而零知識證明則透過加密來保護個人數據,以便只有授權的參與者才能存取這些數據。

結語

零知識證明可能不是魔法,但它為區塊鏈技術開闢了一個令人興奮的新領域。該協議為各種依賴敏感資訊(例如身份證明、密碼確認或可能需要的成員資格證明)的應用程式帶來了巨大的潛力。

隨著 ZKP 不斷受到關注,由於其可擴展性和隱私保護特性,它們越來越多地被應用在區塊鏈、加密貨幣和 DeFi 應用程式中。此外,他們預期將繼續擴大應用範圍,因為它們在安全、隱私和效率至關重要的 DApp 生態系統中發揮著不可或缺的作用。

當作為密碼學的基本工具時,零知識證明將有助於驗證數據的屬性,並成為令人興奮且多功能的關鍵要素,有可能將區塊鏈及其應用程式推向主流。區塊鏈營運商可以利用最新一代的 ZKP 以可負擔的價格獲得巨大的效益。

接下來,請查看零信任安全詳細指南。