零知識技術是密碼學的一個分支,可以為許多Layer 1區塊鏈項目解決擴容和隱私問題。區塊鏈可以利用零知識證明技術提升交易吞吐量,在驗證用戶身份的同時保護用戶數據隱私,實現複雜的計算,並讓企業既可以利用區塊鏈技術又能保護自身知識產權。在上述所有應用場景中,零知識證明都是不可或缺的關鍵技術。
什麼是零知識證明(ZKP)?零知識證明可以讓用戶在不透露信息的前提下證明自己知道或擁有信息。 “證明者”(prover)會利用某一系統輸入的信息來創建證明,而“驗證者”(verifier)則會驗證這個證明的計算結果,但卻無法得知信息的具體內容。最關鍵的是,零知識證明可以驗證某一數據集的有效性,並同時保護數據隱私。
本文將探討零知識證明解決方案的獨特優勢;區塊鏈項目如何利用zkSNARK和zkSTARK等零知識證明技術幫助開發者打造高級的dApp,在為Web3實現擴容的同時也保護用戶隱私;以及Chainlink的信任最小化服務如何幫助這些協議提升去中心化水平、可靠性以及安全性。
為什麼要採用零知識證明技術構建網絡?
零知識技術可以讓開發者既能利用以太坊等底層區塊鏈的安全性,又能為dApp提高交易吞吐量和速度,並同時將用戶個人信息放在鏈下,以保護用戶隱私。交易將打包上傳至鏈上,以降低終端用戶的使用成本。最終,項目可以利用這些功能打造出高級的dApp,不僅在性能上可以與Web2系統媲美,而且還能保持Web3去中心化的優勢。
零知識證明方案VS Optimistic Rollup
optimistic rollup是一種Layer 2技術,是目前主流的擴容方案。據分析網站L2Beat的統計,截止至2022年6月29日,optimistic rollup佔以太坊Layer 2網絡總鎖倉量的74.3%,而零知識證明方案則佔25.9%。
零知識擴容方案和optimistic rollup最大的區別就是交易驗證的方式不同。 optimistic rollup採用欺詐證明(fraud proof),只有在Layer 1區塊鏈上裁決狀態變更糾紛時才需要生成欺詐證明;而零知識技術方案則是在每一批交易打包上傳至鏈上時都會發布有效性證明(validity proof)。也就是說,採用零知識證明的協議永遠都是有效的狀態,而代價則是要花更多的gas費在底層區塊鏈上驗證有效性證明。
然而,將zk-rollup與鏈下數據結合可以有效優化gas費。這種效率更高的零知識技術方案包括“validium”和“volition”。這類方案也可以在不透露數據隱私的前提下證明狀態的有效性。這將有助於提升公鏈在企業的應用,企業可以更好地保護用戶數據和商業機密。
零知識技術方案和optimistic rollup還有一個差別,那就是資金效率。在optimistic rollup中,交易終局和取款的標準時間窗口是一周;而在零知識技術方案中,用戶可以在約10分鐘內取款。
要了解更多關於optimistic rollup和零知識協議的差異,請觀看以下視頻。視頻中,來自Offchain Labs、Polygon Hermez、Matter Labs、Metis DAO以及Optimism的負責人共同討論了以太坊Layer 2的未來發展前景:https://youtu.be/t-SQQmLhepY
不同類型的零知識技術方案
Layer 2方案可以採用有效性證明或欺詐證明,並可以將數據儲存在鏈上或鏈下。
基礎架構
zk-Rollup
zk-rollup會將多筆交易打包在一起,並發佈到Layer1區塊鏈上,同時還會發布一個驗證計算有效性的證明。發佈到鏈上的證明也被稱作“有效性證明”。有效性證明分為SNARKs和STARKs兩類。一旦這些證明在底層區塊鏈上得到了驗證,zk-rollup的狀態就會更新。
Validium
Validium結合了有效性證明和鏈下數據存儲,以提升可擴展性。有效性證明發佈在底層區塊鏈上,而數據則儲存在鏈下。這將大幅提升吞吐量並降低gas費。
雖然Validium在效率和可擴展性方面遠超zk-rollup,但是卻可能由於受到攻擊導致數據不可用,或用戶無法取出資金。不過這個數據可用性問題可以通過PoS系統來解決,採用經濟激勵機制確保數據儲存在各個節點中,並且隨時可用。值得一提的是,攻擊者雖然有可能暫停交易,但卻無法直接盜走用戶資金。
Volition
Volition結合了zk-rollup和validium,用戶可以自由選擇使用zk-rollup或validium方案,這兩種方案共享同一個狀態根(state root)。即使validium被攻破,zk-rollup上的資金也仍然是安全的。
因此,機構願意支付更高的費用來換取zk-rollup的安全保障,而個人用戶則更傾向於交易成本較低的validium,兩者在volition上可以無縫交互。比如DEX中做市商提供了幾億美元的流動性,因此會選擇zk-rollup;而散戶持倉相對較小,因此會選擇validium。
有效性證明
SNARK
SNARK的全稱是“zero-knowledge succinct non-interactive argument on knowledge”(中文為“簡潔的非交互式零知識證明”)。這是一種加密證明,文件很小而且很容易驗證。它利用橢圓曲線生成一個加密證明,該橢圓曲線假設無法從一個公開的基點找到隨機橢圓曲線元素的離散對數。橢圓曲線的計算成本低於STARK的哈希函數,因此SNARK協議的gas成本更低。
STARK
STARK全稱是“zero-knowledge scalable transparent argument of knowledge”(中文是“零知識的可擴展、透明知識證明”)。這種加密證明幾乎不需要證明者和驗證者之間產生任何交互。 STARKs相比SNARKs的最大優勢在於證明時間更短,而且更容易擴展。另外,由於STARKs採用哈希函數,因此也可以抗量子攻擊。
值得一提的是,STARKs的發明者是Eli Ben-Sasson,此人是StarkWare的聯合創始人,這個團隊也開發了StarkEx和StarkNet。
採用零知識技術的區塊鏈項目
採用了零知識技術方案的區塊鏈項目。
採用zk-STARK的項目
StarkEx
StarkEx 是以太坊上的Layer 2擴容方案,採用STARK證明來驗證自託管的交易,並在上面開發交易和支付應用。基於StarkEx的項目包括DeversiFi、Sorare和dYdX,目前已完成了幾億筆交易並實現了幾千億美元的交易額。然而,StarkEx無法支持智能合約功能,因此無法實現功能完備的dApp。
StarkNet
StarkNet 是一個通用平台,開發者可以使用StarkNet在以太坊的zk-rollup上部署智能合約。以太坊主流的dApp Aave和Maker都計劃在StarkNet上發布。值得注意的是,StarkEx的zk-rollup也可以在StarkNet上發布,以提高應用的可擴展性。
為了充分利用STARK在計算和可擴展性方面的優勢,StarkWare開發了Cairo語言,這是一種高效且圖靈完備的編程語言,專門用於創建STARK證明。這意味著StarkWare需要開發文檔、框架和其他工具來激活其開發者生態。
Immutable X
Immutable X是一個NFT平台,用於鑄造和交易NFT和通證。該平台使用StarkEx打造專屬的zk-rollup。 Immutable X平台上NFT鑄造和交易量達到數百萬,而且即使在以太坊網絡擁堵期間也可以保持較低的成本。
Immutable X也將在StarkNet上發布。有效性證明不會直接發佈到以太坊上,而是先發佈到StarkNet上,然後再通過StarkNet的rollup發佈到以太坊上。 Immutable X可以利用StarkEx在StarkNet上發布應用鏈,為項目提供layer 3擴容方案。
採用zk-SNARK的項目
Zcash
Zcash前身是ZeroCash。名字中的“zero”指使用零知識證明技術來實現隱私交易。 Zerocash是早期出現的加密項目之一,推動了零知識證明技術在行業中的應用。
Loopring
Loopring 是以太坊上的DEX,支持訂單簿交易,並且不託管用戶資產。 Loopring接入了Chainlink Price Feeds,服務幾十萬用戶,交易量高達數十億。
zkSync 1.0
zkSync 1.0是以太坊上的rollup。它與StarkEx一樣,都支持通證轉賬和兌換,但不支持智能合約。該協議由Matter Labs開發。
zkSync 2.0
zkSync 2.0與StarkNet一樣,也是以太坊的Layer 2擴容方案。採用了volition基礎架構,可以支持智能合約。 zkSync採用zk-SNARK來驗證交易,並採用PoS系統zkPorter來保障數據可用性。 zkSync 2.0和StarkNet的主要區別除了有效性證明之外,還有前者可以兼容EVM。 1inch、Alchemix和Curve都計劃在zkSync 2.0上發布。
ZigZag
ZigZag 是一個去中心化交易平台,採用訂單簿模式交易ERC-20通證。相比之下,大多數DEX採用的都是自動做市商(AMM)模式。 ZigZag的訂單簿模式得益於zk-rollup強大的可擴展性。 zkSync註冊表中的任何通證都可以在ZigZag中交易。該協議目前在zkSync 1.0上運行,但計劃在zkSync 2.0和StarkNet上發布。
Mina
Mina 是輕量級區塊鏈,採用SNARKs創建容量最大為22kb的區塊。項目可以在Mina上開發部署應用,並可以實現全部智能合約功能。
零知識證明協議如何提升去中心化水平、可靠性和安全性
零知識證明協議可以使用Chainlink去中心化的預言機服務提升安全保障並實現自動化。 Web3生態中的各個協議可以使用Chainlink信任最小化的服務來訪問任何外部API,並利用安全的鏈下計算來打造更高級的應用。
零知識證明協議可以使用以下服務來提升dApp性能。
-
精準的市場數據——Chainlink Price Feeds為DeFi經濟保駕護航,為去中心化的穩定幣、借貸協議以及交易平台等各種用例提供極其可靠且精準的市場數據。
-
可驗證的隨機數——Chainlink VRF可以創建隨機數以及加密證明,並一起上傳至鏈上進行驗證。 NFT平台可以利用隨機數,以公平可驗證的方式鑄造NFT。區塊鏈遊戲可以利用隨機數打造無法預測的遊戲體驗。
-
智能合約自動化——Chainlink Keepers是去中心化的交易自動化服務,可以自動觸發關鍵的智能合約功能,比如結算限價單交易、執行清算以及rebase通證等。
-
儲備金證明——Chainlink儲備金證明可以基於加密事實自動驗證儲備資產,為零知識證明協議降低風險,提高透明性並避免DeFi系統性風險。
-
跨鏈通信——跨鏈互操作性協議(CCIP)為協議提供通用的開放標準,用於打造安全的跨鏈應用,在Web3世界中傳輸通證、發送消息並觸發交互。
DECO為任何區塊鏈項目提供助力
項目要採用零知識證明技術,除了zk-rollup、validium或volition以外,還可以選擇Chainlink DECO。目前,DECO正在開發中,該方案利用零知識證明技術,在HTTPS/TLS系統之間傳輸數據時可以保障數據隱私和防篡改性。
使用了DECO的Chainlink預言機節點可以在不披露數據內容的前提下證明數據真實存在。
預言機節點可以證明數據來自可信服務器,並在鏈上隱藏數據內容。另外,由於維護了TLS託管鏈,因此還可以證明數據源。這項技術可以實現一系列高級用例,比如CanDID等去中心化身份(DID)協議可以讓用戶自己管理身份信息,而不用通過第三方進行管理。另外,DECO還可以接入權威機構,確認用戶的信用分數是否達標,並同時不透露用戶的任何個人信息,以此為DeFi平台實現低抵押貸款。
最終,DECO可以為用戶提供安全保障,用戶可以安全地在鏈上使用個人信息,並且不將數據上鍊。
總結
零知識證明與底層區塊鍊和去中心化的預言機網絡相結合,勢必將推動區塊鏈行業轉型,項目團隊將開發出可擴展性和成本效益極高的應用,並同時保障用戶隱私。
雖然其他的Layer 2解決方案可能會為某些應用提供更好的基礎架構,但隨著區塊鏈行業的不斷發展,zk-rollup、validium和volition勢必將獲得更多個人用戶和企業的青睞。
如果你是一名開發者,並希望集成Chainlink的信任最小化服務,請查看我們的技術文檔,在Discord中提問,或與Chainlink專家進行電話溝通。