隱私壹直被加密貨幣社區視為壹項寶貴的特性。隱私是實現可替代性的前提,而可替代性是廣泛使用貨幣的必要條件。同樣,大多數加密資產持有者也不希望他們的持倉和交易歷史完全公開。在眾多旨在為區塊鏈提供隱私保護的密碼學技術中,zk-SNARK和zk-STARK證明是兩個值得關註的例子。
zk-SNARK代表零知識簡潔非交互式知識論證,zk-STARK代表零知識簡潔透明知識論證。zk-SNARK證明已被用於Zcash、摩根大通的區塊鏈支付系統,以及作為安全認證客戶端與服務器的方式。雖然zk-SNARK取得了顯著進展並被廣泛采用,zk-STARK則被認為是協議的新改進版本,解決了許多zk-SNARK的缺點。
本文將教妳如何向孩子解釋零知識協議,並介紹零知識協議的用途。
zk-SNARKs
Zcash是第壹個廣泛應用zk-SNARK的項目。其他隱私項目如Monero采用環簽名等技術,實際上是給交易雙方制造了壹層“煙霧彈”,而zk-SNARK則從根本上改變了數據共享的方式。Zcash的隱私來源於交易可以保持加密狀態,但仍通過零知識證明被驗證為有效,因此執行共識規則的節點無需了解每筆交易的全部數據。值得壹提的是,Zcash的隱私功能默認並不啟用,需要用戶手動設置。
零知識證明允許壹方向另壹方證明某個陳述為真,而不透露除該陳述真實性以外的任何信息。參與雙方通常稱為證明者和驗證者,他們所持有的秘密信息稱為見證。該證明的主要目的是在雙方之間盡可能少地泄露數據。換言之,零知識證明能證明某人擁有某項知識,卻不揭示該知識的具體內容。
在SNARK的縮寫中,“簡潔”(succinct)表示這些證明體積較小且可快速驗證。“非交互式”(non-interactive)意味著證明者與驗證者之間幾乎無需多次交互。早期的零知識協議通常需要雙方反復通信,因此稱為“交互式”證明。而非交互式證明只需交換壹次證明。
目前,zk-SNARK證明依賴於證明者和驗證者之間的初始可信設置,即需要壹組公共參數來構建零知識證明和私密交易。這些參數就像遊戲規則,編碼在協議中,是證明交易有效的必要條件之壹。但這也帶來了潛在的中心化問題,因為參數通常由少數人制定。
雖然初始可信設置是目前zk-SNARK實現的基礎,研究者正努力尋找其他方案,以降低對信任的依賴。該設置階段防止偽造花費,因為如果有人掌握了生成參數的隨機數,就能偽造出看似有效的假證明。Zcash中這階段稱為參數生成儀式。
“知識論證”(Arguments of Knowledge)表示zk-SNARK在計算上是健全的,意味著不誠實的證明者幾乎無法在沒有知識(見證)的情況下成功欺騙系統。這種特性稱為健全性,假設證明者計算能力有限。
理論上,計算能力足夠強的證明者可偽造證明,這也是量子計算機被認為是zk-SNARK和區塊鏈系統威脅的原因之壹。
零知識證明驗證快速,數據量遠小於普通比特幣交易,這為zk-SNARK技術在隱私保護和擴容方面的應用開辟了道路。
zk-STARKs
zk-STARK由以色列理工學院教授Eli-Ben Sasson創造。作為zk-SNARK的替代方案,zk-STARK通常被認為更高效,取決於實現可能更快且成本更低。但更重要的是,zk-STARK不需要初始可信設置(因此“T”代表透明的Transparent)。
技術上,zk-STARK依賴於碰撞抗性哈希函數等更簡潔的密碼學方法,不需要復雜且計算成本高昂的數論假設,也因此避免了量子計算機攻擊的潛在風險。
換言之,zk-STARK的密碼學假設結構更簡單。不過,這項新技術也有壹個主要缺點:zk-STARK生成的證明體積比zk-SNARK更大。數據體積差異可能會限制其應用場景,但隨著技術不斷完善,這壹問題有望被解決。
總結
顯然,zk-SNARK和zk-STARK都滿足了人們對隱私日益增長的需求。在加密貨幣領域,這些協議具有巨大潛力,可能成為推動主流采用的突破口。希望通過本文,妳能更好地理解如何向孩子解釋零知識協議。


















