編譯:BlockUincorn文章來源:zksync
介紹
面對最大的技術挑戰,我們正朝著在EVM兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看zkSync2.0上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。https://zksync2-alpha.zkscan.io/
主要成就
在密碼學方面,zkEVM的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯成zkEVM字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然zkEVM和核心2.0基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100%可靠后立即開放對zkEVM、編譯器和核心SDK的訪問。
zkSync2.0與以太坊的比較
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
被標記為Offchain Labs的地址向zkSync鏈上轉入9524枚以太坊:金色財經報道,據Lookonchain監測,被Nansen標記為Offchain Labs的0x2ce9開頭地址向zkSync鏈上轉入9524枚以太坊(價值約916萬美元),后通過0x8882開頭中轉地址向大量新地址分發以太坊。[2023/5/31 11:50:51]
Solidity智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
此版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但將來會支持。我們暫時不支持KECCAK256操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。KECCAK256稍后將作為預編譯引入。我們決定不包含SELFDESTRUCT操作碼,因為以太坊計劃將其刪除。我們可能會取消對完整256位XOR/AND/OR操作碼的支持,因為這些僅存在于已編譯的用于位掩碼的Solidity代碼中。這可以由編譯器使用其他操作碼來完成。
費用
在zkSync2.0中,有一個不同的gas概念。交易價格將根據當前的L1gas價格和ZKP生成成本而波動。智能合約調用將具有最大數量的zkEVM步驟和存儲寫入參數。
Web3API
下一個版本將包括我們的Web3API實現,它將與以太坊文檔定義的Web3標準兼容。事件將開箱即用,所有服務都可以輕松集成。
數據:zkSync橋接存儲總價值突破20萬枚ETH:金色財經報道,據 Dune Analytics 數據顯示,以太坊 Layer2 擴容解決方案 zkSync 跨鏈橋接存儲總價值已突破 20 萬枚 ETH,截至目前達到 200,003 ETH(按照當前 ETH 價格計算超過 3.3 億美元),參與橋接交易的用戶量為 530,753 個。其他 L2 存儲總價值方面,當前 Arbitrum 跨鏈橋存儲總價值約為 211.23 萬枚 ETH,Optimism 約為 46.65 萬枚 ETH,StarkNet 約為 1.04 萬枚 ETH。金色財經此前報道,zkSync 開發公司 Matter Labs 于去年 11 月中旬完成 2 億美元 C 輪融資,Blockchain Capital 和 Dragonfly 共同領投。[2023/1/21 11:24:26]
zkSync包含L1沒有的功能,例如已提交和最終塊的概念。因此,將有其他方法可以讓開發人員更精確地控制數據。Web3客戶端代碼將接收與以太坊相同的數據,但可以使用`zksync_`命名空間請求特殊信息。
由于zkSync有多種交易類型,并且使用EIP712簽名,因此`eth_sendRawTransaction`數據的格式會與L1不同。但是,編碼對應于以太坊ABI,因此支持它并不困難。
簽署交易
zkSync2.0中的交易可以通過兩種方式進行授權:
智能合約錢包Argent Layer2版本正式上線zkSync:12月24日,智能合約錢包Argent宣布其Layer2版本正式上線zkSync,目前已與zkSync網絡內DEX平臺ZigZag完成集成,用戶現可通過1美元的固定費用使用Argent在Layer2上的交易服務。該服務目前僅支持ETH、USDT、USDC、WBTC、DAI和FRAX。[2021/12/24 8:02:18]
用戶可以通過簽署EIP712消息,使用他們的普通以太坊錢包簽署交易。任何賬戶都可以設置公鑰來創建我們內部的Schnorr簽名來簽署交易。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需發送L1消息的額外成本。
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個AMM合約交互,則AMM合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如Blake2f輪函數。
進一步的限制
zkSync2.0的第一次迭代可能會對每筆交易施加32次智能合約調用的額外限制,直到實施適當的記賬機制。
ZKSwap加入DeFi Alliance聯盟加速器計劃:官方消息,二層交易協議ZKSwap (ZKS)宣布正式加入DeFi Alliance 聯盟加速器計劃,同期加入加速器計劃的項目還包括Sushiswap協議和Bancor協議等。未來,ZKSwap 將與聯盟其他成員共同推進 DeFi 相關技術的采用和發展,壯大 ZKSwap Layer2 生態,共建透明、低成本且可信任的分布式金融系統。
ZKSwap 預計將于6月底正式上線 ZKSwap V2 版本,并計劃在7月份于以太坊主網上線二層網絡的 NFT 協議。[2021/5/31 22:59:05]
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解zkSync2.0架構
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync2.0的設計結合了以下2項技術突破,最大限度地發揮了所有4項功能:
zkEVM:為我們與EVM兼容的zkRollup提供動力的引擎,這是唯一具有L1安全性和可靠性智能合約支持的解決方案。zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高2個數量級。
基于 zkSync 的二層錢包 Rollups Wallet 已上線 iOS 應用商店,Gas 可降低兩個數量級:基于zkSync的二層錢包RollupsWallet宣布其移動端應用已上線iOS應用商店,首周下載量破千。RollupsWallet團隊表示,該錢包由zkSync(MatterLabs)提供技術支持,其Gas價格可降低兩個數量級,也可實現以太坊ERC-20代幣的即時轉賬。[2021/3/23 19:10:05]
由于zkEVM和zkPorter是可互操作和可組合的,因此zkSync2.0能夠顯著優于所有其他擴展解決方案。
目前的共識是Eth2數據分片將在2022年底到來,以在不犧牲去中心化的情況下提供指數級更大的數據可用性層。zkSync的zkRollup技術結合Eth2數據分片是最終目標,在不犧牲4個因素中的任何一個的情況下達到100,000+TPS。
狀態樹
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執行器。
在美聯儲于3月22日宣布加息25個基點后,包括比特幣、加密貨幣和股票在內的市場反應消極。 美聯儲加息25個基點 美聯儲主席鮑威爾在3月22日的FOMC會議后宣布美聯儲加息25個基點.
1900/1/1 0:00:00「咖說V講」系列,原汁原味地匯集鏈幣圈業內外大咖聲音,閱讀者盡可以智者見智,取法其上,健壯成長.
1900/1/1 0:00:00比特幣(BTC)是世界上最大的加密貨幣,隨著加密貨幣市場在行業不斷進步后重獲動力,它已經收復了部分損失并在23,500美元附近獲得了適度的牽引力.
1900/1/1 0:00:00Alien-Arb上的又一Dex!預售硬頂250E,超募到4900E,團隊將超過部分全部退回,預售價格在0.27左右,離人不近,的幣額度很小!整體UI和是絲滑度都非常不錯.
1900/1/1 0:00:00在Binance相關監管消息發布后,比特幣已從26,690美元的低點反彈。XRP在突破0.50美元后表現優于大盤,而以太坊則收復了1,800美元。比特幣在2.8萬美元至3萬美元之間面臨強勁阻力.
1900/1/1 0:00:003月6日,比太錢包創始人,比特派錢包開發者文浩受邀參加了由巴比特主辦的《SheKnows:暴雷,攻擊,漏洞!拿什么來保護你,我的BTC?》線上AMA.
1900/1/1 0:00:00