編譯:BlockUincorn??文章來源:zksync
介紹
面對最大的技術挑戰,我們正朝著在EVM兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看zkSync2.0上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。https://zksync2-alpha.zkscan.io/
主要成就
在密碼學方面,zkEVM的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯成zkEVM字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然?zkEVM和核心2.0基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100%可靠后立即開放對zkEVM、編譯器和核心SDK的訪問。
zkSync2.0與以太坊的比較
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
Solidity智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
去中心化交易協議WOOFi已部署至zkSync Era主網:金色財經報道,據官方推特,去中心化交易協議WOOFi宣布已正式部署至zkSync Era主網上。WOOFi是由WOO Network構建的去中心化交易協議,提供兌換、Earn 和質押等服務。[2023/4/28 14:32:17]
此版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但將來會支持。
我們暫時不支持KECCAK256操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。KECCAK256稍后將作為預編譯引入。
我們決定不包含SELFDESTRUCT操作碼,因為以太坊計劃將其刪除。
我們可能會取消對完整256位XOR/AND/OR操作碼的支持,因為這些僅存在于已編譯的用于位掩碼的Solidity代碼中。這可以由編譯器使用其他操作碼來完成。
費用
在zkSync2.0中,有一個不同的gas概念。交易價格將根據當前的L1gas價格和ZKP生成成本而波動。智能合約調用將具有最大數量的zkEVM步驟和存儲寫入參數。
Web3API
下一個版本將包括我們的Web3API實現,它將與以太坊文檔定義的Web3標準兼容。事件將開箱即用,所有服務都可以輕松集成。
zkSync:zkSync Era執行延遲安全機制將允許有足夠時間檢測問題并及時作出反應:3月24日消息,zkSync介紹zkSync Era多層安全機制中的其中一種機制,即執行延遲,執行延遲意味著每個提交給L1的L2塊在執行和最終確定之前都會有一個時間鎖,最初該延遲將是24小時,隨著系統的成熟,該延遲將逐漸減少,直到移除Alpha階段,屆時延遲將被完全移除。延遲主要是確保團隊有足夠的時間在區塊成為最終區塊之前驗證包含在區塊中的交易的影響,并且有足夠的時間來檢測漏洞、調查并通過治理凍結協議。
此前報道,2月中旬zkSync宣布上線Fair Onboarding Alpha主網,在此階段,主網對最終用戶保持關閉,注冊項目可以在系統向外部用戶開放之前在封閉環境中部署和測試應用程序。同時,zkSync 2.0更名為zkSync Era,zkSync 1.0更名為zkSync Lite。根據zkSync Era路線圖,下一個里程碑是zkSync Era公開發布。[2023/3/24 13:23:41]
zkSync包含L1沒有的功能,例如已提交和最終塊的概念。因此,將有其他方法可以讓開發人員更精確地控制數據。Web3客戶端代碼將接收與以太坊相同的數據,但可以使用`zksync_`命名空間請求特殊信息。
由于zkSync?有多種交易類型,并且使用EIP712簽名,因此`eth_sendRawTransaction`數據的格式會與L1不同。但是,編碼對應于以太坊ABI,因此支持它并不困難。
zkSync支持通過UTORG直接使用法幣直接購買zkSync上的代幣:金色財經消息,以太坊二層解決方案 zkSync 已支持通過支付網關 UTORG 直接使用法幣直接購買 zkSync 上的代幣,UTORG 表示目前支持任何銀行卡以及 Apple Pay,并支持 26 種法定貨幣。[2022/4/21 14:38:32]
簽署交易
zkSync2.0中的交易可以通過兩種方式進行授權:
用戶可以通過簽署EIP712消息,使用他們的普通以太坊錢包簽署交易。
任何賬戶都可以設置公鑰來創建我們內部的Schnorr簽名來簽署交易。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需發送L1消息的額外成本。
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個AMM合約交互,則AMM合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如Blake2f輪函數。
進一步的限制
zkSync2.0的第一次迭代可能會對每筆交易施加32次智能合約調用的額外限制,直到實施適當的記賬機制。
火幣將于明日14點上線BNT、FRONT、ZKS和LUNA品種USDT本位永續合約:據火幣合約官方公告,火幣合約將于新加坡時間2月23日上線BNT、FRONT、ZKS和LUNA品種USDT本位永續合約,11點開啟資金劃轉,14點開放對外交易,支持1x-75x倍數。此前,火幣USDT本位永續合約已涵蓋了BTC、ETH等在內的65大主流品種。
據悉,新上線的BNT、FRONT、ZKS和LUNA品種USDT本位永續合約是正向合約,即穩定幣合約,采用穩定幣(USDT)作為擔保資產,無交割日期,合約標的為其對應數字資產的現貨USDT指數,且每8小時結算一次,結算時間戳分別為0:00、08:00和16:00(GMT+8),用戶已實現盈利在結算后可立即提取。[2021/2/22 17:40:19]
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解zkSync2.0架構
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync2.0的設計結合了以下2項技術突破,最大限度地發揮了所有4項功能:
Gate.io將首發上線ZKSwap(ZKS)交易:據官方公告,Gate.io將于2021年1月6日(明日)15:00(UTC+8)上線ZKSwap (ZKS)交易。風險提示:請務必注意價格變化,提前調整市場掛單,切勿追高。[2021/1/5 16:28:26]
zkEVM:為我們與EVM兼容的zkRollup提供動力的引擎,這是唯一具有L1安全性和可靠性智能合約支持的解決方案。
zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高2個數量級。
由于zkEVM和?zkPorter是可互操作和可組合的,因此zkSync2.0能夠顯著優于所有其他擴展解決方案。
目前的共識是Eth2數據分片將在2022年底到來,以在不犧牲去中心化的情況下提供指數級更大的數據可用性層。zkSync的zkRollup技術結合Eth2數據分片是最終目標,在不犧牲4個因素中的任何一個的情況下達到100,000TPS。
狀態樹
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執行器。
行情顯示,比特幣5月19日自高點43816美元跌至低點29000美元后,雖在后一日迅速反彈并站上40000美元,但未能有效站穩,此后比特幣進入盤整階段,撰寫本文時,比特幣仍承壓于38000美元.
1900/1/1 0:00:00在四川能源監管辦組織召開的虛擬貨幣挖礦有關情況調研座談會上,監管部門最后未形成任何決議。另外,谷歌取消了2018年禁止加密貨幣交易所和錢包投放廣告的政策.
1900/1/1 0:00:00尊敬的歐易OKEx用戶:2020年6月1日至2020年8月31日,OKB啟動了新一季度的回購銷毀.
1900/1/1 0:00:00尊敬的用戶: QC/USDT交易對自上線以來,成交量持續低迷,應社區成員反饋和保護平臺用戶的權益,將對QC/USDT交易對進行隱藏,并于新加坡時間2021年6月10日12:00關閉交易對及提幣.
1900/1/1 0:00:00基本信息: 英文全稱:CelerNetwork 英文簡稱:CELR 項目簡介: CelerNetwork是個高性能Layer2擴展性平臺,旨在通過以上技術革新實現將互聯網規模帶入區塊鏈.
1900/1/1 0:00:00尊敬的用戶: WBF將于??2021年6月4日??17:30?恢復TORO充提業務,請您提前做好相應準備,如有任何問題,請聯系WBF官方客服.
1900/1/1 0:00:00