2021年10月13日,以太坊Layer2解決方案zksync開發者MatterLabs展示一個帶有Solidity智能合約和Web3前端的功能齊全的dApp UniSync,這是MatterLabs利用Uniswap V2智能合約和前端部署在zkSync 2.0測試網alpha版上的dAPP。用戶可以通過uni.zksync.io頁面領取測試代幣測試此dAPP。
MatterLabs表示,自6月1日zkSync 2.0測試網alpha版上線後,solidity編譯器狀態很穩定,而且完成了帶有額外的Layer2特定功能的Web3 API的開發,實現了首個EVM兼容的zkRollup。
MatterLabs官方還透露,zkSync 2.0測試網將很快上線,正通過“zkSync 2.0 Testnet: North Star”計劃歡迎項目方入駐。這也意味著zkSync 2.0主網越來越近了。
金色財經匯總了關於zkEVM和zkSync 2.0的最全說明。
什麼是zkSync 2.0
zkSync 2.0是由Matter Labs構建的與EVM兼容的ZK Rollup,由Matter Labs開發的zkEVM提供支持。
而zkSync 1.0已上線支付近1.5年,zkSync 1.0
-
降低主網轉帳成本約50倍,
-
完成近400萬筆交易,
-
在最近的4輪Gitcoin捐款中98%的交易使用zkSync
什麼是zkEVM?為什麼它很重要?
zkEVM是一種以兼容零知識證明計算的方式執行智能合約的虛擬機。這是構建兼容EVM的ZK rollup,同時保留經過實戰測試的代碼和在使用Solidity多年後獲得的知識的關鍵。 zkEVM保留了EVM語義,但也是ZK友好的,並採用了傳統的CPU架構。
zkEVM的推出代表了加密技術的一個重要轉折點。直到最近,它仍被認為只是一種理論上的可能性,需要數年時間才能實現。但在過去一年,整個零知識證明生態系統前進的步伐超出了大家的預期。並且由於多項研發突破使zkEVM成為可能,Solidity程序員現在可以最先接觸到零知識證明的無與倫比的擴展性、安全性和UX優勢。
基礎知識
什麼是ZK Rollup?
ZK Rollups是2層擴展解決方案,它使用有效性證明來擴展計算:每批交易都帶有一個由以太坊智能合約驗證的加密證明(ZK-SNARK)。這樣,在區塊最終確定之前,所有以太坊完整節點都會對每筆交易進行完全驗證。
ZK Rollup安全性如何?
在所有擴展解決方案中,ZK Rollups是最安全的,完全依靠數學,從而完全繼承L1的安全性,這對於在高度對抗性環境中的功能至關重要。相反,其他擴展解決方案依賴於經濟擔保或第三方,因此提供的安全屬性要弱得多。
ZK Rollups中狀態更改的驗證是通過計算零知識證明來完成的:如果任何狀態更改無效,則無法生成證明,反過來,這意味著實體驗證不能包括無效的狀態更改。這就是我們稱它們為排序器(sequencers)而不是驗證者(validators)的原因:它們不驗證交易,以太坊智能合約依靠純數學來驗證。我們不需要信任他們或監控他們的欺詐行為,因為他們不能進行任何欺詐。
ZK Rollup的可擴展性如何?
ZK Rollups可以在峰值負載下提供高達2000的TPS,但它會變得更好。
ZK Rollups也是唯一一個可以讓一個系統提供數量級規模擴展的L2,zkPorter可以提供高達20000的TPS。
zkPorter是什麼?
zkPortor將數據可用性——重建狀態所需的基本交易數據——放在鏈下而不是以太坊上。取而代之的是,使用zkSync代幣抵押者的權益證明來保護數據可用性。這實現了更高的可擴展性(數万TPS),從而實現了與側鏈相當的超低交易費用(幾美分)。
zkPorter的安全性仍然優於任何其他L1或側鏈。在最壞的情況下,惡意行為者控制排序器和超過2/3的總權益,他們可以簽署有效的狀態轉換,但保留數據。在這種情況下,狀態被“凍結”,用戶將無法退出,但攻擊者的stake也被凍結。因此,擁有大量權益的攻擊者沒有直接的方式從漏洞利用中獲得經濟利益。
zkSync中的交易完成(transaction finality)是什麼?
排序器將為交易提供快速的鏈下確認。這種確認是半可信的:排序器不能觸發無效的狀態更新(例如竊取資金),但在確認後仍可能無法包含交易,或者在短時間內重新排序交易。
當生成零知識證明並將其發佈到以太坊時,交易被視為最終交易。根據活動情況,這可能需要15分鐘到3小時不等。
和其他擴容方案的比較
zkSync 2.0和樂觀rollup(例如Arbitrum、Optimism)之間的主要區別是什麼?
1) 显著更高的安全性
ZK rollup消除了對觀察者(watcher)的依賴,用加密安全取代了博弈論的經濟安全——你相信純數學而不是激勵參與者。
2) 更高的資金效率
在OR中,任何資產的原生提款都需要很長時間(最佳情況:1 週)。這是一個安全參數,在安全性沒有指數級下降的情況下無法減少。
對於同質化代幣,這個問題可以通過在橋的另一邊有大量閒置流動性來緩解。為了補償資金的機會成本,用戶需要支付繞過等待期的費用。
對於較小的資金,這可能是可以接受的,但對於專業交易者來說,這已經構成了巨大的成本,並將反映在他們的利潤率上。對於需要定期在L1和L2之間轉移大量流動性(數十億)的機構來說,這種解決方案效率不高,因為流動性提供者不太可能讓這麼多資金閒置。
3) NFT的用戶體驗
NFT的原生提款無法加速——流動性提供者解決方案不適用,因為NFT是獨一無二的。因此,要撤回NFT,用戶必須真正等待1週或更長時間。
在zkSync中,任何提款都會在15分鐘到3小時之間完成,當活動較多時,提款時間會更快。
4) 交易成本
對於大多數流行的加密用例,ZK Rollups更便宜,因為它需要在鏈上發布的數據量最少(沒有簽名和交易參數)。
但是,對於一些常見的用例,成本節省的數量級要大得多。具體來說,ZK Rollups只需要將最終更改發佈到狀態,並且由於許多交易進入相同的存儲槽,因此可以攤銷成本。例如,同一區塊中的所有交易和預言機更新交易的數據可用性成本為零。
最後,zkSync 2.0將有一個名為zkPorter的擴展,通過將數據放在鏈下,提供1-3美分的固定交易費用。樂觀rollup從根本上不能有這樣的鏈下數據可用性擴展,因為沒有公共數據,觀察者無法驗證每筆交易的有效性。因此,他們不可能向更喜歡超低費用而非安全性的用戶提供這樣的混合系統。
使用zkSync與側鏈(例如Matic/Polygon、BSC、Solana、Avalanche)相比如何?
以太坊側鍊是一個單獨的L1,具有自己的安全機制以及它與以太坊之間的橋樑。有時橋接驗證者與側鏈驗證者相同並使用相同的抵押機制(例如在Polygon/Matic PoS的情況下)。
關於這個話題最重要的一點是,無論側鏈本身如何被保護,當它被用作擴展解決方案時,資產的安全性始終取決於大多數橋接驗證者的善意。如果大多數人受到損害,他們可以不可逆轉地竊取所有資產。由於大多數網橋在低延遲共識要求下以DPoS模型運行,因此大部分stake通常僅由物理上位於同一數據中心的少數驗證者服務器控制。所有這些服務器被入侵的風險是非常重要的,而且不僅僅是理論上的威脅。
zkSync 2.0為其用戶提供兩種帳戶類型:ZK Rollup和zkPorter。對它們中的每一個進行比較:
1) ZK Rollup與側鏈
ZK Rollup提供與L1本身相同級別的安全性,但成本更高(大約是L1成本的1/50)。另一方面,側鏈依靠誠實多數的假設來實現低得多的費用。
2) zkPorter與側鏈
zkPorter提供類似側鏈的超低費用,但安全性提高了一個數量級。
zkPorter依靠以太坊來保證交易有效性,依靠zkSync代幣抵押者來保證數據可用性。
在最壞的情況下,惡意行為者控制排序器和超過2/3的總stake,他們可以簽署有效的狀態轉換,但保留數據。這將凍結狀態,用戶將無法撤回,但攻擊者的權益也會被凍結。
這仍然是比側鏈更有力的保證,因為沒有黑客可以直接被利用,被入侵也沒有經濟利益。此外,監護人節點可以在消費者級別硬件上運行,因此它們不需要DPoS。這意味著更高的去中心化程度,從而帶來更高的數字安全性:黑客可能需要破壞數百個甚至數千個守護節點來控制大部分股權stake。
底線
無論用戶選擇哪種zkSync帳戶類型,它都會比側鏈安全得多。 ZK Rollups將提供最高的安全性,而zkPorter將提供可比的成本。在任何情況下,所有用戶都將能夠彼此無縫交互,從而形成更大的流動性池。
對開發者意味著什麼
zkSync是否支持Solidity智能合約?
是的
大多數DeFi和NFT項目無需更改代碼即可運行。但是,在第一個版本中,對SHA256和Keccak256的調用將被編譯器自動替換為電路友好的哈希函數。目前也不支持其他一些加密原語,例如ecrecover和加密預編譯。
UI如何與智能合約交互?可以重用當前的前端嗎?
可以通過我們的Web3 API和Ethers SDK與智能合約和zkSync網絡完全交互:
-
對於讀取請求:任何語言的任何符合web3的框架都可以開箱即用,並具有額外的可選zkSync L2特定功能。
-
對於寫請求(發送交易):由於L1和L2之間的根本區別,將不得不編寫一些額外的代碼(例如,zkSync支持以任何代幣支付費用,因此發送交易將涉及選擇代幣支付費用) .
所以,是的!開發者只需進行少量更改即可重用當前的前端(發送交易是不同的)。
用戶如何提交交易?支持哪些錢包?
對於與智能合約的交互,用戶將使用calldata的哈希值簽署EIP712消息。由於EIP712基於原生以太坊簽名,所有錢包,甚至硬件錢包,都無需任何擴展即可運行。