匿名性一直被視為加密貨幣社區(qū)的非常有價值的特征之一。它是可替代性的前身,該特性對于廣泛使用的貨幣形式來說也是必要的。同樣,大多數(shù)加密資產持有者不希望他們的資產和交易記錄被完全公開。在所有在為區(qū)塊鏈提供隱私性的各種加密技術中,zk-SNARK和zk-STARK是兩個值得注意的例子。
zk-SNARK代表了簡潔化的非交互式零知識證明,而zk-STARK代表了簡潔化的全透明零知識證明。 Zk-SNARK已經(jīng)在基于區(qū)塊鏈的支付系統(tǒng)上如Zcash,JP Morgan Chase項目中使用,并作為一種客戶端到服務器的安全驗證方式。但是,雖然zk-SNARKs已經(jīng)很成熟并被很廣泛的使用,但zk-STARK現(xiàn)在也被吹捧為該協(xié)議的新版本和改進版本,旨在解決zk-SNARKs先前的許多缺點。
阿里巴巴的洞穴寓言
1990年,密碼學家Jean-Jacques Quisquater(以及其他合作者)聯(lián)合發(fā)表了一篇題為“如何向孩子解釋零知識證明協(xié)議”的論文。本文介紹了零知識證明的概念,其中包含阿里巴巴洞穴的寓言。自創(chuàng)建以來,這個寓言已經(jīng)被多次改編,我們現(xiàn)在有多種版本。但所表達的內容基本上一致的。
讓我們想象有一個環(huán)形洞穴,它有一個入口和一個將兩條路分開的魔法門。為了打開魔法門,人們需要低聲說出正確的秘密。因此,考慮到Alice(黃色)想要向Bob(藍色)證明她知道密碼是什么,但同時也要對密碼保密。為此,Bob同意在外面等待,同時Alice進入洞穴并從兩條路徑中選擇一條走到盡頭。在該案例中,她決定通過路徑1。
過了一會兒,鮑勃走到入口處,喊出他希望愛麗絲從哪一邊出現(xiàn)(在該案例中應該是路徑2)。
如果Alice確實知道這個密碼,她將可以正確地按照Bob所要求的路徑中走出來。
這個過程可以重復多次,以確認Alice不是通過運氣才選擇正確的路徑。
阿里巴巴的洞穴寓言說明了零知識證明的概念,它是zk-SNARK和zk-STARK協(xié)議的一部分。 零知識證明可用于證明擁有某些知識并且不會泄露任何有關它的信息。
zk-SNARKs
Zcash是zk-SNARKs的首個廣泛應用。雖然像Monero這樣的隱私項目也采用了環(huán)形簽名和其他技術,通過這些技術也可有效地創(chuàng)建了一個煙幕彈保護發(fā)送者 ,而zk-SNARKs也從根本上改變了數(shù)據(jù)的共享方式。 Zcash的隱私源于這樣一個事實,即網(wǎng)絡中的交易可以被加密,但仍然可以通過使用零知識證明來驗證有效性。因此,那些執(zhí)行共識規(guī)則的人不需要知道每個交易的所有數(shù)據(jù)。值得一提的是,Zcash中的隱私功能默認情況下是處于不活動狀態(tài),是可選的,取決于手動設置。
零知識證明允許一個人向另一個人證明其所陳述的是真實的,且不會泄露超出陳述有效性的任何信息。有關各方通常被稱為證明者和驗證者,他們所持有的秘密被稱為證據(jù)。這些功能的主要目的是讓雙方之間盡可能少的進行數(shù)據(jù)交換。換句話說,人們可以使用零知識證明來證明他們是知曉某些知識但不會泄露有關知識本身的任何信息。
在SNARK首字母縮略詞中,首字母“succinct”意味著這些該證明較簡單,可以快速驗證。 “非交互式”意味著證明者和驗證者之間幾乎沒有交互。較早版本的零知識證明協(xié)議通常要求證明者和驗證者進行通信,因此被認為是“交互式”零知識證明。但在“非交互式”結構中,證明者和驗證者只需交換相關證明。
目前,zk-SNARK證明依賴于證明者和驗證者之間的初始化可信設置,這意味著需要一組公共參數(shù)來構建零知識證明,從而構建私有交易。這些參數(shù)幾乎就像游戲規(guī)則,它們通過編程寫到協(xié)議中,并且是證明交易有效的必要因素之一。然而,這會產生潛在的集中化問題,因為參數(shù)通常由非常小的群體制定。
雖然最初的公共設置是如今zk-SNARK實施的基礎,但研究人員正在努力尋找其他替代方案,以減少交互流程中所需的信任。初始設置階段對于防止偽造支出非常重要,因為如果某人有權訪問生成參數(shù)的隨機性,他們就可能會創(chuàng)建對驗證者有效的假證明。在Zcash中,初始設置階段稱為參數(shù)生成過程。
我們再來談下首字母縮略詞的“ARguments”。 zk-SNARK被認為是可合理計算的,這意味著偽造的證明者成功欺騙系統(tǒng)的可能性非常小。此屬性稱為健壯性,假設證明者具有有限的計算能力。從理論上講,具有足夠計算能力的證明者可以創(chuàng)建偽造證明,這也是量子計算機被許多人視為可能對zk-SNARK和區(qū)塊鏈系統(tǒng)產生威脅的原因之一。
最后一個首字母是“Knowledge”,這意味著證明者無法在沒有實際知識(或證人)支持其陳述的情況下構建證據(jù)。
零知識證明可以快速驗證,通常比標準比特幣交易占用的數(shù)據(jù)少得多。這為zk-SNARK技術開辟了一條新道路,使其可用作匿名性和可擴展性解決方案。
zk-STARKs
zk-STARKs是作為zk-SNARK協(xié)議的替代版本而創(chuàng)建的,被認為是該技術的更快和更便捷的實現(xiàn)方式。但更重要的是,zk-STARK不需要進行初始化可信設置(因此,字母“T”代表了透明性)。
從技術上講,Zk-STARKs不需要初始化可信設置,因為它們依賴于通過哈希函數(shù)碰撞進行更精簡的對稱加密方式。這種方式還消除了zk-SNARK的數(shù)論假設,這些假設在計算上成本很高,并且理論上容易受到量子計算機的攻擊。
Zk-STARK能夠提供更便捷和更快速實現(xiàn)的主要原因之一是因為證明者和驗證者之間的通信量相對于計算的任何增量是保持不變的。相反,在zk-SNARK中,所需的計算越多,各方須來回發(fā)送消息的次數(shù)就越多。因此,zk-SNARK的整體數(shù)據(jù)量大小遠大于zk-STARK證明中的數(shù)據(jù)量。
很明顯,zk-SNARKS和zk-STARK都吸引了越來越多的關于匿名性的問題。在加密貨幣領域,這些協(xié)議具有巨大的潛力,可能成為一種被廣泛使用的開創(chuàng)性途徑。





