採用零知識證明技術的以太坊 Layer2 網路 zkSync 昨日剛上架幣安,以太坊創辦人 Vitalik Buterin 就發文感慨,鏈下 ZK(零知識證明)應用程式低估了使用 STARK 的潛力…
(前情提要:幣安上線$ZK、開啟「空投計畫」大放送,共超5萬名用戶可獲投)
(背景補充:V 神最新長文:以ZK零知識證明實現錢包跨L2交易、社交恢復,提升安全隱私)
以太坊創辦人 Vitalik Buterin 昨(17)日稍晚在 Web3 社交平台 Warpcast 上發文感慨,表示鏈下 ZK(零知識證明)應用程式低估了使用 STARK 的潛力:
我認為鏈下 ZK 應用程式確實低估了使用 STARK 的潛力,包括對隱私充滿極大要求的用例。
目前,STARK 的容量小於 100 kB,對於鏈下用例而言,與使用 STARK 節省的客戶端證明時間相比,這種頻寬量簡直微不足道。
V 神看空 zkSync?
V 神為何會突然有此感慨?這不禁讓人想到在昨日正式上架幣安等交易所的以太坊 Layer2 網路 zkSync。
zkSync 是以太坊的第二層擴容解決方案,它採用了 zk-rollups 在鏈下打包交易,並使用零知識證明(ZK)在鏈上對其進行詐欺驗證。但值得注意的是,同為採用 zk-rollups 的 Layer2 網路,zkSync 不同於已經發幣的 Starknet,它在零知識證明系統上採用的是 zk-SNARKs 技術,而 Starknet 採用的則是 zk-STARKS 技術。
因此,V 神或許不是在針對 zkSync 發表評論,只是針對 zk-STARKS 技術提出看法;但也有可能是在暗示 zk-STARKS 技術更有發展潛力也不一定。
撰稿當下,zkSync 代幣 $ZK 昨日上架幣安後就持續陰跌,現報 0.1999 美元,低於此前市場預測的盤前價格。
zk-SNARKs 與 zk-STARKS 有什麼區別?
zk-SNARKs 與 zk-STARKS 均屬於零知識證明技術,允許一方能夠向另一方證明其聲明是真實的,而無需透露任何其他資訊,有利於增加隱私和可擴展性。不過,二者仍然存在以下區別:
zk-SNARK:簡潔 + 非互動性
zk-SNARK 是一種簡潔、非互動的零知識證明技術,全名為 Zero-Knowledge Succinct Non-interractive Argument of Knowledge,它具備以下特征:
- zero-knowledge:零知識證明,在不暴露隱私的情況下向對方證明一件事情,讓資料「可用而不可知」。
- succinct:簡潔性,要證明的東西佔用的空間很小,而且可以快速驗證(幾毫秒)。
- non-interactive:非交互性,意味著證明者和驗證者之間不需要有交集即可快速地得到驗證結果。
zk-SNARK 的簡潔性和非互動性,是相對於傳統的零知識證明方案而言的。簡單來說,傳統方案是互動式證明,即示證者(宣稱某一命題為真)和驗證者(確認該命題確實為真)之間反覆確認,你可以理解為示證者不斷向驗證者詢問「是或不是?」,然後驗證者不斷給出回答,直到最後碰出一個正確答案來,所以效率很低。
zk-SNARK 的解決方案則不需要雙方反覆確認「是或不是」,而是提前先搞一個正確答案,以此產生公共參考字串(CRS),然後所有的示證者都可以直接訪問它。但是,公開參考字串通常由一個小團體來保管,因此有洩漏的可能性,從而被惡意利用,例如創建虛假證明。這犧牲了安全性為代價。
zk-STARK:機率證明 + 緩衝時間
zk-STARK 是成立於 2017 年 12 月的 StarkWare 團隊開發的,它是 zk-SNARK 的替代解決方案。
zk-STARK 雖然是一種互動式證明,但它是一種巧妙的互動式證明 —— 透過雜湊函數碰撞(一種機率證明的方式)來保證安全性,因此也實現了高效證明。簡單來說就是,先把問題用密碼學的方式打碎,然後驗證者隨機向示證者提出幾個問題,如果幾輪下來,示證者都給出準確的回答,那麼驗證就通過了。
zk-STARK 直接利用產生隨機性的參數來驗證,不需要任何第三方的「答案系統」,因此透明度大幅提高,並且在理論上,量子電腦對其的暴力破解也是無效的。因此相對而言更加安全。
延伸閱讀:科普|zk-SNARKs是什麼?V神定調零知識證明未來十年「非常重要」