在過去幾個月的DeFi衝擊之下,以太坊網路不堪重負。Layer 2和分片是以太坊未來可擴展性的路徑。不過分片的成熟落地需要好些年,目前來說,最有可能的擴展路徑是Layer 2,而在目前的各種Layer 2路徑中,Rollup系列是最被看好的技術路徑。
Rollup系列中主要有ZK Rollup和Optimistic Rollup,目前它們的進展都還算順利。9月底 Optimism團隊宣布其測試網第一階段開啟;Fuel也向測試網推進;Loopring、zkSync、Deversifi(基於Starkware技術)也已經有了ZK Rollup的落地。之前藍狐筆記提到的Zeroswap《ZeroSwap:基於ZK-Rollup的 DEX》也要推出基於Zk Rollup的AMM模式DEX。Layer 2在未來半年到一年時間裡會呈現出蓬勃發展的態勢,尤其是在DeFi領域。
而Curve在Layer 2方面的推進速度較快,如今基於Zk rollup技術的Curve 也馬上要來了。根據Matter Labs和Curve的公告,在Matter Labs的幫助下,Curve團隊將現有的Curve合約重寫為Zinc版本,目前已經開放測試網進行測試。
(https://zksync.curve.fi)
Curve 的Layer 2 選擇
之前藍狐筆記也介紹過layer 2賽道《以太坊的Layer 2賽道》《以太坊layer2突破性進展:意味著什麼》,也介紹過ZK Rollup和 Optimistic Rollup的區別《一文讀懂ZK Rollup和Optimistic Rollup:以太坊重要的擴展方向》。那麼,Curve為何選擇了基於ZK Rollup的 Layer 2方案?
雖然市場上每個Layer 2技術都在提自己的優勢,但最終來說,每個解決方案都有其均衡選擇。有些協議對於安全的需求沒那麼高,而對於性能的需求更高,比如遊戲類的項目。有些協議在安全上無法妥協,比如DeFi協議,DeFi協議鎖定的總資產量超過百億美元,在其上交易的資金量高達數十億美元。對於這些協議來說,安全性是首要考量的因素。
當前來看,相對而言,Layer 2方面,ZK Rollup和 Optimistic Rollup獲得了更多DeFi協議的青睞。尤其是ZK Rollup在安全性上接近於Layer 1的級別,因此也被視為是未來一段時間內最具前景的Layer 2方案。當然,在這個過程中,也有可能會有新的更好的解決方案冒出來,這需要時間來催化。
Curve選擇ZK Rollup很重要的原因是其安全性的考量,目前Cuvre上鎖定的資產量超過15億美元,近期日交易量大約1.5億美元,已經具備了相當的規模,無法在安全性上進行過多權衡。ZK Rollup幾乎可以達到Layer 1級別的安全。這是Curve 選擇ZK Rollup的一個重要原因。
相對於採用經濟激勵的博弈模型,ZK Rollup安全性更依賴於純粹的數學。此外,Optimistic Rollup有潛在的安全性問題,會隨著其鎖定資產量的增加,其安全性反而可能下降。因此,它有一個相對安全的資產範圍,如果資產規模過大,可能會遭遇攻擊。
此外,在最終性方面,ZK Rollup相對於Optimistic Rollup也有一定的優勢,ZK Rollup可以在幾分鐘內達成最終性,它支持資金快速撤回到Layer 1。而Optimistic Rollup有一個爭議延遲時間的設計,一般至少需要一周時間。
當然,Optimistic Rollup也有其優勢,相對於ZK Rollup,它在可編程性方面更友好,它支持EVM兼容,在將現有以太坊智能合約帶入Layer 2方面更便捷。
為了解決這一短板,Matter Labs宣稱其在ZK Rollup上實現了一些突破,尤其是支持任意用戶定義的智能合約方面。Matter Labs引入Zinc編程語言和對SNARK友好的Zinc VM,並為以太坊實現了遞歸PLONK證明驗證。這三者結合將支持在ZkSync上的智能合約。
*Zinc編程語言
根據Matter Labs的公告,在目前情況下,必須使用Zinc編程語言編寫Zinc VM的智能合約。Zinc遵循簡化的Rust語法,同時借鑒了來自Solidity的所有智能合約元素和結構。Zinc在結構上跟solidity基本相同,將現有的Solidity代碼轉換為Zinc相對容易。不過,當前它還不支持圖靈完備(後續有計劃支持),因此它禁止遞歸和無限循環。此外,當前的Vyper程序都可以同構轉換為Zinc。有經驗的Solidity/Vyper的開發者可以在幾天內掌握。
Zinc本身不是圖靈完備,不過在它上面可以完成在Solidity上的工作,進行少量的修改即可。目前多數DeFi應用的代碼很少需要循環或遞歸,此外,圖靈完備的組件也可以通過利用交易級別的遞歸來重新實現。
*Zinc VM
按照Matter Labs的介紹,合約用Zinc編程語言進行編寫和編譯。Zinc VM位元組碼和SNARK驗證密鑰可以以無須許可的方式部署到zkSync網路。
合約會在Layer 2內分配到一個新地址。當用戶跟合約交互,zkSync的驗證者會執行Zinc VM操作碼,併產生交易有效性的零知識證明。證明將由rollup 區塊電路通過已部署的驗證密鑰來進行遞歸驗證。區塊證明則由以太坊上部署的zkSync智能合約驗證,以授權實現狀態轉換。在可組合性方面,所有zkSync Layer 2的合約都可以相互調用,跟以太坊主網上一樣。
*用戶密鑰管理
根據Matter Labs的聲稱,zkSync直接集成到結賬流程中,這種集成類似於web2.0的單點登錄的身份驗證方案。假設zkSync網站被黑,也需要通過用戶以太坊錢包額外以消息簽名方式進行雙重因素驗證。該簽名當前由其伺服器驗證。為提升用戶體驗,Matter Labs正計劃跟其他團隊合作開發通用的以太坊Layer 2簽名標準。
*開放測試
測試網功能已經齊全。用戶可以編寫合約,並部署到測試網上,進行本地測試,並生成智能合約執行的零知識證明。每筆交易會在zkSync測試網上進行真實代幣轉移,這些都會反映到區塊瀏覽器和錢包中。用戶需要用真實的測試網 ERC20代幣進行交易。
*當前局限
目前Zinc VM還沒有集成到zkSync核心中。Zinc編程語言中的一些重要功能也可能有缺失。這有待後續的完善。
冷萃財經原創,作者:Awing,轉載請註明出處:https://www.lccjd.top/2020/10/11/curve%e7%9a%84layer-2%e9%80%89%e6%8b%a9%ef%bc%9a%e7%ae%80%e6%9e%90zk-rollup%e5%90%84%e9%a1%b9%e4%bc%98%e5%8a%bf/?variant=zh-tw
文章評論