原文作者:Jason Jiang
在區塊鏈技術演變過程中,有兩個關鍵問題始終繞不過去:隱私與擴容。當我們探尋這兩個問題的“標準解法”時,卻發現它們都離不開一種技術,那就是:零知識證明。什麼是零知識證明?它又是如何解決區塊鏈隱私與擴容難題的?
1、什麼是零知識證明?
1985 年,來自MIT 的S.Goldwasser、S.Micali 及C.Rackoff 在研究論文《互動式證明系統的知識複雜性》中首次提出零知識證明。這是一種用於證明者在不洩漏任何有效信息的情況下證明其知識正確性的驗證協議。
為了方便理解,不妨舉個例子:
小O 擁有一個帶密碼的盒子,他想在不告訴小K 真正密碼的情況下,讓他相信自己知道盒子密碼。那怎麼做呢?
小O 想出了一個辦法:他讓小K 寫下一個全世界只有他才知道內容的紙條,然後由小K 親手放進打開的盒子中並鎖上。然後小O 將盒子拿走後利用密碼取出小K 放在盒子裡的紙條,第二天再將紙條給到小K。在這個過程中,小K 並沒有得知任何此前自己不知道的信息(盒子的密碼),但還是必須相信小O 知道密碼這件事情。這個驗證過程就是零知識證明。
簡單來說,零知識證明就是以最小的信息交換量在雙方之間建立信任,在不透露更多信息前提下,A 可以向B 證明某件事/某個結論是正確的。
根據證明過程中的交互方式,可分為“交互式零知識證明”和“非交互式零知識證明”兩大類。
交互式零知識證明,是指為了證明某件事,證明者需要和驗證者反复互動,就像是測謊儀一樣:驗證者不斷提出問題來挑戰證明者承諾的真實性,證明者則需要不斷回應這些挑戰,直到使驗證者相信。其流程如下所示:
早期的零知識證明都是交互式的。這種方式很直接,但過程冗長且效率低下:雙方必須同時在線完成驗證,並且每次只能取信於一個驗證者,如果要取信多人,則要重複上述過程。這個過程,想想就累。
於是,非交互式零知識證明出現了。在非交互式零知識證明中,證明者和驗證者提前約定驗證規則,證明者按照承諾提供數據,驗證者則可隨時驗證這些數據的正確性。這種非交互式驗證,雙方不用同時在線,並且證明者只需要提供一次證明。實際場景中應用的基本都是非交互式零知識證明,比如ZK-SNARK 和ZK-STARK。
2、零知識證明在區塊鏈世界有什麼用?
零知識證明在區塊鏈世界主要被用來解決兩類問題:隱私性與拓展性。
(1)隱私性
零知識證明的重要應用成果之一是2015 年推出的可實現隱私交易的Zcash 項目。除Zcash 這類匿名幣外,零知識證明在區塊鏈金融、鏈上投票、身份驗證等場景中也能發揮作用。
在區塊鏈金融應用中,零知識證明允許參與者們靈活選擇他們想要公開和隱藏的交易與信息。例如,公司可以有選擇地公開某些付款以便審計追踪,同時隱藏機密客戶、員工工資、承包商、供應商等隱秘信息。
進行鏈上投票時,零知識證明也能允許參與者進行匿名投票,並驗証投票結果有效性。
此外,零知識證明還能幫助用戶在不暴露具體身份信息的前提下實現身份驗證。以太坊上的Polygan ID 就採用了零知識證明驗證方案,既幫助用戶保護隱私,同時滿足監管要求的KYC 驗證規範,用戶可自由選擇何時以及共享哪些數據。
(2)拓展性
區塊鏈因性能限制難以滿足市場需求而亟需擴容,基於零知識證明的ZK Rollup 擴容方案則被視為Layer 2 擴容的終極方案。 ZK-Rollups 通過將計算轉移到鏈下來提高區塊鏈吞吐量,即將大量交易打包到一個Rollup 區塊內,並在鏈下基於零知識證明生成一個有效性證明,Layer 1 上的智能合約只需驗證該證明即可直接應用新狀態,從而實現更低Gas 和更高安全性。
基於ZK-SNARKs 技術的zkSync 和基於zk-STARKs 技術的StarkNet 是目前最具代表性的ZK-Rollups 項目。
其中,zkSync 由是Matter Labs 在2018 年推出的一款Layer 2 擴容方案,通過採用基於零知識證明的Rollup 提升以太坊網絡的可拓展性。今年2 月,zkSync 宣布zkSync Era 主網正式上線,歐科雲鏈OKLink 多鏈瀏覽器隨後率先接入zkSync 主網數據,成為全網首個支持zkSync 網絡的多鏈瀏覽器。
StarkNet 是由以色列軟件公司StarkWare 開發的免許可Layer 2 網絡,通過使用zk-STARKs 技術可幫助DApp 以更低的交易成本實現更大計算規模。自2021 年11 月啟動主網後,StarkNet 生態系統快速發展,目前已有100 多種Dapp 及服務,涵蓋DeFi、NFT、錢包、跨鏈橋等不同類別。作為ZK Rollup 賽道中估值最高和市場份額佔比最大的項目之一,StarkNet 的發展備受關注。歐科雲鏈OKLink 多鏈瀏覽器也將於近期上線StarkNet 瀏覽器,為所有關注和參與StarkNet 生態和Layer 2 建設的用戶提供更全面和更豐富的鏈上數據洞察及服務。
據悉,StarkNet 瀏覽器將成為OKLink 推出的第30 條區塊鏈瀏覽器,也是繼zksync 之後的第2 條ZK Rollup 瀏覽器。未來,OKLink 多鏈瀏覽器還將陸續推出基於零知識證明的Polygon-zk、Linea、Base、Scoll 等知名ZK Rollup 項目的區塊鏈瀏覽器。