編譯:BlockUincorn??文章來源:zksync
介紹
面對最大的技術挑戰,我們正朝著在EVM兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看zkSync2.0上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。https://zksync2-alpha.zkscan.io/
主要成就
在密碼學方面,zkEVM的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯成zkEVM字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然?zkEVM和核心2.0基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100%可靠后立即開放對zkEVM、編譯器和核心SDK的訪問。
zkSync2.0與以太坊的比較
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
Solidity智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
Nansen新增支持zkSync Era網絡:金色財經報道,區塊鏈數據分析平臺Nansen新增支持zkSync Era網絡,并將添加zkSync Era上的SyncSwap、Mute和SpaceFi等協議。[2023/4/27 14:29:57]
此版本不支持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_`命名空間請求特殊信息。
Arweave生態存儲解決方案Bundlr Network上線zkSync網絡:5月11日消息,Arweave生態存儲解決方案Bundlr Network已上線以太坊二層解決方案zkSync,zkSync開發人員可以訪問Arweave上的Web3數據存儲,zkSync上的用戶可以使用任何代幣(包括以太坊)支付數據上傳費用,并為開發人員免費上傳100kb以下的數據。[2022/5/11 3:06:54]
由于zkSync?有多種交易類型,并且使用EIP712簽名,因此`eth_sendRawTransaction`數據的格式會與L1不同。但是,編碼對應于以太坊ABI,因此支持它并不困難。
簽署交易
zkSync2.0中的交易可以通過兩種方式進行授權:
用戶可以通過簽署EIP712消息,使用他們的普通以太坊錢包簽署交易。
任何賬戶都可以設置公鑰來創建我們內部的Schnorr簽名來簽署交易。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需發送L1消息的額外成本。
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個AMM合約交互,則AMM合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
預編譯
Layer2網絡zkSync總鎖倉量達到1.41億美元,創歷史新高:金色財經消息,據L2BEAT數據,基于零知識證明的Layer2網絡zkSync總鎖倉量突破1.4億美元,創歷史新高,7日增幅85.53%。此外,最近一周內zkSync網絡資金凈流入接近2500萬美元。[2022/3/21 14:09:00]
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如Blake2f輪函數。
進一步的限制
zkSync2.0的第一次迭代可能會對每筆交易施加32次智能合約調用的額外限制,直到實施適當的記賬機制。
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解zkSync2.0架構
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync2.0的設計結合了以下2項技術突破,最大限度地發揮了所有4項功能:
zkEVM:為我們與EVM兼容的zkRollup提供動力的引擎,這是唯一具有L1安全性和可靠性智能合約支持的解決方案。
Matter Labs質疑ZKSwap的用戶資金安全問題:2月24日消息,以太坊二層擴容解決方案開發團隊Matter Labs發推質疑基于ZK Rollup擴容技術的AMM去中心化交易所ZKSwap,稱ZKSwap克隆zksync的代碼,甚至懶得從Etherscan上的合約代碼中刪除Matter Labs的作者身份,也沒有發布更改,Matter Labs表示擔心ZKSwap的用戶資金的安全。“將AMM功能正確地添加到我們的代碼中是非常不平凡的,并且需要在ZKP有很強的能力。它還需要由經驗豐富的密碼學家進行非常徹底的安全審計(不僅僅是你發布的文章中提到的靜態代碼分析)。你會對自己的用戶如此友好以至于開放你的合約和環路(Circuit)的完整源代碼嗎?”[2021/2/24 17:47:22]
zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高2個數量級。
由于zkEVM和?zkPorter是可互操作和可組合的,因此zkSync2.0能夠顯著優于所有其他擴展解決方案。
目前的共識是Eth2數據分片將在2022年底到來,以在不犧牲去中心化的情況下提供指數級更大的數據可用性層。zkSync的zkRollup技術結合Eth2數據分片是最終目標,在不犧牲4個因素中的任何一個的情況下達到100,000TPS。
狀態樹
Gate.io 將為ZKSwap持倉用戶分發ZKS空投:據ZKSwap消息,為在主網上線前增加流通量并平抑價格波動,ZKSwap團隊計劃對進行全網合計4000萬個ZKS空投,價值約7000萬美金。Gate.io將支持本次空投,平臺用戶無需任何操作即可領取空投,平臺外用戶請務必于每次快照前充值ZKS到Gate.io平臺,并保持在快照時賬戶有足夠余額。隨機快照時間為自1月29日 22:00起,截止到主網上線前的任意時間,在這個時間段內會隨機選擇4個時間點,進行快照。具體選擇的時間會在空投完畢后公開。[2021/1/29 14:21:56]
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執行器。
Tags:ZKSSYNCSYNzkSynczksync幣總量zksync幣圖標SYNCBRAIN價格zksync幣imtoken
截止到北京時間12:00,比特幣現貨價格收于37884.25美元,以太坊現貨價格收于2751.33美元.
1900/1/1 0:00:00SUN代幣根據官方說明已經開啟1:1000拆分計劃。Gate.io按此前公告計劃已于2021年6月3日12點之后停止了SUN交易交易,并進行了1:1000拆分,拆分后進行公告并于2021年6月3.
1900/1/1 0:00:00尊敬的LOEx用戶:因MOY項目方原因,應項目方要求MOY將從LOEx國際站下線。具體安排如下:1、現已關閉MOY充幣功能,請勿強行充值,誤充導致資產丟失且無法確保找回.
1900/1/1 0:00:00以太坊是近期加密市場最關注的話題,EIP1559和ETH2.0使得以太坊的敘事即將迎來根本性轉折,那么這將對行業帶來哪些影響?海外媒體人PackyMcCormick近日也撰文談及以太坊.
1900/1/1 0:00:00尊敬的XT用戶: XT于2021年06月04日16:16開展的首期“BZZ1認購”活動已圓滿結束。本次認購成功的用戶可通過錢包賬戶查看相關資產.
1900/1/1 0:00:00近來各國陸續傳出加密貨幣監管相關議題,也令市場價格因此動蕩不斷。然而,先前傳出有意封殺加密貨幣的印度昨日卻傳出中央銀行發表加密貨幣相關聲明的消息,內容指出境內各銀行不應引述已失效的加密貨幣禁令,
1900/1/1 0:00:00