歐科雲鏈OKLink鏈上科普(三):區塊鏈的隱私性
时间:2024-02-21 01:01 来源:网络整理 作者:墨客科技 点击:次
在區塊鏈技術演變過程中,有兩個關鍵問題始終繞不過去:隱私與擴容。當我們探尋這兩個問題的“標準解法”時,卻發現它們都離不開一種技術,那就是:零知識證明。什麼是零知識證明?它又是如何解決區塊鏈隱私與擴容難題的? 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擴容方案則被視為 Layer2擴容的終極方案。ZK-Rollups通過將計算轉移到鏈下來提高區塊鏈吞吐量,即將大量交易打包到一個Rollup區塊內,並在鏈下基於零知識證明生成一個有效性證明,Layer 1上的智慧合約只需驗證該證明即可直接應用新狀態,從而實現更低Gas和更高安全性。 基於ZK-SNARKs技術的zkSync和基於zk-STARKs技術的StarkNet是目前最具代表性的ZK-Rollups項目。 其中,zkSync由是Matter Labs在2018年推出的一款 Layer2 擴容方案,通過採用基於零知識證明的Rollup提升乙太坊網路的可拓展性。今年2月,zkSync宣佈zkSync Era主網正式上線,歐科雲鏈OKLink多鏈瀏覽器隨後率先接入zkSync主網數據,成為全網首個支援zkSync網路的多鏈瀏覽器。
|



