作者:Manta Network
今年以來,ZK (Zero-Knowledge Proofs,零知識證明)無疑是我們看到最頻繁的行業詞匯之一。無論是 Vitalik 關于 ZK 將成為未來重大技術革命的言論,還是 StarkWare、zkSync 等項目的最新進展都讓 ZK 敘事在2022年備受期待。
關于零知識證明的研究最早由 MIT 教授 Shafi Goldwasser、Silvio Micali 和 密碼學大師 Charles Rackoff 在二十世紀八十年代的一篇學術論文——《交互性證明系統的知識復雜度》中提出。通過零知識證明,證明者可以在不披露信息本身的情況下向驗證者證實信息的真實性。在二三十年前,這個計算機理論學家的腦洞還被外界認為是“不靠譜的”。而最近十年,ZK 技術發展日新月異,當初論文中的設想也正成為現實。
從技術角度說,ZK 是證明者與驗證者兩方之間的一個協議,證明者可以在不透露證明本身之外任何信息的前提下,讓驗證者確認某項證明是有效的。這是證明的“零知識”部分——沒有知識或信息可以支持這條證明,除了證明本身。正是如此,這項技術才更加重要。
從應用角度來講,ZK 有兩個非常重要的方向:
隱私性——ZK 做到了信息的隱私性。在交易中,如果你需要證明擁有某種未花費的資產,但是又不想暴露資產的整個來源去向,ZK 可解決比特幣等區塊鏈平臺中交易透明性帶來的信息泄露,如轉賬地址和金額;
可拓展性——若某個區塊直接驗證的時間很長,可改為由一人驗證并生成證明,而網絡中的其他人快速驗證該證明,而不再需要每個人都花很長時間來直接驗證;
ZK 主要有兩種類型:zkSNARK (簡潔非交互式零知識證明)和 zkSTARK(簡潔全透明零知識證明)。zkSNARK 的概念最早于 2013年被學者提出,目前已比較成熟, Zcash 是首個應用 zkSANRK 技術的區塊鏈項目。
ZK 技術目前已被用于各大 Rollup 方案,來解決以太坊的可拓展性和高昂的手續費問題。StarkWare、zkSync (出自 Matters Lab)、Aztec、Loopring 是目前 zk-rollup 領域的主要選手。
如何更好地理解這項密碼學技術的意義呢?我們需要從共識說起。以太坊上高交易成本背后的經濟學原因在于共識:共識一定是昂貴的,因為不貴的共識是不可信的。
假設有10,000個節點,每個節點做同樣的計算,這樣產生的結果就很可靠,不會因為少部分節點的不誠實而對共識結果產生影響。這也是為何區塊鏈可以去中心化——通過算法的手段建立信任。
然而共識的成本在于10,000臺電腦重復計算,成本比在1臺電腦上貴10,000倍。這是所有共識協議,不管是 PoW 還是 PoS 所存最大的問題。
而 ZK 就是可以從本質上降低成本的一種方式——我們可以在1臺電腦運行計算,其它電腦則用密碼學的方法驗證計算的可靠性,并不需要重復計算。在以太坊等比較昂貴的鏈上,驗證計算的正確性要比重復計算更便宜,更節省 gas。
這也是大家紛紛看好 zk-Rollup 的原因。zk-Rollup 搭建在 L1 主鏈之上,它將多筆交易打包成一筆提交給以太坊主鏈,通過零知識證明(SNARK 或 STARK)而被主鏈快速驗證,而不是讓主鏈單獨處理每一筆交易,這樣每筆交易的大小會進行壓縮,同時零知識證明驗證的成本會分攤到每個交易上,于是可以節省 Gas 費和提高 TPS。
隱私也是 ZK 的另外一個重要的應用領域。從信息論的角度來講,隱私是信息泄露的問題,想要保證鏈上隱私,必須通過密碼學的解決方案,將鏈上數據進行加密,讓鏈上的每筆交易記錄之間沒有關聯性。通過 ZK 能夠驗證計算而不會泄露有關輸入和計算本身的任何信息,這也是當前唯一從密碼學手段保證鏈上隱私的工具。
在 Web3.0 概念中非常重要的一點是,用戶真正掌握自己的身份和數據所有權。而目前區塊鏈上所有的信息(地址、轉賬記錄等)都是公開的,通過機器學習、大數據挖掘可以非常容易地獲得用戶的信息,相比于 Web2.0 時代,隱私問題有過之而無不及。雖然目前區塊鏈用戶尚沒有廣泛且強烈的隱私意思,但如果想要實現 Web3.0 的愿景,人們必須要有權力擁有自己的鏈上隱私。它可以不是必選項,但一定是可選項。
為了改善區塊鏈網絡中存在的隱私泄露問題,2014年,幾位密碼學專家在比特幣的代碼基礎上,采用了 zkSNARK 創造了首個可以實現完全匿名的區塊鏈項目 Zcash。zkSNARK 可以在不透露任何敏感數據(金額、地址等)的情況下來驗證交易的合法性,為用戶在使用加密資產進行交易時提供更高級別的隱私。
零知識證明首先是個密碼學協議,一方(證明者)可以在不公開解決辦法的情況下讓另一方(驗證者)相信他知道一個數學難題的解決辦法。
在隱私轉賬中,需要創建證明來驗證“一筆之前未被花費過的資產從一個用戶的地址發送到另一個用戶地址,他們被隱藏的賬戶地址都相應地更新了余額變化,且這筆資產不會被第一個用戶再花費。” Zcash 可以將用戶和交易的信息盡可能地匿名,而同時這筆交易依然可以被網絡共識有效地驗證。
匿名交易如果想要順利進行,必須滿足一定的條件。比如 Zcash 需要用戶發布一個 “commitment”,以及一個“nullifier”。
Commitment 是指 Zcash 鏈上未花費的余額。正如比特幣網絡一樣,Zcash 網絡上的節點也會保留各個賬戶余額,以證明資金可以用來花費。如果用戶想要發送 ZEC,需要發布一個 commitment,來證明“看,我有這些錢”(但是不會公布具體有多少錢)。而 nullifier 則是用來說明同樣數量的資金已經被預留了。
如果 Alice 想發給 Bob一筆 ZEC,她需要用 commitment 來證明她擁有使用這筆資金的權力,同時她需要 nullifier 來證明這些數量的錢已經為Bob預留了(當然是在不暴露 Bob 身份的前提下)。交易發送方把這些私密信息加密后直接放到交易中上鏈,接收方再通過某種方式解密以獲得私密信息。
匿名轉賬和比特幣一樣依賴于哈希加密,但是 zkSNARK 在其基礎上增加了一個隱私層。
zkSNARK 不僅可以用于加密資產間的匿名交易,同樣可以用于幫助越來越多的應用實現隱私化。Web3 時代,我們已經看到了 DeFi、NFT、GameFi 、SocialFi 等應用層的大爆發,鏈上行為越來越豐富,單純的匿名轉賬已經不能夠滿足人們對于隱私的需求。
想象一下,基于 ZK 技術,許多大膽的創意都可以成為可能。比如完全去中心化的隱私的 message board,讓用戶可以在不暴露具體身份的情況下證明自己的可信度:“我是一名美國官員”,“我是一個粉絲10萬的 Twitter KOL”;我們還可以在鏈上 MMO 游戲中隱匿玩家地點,做到真正去中心化的「密碼學戰爭迷霧」,類似的事情 Dark Forest 已經在做了。這樣的例子還有很多,大家可以盡情發揮想象力。但正如有人所預測的那樣,下一代的以太坊 dapp 可能并不是在原有應用基礎上的改進,而是來自于前所未有的新事物。
當然 ZK 技術目前仍處于早期,還有許多值得探索和改進的地方,但可以預見的是,未來將有越來越多的區塊鏈在鏈上運行 ZK 驗證者。
由于 ZK 技術的難度較高,目前使用 ZK 技術來解決區塊鏈隱私問題的項目并不多,我們熟知的包括 ZCash、TornadoCash、Aleo 等,而 Manta 是波卡生態內首個基于 zkSNARK 的 Web3 隱私保護項目,Manta 的主要產品包括隱私支付 MantaPay 和隱私 AMM DEX MantaSwap。
借助于 Polkadot 平行鏈之間的互操作性,MantaPay 可以將 Polkadot 以及平行鏈資產兌換成隱私資產,這樣用戶可以在使用各種封裝穩定幣、BTC 等資產的同時享受隱私資產所帶來的匿名性。
MantaPay 的隱私支付產品和現在以太坊上基于智能合約的去中心化應用有很大不同,Manta Network 本身是網絡層,在速度、成本和功能等方面提供了更多的靈活性。Manta 擁有自己的基于 UTXO 的錢包地址體系,用戶可以進行隱私資產的存儲、轉賬和兌換,可以做到真正意義上的全面的隱私。舉個例子,一個用戶可以分別向不同的人發送10個和2個隱私 DOT。而在 Tornado Cash 上,一筆隱私交易只能提取為一筆公開轉賬,并不能被分散。
此外,Manta 的費用結構并不受 ETH POW 共識的限制,而是作為專門為隱私交易而建立的網絡層,可以為用戶提供費用更低的轉賬體驗。
基于 AMM 和 zkSNARK 的隱私兌換協議 MantaSwap 則可以完成隱私資產之間的類似于 Uniswap, Curve 的去中心化交易同時滿足交易地址的隱私性。(更多關于 MantaSwap 的介紹請參考《為什么我們需要一個隱私版 Uniswap?》)
在上線 Manta1.0 的 MantaPay 及 Manta2.0 的 MantaSwap 后,Manta 3.0 將基于Manta 的基礎設施推出 zkSNARK 智能合約平臺,允許社區用戶和開發團隊在平臺之上構建自己的各種隱私保護產品,如隱私 DAO 工具、隱私 NFT marketplace 等等。Manta 的長期愿景是成為區塊鏈應用的隱私保護平臺,為整個區塊鏈世界提供更便捷的隱私保護服務。
關鍵詞: 技術為何重要為何要堅定不移看好