零知識證明將賦能擴容與隱私計算

2021年Vitalik曾在一篇文章中講:

Perhaps the most powerful cryptographic technology to come out of the last decade is general purpose succinct zero knowledge proofs, usually called zk-SNARKs.(也許過去十年中最強大的密碼技術是通用的簡潔零知識證明zk-SNARKs。)

誠然,零知識證明在Crypto領域的兩個非常重要的方向都發揮著關鍵性突破的作用,一個是Scalability,一個是Privacy。

零知識證明(Zero Knowledge Proof,ZKP)是指證明者能夠在不向驗證者提供超過陳述本身有效性信息的情況下,使驗證者相信某個論斷是正確/真實的。零知識證明機制轉化成計算機程序語言後應用最廣泛的技術有兩個——zk-SNARK和zk-STARK。

zk-SNARK是零知識簡潔的非交互知識論證,基本邏輯如下圖:

zk-SNARK實現不透露具體信息的情況下,證明事件的正確/真實的最樸素的方法是:基於可信初始設置,在各項數據位於合法範圍的情況下,證明“輸入”=“輸出”。

zk-STARK是零知識可擴展的透明知識論證,基本邏輯本質上和zk-SNARK相同:

零知識證明將賦能擴容與隱私計算

zk-STARK與zk-SNARK相比較,各有優劣:

  • 初始可信設置:zk-SNARK需要,zk-STARK不需要;

  • 證明數據大小:zk-SNARK的證明大小約為288字節,zk-STARK稍微大些幾百KB;

  • 成本:zk-STARK比zk-SNARK更低;

  • 證明過程速度:zk-STARK比zk-SNARK的證明過程更快。

  • Crypto領域近年來的兩大剛需——以太坊網絡擴容和隱私保護,恰恰都可以通過零知識證明技術來解決。

零知識證明將賦能擴容與隱私計算

zk在擴容方面的應用

將零知識證明用於以太坊擴容領域的公司最初主要有兩家,一家是Matter Labs,一家是StarkWare。前者推出了zkSync,後者推出了StarkNet、StarkEx。這幾個項目都是當前Layer2領域的佼佼者,備受資方和市場關注。

StarkWare

StarkWare是基於零知識證明(zk-STARK)推出的Validium類型的以太坊Layer2擴容方案,並基於此方案推出了StarkNet和StarkEx。 Validium的機制與zk Rollup非常相似,唯一的區別是zk Rollup中的數據可用性在鏈上,而Validium將其保持在鏈下,這樣使得Validium可以實現更高的吞吐量。

既然將數據放在鏈下處理,那麼必然在數據上鍊過程中的流程非常重要,zk-STARK數據上鍊流程如下:

  • 1000筆交易發送給zk-STARK;

  • zk-STARK作為證明者,生成一個證明(如下圖:生成階段);

  • 節點作為驗證者讀取證明、更新鏈上數據。

零知識證明將賦能擴容與隱私計算

證明生成階段

所以,zk-STARK的核心邏輯是允許區塊鏈將計算轉移到單個鏈下STARK證明者,然後使用鏈上STARK驗證器驗證這些計算的完整性。

各種鏈上交易協議如果使用StarkWare的Validium擴容技術,它的交易費用會非常便宜。比如目前StarkEx託管了ImmutableX、Deversifi和Sorare等協議,從ImmutableX就可以感受到交易費用的便宜——在ImmutableX鑄造和交易NFT的Gas費用均為0美元,就好像不是在鏈上玩似的……用過的人都會有這個感受。

zkSync

Matter Labs推出的zkSync擴容方案是基於零知識證明(zk-SNARK)的zk Rollup類以太坊Layer2擴容方案。

zkSync通過引入Validators和Guardians這兩種角色來提升可擴展性:

Validators負責處理交易並打包區塊,Validators需要質押代幣,然後需要為交易提供一份交易零知識證明,證明交易過程都是正確的、沒有舞弊。若Guardians發現作惡,則沒收Validators的質押代幣;若沒有作惡則Validators將得到代幣獎勵。

在這個過程中,通過運用零知識證明,可以讓Guardians不需要知道交易的具體內容,也能知道交易過程是正確的/真實的。基於這個邏輯可以將很多交易過程放在Layer2鏈上處理,而將正確結果反饋到Layer1以太坊鏈上,從而實現以太坊網絡可擴展性的提升。

當然,現在Matter Labs正在推動zkSync2.0,在技術上又有很大的更新。一方面zkSync2.0引入了zkEVM,它將可以把以太坊智能合約部署在zk Rollup上。另一方面zkSync2.0將採用Volitions的技術方案,Volitions相當於包含了zk Rollup和Validium,可以同時支持ZK Rollup和Validium或其他組合模式的多種數據可用性模式。將選擇權交還給用戶,用戶可以選擇具體在哪種模式下交易。在ZK Rollup模式下,所有數據都在鏈上提交,狀態更新的有效性由零知識證明來保證;在Validium模式下,數據被保存在鏈下,只有最新狀態以及該狀態有效性證明在鏈上提交。

總而言之,零知識證明類的技術方案已經成為以太坊網絡擴容方面的最主流方案。

zk在隱私方面的應用

零知識證明用於隱私方面,具體又分為交易隱私和數據隱私。

交易隱私方面基本上是使用zk-SNARK以及基於zk-SNARK的衍生技術。這部分不再贅述。核心工作流程就是:

  • 設置一個可信初始設置(trusted setup),以保證系統的初始安全;

  • 設置一個範圍證明(Range Proof),以防止環繞攻擊;

  • 檢查input note = output note,以確保UTXO的正確性。

零知識證明除了用於交易隱私保護,也可以用於數據隱私保護。比如你的年齡,通過零知識證明機制,你可以不需要提供具體的身份信息,只需要通過簡單的零知識證明算法——比如證明你的年齡大於等於18周歲,即可證明你已經成年,具備參與某項活動的權利——通過這種方式既可以實現數據隱私保護,也可以證明你具備某些資格。

零知識證明在未來的鏈上聲譽證明方面可能也會有很多應用場景。比如現在的鏈上信用問題,核心難點在於尚未建立個人鏈上身份體系。鏈上身份不好建立的原因最少有兩點:

第一,現實身份的證明工具不適合作為鏈上身份證明。鏈上錢包與現實身份並不具備一一對應關係,而且一定程度上講現實身份的證明工具(比如身份證之類的)在Crypto領域裡也不適合作為身份證明,一方面很多Crypto的資產持有者不願意透露個人的身份信息,另一方面即使DeFi協議掌握了違約用戶的個人身份信息,在很多國家和地區USDT等Token的權益是不受法律保護的,要這身份證明對於違約的追責沒有用。

第二,鏈上用戶不願意洩露過多個人資產方面的隱私。要給每個鏈上用戶打信用分,就需要掌握用戶的各個方面的鏈上資產和鏈上行為的信息。但是很多用戶不願意讓別人知道自己有哪些地址,做了哪些交易……之類的信息。但若要給鏈上用戶一個合理的信用分,卻又需要盡可能多掌握用戶信息。所以,在鏈上聲譽、鏈上信用方面,可能也需要零知識證明的賦能。

總而言之,零知識證明在擴容和隱私方面的應用是當前行業發展的明牌趨勢。

Total
0
Shares
Related Posts