隱私一直被視爲加密貨幣社區的寶貴功能。它是可替代性的先決條件,而可替代性對於廣泛使用的貨幣形式而言必不可少。同樣,大多數加密資產持有者不希望自己的資產和交易歷史完全公開。在旨在爲區塊鏈提供隱私的各種加密技術中,zk-SNARK 和 zk-STARK 證明是兩個值得注意的例子。

zk-SNARK 代表零知識簡潔非交互式知識論證,而 zk-STARK 代表零知識簡潔透明知識論證。zk-SNARK 證明被加密貨幣項目(例如 Zcash)用於基於區塊鏈的支付系統,並作爲一種安全地向服務器驗證客戶端身份的方式。但是,儘管 zk-SNARK 在完善和採用方面取得了重大進展,但 zk-STARK 證明現在被吹捧爲該協議的新改進版本,解決了 zk-SNARK 的許多先前缺點。

阿里巴巴的洞穴寓言

1990 年,密碼學家 Jean-Jacques Quisquater(以及其他合作者)發表了一篇題爲“如何向孩子解釋零知識協議”的論文。該論文通過阿里巴巴洞穴的寓言介紹了零知識證明的概念。自誕生以來,這個寓言已被多次改編,現在我們有了多個版本。儘管如此,底層信息本質上是相同的。

讓我們想象一個環形洞穴,它只有一個入口,還有一道魔法門將兩條小路分開。爲了穿過魔法門,人們需要低聲說出正確的祕密詞。因此,假設愛麗絲(黃色)想向鮑勃(藍色)證明她知道祕密詞是什麼——同時仍然保密。爲此,鮑勃同意在外面等她進入洞穴,並走到兩條可能路徑之一的盡頭。在這個例子中,她決定走路徑 1。

過了一會兒,鮑勃走到入口處,大聲喊出他希望愛麗絲從哪一側出現(在本例中是路徑 2)。

如果愛麗絲真的知道這個祕密,她就會可靠地從鮑勃命名的路徑出現。

整個過程可能會重複幾次,以確認愛麗絲不是靠運氣選擇了正確的路徑。

阿里巴巴的洞穴寓言說明了零知識證明的概念,它是 zk-SNARK 和 zk-STARK 協議的一部分。ZK 證明可用於證明擁有某些知識,而無需透露有關該知識的任何信息。

zk-SNARKs

Zcash 是最早使用 zk-SNARKs 的項目之一。雖然 Monero 等其他隱私項目採用環簽名和其他技術,但 zk-SNARKs 從根本上改變了數據共享的方式。Zcash 的隱私性源於這樣一個事實:網絡中的交易可以保持加密,但仍可以通過零知識證明驗證爲有效。因此,那些執行共識規則的人不需要知道每筆交易背後的所有數據。值得一提的是,Zcash 中的隱私功能默認情況下不處於活動狀態,而是可選的,並且依賴於手動設置。

零知識證明允許一個人向另一個人證明一個陳述是真實的,而不會泄露超出該陳述有效性的任何信息。涉及的各方通常被稱爲證明者和驗證者,他們祕密持有的陳述被稱爲證人。這些證明的主要目的是在雙方之間儘可能少地泄露數據。換句話說,人們可以使用零知識證明來證明他們擁有某些知識,而無需透露有關知識本身的任何信息。

在 SNARK 的縮寫中,“簡潔”意味着這些證明的規模較小,可以快速驗證。“非交互式”意味着證明者和驗證者之間幾乎沒有交互。舊版本的零知識協議通常需要證明者和驗證者來回通信,因此被視爲“交互式”ZK 證明。但在“非交互式”結構中,證明者和驗證者只需交換一個證明。

目前,zk-SNARK 證明依賴於證明者和驗證者之間的初始可信設置,這意味着需要一組公共參數來構建零知識證明,從而實現私人交易。這些參數幾乎就像遊戲規則;它們被編碼到協議中,是證明交易有效的必要因素之一。然而,這會產生潛在的中心化問題,因爲這些參數通常由一小羣人制定。

雖然初始可信設置是當今 zk-SNARK 實現的基礎,但研究人員正在努力尋找其他替代方案,以減少該過程中所需的信任量。初始設置階段對於防止僞造支出非常重要,因爲如果有人能夠訪問生成參數的隨機性,他們就可以創建對驗證者來說似乎有效的虛假證明。在 Zcash 中,初始設置階段稱爲參數生成儀式。

轉到首字母縮略詞中的“知識論證”部分。zk-SNARK 被認爲是計算合理的,這意味着不誠實的證明者在沒有實際知識(或證人)支持其陳述的情況下成功欺騙系統的可能性非常低。此屬性稱爲合理性,並假設證明者的計算能力有限。

理論上,具有足夠計算能力的證明者可以創建虛假證明,這就是許多人認爲量子計算機對 zk-SNARKs(和區塊鏈系統)構成威脅的原因之一。

零知識證明可以快速驗證,並且通常比標準比特幣交易佔用的數據少得多。這爲 zk-SNARK 技術用作隱私和可擴展性解決方案開闢了一條道路。

零知識證明

zk-STARKs 是由以色列理工學院教授 Eli-Ben Sasson 創建的。作爲 zk-SNARK 證明的替代版本,zk-STARKs 通常被認爲是該技術的更高效變體 - 可能更快、更便宜,具體取決於實現方式。但更重要的是,zk-STARKs 不需要初始可信設置(因此,“T”代表透明)。

從技術角度來說,zk-STARK 不需要初始可信設置,因爲它們依賴於通過抗碰撞哈希函數實現的更精簡的加密技術。這種方法還消除了 zk-SNARK 的數論假設,這些假設在計算上非常昂貴,而且理論上很容易受到量子計算機的攻擊。

換句話說,zk-STARK 證明在加密假設方面呈現了更簡單的結構。然而,這項新技術至少有一個主要缺點:與 zk-SNARK 相比,證明的大小更大。這種數據大小的差異可能會根據使用環境帶來限制,但隨着技術的進一步測試和研究,這個問題可能會得到解決。

結束語

顯然,zk-SNARK 和 zk-STARK 都迎合了人們對隱私日益增長的擔憂。在加密貨幣世界中,這些協議具有巨大的潛力,可能成爲走向主流採用的開創性途徑。