編譯:BlockUincorn文章來源:zksync
介紹
面對最大的技術挑戰,我們正朝著在EVM兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看zkSync2.0上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。https://zksync2-alpha.zkscan.io/
主要成就
在密碼學方面,zkEVM的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯成zkEVM字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然zkEVM和核心2.0基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100%可靠后立即開放對zkEVM、編譯器和核心SDK的訪問。
zkSync2.0與以太坊的比較
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
數據:已有超800萬枚NFT在zkSync網絡上發行:金色財經報道,數據顯示,截止今日,zkSync上已發行超過800 萬個NFT,已部署超過44,000 個 NFT集合。根據 NFTScan 數據,平均每天產生8 萬筆NFT 交易。[2023/8/14 21:22:40]
Solidity智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
此版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但將來會支持。我們暫時不支持KECCAK256操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。KECCAK256稍后將作為預編譯引入。我們決定不包含SELFDESTRUCT操作碼,因為以太坊計劃將其刪除。我們可能會取消對完整256位XOR/AND/OR操作碼的支持,因為這些僅存在于已編譯的用于位掩碼的Solidity代碼中。這可以由編譯器使用其他操作碼來完成。
費用
在zkSync2.0中,有一個不同的gas概念。交易價格將根據當前的L1gas價格和ZKP生成成本而波動。智能合約調用將具有最大數量的zkEVM步驟和存儲寫入參數。
Web3API
下一個版本將包括我們的Web3API實現,它將與以太坊文檔定義的Web3標準兼容。事件將開箱即用,所有服務都可以輕松集成。
zkSync橋接用戶量突破70萬:金色財經報道,zkSync本周宣布主網“zkSync Era”將以無許可的方式全面開放供所有人使用后橋接用戶量出現增長,根據Dune Analytics 最新數據顯示,zkSync橋接用戶量已突破70萬,本文撰寫時達到708, 089個,相比之下當前Arbitrum、Optimism和StarkNet該指標值分別為615, 877個、 313, 426個、以及206, 404個。不過在橋接存儲規模上,截至目前zkSync為231,538 ETH,落后于Arbitrum(2,370,614 ETH)和Optimism(521,939 ETH)。[2023/3/26 13:27:24]
zkSync包含L1沒有的功能,例如已提交和最終塊的概念。因此,將有其他方法可以讓開發人員更精確地控制數據。Web3客戶端代碼將接收與以太坊相同的數據,但可以使用`zksync_`命名空間請求特殊信息。
由于zkSync有多種交易類型,并且使用EIP712簽名,因此`eth_sendRawTransaction`數據的格式會與L1不同。但是,編碼對應于以太坊ABI,因此支持它并不困難。
簽署交易
zkSync2.0中的交易可以通過兩種方式進行授權:
用戶可以通過簽署EIP712消息,使用他們的普通以太坊錢包簽署交易。任何賬戶都可以設置公鑰來創建我們內部的Schnorr簽名來簽署交易。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需發送L1消息的額外成本。
ZK Rollup訂單簿DEX ZigZag的NFT Swap功能將上線zkSync主網:5月13日消息,以太坊二層ZK Rollup訂單簿DEX ZigZag Exchange宣布NFT Swap功能將上線zkSync主網。[2022/5/13 3:14:49]
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個AMM合約交互,則AMM合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如Blake2f輪函數。
進一步的限制
zkSync2.0的第一次迭代可能會對每筆交易施加32次智能合約調用的額外限制,直到實施適當的記賬機制。
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解zkSync2.0架構
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync2.0的設計結合了以下2項技術突破,最大限度地發揮了所有4項功能:
以太坊二層解決方案zkSync推出zkSync 1.x測試網,支持NFT和兌換功能:以太坊二層解決方案zkSync宣布推出zkSync 1.x測試網。用戶可以在Rinkeby Beta和Ropsten測試網上試用NFT和兌換(Swap)功能,包括兌換ERC-20代幣,鑄幣、轉讓和兌換NFT,將NFT撤回至L1。
此外,zkSync 1.x主網升級將于5月啟動,包括兌換、NFT、新的事件系統和無需許可代幣列表,并在2周的升級時間鎖(timelock)之后上線。[2021/5/25 22:41:12]
zkEVM:為我們與EVM兼容的zkRollup提供動力的引擎,這是唯一具有L1安全性和可靠性智能合約支持的解決方案。zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高2個數量級。
由于zkEVM和zkPorter是可互操作和可組合的,因此zkSync2.0能夠顯著優于所有其他擴展解決方案。
目前的共識是Eth2數據分片將在2022年底到來,以在不犧牲去中心化的情況下提供指數級更大的數據可用性層。zkSync的zkRollup技術結合Eth2數據分片是最終目標,在不犧牲4個因素中的任何一個的情況下達到100,000+TPS。
ZKSwap已恢復Uniswap上ZKS/USDT資金池,并重新添加1089萬美元流動性:據官方消息,基于ZKRollup擴容技術的AMM去中心化交易所ZKSwap表示空投已全部發放完成,原于Uniswap上的ZKS/USDT流動性資金池現已恢復。
在重新添加Uniswap上的流動性時,由于市場價格高于移除流動性時價格的50%,已按照市場價格重新添加1089萬美元流動性。
目前ZKSwap功能已開發完畢,正在進行最后階段壓力測試。[2021/2/8 19:14:43]
狀態樹
zkSync2.0狀態樹覆蓋了以太坊的完整160位地址空間。每個帳戶將駐留在狀態的zkRollup部分或zkPorter部分。zkRollup和zkPorter帳戶完全相同,除了一個組件:保證數據可用性。zkRollup交易數據通過calldata發布到以太坊,zkPorter交易數據發布到zkSyncGuardian網絡,zkSync代幣持有者參與權益證明。
數據發布的地方是成本和安全性之間的權衡。zkPorter交易比匯總交易便宜得多,但它有可能導致您的資金被凍結。但是,zkRollup和zkPorter帳戶的有效性都是通過零知識證明和以太坊來保證的。換句話說,zkPorter中的資金只能被凍結,不能被盜。
zkRollup和zkPorter帳戶的互操作性和可組合性使每個用戶都有機會成為zkSync中的一等公民。部署在zkRollup端的Uniswap可以通過zkPorter帳戶訪問以交換最低費用。zkSync2.0是一個系統,旨在供整個金融領域的用戶參與。
密碼學
我們的VM,最常被稱為zkEVM,不是EVM1:1副本,而是旨在能夠運行99%用Solidity編寫的合約并保持其相同的行為,例如在恢復和異常期間。同時,zkEVM被編寫為在電路中高效生成零知識證明。
這是在我們的證明系統沒有任何重大變化的情況下完成的;我們繼續將PLONK與自定義門和查找表以及以太坊的BN-254曲線一起使用。這是有利的,因為自2020年6月以來,該證明系統已經在zkSync1.0以及使用相同證明系統的其他項目中進行了實戰測試。
再一次,我們很高興地宣布,經過幾個月的努力:zkEVM的指令集已經完成并在電路和執行環境中實現。
這里有一個重要的區別:電路和執行環境中的實現是分開的,用于不同的目的。電路的工作是生成執行跟蹤的證明并提供證人,但這非常慢。另一方面,執行環境是zkEVM在rust中的直接實現,高效且快速。如果我們依靠電路來生成證明和執行,交易最終確定將需要幾個小時。證明生成和簡單執行的分離使zkSync上的交易能夠即時結算。
接下來,我們專注于將zkEVM和編譯器結合在一起,并將遞歸結合在一起:塊之間的遞歸,它允許我們為N個塊發布一個證明,以及塊內的遞歸,它聚合塊的不同邏輯部分的子證明.這是簡單的部分!自2020年6月以來,zkSync1.0的主網上已在使用區塊之間的遞歸聚合證明。有關區塊內遞歸以及我們的zkEVM工作原理的更多信息,請觀看此視頻說明。
編譯器
我們同時致力于兩個針對zkEVM的編譯器前端:Yul和Zinc。Yul是一種中間Solidity表示,可以為不同的后端編譯為字節碼。Zinc是我們用于智能合約和通用零知識證明電路的基于Rust的語言。
由于編譯器是使用LLVM框架構建的,因此可以將其視為具有前端Yul→LLVMIR和后端LLVMIR→zkEVM字節碼。LLVM的采用帶來了幾個主要優勢:
LLVM優化框架無與倫比:它從LLVMIR生成最高效的zkEVM字節碼。使用較新版本的Solidity或Zinc,編譯器前端將處理所有更改,而LLVM將使我們無需更改編譯器后端。未來,如果開發人員想用原生Rust或Javascript編寫智能合約,只需為該語言構建編譯器前端,智能合約就可以在zkSync中開箱即用。
編譯器的安全性對我們來說至關重要,并且已經通過了多套測試:
Zinc和Yul編譯器中的詞法、語法和語義測試。我們自己的Zinc和Solidity集成測試,貫穿整個智能合約生命周期:從解析源代碼到合約部署和在zkSync上執行交易。從Solidity存儲庫集成的廣泛的測試套件,適用于我們的集成測試工具。
每個套件已經包含數千個測試,我們將把這個數字至少增加一個數量級。
我們的2個編譯器已經成功部署并執行了兩種語言的簡單智能合約。但是還有更多的優化需要完成,一些復雜的LLVMIR語句需要轉換為zkEVM字節碼。因此,我們決定在編譯器處于更健壯的狀態之前不發布它。
編譯器完成后,我們將專注于使Zinc更具表現力和功能更豐富,然后構建Rust編譯器前端以允許使用原生Rust編寫智能合約。
核心基礎設施
zkSync2.0核心由幾個關鍵角色組成:
完整節點
通過虛擬機的zkEVM字節碼的預電路執行器環境該狀態在交易發送后的幾秒鐘內可用,過濾掉可能導致區塊膨脹的明顯不正確的交易,在內存池中執行交易并生成區塊。
證明者
接收區塊的見證人并生成零知識證明,用于并行證明生成的證明者接口,自定義證明者自動縮放器,可根據需要創建和終止證明者機器。
交互器
用于觀看和與以太坊L1交互的工具,根據代幣價格、ZKP生成成本和L1gas價格計算交易費用。
偏執監視器
Prometheus、elastic、sentry、uptime、幾個獨立的事件通知系統和自定義健康檢查服務,這個核心基礎設施功能齊全,已經集成了zkEVM執行器。
近期市場沒有太多熱點,伴隨著成交量的萎靡致使行情走勢平穩,幣圈在持續沒有賺錢效應的情況下交易顯得日漸冷清!且短期內并不會有所好轉!但也不會導致惡化!其實還是個55開的局面.
1900/1/1 0:00:00市場觀點: 1、宏觀流動性 貨幣流動性趨緊。日本央行變相加息,短期全球流動性依然緊張。美聯儲上周表示只要美國通脹水平居高不下,可能會在23年加速加息,并可能會將高利率維持在更長的時間.
1900/1/1 0:00:00由于FTX和Alameda引發的崩盤,本周加密貨幣市場大跌。領先的加密貨幣暴跌至2020-21年的低點,抵消了過去12個月產生的所有收益.
1900/1/1 0:00:00在當前全球經濟復蘇不均衡、持續高通脹的不確定環境下,傳統投資者應該把黃金視為對沖通脹的主要保值工具.
1900/1/1 0:00:00文章作者:MICHAELA.MCCARTHY文章編譯:Blockunicorn 現在是2043年,你遲到了,因為你參加的會議將決定你居住的地方的未來.
1900/1/1 0:00:00sudoAMM具有允許提供NFT或ETH的單邊或雙邊流動性池、可隨時調整流動性池參數、僅0.5%的平臺交易費用、無版稅等特點.
1900/1/1 0:00:00