編譯:BlockUincorn文章來源:zksync
介紹
面對最大的技術挑戰,我們正朝著在EVM兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看zkSync2.0上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。https://zksync2-alpha.zkscan.io/
主要成就
在密碼學方面,zkEVM的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯成zkEVM字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然zkEVM和核心2.0基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100%可靠后立即開放對zkEVM、編譯器和核心SDK的訪問。
zkSync2.0與以太坊的比較
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
zkSync Era已支持Paradigm創建的模塊化工具包Foundry:6月6日消息,據官方消息,開發人員現在可以使用 zkSync Era 的 Foundry alpha 版本來部署合約、橋接 L1 與 L2 間的資產、發送交易等。Foundry 由 Paradigm 等創建和維護,是一個用于以太坊開發的模塊化工具包,可增強 EVM 鏈上的安全智能合約開發。
zkSync Era 的 Foundry alpha 版本中的 zkCast 與合約交互并存入、提取或查詢區塊鏈數據,如賬戶余額或區塊信息;zkForge 使用特殊的編譯器編譯合約,并將它們部署到 zkSync Era Localnet、測試網和主網。[2023/6/6 21:19:50]
Solidity智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
此版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但將來會支持。我們暫時不支持KECCAK256操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。KECCAK256稍后將作為預編譯引入。我們決定不包含SELFDESTRUCT操作碼,因為以太坊計劃將其刪除。我們可能會取消對完整256位XOR/AND/OR操作碼的支持,因為這些僅存在于已編譯的用于位掩碼的Solidity代碼中。這可以由編譯器使用其他操作碼來完成。
數據:zkSync Era上25個巨鯨持有鏈上32%的代幣,鏈上“閑置資金”較多:4月28日消息,據Nansen Research在社交媒體披露數據顯示,當前zkSync Era上前25名頭部巨鯨橋接用戶擁有32%的鏈上代幣總持有量,主要集中在ETH、USDC和MUTE,表明zkSync上仍有大量“閑置資金”。此外,數據顯示zkSync Era鏈上活動主要圍繞DEX,尤其是SyncSwap、iZUMi Finance、Mute.io和Velocore上的流動性提供者(LP),當前大多數LP集中在ETH/USDC池,而zkSync Era鏈上閑置資金則仍在等待部署。[2023/4/28 14:32:33]
費用
在zkSync2.0中,有一個不同的gas概念。交易價格將根據當前的L1gas價格和ZKP生成成本而波動。智能合約調用將具有最大數量的zkEVM步驟和存儲寫入參數。
Web3API
下一個版本將包括我們的Web3API實現,它將與以太坊文檔定義的Web3標準兼容。事件將開箱即用,所有服務都可以輕松集成。
zkSync包含L1沒有的功能,例如已提交和最終塊的概念。因此,將有其他方法可以讓開發人員更精確地控制數據。Web3客戶端代碼將接收與以太坊相同的數據,但可以使用`zksync_`命名空間請求特殊信息。
由于zkSync有多種交易類型,并且使用EIP712簽名,因此`eth_sendRawTransaction`數據的格式會與L1不同。但是,編碼對應于以太坊ABI,因此支持它并不困難。
以太坊L2總鎖倉量漲至105億美元,zkSyncEra接近2.5億美元:金色財經報道,據L2BEAT數據顯示,當前以太坊L2總鎖倉量為105.1億美元,7日漲幅14.92%。其中,鎖倉量前五分別為:Arbitrum One(70.3億美元,7日漲幅16.69%);Optimism(21.4億美元,7日漲幅9.3%);dYdX(3.72億美元,7日漲幅6.7%);zkSyncEra(2.42億美元,7日漲幅54.39%);Immutable X(1.44億美元,7日漲幅14.19%)。[2023/4/15 14:05:27]
簽署交易
zkSync2.0中的交易可以通過兩種方式進行授權:
用戶可以通過簽署EIP712消息,使用他們的普通以太坊錢包簽署交易。任何賬戶都可以設置公鑰來創建我們內部的Schnorr簽名來簽署交易。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需發送L1消息的額外成本。
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個AMM合約交互,則AMM合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如Blake2f輪函數。
Web3云計算平臺4EVERLAND與zkSync集成:金色財經消息,Web3云計算平臺4 EVERLAND宣布與zkSync集成,開發者可以通過4EVERLAND部署基于zkSync應用的前端并將其存儲在IPFS或Arweave上,4 EVERLAND的托管服務及對象存儲系統均提供一定的免費存儲空間。(Medium)[2022/5/23 3:36:27]
進一步的限制
zkSync2.0的第一次迭代可能會對每筆交易施加32次智能合約調用的額外限制,直到實施適當的記賬機制。
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解zkSync2.0架構
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync2.0的設計結合了以下2項技術突破,最大限度地發揮了所有4項功能:
zkEVM:為我們與EVM兼容的zkRollup提供動力的引擎,這是唯一具有L1安全性和可靠性智能合約支持的解決方案。zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高2個數量級。
去中心化存儲網絡Storj集成zkSync擴容方案:3月17日,去中心化存儲網絡 Storj (STORJ)宣布集成 zkSync 擴容方案,允許節點運營商能夠以更低的費用接收付款。[2021/3/17 18:51:58]
由于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執行器。
國家電網、中國電子等央企在核心技術公關上取得顯著進展,累計申請區塊鏈核心專利1200多項。 作者|盤古星鏈 10月24日,央企區塊鏈合作平臺公眾號發文稱,中央企業加快打造區塊鏈原創技術策源地、現.
1900/1/1 0:00:00隨著世界各地的監管機構不斷評估加密貨幣行業的風險并制定指導方針,穩定幣已成為重中之重。自上一輪牛市開始,隨著加密市值的飆升,穩定幣發展迅速.
1900/1/1 0:00:00ShibaInu在過去24小時內下跌1.5%,在整個加密貨幣市場度過艱難的周末后跌至0.00001105美元。模因代幣現在一周下跌14%,過去30天下跌13%,自年初以來上漲了36%.
1900/1/1 0:00:00質押ETH的行為不滿足豪威測試中的第二個和第四個條件。在以太坊過渡到共識機制之后,社區開始出現新的擔憂:權益證明模型可能導致以太坊原生代幣ETH被美國監證券法認定為證券.
1900/1/1 0:00:00文章作者:Kitsune文章翻譯:Blockunicorn 雖然我之前曾表示不愿意在我的寫作中探索領導力的實際概念,但與更聰明的朋友的對話總是讓我開始思考——所以我們匯聚在這里.
1900/1/1 0:00:00昨天的下跌說明了小池塘里難出大魚,反彈趨勢中難出連續上漲的大行情。此次BTC重新跌回密集交易區間之內,下擋板支撐力是34418美金.
1900/1/1 0:00:00