隱私一直被加密貨幣社區視爲非常有價值的功能。它是可替代性的先驅,而可替代性對於廣泛使用的貨幣形式是必要的。大多數加密資產所有者不希望他們的持有和交易歷史完全公開。在旨在確保區塊鏈機密性的各種密碼學方法中,值得關注的兩個證據示例是 zk-SNARK 和 zk-STARK。
zk-SNARK 代表知識的簡短、非交互式、零知識論證,zk-STARK 代表知識的簡短、透明、零知識論證。 Zk-SNARK 證明已經在摩根大通基於區塊鏈的支付系統 Zcash 中使用,並且作爲一種向服務器安全驗證客戶端的方式。儘管 zk-SNARK 在建立和適應方面取得了重大進展,但 zk-STARK 現在被譽爲該協議的新改進版本,解決了 zk-SNARK 之前的許多缺點。
阿里巴巴與洞穴的寓言
1990 年,密碼學家 Jean-Jacques Quisquater(與其他合作者一起)發表了一篇題爲“如何向您的孩子解釋零知識協議”的論文。文章以阿里巴巴洞穴的寓言提出了ZK證據的概念。自出版以來,已多次修訂,目前存在多個版本。但基本信息基本相同。
讓我們想象一個圓形洞穴,有一個入口和一個分隔兩條小路的神奇門口。要穿過神奇的大門,您需要低聲說出正確的祕密話語。因此,假設愛麗絲(黃色)想要向鮑勃(藍色)證明她知道祕密單詞,同時又想保守祕密。爲此,鮑勃同意在她進入洞穴並走到兩條可能路徑之一的盡頭時在外面等待。在此示例中,她決定採取路徑 1。

過了一會兒,鮑勃走過入口,大喊他希望愛麗絲以哪個方向出現(在本例中爲路徑 2)。

如果愛麗絲真的知道這個祕密,她一定會走上鮑勃選擇的道路。

整個過程可以重複幾次,以確認愛麗絲沒有意外選擇正確的路徑。
阿里巴巴和洞穴的寓言闡釋了零知識證明的概念,這是 zk-SNARK 和 zk-STARK 協議的一部分。 ZK 證明可用於證明擁有某些知識,而無需透露任何相關信息。
zk-SNARKs
Zcash 是第一個廣泛使用的 zk-SNARKs 應用程序。雖然門羅幣等其他隱私項目使用環簽名和其他技術,有效地圍繞誰發送了某些內容創建了煙幕彈,但 zk-SNARKS 從根本上改變了數據交換的方式。 Zcash 的隱私基於這樣一個事實:網絡上的交易可以保持加密狀態,但仍可以使用零知識證明進行驗證。因此,應用共識規則的人不需要擁有每筆交易的所有數據。值得注意的是,Zcash 中的隱私功能默認情況下不啓用,但需要手動配置並且是可選的。
零知識證明允許一個人向另一個人證明某項陳述是真實的,而不會透露任何超出該陳述有效性的信息。涉及的各方通常被稱爲驗證者和驗證者,他們所保密的陳述被稱爲證人。這些證據的主要目的是儘可能少地透露雙方之間的信息。換句話說,人們可以用零知識證據來證明自己擁有一定的知識,而無需透露任何其他信息。
SNARK 縮寫“壓縮”意味着該證據的大小更小並且可以快速驗證。 “非交互”意味着證明者和驗證者之間幾乎沒有交互。舊版本的零知識協議通常需要驗證者和驗證者相互通信,因此被視爲“交互式”zk-proofs。但在“非交互式”設計中,驗證者和驗證者必須僅交換一項證據。
目前,zk-SNARK 證明依賴於驗證者與驗證者之間的初始信任設置,這意味着需要一組公共參數來爲私密交易創建零知識證明。這些參數幾乎對應於遊戲規則,它們被編碼在協議中,是確認交易有效的必要因素之一。然而,這會產生集中化的潛在問題,因爲參數通常是由非常小的羣體制定的。
雖然最初的公共設置是現代 zk-SNARK 實施的基礎,但研究人員正在努力尋找其他替代方案,以降低此過程中所需的信任級別。初始設置階段對於防止僞造支出非常重要,因爲如果有人能夠獲得生成參數的隨機性,他們就可以創建對驗證者來說看似有效的虛假證據。在 Zcash 中,初始設置階段稱爲參數生成儀式。
讓我們繼續討論“ARuments”作爲首字母縮略詞的片段。 zk-SNARK 被認爲在計算上是合理的,這意味着流氓驗證者成功欺騙系統的機會非常低。此屬性稱爲強度,並假設驗證者的處理能力有限。理論上,擁有足夠計算能力的驗證者可以製造虛假證據,這也是量子計算機被許多人視爲對 zk-SNARK 和區塊鏈系統構成威脅的原因之一。
該縮寫詞的最後一部分是“知識”,這意味着審查員在沒有知識(或證人)支持其主張的情況下無法構建證據。
零知識證明可以快速驗證,並且通常比標準比特幣交易佔用的數據少得多。這爲 zk-SNARK 技術用作隱私和可擴展性解決方案鋪平了道路。
零知識證明
zk-STARK 是作爲 zk-SNARK 的替代版本創建的,被認爲是該技術的更快、更便宜的實現。但更重要的是,zk-STARK 不需要初始信任設置(因此“T”透明)。
從技術上講,Zk-STARK 不需要初始可信設置,因爲它憑藉其抗碰撞哈希函數而依賴於更簡單的對稱加密技術。這種方法還消除了 zk-SNARK 的數論假設,這些假設的計算成本很高,並且理論上容易受到量子計算機的攻擊。
Zk-STARK 提供更便宜和更快的實現的主要原因之一是驗證者與驗證者之間的通信週期數相對於計算的任何增加保持不變。相比之下,在 zk-SNARK 中,需要的計算越多,需要來回發送消息的各方就越多。因此,zk-SNARK 中的總數據量比 zk-STARK 中的大得多。
顯然,zk-SNARKS 和 zk-STARK 都在吸引人們對隱私日益增長的擔憂。在加密貨幣領域,這些協議具有巨大的潛力,可以成爲大規模採用所需的創新。



