編譯:BlockUincorn??文章來源:zksync
介紹
面對最大的技術挑戰,我們正朝著在EVM兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看zkSync2.0上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。https://zksync2-alpha.zkscan.io/
主要成就
在密碼學方面,zkEVM的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯成zkEVM字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然?zkEVM和核心2.0基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100%可靠后立即開放對zkEVM、編譯器和核心SDK的訪問。
zkSync2.0與以太坊的比較
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
Solidity智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
ParaSpace:即將上線ZkSync網絡:7月28日消息,ParaSpace發推稱,即將上線ZkSync網絡,將支持ETH、USDC、WBTC。[2023/7/28 16:04:23]
此版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但將來會支持。
我們暫時不支持KECCAK256操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。KECCAK256稍后將作為預編譯引入。
我們決定不包含SELFDESTRUCT操作碼,因為以太坊計劃將其刪除。
我們可能會取消對完整256位XOR/AND/OR操作碼的支持,因為這些僅存在于已編譯的用于位掩碼的Solidity代碼中。這可以由編譯器使用其他操作碼來完成。
費用
在zkSync2.0中,有一個不同的gas概念。交易價格將根據當前的L1gas價格和ZKP生成成本而波動。智能合約調用將具有最大數量的zkEVM步驟和存儲寫入參數。
Web3API
下一個版本將包括我們的Web3API實現,它將與以太坊文檔定義的Web3標準兼容。事件將開箱即用,所有服務都可以輕松集成。
zkSync包含L1沒有的功能,例如已提交和最終塊的概念。因此,將有其他方法可以讓開發人員更精確地控制數據。Web3客戶端代碼將接收與以太坊相同的數據,但可以使用`zksync_`命名空間請求特殊信息。
Snapshot新增支持zkSync Era:7月25日消息,治理平臺Snapshot宣布現已支持zkSync Era,zkSync Era生態系統中的DAO現在可以使用Snapshot運行其治理,無需支付Gas費用。[2023/7/26 15:58:25]
由于zkSync?有多種交易類型,并且使用EIP712簽名,因此`eth_sendRawTransaction`數據的格式會與L1不同。但是,編碼對應于以太坊ABI,因此支持它并不困難。
簽署交易
zkSync2.0中的交易可以通過兩種方式進行授權:
用戶可以通過簽署EIP712消息,使用他們的普通以太坊錢包簽署交易。
任何賬戶都可以設置公鑰來創建我們內部的Schnorr簽名來簽署交易。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需發送L1消息的額外成本。
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個AMM合約交互,則AMM合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如Blake2f輪函數。
zkSync Era總鎖倉量突破1億美元:4月2日消息,據官方消息,zkSync Era總鎖倉量(TVL)已突破 1 億美元。[2023/4/2 13:40:41]
進一步的限制
zkSync2.0的第一次迭代可能會對每筆交易施加32次智能合約調用的額外限制,直到實施適當的記賬機制。
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解zkSync2.0架構
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync2.0的設計結合了以下2項技術突破,最大限度地發揮了所有4項功能:
zkEVM:為我們與EVM兼容的zkRollup提供動力的引擎,這是唯一具有L1安全性和可靠性智能合約支持的解決方案。
zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高2個數量級。
由于zkEVM和?zkPorter是可互操作和可組合的,因此zkSync2.0能夠顯著優于所有其他擴展解決方案。
數據: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]
目前的共識是Eth2數據分片將在2022年底到來,以在不犧牲去中心化的情況下提供指數級更大的數據可用性層。zkSync的zkRollup技術結合Eth2數據分片是最終目標,在不犧牲4個因素中的任何一個的情況下達到100,000TPS。
狀態樹
zkSync2.0狀態樹覆蓋了以太坊的完整160位地址空間。每個帳戶將駐留在狀態的zkRollup部分或zkPorter部分。zkRollup和zkPorter帳戶完全相同,除了一個組件:保證數據可用性。zkRollup交易數據通過calldata發布到以太坊,zkPorter交易數據發布到zkSyncGuardian網絡,zkSync代幣持有者參與權益證明。
ZKSwap已于今日向PoS鎖倉用戶發放治理代幣gZKS:ZKSwap官方宣布,已于今日(4月29日)向符合條件的用戶發放治理代幣gZKS,本次共計向968個地址,發放了7345137個gZKS。gZKS目前僅由360天期限的ZKS鎖倉合約產生,參與360天期限ZKS鎖倉挖礦的用戶,會在L2地址收到對應數量的gZKS空投,鎖倉滿360天可獲得鎖倉ZKS同等數量的gZKS ,隨實際鎖倉時間線性遞減至發放0.5倍數量的gZKS。注意,只有在鎖倉時間大于等于180天時鎖倉才能獲得gZKS。
任何用戶均可在論壇對應板塊發起社區治理相關帖子進行討論,產生提案初步的想法和意見。gZKS的持有人可以在snapshot上質押50000 gZKS以發起提案,也可以在投票頁面進行投票表決,過程均在鏈上進行,任何人可查詢提案及投票結果,公開透明。在有效提案投票結束后,ZKSwap官方會在論壇相應板塊公示投票結果和執行計劃。[2021/4/29 21:11:01]
數據發布的地方是成本和安全性之間的權衡。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執行器。
尊敬的XT用戶: XT即將上線CLEAN并開放充提及CLEAN/USDT交易對,具體時間請留意官方后期公告.
1900/1/1 0:00:00以太坊由VitalikButerin于2015年創建,旨在讓用戶能夠在區塊鏈上構建自己的應用程序。它現在既是第二知名的加密貨幣,也是僅次于比特幣的第二大最有價值的加密貨幣.
1900/1/1 0:00:00尊敬的歐易OKEx用戶:歐易OKExC2C交易支持更多的法幣區與支付方式,具體信息如下:1.支持幣種:RUB、UAH、PKR、IDR、SGD、PHP、THB、BRL、ARS、NGN和TRY.
1900/1/1 0:00:00尊敬的歐易OKEx用戶:為提升市場流動性,優化客戶交易體驗,歐易OKEx將于近期調整SHIB/USDT幣幣最小交易數量精度,統一賬戶模式與經典賬戶模式將同步進行修改.
1900/1/1 0:00:00齊衡預言:幣圈監管“嚴”字當頭,政策打擊比特幣挖礦和交易都有哪些影響虛擬貨幣交易融資市場的火熱必然帶動挖礦產業鏈的繁榮近來數月,幣圈監管“嚴”字當頭,國家對虛擬貨幣交易市場重拳出擊.
1900/1/1 0:00:00自519比特幣暴跌觸及30000美元低點后,比特幣今日再次站上39000美金。國際上對于比特幣的看法也呈分裂化,美國前總統候選人和國會議員保羅再次呼吁比特幣應該像貨幣一樣受到監管和征稅;谷歌取消.
1900/1/1 0:00:00