沒有知識的證明,而不是沒有證明的知識-源自於密碼學領域多年的研究,零知識證明(ZKP)是特別抽象且複雜且難以完全掌握的研究領域之一。這些技術的應用領域包括分散式加密貨幣網絡,通常根據不提供真正匿名的模型建構。
能夠公開或不公開個人資訊是開發可行且健康的數位識別系統的必要前提。此外,由於壅塞問題,上述網路上交易的正確執行常常受到損害,而這些問題是有可能解決的。因此,這種協議的潛在用途是眾多的,並且在當前背景下尤其重要。
什麼是零知識證明?
ZKP 的起源
零知識證明(ZKP)——或者說零知識揭露的證明——大約在四十年前出現。這些著名的證明主要由電腦科學家Shafi Goldwasser 和Silvio Micali 以及密碼學家Charles Rackoff 開發,指的是一種安全的密碼協議,允許一方(稱為「證明者」)向另一方證明某個命題的有效性。一方稱為“驗證者”,但不透露與提案本身有關的任何資訊。因此,除了有關命題的真實性和完整性的資訊之外,無法從零知識證明中獲得任何數據。
許多科學家隨後研究了這個全新的密碼子領域。讓我們引用Jean-Jacques Quisquater 等人的例子,他目前正在參與冷數字貨幣包NGRAVE 的開發,他與Louis Guillon 於1989 年發表了一篇題為“如何向你的孩子解釋零知識協議”的研究文章。後者的目標是透過阿里巴巴洞穴的類比來普及零知識證明的概念。
查理在哪裡?
隨後設想了允許表達該概念的其他情況。其中之一提到了著名的遊戲書《威利在哪裡? 》 」。
想像以下場景:你知道查理的位置,並且必須向對話者證明你擁有此資訊。然後你可以使用幾種可能性:
你在頁面上指向查理,從而提供有關他的位置的直接資訊。然後,你向對話者證明你知道查理的位置。你將查理畫在描圖紙上的正確位置,尺寸與頁面相同。你把它交給你的對話者。後者將能夠將其與頁面匹配並找到查理。因此,你提供了你知道查理位置的證據,但沒有透露有關他位置的任何直接資訊。
來源:Medium
這個例子只是簡單地說明了零知識證明的概念,但並不能很好地體現驗證者的使命。事實上,他只需要檢查描圖紙和頁面之間的一致性。實際上,驗證者會多次提交證據,以便從機率上將其描述為真實的。
由於缺乏具體的應用,ZKP 技術在很長一段時間內仍然不為人所知。隨後在區塊鏈(主要是以太坊)的發展過程中產生了巨大的熱情。
需要強調的是,ZKP 是基於機率經驗機制。因此,這樣的證明永遠不能正式保證命題的準確性。然而,超過某個閾值後,機率就很大,以至於認為經過驗證的命題是準確的是可以接受的。結果總是以“true”或“false”類型的布林形式呈現。
3 個屬性中的零知識證明
為了充分發揮其功能,零知識證明必須尊重以下三個屬性:
一致性(完整性):在命題正確的情況下,誠實的驗證者總是能夠向證明者斷言它。穩健性:在命題錯誤的情況下,沒有惡意行為者可以說服「誠實」的驗證者該命題是正確的。換句話說,不可能證明一個假命題。零知識:驗證者無法獲得有關命題的任何信息,只知道它是真還是假。
前兩個命題對於任何證明系統都是通用的,只有最後一個命題賦予了ZKP 的機密性特徵。
目前有多種方法可以建立零知識證明。最初,協議產生互動式證明,需要證明者和驗證者之間的互動才能執行。事實證明,它們的可擴展性很差,因為證明者和驗證者必須同時連接到網路來驗證證明。現在可以透過zk-SNARK 獲得非互動式證明,特別是整合雜湊函數並減少互動以在網路上簡單共享證明,然後任何人都可以驗證。
潛在的應用有很多,並且遠遠超出了區塊鏈技術的範疇。它們特別包括任何類型的無線網路甚至投票系統上的身份驗證和簽名。
分散式帳本技術的3 個應用程式在很大程度上占主導地位:
提高第二層解決方案的可擴展性提高交易期間的保密性管理數位身分系統可擴展性
ZKP 受到特別研究的特性之一是它能夠快速驗證大量交易。事實上,被稱為第1 層(第一層)的主要區塊鏈在處理交易流程時經常遇到困難。這種擁塞自然會透過優先順序的提升而導致平均交易成本的增加。
區塊的大小是決定分散式區塊鏈網路可擴展性的主要因素之一。該數值越大,網路單位時間內處理大量交易的能力就越強。然而,增加它必然會導致權益證明網路的不同驗證器節點上的負載更重。因此,風險在於活躍驗證節點的中心化會導致去中心化程度降低。
增加區塊的大小可能會導致其他問題,包括在發生攻擊時修改鏈的更大風險。因此,增加第1 層區塊的大小並不是解決可擴展性問題的可行解決方案已成為共識。
隨後出現了許多解決方案,主要是在以太坊上,並被稱為「第二層」或第2 層。它們的目標很簡單:透過在其他地方執行交易來緩解第1 層鏈的擁塞情況。
其中,使用零知識證明的技術似乎脫穎而出,原因有幾個,我們在此不做詳細介紹。基本上,它們透過定期發布所執行交易的證明,使得執行大量鏈下交易成為可能。第1 層提供的證明可以伴隨以稱為calldata 的壓縮形式發布與交易相關的數據,然後我們將討論ZK-rollup。否則,它將是一個將資料保持在鏈外的Validium。
總而言之:ZK-rollups 是在區塊鏈之上提供的解決方案,旨在提高其效能。他們執行大量交易並使用零知識證明來證明其有效性。然後,他們在父網絡上的智能合約中發布這些證據,以便最終驗證它,無論是否附有數據本身。
請注意,使用ZKP 的擴展解決方案可以對應於產生證明的中心化實體,或者其節點負責產生證明的分散式網路。在這兩種情況下,安全性都有保證。
ZKP 的構造使得不可能證明錯誤,任何在父網路上發布的證明事實上都享有其提供的安全等級。
SNARK 和STARK 都是最近出現的,目前構成了唯一用於開發ZK-rollups 的2 個ZKP。
ZK-SNARK
zk-SNARKs – 零知識簡潔非互動式知識論證– 顧名思義:
簡潔:產生的證據很少。非互動式:協定不需要證明者和驗證者同時連線。因此,可以在網路上廣播SNARK 類型的證明,從而使任何人都可以隨時驗證它,無論證明的發布者是否仍然參與網路。
任何zk-SNARK 證明都需要在可信任設定期間使用金鑰產生器,其作用是從秘密資料產生證明金鑰和驗證金鑰。管理後者至關重要,因為其揭露可能會導致虛假證據的產生。
ZCash 是第一個在其協議中使用zk-SNARK 的區塊鏈。它專注於交易的機密性,透過特定地址(屏蔽地址)允許完全匿名使用,其中所有關聯交易都提交到zk-SNARK,並且只有證明發佈在鏈上。
中科斯塔克
zk-STARKs(零知識可擴展透明知識論證)比之前的方案更具創新性,由Eli Ben-Sasson 和他的團隊於2019 年發現。請記住,後者是前面描述的Zcash 的創造者。他也是Starkware 公司的創始人,該公司在以太坊上開發第二層解決方案。
zk-STARK 因其獨特的特性而脫穎而出:
可擴展:它們能夠比zk-SNARK 進行更大的擴展,提供的證明尺寸更小並且可以很快得到驗證。透明:與zk-SNARK 不同,不再需要可信任設定。因此,不再有任何信任的概念,STARK 本身就足夠了。與zk-SNARK 不同,它可以抵抗量子電腦。
它們與zk-SNARK 一樣是非互動式的。它們的運作機制涉及一種與隨機預言機的互動形式,允許在不與證明者互動的情況下驗證證明。
它們目前構成了以太坊或任何其他第一層區塊鏈上最有效的擴展解決方案。
保密
從其結構本身來看,零知識外洩證明必然與已證明內容的機密性相關。因此,任何整合這種機制的區塊鏈都可以決定是否廣播與所進行的交易相關的資訊。
然而,ZKP 當然不是保證分散式帳本一定程度的機密性的唯一機制。讓我們以2014 年推出的Monero區塊鏈為例,遠早於SNARK 和STARK 的發現。除此之外,它使用隱形位址系統來保護使用者的隱私。
ZKP 可以透過不同的方式應用:
整合到區塊鏈的操作中,就像Starkware 開發的Starknet 一樣。優點是能夠在整個網路中提供客製化的機密性。用於特定應用程序,包括以太坊上的Tornado Cash 範例,允許混合ETH 礦池以清除它們的歷史記錄。
毫無疑問,ZKP在隱私保護方面的應用將在未來幾年內高速發展,監管環境尤其適合於此。
捍衛隱私,密碼學永恆之戰
數字標識
也研究了零知識證明的數字身份屬性。它們最初創建實際上是為了解決身份驗證問題。
管理數位身分涉及個人資料的安全儲存和保密。 ZKP 在這個應用領域找到了它們的全部意義,並將允許網路用戶執行數位簽名,而無需廣播超出必要的資訊。應用程式幾乎是無窮無盡的。
零知識證明代表了密碼學領域的重大進步。他們的應用程式數量眾多且備受關注:幫助擴展基礎設施區塊鏈、改善用戶隱私以及開發可行的數位身分系統。他們的未來看起來一片光明,但路還很長。
需要一個安全的錢包來探索DeFi 的多種應用嗎?最好的解決方案仍然是個人硬體錢包嗎?為自己配備一個安全的硬體錢包。如果你今天訂購,Ledger 將為你提供高達30 美元的BTC 來購買Nano 金鑰。你的安全是無價的(商業連結)。
文章零知識證明在區塊鏈技術有哪些應用?首先出現在《Journal du Coin》上。
資訊來源:由0x資訊編譯自JOURNALDUCOIN。版權歸作者Tristan A所有,未經許可,不得轉載