零知識證明 (ZKP) 和零知識匯總 (ZK-Rollups) 如何幫助解決可擴展性問題

中級4/8/2024, 3:54:44 AM
在本文中,我們將解釋什麼是零知識證明技術,並談論一個流行的區塊鏈項目 — zkSync:zkSync中的交易如何運作以及與以太坊虛擬機(EVM)的主要區別。

轉發原文標題《ZKP和ZK-Rollups 如何幫助解決可擴展性問題》

在這篇文章中,我們將解釋什麼是零知識證明技術,並討論一個流行的區塊鏈項目 — zkSync:zkSync中的交易如何運作以及與以太坊虛擬機(EVM)的主要區別。同時討論這個區塊鏈的優點和缺點,我們認爲它可能有一個充滿希望的未來。

ZkSync是以太坊的第二層區塊鏈(Layer — L2),旨在解決以太坊網路的高費用和有限吞吐量(每秒交易數 — TPS)等問題。該平台採用ZK-Rollup技術,利用零知識證明(ZKP)批量處理主網絡(L1)之外的多個交易。只有交易正確性的加密證明和它們的壓縮數據被發送到L1,大大提高了效率並降低了成本。

Matter Labs開發,zkSync被宣稱爲完全開源(100%開源)的產品,由社區管理。據Cryptorank稱,該項目已經引起關注,籌集了4.58億美元的投資。從長遠來看,Matter Labs旨在創建一個全面的生態系統。目前,有兩個區塊鏈正在運作:zkSync Lite,用於處理以太幣和ERC20代幣的支付,以及zkSync Era,支持完整的智能合約。未來計劃包括推出一個超級鏈系統(L3),確保高安全性。Matter Labs的目標是將這項技術擴展到一個吸引下一個十億區塊鏈用戶的水平。

背景

zkSync代表了一種解決被稱爲區塊鏈三難題的可擴展性問題的新方法。這個項目,像其他第二層(L2)解決方案一樣,旨在在區塊鏈網路中找到安全性、可擴展性和去中心化之間的平衡。

  1. 可擴展性:系統有效處理增長的交易量或數據的能力,而不損失性能和安全性。
  2. 區塊鏈安全性:確保數據可靠性和保護免受未經授權的訪問、篡改或修改。
  3. 去中心化:缺乏集中控制結構。在去中心化系統中,管理和決策權被民主地分配給所有網路參與者。

以太坊專注於安全性和去中心化,強調其作爲一個點對點協議,在全球範圍內分布節點。有關節點分布的最新信息,請參考NodeWatch

爲了保持網路的去中心化,每個節點必須驗證所有交易。這本質上會拖慢網路速度。此外,在網路負載高的情況下,交易可能會變得非常昂貴,並且需要大量時間來處理。

第2層

提高以太坊網路TPS而不增加節點負載的主要任務是引入分片技術,結合過渡到PoS(股權證明)共識機制。這涉及將驗證者分成子組,處理網路的不同部分,從而減少總體負載並增加吞吐量。然而,社區已經將注意力集中在第二層解決方案上,考慮到它們的快速發展。

除了在以太坊中實施分片技術的想法之外,還出現了其他的可擴展性解決方案,比如:

  • 支付和狀態通道
  • 側鏈
  • Plasma
  • Optimistic Rollup

以及基於零知識證明(ZKP)的技術,包括:

  • Validium
  • zkRollup
  • Volition

更詳細的信息可以找到這裏

盡管分片技術仍在開發中,但Dencun硬分叉計劃於2024年初實施Proto-danksharding。這個中間步驟旨在改進第二層解決方案,使L1上的數據存儲更經濟。因此,Proto-danksharding承諾降低L2上的交易成本,作爲向全面分片解決方案邁出的一步。

乍看之下,第二層區塊鏈可能看起來相似,因爲它們的主要任務是在L1之外增加交易數量,同時將安全保障的角色委托給L1。這類區塊鏈的開發者通常聲稱他們的解決方案是最快、最可靠和最簡單的。但實際上,擴展的每種方法都有其細微差別,以及關於交易速度、安全級別或去中心化程度的不可避免的妥協。完全中心化的解決方案也很常見。所有這些方面都將我們帶回到區塊鏈三難題的根本問題。

本文,提出了評估第 2 層解決方案中使用的協議的關鍵標準。他們包括:

  • 安全,
  • 性能和經濟效益,
  • 使用便捷性,
  • 額外方面包括智能合約支持、EVM字節碼兼容性和隱私選項。

重要提示!這篇文章是由Matter Labs撰寫的,據我看來,某些內容“拉伸”了對zkRollup的支持(因爲存在明顯的利益衝突),但這並不那麼重要,主要是要看到第二層協議之間存在哪些區別。下面我將提供一個表格,並簡要描述其內容。

安全性

  • 第二層協議的“活躍性”或“可行性”假設。假設爲了維持第二層功能,總會有一些參與者始終在第一層鏈上,以應對潛在的欺詐案例。這些參與者可能是在L1上抵押了一定數量資金的驗證者(在表格中標記爲“已抵押”),也可能是爲了獎勵而確保協議安全的第三方。從表格中可以看出,使用ZKP(Validium和zkRollup)的解決方案不需要這種必要性。
  • 大規模退出問題。出於安全原因,如果需要啓動所有用戶從L2到L1的資金提取,則會出現的問題。從表格中可以看出,這個問題僅存在於Plasma協議中,更多相關信息可以在這裏閱讀。
  • 托管。L2驗證者是否可以暫時阻止或沒收用戶的資金。
  • 經濟脆弱性。包括對L2驗證者的各種攻擊,包括賄賂L1礦工、創建“影子”DAO等經濟動機驅動的攻擊。
  • 密碼學。標準和新密碼原語之間的區別。標準密碼原語更受研究,但潛在脆弱,而新密碼原語(如SNARK和STARK)提供更高的可靠性,但需要開發者額外的知識和審核。

性能和經濟性

性能方面很直接。每秒交易數(TPS)表示網路的吞吐量,在擴展的背景下,它是最關鍵的參數。

經濟方面:

  • 資本效率:這一方面對於支付通道尤爲重要。它們需要凍結等於通道中操作的平均量的資金,使得它們在資本投資方面效率較低。
  • 在L1上創建L2帳戶的交易:這也是支付通道的一個缺點,因爲在所有其他解決方案中,在L1上創建的帳戶默認在L2中運作。
  • 交易成本:與TPS一樣,這是可擴展性的最關鍵因素之一,決定了解決方案的經濟吸引力。

使用便捷性

  • 從L2到L1的提款時間:這段時間可以從幾分鍾到幾周不等。在這方面,Optimistic Rollups和Plasma尤其不方便,因爲它們需要更長的時間來提取資金。
  • 交易主觀最終性的時間:確定了交易從外部觀察者的角度在L1上變得不可撤銷的速度。例如,在Optimistic Rollups中,只需要在以太坊上確認一次,就可以實現在L1上的最終性,但完全的交易最終性大約需要一周的時間。
  • 通過客戶端代碼驗證主觀最終性:確定了輕客戶端(瀏覽器/移動錢包)是否可以檢查主觀最終性的時間。以Optimistic Rollups爲例,要確認交易的最終性,用戶必須下載並驗證過去一周的整個狀態Rollup。
  • 即時交易確認:協議是否可以提供具有完全保證的即時交易確認?還是只在L2共識層面提供此保證。
  • 即時可見最終性:可以在大多數L2協議之上實現,這意味着交易在用戶界面中會立即得到確認。只有支付通道(狀態通道)爲這些確認提供了完全的安全保證,而在其他協議中,這些交易在在L1中得到確認之前的一段時間內仍然可以被撤銷。

其他方面

  • 智能合約:考慮L2解決方案是否支持完全可編程的智能合約,或者僅通過謂詞支持一組有限的功能。
  • 與EVM字節碼兼容性:評估將現有的以太坊EVM字節碼智能合約轉移到L2的可行性,而無需進行重大更改。
  • 內置隱私支持:考慮隱私保護在L2解決方案中的效率,特別是在機密交易的可用性和成本效益方面。

下面是基於ZKP的主要解決方案的對比表:

爲了更詳細地了解零知識證明(ZKP),我建議參考我們的區塊鏈百科中的這篇文章,該百科由開發人員爲開發人員創建,對證明和深入細節進行了深入探討。

zkSync 中的交易生命週期

ZK-Rollups的操作可以在高層次上表示如下:

  1. Rollup組成:交易被打包成一個Rollup。
  2. ZKP的創建:形成一個零知識證明。
  3. 在以太坊中驗證:證明被發送到一個以太坊智能合約進行驗證。

在zkSync架構的背景下,該過程如下:

  1. 內部塊的收集:zkSync驗證者每隔幾秒鍾收集來自交易的內部塊。
  2. 區塊包的形成:每30-90秒,從內部塊創建一個區塊包。
  3. 區塊鏈狀態承諾:驗證者記錄區塊鏈的當前狀態,並將修改後的數據作爲calldata傳輸到L1,以便進行可能的恢復。
  4. SNARK的計算和提交:驗證者計算該包的SNARK(ZKP)並將其發送到以太坊智能合約進行驗證。驗證完成後,新的網路狀態變爲最終狀態。

在ZK-Rollups中,驗證者扮演着關鍵角色,將交易打包成區塊並爲其生成零知識證明。該系統的一個特點是,驗證者在物理上無法竊取資金。他們可能造成的最重大潛在損害是暫時停止網路的運行。

注意:在zkSync Era中,驗證者的角色由運營者來執行。

zkSync的開發人員強調他們架構的以下保證:

  1. 資金安全:運營者永遠不會損害網路狀態或竊取資金,這與側鏈相比是一個優勢。
  2. 資金恢復的可能性:即使運營者停止運營,用戶仍然可以提取他們的資金。這得益於數據的可用性,與Plasma系統不同。
  3. 獨立於監控:由於ZKP的存在,用戶或可信第三方不需要持續監控Rollup區塊以防止欺詐行爲,這與基於欺詐證明的系統(如支付通道或樂觀Rollup)相比是一個優勢。

在zkSync Era中,交易經歷了幾個關鍵狀態,與L1中的常規Rollup確認不同:

  • 待處理:交易已被運營者接收,但尚未被處理。
  • 處理中:交易正在由運營者處理,並準備好包含在下一個區塊中。
  • 已提交:交易數據已發布在以太坊上,確保數據可用性,但並未確認其正確執行。
  • 已執行:最終階段,交易的有效性證明(SNARK)由以太坊智能合約進行驗證,使交易最終確定。

除了區塊編號外,zkSync中的交易還顯示了包編號。最初,參數如block.number、block.timestamp和blockhash都是從L1獲取的。然而,在更新後,這些值現在將從L2獲取。盡管如此,開發人員計劃提供訪問來自L1的數據的方法。

zkEVM 和 EVM 之間的差異

基於ZKP的L2解決方案與以太坊的兼容性是一個復雜的任務。這是因爲以太坊最初並不是爲與ZKP的最佳交互而設計的。因此,在開發這樣的系統時,必須在性能和可擴展性潛力之間找到一種折衷,同時與以太坊和EVM保持兼容性。Vitalik Buterin的文章“不同類型的ZK-EVMs”詳細討論了這些方面,並突出了不同級別的兼容性。

zkSync選擇了其中一條最具挑戰性的道路,旨在實現高性能,但與以太坊和EVM的兼容性有限。爲了獲得與zkEVM兼容的字節碼,使用了LLVM項目以及一套專有的編譯器和優化器。對於Solidity和Yul,經過標準的solc編譯器之後,代碼還必須經過幾個更多的階段,才能變成zkEVM字節碼。下面的圖示展示了這個過程的所有階段(在這裏描述得更詳細):

重要提示!zksolc中支持優化。

專門爲EVM編譯的字節碼與zkEVM不兼容。這意味着以太坊和zkSync中相同智能合約的地址將不同。然而,開發人員計劃在未來解決這個問題。

這種方法的一個重要優勢是不依賴於特定的編程語言。未來,zkSync的開發人員承諾添加對諸如Rust和C++之類的語言的支持。重要的是,高級編譯器(例如solc)和平台編譯器(例如zksolc)之間的更新和創新集成的延遲是最小的。最初,有一個想法是創建他們自己的編程語言Zinc,但目前團隊的重點是支持更流行的編程語言。

zk-編譯器與現有的Solidity和Vyper智能合約開發和調試工具的兼容性問題非常重要。目前的開發平台,如Remix、Hardhat和Foundry,在開箱即用時不支持zk-編譯器,這給使用它們帶來了困難。然而,正在開發的解決方案承諾簡化項目遷移和適應新技術的過程。

Vitalik Buterin的文章提到,以太坊可能會努力隨着時間的推移,在協議級別改善與ZKP的兼容性。同樣,基於ZKP的L2解決方案將調整以更好地與以太坊兼容。因此,將來,這些系統之間的差異可能會變得幾乎不可察覺,爲開發人員提供更順暢的集成和過渡。

zkEVM的特點

重要提示!該協議正在積極開發中;請始終參考最新版本的文檔!

zkEVM與EVM不同,盡管開發人員努力在“底層”隱藏這些差異,但在編寫智能合約時需要考慮一些重要特性:

  1. 與EVM的差異:爲zkEVM編寫的Solidity代碼的行爲可能會有所不同,特別是在諸如block.timestamp和block.number等方面。定期檢查文檔以了解更改是很重要的。
  2. 系統合約:在zkSync中,有用於各種功能的系統智能合約,比如ContractDeployer用於部署智能合約,MsgValueSimulator用於處理ETH。更多關於系統智能合約的信息可以在文檔中找到。
  3. 部署時的代理模式:建議在部署後的前幾個月使用代理模式,以防止潛在的編譯器錯誤。
  4. Gas計算:zkEVM中的Gas計算模型與以太坊不同,包括一組不同的操作碼和Gas價格依賴於L1。詳情請參閱這裏
  5. 本地測試:標準工具,如Hardhat Node或Anvil,並不適用於zkEVM的本地測試。而是使用特殊選項,包括fork模式測試。
  6. 籤名驗證:建議使用內置的帳戶抽象支持,而不是ecrecover。
  7. 跟蹤與Gas相關的錯誤:在zkSync中,由於在DefaultAccount系統智能合約內執行的特性,無法跟蹤與Gas短缺相關的錯誤。

爲了深入了解如何使用zkEVM,建議研究文檔,包括“安全性和最佳實踐”部分。

帳戶抽象

在zkSync中,帳戶抽象相對於ERC-4337具有幾個關鍵優勢:

  1. 實現層面:在zkSync中,帳戶抽象是內置在協議層面的,使得所有帳戶,包括外部擁有的帳戶(EOA),在功能上類似於智能合約。
  2. 交易處理:盡管ERC-4337爲捆綁器使用單獨的內存池,從而創建了兩種不同的交易流,但zkSync Era只有一個內存池。這意味着來自EOA和智能合約的交易在一個流中處理,確保了更順暢的集成和處理。
  3. 支持支付主體:zkSync支持所有類型的帳戶的支付主體,允許以ERC20代幣配置gas費用。

zkSync 基礎設施

zkSync Era的基礎設施正在迅速發展,並已包括數十種協議:橋接協議、DeFi、基礎設施協議等等。 (當前列表可以在此處查看)。

另一個優點是與以太坊錢包的兼容性,例如MetaMask或TrustWallet。

超級鏈

zkSync協議的發展始於zkSync Lite的推出,該版本僅針對以太幣和ERC-20代幣的轉帳,無法部署完整的協議。這一階段是發展的重要步驟,但只是zkSync Era的到來之前的前奏——zkSync Era是以太坊的一個完整的L2解決方案,理論上也可以適應其他L1區塊鏈。然而,zkSync的雄心並不止於此,因爲開發計劃還包括推出所謂的超級鏈。

超級鏈,或稱“分形擴展”,由ZKP網路組成,每個網路形成自己的區塊和證明。然後,這些證明被收集在一起並發布在主要的L1網路上。這些網路中的每一個都是整個系統的完整副本,可以被視爲其“分形”。

超級鏈的獨特之處在於它們可以獨立創建和部署。爲了保持一致性和兼容性,每個超級鏈必須使用一個共同的zkEVM引擎,作爲ZK棧的一部分(其中zkSync Era充當第一個超級鏈)。這使得超級鏈能夠從L1繼承其安全性,確保其可靠性,並消除對額外信任和安全措施的需求。

超級鏈代表了擴展區塊鏈網路的創新方法,減輕了主要網路的負載並提高了交易處理速度。該方法的關鍵方面包括:

  • 超級鏈之間的證明傳輸:超級鏈將相互傳輸區塊證明,增加了交易到達主要L1網路前所需的距離。這有助於分散負載,避免瓶頸問題的發生。

  • 對用戶的透明度:用戶不會注意到任何差異——他們的交易在超級鏈中處理,並且在到達主網絡之前可能會經過幾個級別,從而在處理中創建了異步性。
  • 優於現有解決方案:與當前的L2解決方案不同,這些解決方案雖然速度更快,但在交易量上仍然存在限制,有時會在安全性上做出妥協,而超級鏈承諾具有顯著更高的可擴展性。
  • 創建自定義區塊鏈的靈活性:超級鏈允許創建具有不同安全性和隱私級別的自定義區塊鏈和帳戶。即使安全級別較低,在最壞的情況下,也只會出現資金的臨時凍結。

有關這一切的更多信息可以找到這裏

zkSync 的優點和缺點

優點

  1. 安全性:接近L1級別的安全性,未來具備去中心化的潛力。
  2. EVM兼容性:支持與EVM兼容的智能合約。
  3. Web3 API和錢包:標準的Web3 API和對諸如MetaMask等以太坊錢包的支持。
  4. 帳戶抽象:原生支持帳戶抽象。
  5. 交易速度:在L2上進行快速交易處理,隨後在L1上確認。
  6. 低費用:與L1相比,降低了Gas費用。
  7. ERC20 Gas支付:能夠使用ERC20代幣支付Gas費用。
  8. 不斷發展的基礎設施:非常活躍的基礎設施發展。
  9. 可擴展性潛力:具有顯著擴展性改進的機會。

缺點

  1. 有限的EVM兼容性:與競爭對手(如Polygon zkEVM、Scroll等)相比,其EVM兼容性較低。
  2. 智能合約中的錯誤風險:錯誤風險增加,需要進行徹底的測試和審計。
  3. 特定的開發棧需求:需要將開發棧適應協議的具體要求。
  4. 落後於核心技術:在編譯器和庫更新方面採用創新的速度有所延遲。
  5. 網路集中化:目前,網路由有限數量的運營商管理。
  6. 需要可升級的智能合約:由於以上原因,有必要在項目開始時始終制定可升級的合約,以便及時糾正缺陷和漏洞。

結論

zkSync協議看起來非常有前景,具有巨大的潛力,盡管目前,在這個區塊鏈上啓動仍然涉及一些需要考慮的風險。目前,爲zkSync開發相對於與EVM和EVM開發棧更兼容的區塊鏈來說可能更具挑戰性。然而,也許在未來,這種差異將變得微不足道,甚至完全消失。

聲明:

  1. 本文轉載自[MetaLamp],原文標題《How ZKP and ZK-Rollups help solve the scalability problem: a review of the zkSync blockchain》,著作權歸屬原作者[ MetaLamp ],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。

零知識證明 (ZKP) 和零知識匯總 (ZK-Rollups) 如何幫助解決可擴展性問題

中級4/8/2024, 3:54:44 AM
在本文中,我們將解釋什麼是零知識證明技術,並談論一個流行的區塊鏈項目 — zkSync:zkSync中的交易如何運作以及與以太坊虛擬機(EVM)的主要區別。

轉發原文標題《ZKP和ZK-Rollups 如何幫助解決可擴展性問題》

在這篇文章中,我們將解釋什麼是零知識證明技術,並討論一個流行的區塊鏈項目 — zkSync:zkSync中的交易如何運作以及與以太坊虛擬機(EVM)的主要區別。同時討論這個區塊鏈的優點和缺點,我們認爲它可能有一個充滿希望的未來。

ZkSync是以太坊的第二層區塊鏈(Layer — L2),旨在解決以太坊網路的高費用和有限吞吐量(每秒交易數 — TPS)等問題。該平台採用ZK-Rollup技術,利用零知識證明(ZKP)批量處理主網絡(L1)之外的多個交易。只有交易正確性的加密證明和它們的壓縮數據被發送到L1,大大提高了效率並降低了成本。

Matter Labs開發,zkSync被宣稱爲完全開源(100%開源)的產品,由社區管理。據Cryptorank稱,該項目已經引起關注,籌集了4.58億美元的投資。從長遠來看,Matter Labs旨在創建一個全面的生態系統。目前,有兩個區塊鏈正在運作:zkSync Lite,用於處理以太幣和ERC20代幣的支付,以及zkSync Era,支持完整的智能合約。未來計劃包括推出一個超級鏈系統(L3),確保高安全性。Matter Labs的目標是將這項技術擴展到一個吸引下一個十億區塊鏈用戶的水平。

背景

zkSync代表了一種解決被稱爲區塊鏈三難題的可擴展性問題的新方法。這個項目,像其他第二層(L2)解決方案一樣,旨在在區塊鏈網路中找到安全性、可擴展性和去中心化之間的平衡。

  1. 可擴展性:系統有效處理增長的交易量或數據的能力,而不損失性能和安全性。
  2. 區塊鏈安全性:確保數據可靠性和保護免受未經授權的訪問、篡改或修改。
  3. 去中心化:缺乏集中控制結構。在去中心化系統中,管理和決策權被民主地分配給所有網路參與者。

以太坊專注於安全性和去中心化,強調其作爲一個點對點協議,在全球範圍內分布節點。有關節點分布的最新信息,請參考NodeWatch

爲了保持網路的去中心化,每個節點必須驗證所有交易。這本質上會拖慢網路速度。此外,在網路負載高的情況下,交易可能會變得非常昂貴,並且需要大量時間來處理。

第2層

提高以太坊網路TPS而不增加節點負載的主要任務是引入分片技術,結合過渡到PoS(股權證明)共識機制。這涉及將驗證者分成子組,處理網路的不同部分,從而減少總體負載並增加吞吐量。然而,社區已經將注意力集中在第二層解決方案上,考慮到它們的快速發展。

除了在以太坊中實施分片技術的想法之外,還出現了其他的可擴展性解決方案,比如:

  • 支付和狀態通道
  • 側鏈
  • Plasma
  • Optimistic Rollup

以及基於零知識證明(ZKP)的技術,包括:

  • Validium
  • zkRollup
  • Volition

更詳細的信息可以找到這裏

盡管分片技術仍在開發中,但Dencun硬分叉計劃於2024年初實施Proto-danksharding。這個中間步驟旨在改進第二層解決方案,使L1上的數據存儲更經濟。因此,Proto-danksharding承諾降低L2上的交易成本,作爲向全面分片解決方案邁出的一步。

乍看之下,第二層區塊鏈可能看起來相似,因爲它們的主要任務是在L1之外增加交易數量,同時將安全保障的角色委托給L1。這類區塊鏈的開發者通常聲稱他們的解決方案是最快、最可靠和最簡單的。但實際上,擴展的每種方法都有其細微差別,以及關於交易速度、安全級別或去中心化程度的不可避免的妥協。完全中心化的解決方案也很常見。所有這些方面都將我們帶回到區塊鏈三難題的根本問題。

本文,提出了評估第 2 層解決方案中使用的協議的關鍵標準。他們包括:

  • 安全,
  • 性能和經濟效益,
  • 使用便捷性,
  • 額外方面包括智能合約支持、EVM字節碼兼容性和隱私選項。

重要提示!這篇文章是由Matter Labs撰寫的,據我看來,某些內容“拉伸”了對zkRollup的支持(因爲存在明顯的利益衝突),但這並不那麼重要,主要是要看到第二層協議之間存在哪些區別。下面我將提供一個表格,並簡要描述其內容。

安全性

  • 第二層協議的“活躍性”或“可行性”假設。假設爲了維持第二層功能,總會有一些參與者始終在第一層鏈上,以應對潛在的欺詐案例。這些參與者可能是在L1上抵押了一定數量資金的驗證者(在表格中標記爲“已抵押”),也可能是爲了獎勵而確保協議安全的第三方。從表格中可以看出,使用ZKP(Validium和zkRollup)的解決方案不需要這種必要性。
  • 大規模退出問題。出於安全原因,如果需要啓動所有用戶從L2到L1的資金提取,則會出現的問題。從表格中可以看出,這個問題僅存在於Plasma協議中,更多相關信息可以在這裏閱讀。
  • 托管。L2驗證者是否可以暫時阻止或沒收用戶的資金。
  • 經濟脆弱性。包括對L2驗證者的各種攻擊,包括賄賂L1礦工、創建“影子”DAO等經濟動機驅動的攻擊。
  • 密碼學。標準和新密碼原語之間的區別。標準密碼原語更受研究,但潛在脆弱,而新密碼原語(如SNARK和STARK)提供更高的可靠性,但需要開發者額外的知識和審核。

性能和經濟性

性能方面很直接。每秒交易數(TPS)表示網路的吞吐量,在擴展的背景下,它是最關鍵的參數。

經濟方面:

  • 資本效率:這一方面對於支付通道尤爲重要。它們需要凍結等於通道中操作的平均量的資金,使得它們在資本投資方面效率較低。
  • 在L1上創建L2帳戶的交易:這也是支付通道的一個缺點,因爲在所有其他解決方案中,在L1上創建的帳戶默認在L2中運作。
  • 交易成本:與TPS一樣,這是可擴展性的最關鍵因素之一,決定了解決方案的經濟吸引力。

使用便捷性

  • 從L2到L1的提款時間:這段時間可以從幾分鍾到幾周不等。在這方面,Optimistic Rollups和Plasma尤其不方便,因爲它們需要更長的時間來提取資金。
  • 交易主觀最終性的時間:確定了交易從外部觀察者的角度在L1上變得不可撤銷的速度。例如,在Optimistic Rollups中,只需要在以太坊上確認一次,就可以實現在L1上的最終性,但完全的交易最終性大約需要一周的時間。
  • 通過客戶端代碼驗證主觀最終性:確定了輕客戶端(瀏覽器/移動錢包)是否可以檢查主觀最終性的時間。以Optimistic Rollups爲例,要確認交易的最終性,用戶必須下載並驗證過去一周的整個狀態Rollup。
  • 即時交易確認:協議是否可以提供具有完全保證的即時交易確認?還是只在L2共識層面提供此保證。
  • 即時可見最終性:可以在大多數L2協議之上實現,這意味着交易在用戶界面中會立即得到確認。只有支付通道(狀態通道)爲這些確認提供了完全的安全保證,而在其他協議中,這些交易在在L1中得到確認之前的一段時間內仍然可以被撤銷。

其他方面

  • 智能合約:考慮L2解決方案是否支持完全可編程的智能合約,或者僅通過謂詞支持一組有限的功能。
  • 與EVM字節碼兼容性:評估將現有的以太坊EVM字節碼智能合約轉移到L2的可行性,而無需進行重大更改。
  • 內置隱私支持:考慮隱私保護在L2解決方案中的效率,特別是在機密交易的可用性和成本效益方面。

下面是基於ZKP的主要解決方案的對比表:

爲了更詳細地了解零知識證明(ZKP),我建議參考我們的區塊鏈百科中的這篇文章,該百科由開發人員爲開發人員創建,對證明和深入細節進行了深入探討。

zkSync 中的交易生命週期

ZK-Rollups的操作可以在高層次上表示如下:

  1. Rollup組成:交易被打包成一個Rollup。
  2. ZKP的創建:形成一個零知識證明。
  3. 在以太坊中驗證:證明被發送到一個以太坊智能合約進行驗證。

在zkSync架構的背景下,該過程如下:

  1. 內部塊的收集:zkSync驗證者每隔幾秒鍾收集來自交易的內部塊。
  2. 區塊包的形成:每30-90秒,從內部塊創建一個區塊包。
  3. 區塊鏈狀態承諾:驗證者記錄區塊鏈的當前狀態,並將修改後的數據作爲calldata傳輸到L1,以便進行可能的恢復。
  4. SNARK的計算和提交:驗證者計算該包的SNARK(ZKP)並將其發送到以太坊智能合約進行驗證。驗證完成後,新的網路狀態變爲最終狀態。

在ZK-Rollups中,驗證者扮演着關鍵角色,將交易打包成區塊並爲其生成零知識證明。該系統的一個特點是,驗證者在物理上無法竊取資金。他們可能造成的最重大潛在損害是暫時停止網路的運行。

注意:在zkSync Era中,驗證者的角色由運營者來執行。

zkSync的開發人員強調他們架構的以下保證:

  1. 資金安全:運營者永遠不會損害網路狀態或竊取資金,這與側鏈相比是一個優勢。
  2. 資金恢復的可能性:即使運營者停止運營,用戶仍然可以提取他們的資金。這得益於數據的可用性,與Plasma系統不同。
  3. 獨立於監控:由於ZKP的存在,用戶或可信第三方不需要持續監控Rollup區塊以防止欺詐行爲,這與基於欺詐證明的系統(如支付通道或樂觀Rollup)相比是一個優勢。

在zkSync Era中,交易經歷了幾個關鍵狀態,與L1中的常規Rollup確認不同:

  • 待處理:交易已被運營者接收,但尚未被處理。
  • 處理中:交易正在由運營者處理,並準備好包含在下一個區塊中。
  • 已提交:交易數據已發布在以太坊上,確保數據可用性,但並未確認其正確執行。
  • 已執行:最終階段,交易的有效性證明(SNARK)由以太坊智能合約進行驗證,使交易最終確定。

除了區塊編號外,zkSync中的交易還顯示了包編號。最初,參數如block.number、block.timestamp和blockhash都是從L1獲取的。然而,在更新後,這些值現在將從L2獲取。盡管如此,開發人員計劃提供訪問來自L1的數據的方法。

zkEVM 和 EVM 之間的差異

基於ZKP的L2解決方案與以太坊的兼容性是一個復雜的任務。這是因爲以太坊最初並不是爲與ZKP的最佳交互而設計的。因此,在開發這樣的系統時,必須在性能和可擴展性潛力之間找到一種折衷,同時與以太坊和EVM保持兼容性。Vitalik Buterin的文章“不同類型的ZK-EVMs”詳細討論了這些方面,並突出了不同級別的兼容性。

zkSync選擇了其中一條最具挑戰性的道路,旨在實現高性能,但與以太坊和EVM的兼容性有限。爲了獲得與zkEVM兼容的字節碼,使用了LLVM項目以及一套專有的編譯器和優化器。對於Solidity和Yul,經過標準的solc編譯器之後,代碼還必須經過幾個更多的階段,才能變成zkEVM字節碼。下面的圖示展示了這個過程的所有階段(在這裏描述得更詳細):

重要提示!zksolc中支持優化。

專門爲EVM編譯的字節碼與zkEVM不兼容。這意味着以太坊和zkSync中相同智能合約的地址將不同。然而,開發人員計劃在未來解決這個問題。

這種方法的一個重要優勢是不依賴於特定的編程語言。未來,zkSync的開發人員承諾添加對諸如Rust和C++之類的語言的支持。重要的是,高級編譯器(例如solc)和平台編譯器(例如zksolc)之間的更新和創新集成的延遲是最小的。最初,有一個想法是創建他們自己的編程語言Zinc,但目前團隊的重點是支持更流行的編程語言。

zk-編譯器與現有的Solidity和Vyper智能合約開發和調試工具的兼容性問題非常重要。目前的開發平台,如Remix、Hardhat和Foundry,在開箱即用時不支持zk-編譯器,這給使用它們帶來了困難。然而,正在開發的解決方案承諾簡化項目遷移和適應新技術的過程。

Vitalik Buterin的文章提到,以太坊可能會努力隨着時間的推移,在協議級別改善與ZKP的兼容性。同樣,基於ZKP的L2解決方案將調整以更好地與以太坊兼容。因此,將來,這些系統之間的差異可能會變得幾乎不可察覺,爲開發人員提供更順暢的集成和過渡。

zkEVM的特點

重要提示!該協議正在積極開發中;請始終參考最新版本的文檔!

zkEVM與EVM不同,盡管開發人員努力在“底層”隱藏這些差異,但在編寫智能合約時需要考慮一些重要特性:

  1. 與EVM的差異:爲zkEVM編寫的Solidity代碼的行爲可能會有所不同,特別是在諸如block.timestamp和block.number等方面。定期檢查文檔以了解更改是很重要的。
  2. 系統合約:在zkSync中,有用於各種功能的系統智能合約,比如ContractDeployer用於部署智能合約,MsgValueSimulator用於處理ETH。更多關於系統智能合約的信息可以在文檔中找到。
  3. 部署時的代理模式:建議在部署後的前幾個月使用代理模式,以防止潛在的編譯器錯誤。
  4. Gas計算:zkEVM中的Gas計算模型與以太坊不同,包括一組不同的操作碼和Gas價格依賴於L1。詳情請參閱這裏
  5. 本地測試:標準工具,如Hardhat Node或Anvil,並不適用於zkEVM的本地測試。而是使用特殊選項,包括fork模式測試。
  6. 籤名驗證:建議使用內置的帳戶抽象支持,而不是ecrecover。
  7. 跟蹤與Gas相關的錯誤:在zkSync中,由於在DefaultAccount系統智能合約內執行的特性,無法跟蹤與Gas短缺相關的錯誤。

爲了深入了解如何使用zkEVM,建議研究文檔,包括“安全性和最佳實踐”部分。

帳戶抽象

在zkSync中,帳戶抽象相對於ERC-4337具有幾個關鍵優勢:

  1. 實現層面:在zkSync中,帳戶抽象是內置在協議層面的,使得所有帳戶,包括外部擁有的帳戶(EOA),在功能上類似於智能合約。
  2. 交易處理:盡管ERC-4337爲捆綁器使用單獨的內存池,從而創建了兩種不同的交易流,但zkSync Era只有一個內存池。這意味着來自EOA和智能合約的交易在一個流中處理,確保了更順暢的集成和處理。
  3. 支持支付主體:zkSync支持所有類型的帳戶的支付主體,允許以ERC20代幣配置gas費用。

zkSync 基礎設施

zkSync Era的基礎設施正在迅速發展,並已包括數十種協議:橋接協議、DeFi、基礎設施協議等等。 (當前列表可以在此處查看)。

另一個優點是與以太坊錢包的兼容性,例如MetaMask或TrustWallet。

超級鏈

zkSync協議的發展始於zkSync Lite的推出,該版本僅針對以太幣和ERC-20代幣的轉帳,無法部署完整的協議。這一階段是發展的重要步驟,但只是zkSync Era的到來之前的前奏——zkSync Era是以太坊的一個完整的L2解決方案,理論上也可以適應其他L1區塊鏈。然而,zkSync的雄心並不止於此,因爲開發計劃還包括推出所謂的超級鏈。

超級鏈,或稱“分形擴展”,由ZKP網路組成,每個網路形成自己的區塊和證明。然後,這些證明被收集在一起並發布在主要的L1網路上。這些網路中的每一個都是整個系統的完整副本,可以被視爲其“分形”。

超級鏈的獨特之處在於它們可以獨立創建和部署。爲了保持一致性和兼容性,每個超級鏈必須使用一個共同的zkEVM引擎,作爲ZK棧的一部分(其中zkSync Era充當第一個超級鏈)。這使得超級鏈能夠從L1繼承其安全性,確保其可靠性,並消除對額外信任和安全措施的需求。

超級鏈代表了擴展區塊鏈網路的創新方法,減輕了主要網路的負載並提高了交易處理速度。該方法的關鍵方面包括:

  • 超級鏈之間的證明傳輸:超級鏈將相互傳輸區塊證明,增加了交易到達主要L1網路前所需的距離。這有助於分散負載,避免瓶頸問題的發生。

  • 對用戶的透明度:用戶不會注意到任何差異——他們的交易在超級鏈中處理,並且在到達主網絡之前可能會經過幾個級別,從而在處理中創建了異步性。
  • 優於現有解決方案:與當前的L2解決方案不同,這些解決方案雖然速度更快,但在交易量上仍然存在限制,有時會在安全性上做出妥協,而超級鏈承諾具有顯著更高的可擴展性。
  • 創建自定義區塊鏈的靈活性:超級鏈允許創建具有不同安全性和隱私級別的自定義區塊鏈和帳戶。即使安全級別較低,在最壞的情況下,也只會出現資金的臨時凍結。

有關這一切的更多信息可以找到這裏

zkSync 的優點和缺點

優點

  1. 安全性:接近L1級別的安全性,未來具備去中心化的潛力。
  2. EVM兼容性:支持與EVM兼容的智能合約。
  3. Web3 API和錢包:標準的Web3 API和對諸如MetaMask等以太坊錢包的支持。
  4. 帳戶抽象:原生支持帳戶抽象。
  5. 交易速度:在L2上進行快速交易處理,隨後在L1上確認。
  6. 低費用:與L1相比,降低了Gas費用。
  7. ERC20 Gas支付:能夠使用ERC20代幣支付Gas費用。
  8. 不斷發展的基礎設施:非常活躍的基礎設施發展。
  9. 可擴展性潛力:具有顯著擴展性改進的機會。

缺點

  1. 有限的EVM兼容性:與競爭對手(如Polygon zkEVM、Scroll等)相比,其EVM兼容性較低。
  2. 智能合約中的錯誤風險:錯誤風險增加,需要進行徹底的測試和審計。
  3. 特定的開發棧需求:需要將開發棧適應協議的具體要求。
  4. 落後於核心技術:在編譯器和庫更新方面採用創新的速度有所延遲。
  5. 網路集中化:目前,網路由有限數量的運營商管理。
  6. 需要可升級的智能合約:由於以上原因,有必要在項目開始時始終制定可升級的合約,以便及時糾正缺陷和漏洞。

結論

zkSync協議看起來非常有前景,具有巨大的潛力,盡管目前,在這個區塊鏈上啓動仍然涉及一些需要考慮的風險。目前,爲zkSync開發相對於與EVM和EVM開發棧更兼容的區塊鏈來說可能更具挑戰性。然而,也許在未來,這種差異將變得微不足道,甚至完全消失。

聲明:

  1. 本文轉載自[MetaLamp],原文標題《How ZKP and ZK-Rollups help solve the scalability problem: a review of the zkSync blockchain》,著作權歸屬原作者[ MetaLamp ],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.