轉發原文標題《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)解決方案一樣,旨在在區塊鏈網路中找到安全性、可擴展性和去中心化之間的平衡。
以太坊專注於安全性和去中心化,強調其作爲一個點對點協議,在全球範圍內分布節點。有關節點分布的最新信息,請參考NodeWatch。
爲了保持網路的去中心化,每個節點必須驗證所有交易。這本質上會拖慢網路速度。此外,在網路負載高的情況下,交易可能會變得非常昂貴,並且需要大量時間來處理。
提高以太坊網路TPS而不增加節點負載的主要任務是引入分片技術,結合過渡到PoS(股權證明)共識機制。這涉及將驗證者分成子組,處理網路的不同部分,從而減少總體負載並增加吞吐量。然而,社區已經將注意力集中在第二層解決方案上,考慮到它們的快速發展。
除了在以太坊中實施分片技術的想法之外,還出現了其他的可擴展性解決方案,比如:
以及基於零知識證明(ZKP)的技術,包括:
更詳細的信息可以找到這裏。
盡管分片技術仍在開發中,但Dencun硬分叉計劃於2024年初實施Proto-danksharding。這個中間步驟旨在改進第二層解決方案,使L1上的數據存儲更經濟。因此,Proto-danksharding承諾降低L2上的交易成本,作爲向全面分片解決方案邁出的一步。
乍看之下,第二層區塊鏈可能看起來相似,因爲它們的主要任務是在L1之外增加交易數量,同時將安全保障的角色委托給L1。這類區塊鏈的開發者通常聲稱他們的解決方案是最快、最可靠和最簡單的。但實際上,擴展的每種方法都有其細微差別,以及關於交易速度、安全級別或去中心化程度的不可避免的妥協。完全中心化的解決方案也很常見。所有這些方面都將我們帶回到區塊鏈三難題的根本問題。
在本文,提出了評估第 2 層解決方案中使用的協議的關鍵標準。他們包括:
重要提示!這篇文章是由Matter Labs撰寫的,據我看來,某些內容“拉伸”了對zkRollup的支持(因爲存在明顯的利益衝突),但這並不那麼重要,主要是要看到第二層協議之間存在哪些區別。下面我將提供一個表格,並簡要描述其內容。
性能方面很直接。每秒交易數(TPS)表示網路的吞吐量,在擴展的背景下,它是最關鍵的參數。
經濟方面:
下面是基於ZKP的主要解決方案的對比表:
爲了更詳細地了解零知識證明(ZKP),我建議參考我們的區塊鏈百科中的這篇文章,該百科由開發人員爲開發人員創建,對證明和深入細節進行了深入探討。
ZK-Rollups的操作可以在高層次上表示如下:
在zkSync架構的背景下,該過程如下:
在ZK-Rollups中,驗證者扮演着關鍵角色,將交易打包成區塊並爲其生成零知識證明。該系統的一個特點是,驗證者在物理上無法竊取資金。他們可能造成的最重大潛在損害是暫時停止網路的運行。
注意:在zkSync Era中,驗證者的角色由運營者來執行。
zkSync的開發人員強調他們架構的以下保證:
在zkSync Era中,交易經歷了幾個關鍵狀態,與L1中的常規Rollup確認不同:
除了區塊編號外,zkSync中的交易還顯示了包編號。最初,參數如block.number、block.timestamp和blockhash都是從L1獲取的。然而,在更新後,這些值現在將從L2獲取。盡管如此,開發人員計劃提供訪問來自L1的數據的方法。
基於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與EVM不同,盡管開發人員努力在“底層”隱藏這些差異,但在編寫智能合約時需要考慮一些重要特性:
爲了深入了解如何使用zkEVM,建議研究文檔,包括“安全性和最佳實踐”部分。
在zkSync中,帳戶抽象相對於ERC-4337具有幾個關鍵優勢:
zkSync Era的基礎設施正在迅速發展,並已包括數十種協議:橋接協議、DeFi、基礎設施協議等等。 (當前列表可以在此處查看)。
另一個優點是與以太坊錢包的兼容性,例如MetaMask或TrustWallet。
zkSync協議的發展始於zkSync Lite的推出,該版本僅針對以太幣和ERC-20代幣的轉帳,無法部署完整的協議。這一階段是發展的重要步驟,但只是zkSync Era的到來之前的前奏——zkSync Era是以太坊的一個完整的L2解決方案,理論上也可以適應其他L1區塊鏈。然而,zkSync的雄心並不止於此,因爲開發計劃還包括推出所謂的超級鏈。
超級鏈,或稱“分形擴展”,由ZKP網路組成,每個網路形成自己的區塊和證明。然後,這些證明被收集在一起並發布在主要的L1網路上。這些網路中的每一個都是整個系統的完整副本,可以被視爲其“分形”。
超級鏈的獨特之處在於它們可以獨立創建和部署。爲了保持一致性和兼容性,每個超級鏈必須使用一個共同的zkEVM引擎,作爲ZK棧的一部分(其中zkSync Era充當第一個超級鏈)。這使得超級鏈能夠從L1繼承其安全性,確保其可靠性,並消除對額外信任和安全措施的需求。
超級鏈代表了擴展區塊鏈網路的創新方法,減輕了主要網路的負載並提高了交易處理速度。該方法的關鍵方面包括:
有關這一切的更多信息可以找到這裏。
zkSync協議看起來非常有前景,具有巨大的潛力,盡管目前,在這個區塊鏈上啓動仍然涉及一些需要考慮的風險。目前,爲zkSync開發相對於與EVM和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)解決方案一樣,旨在在區塊鏈網路中找到安全性、可擴展性和去中心化之間的平衡。
以太坊專注於安全性和去中心化,強調其作爲一個點對點協議,在全球範圍內分布節點。有關節點分布的最新信息,請參考NodeWatch。
爲了保持網路的去中心化,每個節點必須驗證所有交易。這本質上會拖慢網路速度。此外,在網路負載高的情況下,交易可能會變得非常昂貴,並且需要大量時間來處理。
提高以太坊網路TPS而不增加節點負載的主要任務是引入分片技術,結合過渡到PoS(股權證明)共識機制。這涉及將驗證者分成子組,處理網路的不同部分,從而減少總體負載並增加吞吐量。然而,社區已經將注意力集中在第二層解決方案上,考慮到它們的快速發展。
除了在以太坊中實施分片技術的想法之外,還出現了其他的可擴展性解決方案,比如:
以及基於零知識證明(ZKP)的技術,包括:
更詳細的信息可以找到這裏。
盡管分片技術仍在開發中,但Dencun硬分叉計劃於2024年初實施Proto-danksharding。這個中間步驟旨在改進第二層解決方案,使L1上的數據存儲更經濟。因此,Proto-danksharding承諾降低L2上的交易成本,作爲向全面分片解決方案邁出的一步。
乍看之下,第二層區塊鏈可能看起來相似,因爲它們的主要任務是在L1之外增加交易數量,同時將安全保障的角色委托給L1。這類區塊鏈的開發者通常聲稱他們的解決方案是最快、最可靠和最簡單的。但實際上,擴展的每種方法都有其細微差別,以及關於交易速度、安全級別或去中心化程度的不可避免的妥協。完全中心化的解決方案也很常見。所有這些方面都將我們帶回到區塊鏈三難題的根本問題。
在本文,提出了評估第 2 層解決方案中使用的協議的關鍵標準。他們包括:
重要提示!這篇文章是由Matter Labs撰寫的,據我看來,某些內容“拉伸”了對zkRollup的支持(因爲存在明顯的利益衝突),但這並不那麼重要,主要是要看到第二層協議之間存在哪些區別。下面我將提供一個表格,並簡要描述其內容。
性能方面很直接。每秒交易數(TPS)表示網路的吞吐量,在擴展的背景下,它是最關鍵的參數。
經濟方面:
下面是基於ZKP的主要解決方案的對比表:
爲了更詳細地了解零知識證明(ZKP),我建議參考我們的區塊鏈百科中的這篇文章,該百科由開發人員爲開發人員創建,對證明和深入細節進行了深入探討。
ZK-Rollups的操作可以在高層次上表示如下:
在zkSync架構的背景下,該過程如下:
在ZK-Rollups中,驗證者扮演着關鍵角色,將交易打包成區塊並爲其生成零知識證明。該系統的一個特點是,驗證者在物理上無法竊取資金。他們可能造成的最重大潛在損害是暫時停止網路的運行。
注意:在zkSync Era中,驗證者的角色由運營者來執行。
zkSync的開發人員強調他們架構的以下保證:
在zkSync Era中,交易經歷了幾個關鍵狀態,與L1中的常規Rollup確認不同:
除了區塊編號外,zkSync中的交易還顯示了包編號。最初,參數如block.number、block.timestamp和blockhash都是從L1獲取的。然而,在更新後,這些值現在將從L2獲取。盡管如此,開發人員計劃提供訪問來自L1的數據的方法。
基於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與EVM不同,盡管開發人員努力在“底層”隱藏這些差異,但在編寫智能合約時需要考慮一些重要特性:
爲了深入了解如何使用zkEVM,建議研究文檔,包括“安全性和最佳實踐”部分。
在zkSync中,帳戶抽象相對於ERC-4337具有幾個關鍵優勢:
zkSync Era的基礎設施正在迅速發展,並已包括數十種協議:橋接協議、DeFi、基礎設施協議等等。 (當前列表可以在此處查看)。
另一個優點是與以太坊錢包的兼容性,例如MetaMask或TrustWallet。
zkSync協議的發展始於zkSync Lite的推出,該版本僅針對以太幣和ERC-20代幣的轉帳,無法部署完整的協議。這一階段是發展的重要步驟,但只是zkSync Era的到來之前的前奏——zkSync Era是以太坊的一個完整的L2解決方案,理論上也可以適應其他L1區塊鏈。然而,zkSync的雄心並不止於此,因爲開發計劃還包括推出所謂的超級鏈。
超級鏈,或稱“分形擴展”,由ZKP網路組成,每個網路形成自己的區塊和證明。然後,這些證明被收集在一起並發布在主要的L1網路上。這些網路中的每一個都是整個系統的完整副本,可以被視爲其“分形”。
超級鏈的獨特之處在於它們可以獨立創建和部署。爲了保持一致性和兼容性,每個超級鏈必須使用一個共同的zkEVM引擎,作爲ZK棧的一部分(其中zkSync Era充當第一個超級鏈)。這使得超級鏈能夠從L1繼承其安全性,確保其可靠性,並消除對額外信任和安全措施的需求。
超級鏈代表了擴展區塊鏈網路的創新方法,減輕了主要網路的負載並提高了交易處理速度。該方法的關鍵方面包括:
有關這一切的更多信息可以找到這裏。
zkSync協議看起來非常有前景,具有巨大的潛力,盡管目前,在這個區塊鏈上啓動仍然涉及一些需要考慮的風險。目前,爲zkSync開發相對於與EVM和EVM開發棧更兼容的區塊鏈來說可能更具挑戰性。然而,也許在未來,這種差異將變得微不足道,甚至完全消失。