介紹
克服了最困難的技術挑戰之后,我們進入了這項工作的沖刺階段:在兼容EVM的環境中部署智能合約。zkSync推出zkSync2.0首個測試網版本:用戶已經可以使用區塊瀏覽器查看zkSync2.0的交易活動。在本文中,我們將深入解釋每個關鍵組件,公布進度更新以及下一個版本的計劃。
ZKSYNC2.0測試網瀏覽器:
https://zksync2-alpha.zkscan.io/
關鍵成就
在密碼學方面,zkEVM的指令集已經確定下來,并且兩種實現都已經完成:在電路中和在執行環境中。
在編譯器方面,用Solidity和Zinc編寫的智能合約現在可以編譯到zkEVM字節碼中。
在核心基礎設施方面,全節點集成已完成,并且能夠成功地部署和執行已編譯的智能合約。
雖然zkEVM和2.0的核心基礎設施已經準備好向公眾公開,但是該版本的編譯器還需要更多工作進行完善,以應對所有極端情況。為了提供更加全面的開發者體驗,我們決定在該編譯器100%可靠之后,將同時開放對zkEVM、編譯器和核心SDK的訪問。
比較zkSync2.0和以太坊
兩者看起來大部分相同,以下幾點是比較重要的區別:
智能合約
zkSync2.0支持以太坊上的大部分操作碼。然而,有以下這些例外:
1.這次的測試網版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但是未來的版本會支持。
以太坊質押提供商Rocket Pool已部署至zkSync Era網絡:金色財經報道,以太坊流動性質押協議Rocket Pool已部署在zkSync Era網絡上。通過在zkSync Era上運行,Rocket Pool用戶將能夠更快、更便宜地轉移其代幣rETH。Rocket Pool已經在以太坊第2層網絡Optimism和Arbitrum上線。[2023/6/2 11:53:22]
2.我們將暫時不支持KECCAK256操作碼,而是通過自動調用另一個抗碰撞的哈希函數來替代它的所有調用。KECCAK256之后將作為預編譯引入。
3.我們決定不再包含SELFDESTRUCT操作碼,因為以太坊正計劃將其移除。
4.我們可以移除對完整256位XOR/AND/OR操作碼的支持,因為這些操作碼只存在于那些用于位屏蔽的已編譯的solidity代碼中。這可以由編譯器使用其他操作碼來完成。
Gas
在zkSync2.0中,有一個不同概念的gas。交易費價格將根據當前L1gas費和生成零知識證明(ZKP)的成本而波動。智能合約的調用將有一個最大的zkEVM步驟和存儲寫入參數。
Web3API
下一個版本將包含我們Web3API實現,它將與以太坊文檔所定義的Web3標準兼容。事件將開箱即用,并且所有服務都可以輕松整合。
zkSync包含L1沒有的特性,比如已驗證和已敲定區塊的概念。因此,還會有其他方法讓開發者更精確地控制數據。Web3客戶端代碼將接收與以太坊相同的數據,但可以通過zksync_名稱空間請求特定的信息。
Matter Labs:將在解決zkSync推特賬戶泄漏問題后發布詳細報告:4月14日消息,針對zkSync官方推特被盜一事,Matter Labs發推補充表示,有強有力的證據證明zkSync的推特帳號出現了泄露,但這與網絡系統無關,將在解決問題后發布詳細的報告。[2023/4/14 14:04:57]
因為zkSync有多種交易類型,并且使用EIP712簽名,所以eth_sendRawTransaction數據的格式與L1不同。然而,編碼與以太坊ABI相對應,所以支持它并不困難。
對交易進行簽名
zkSync2.0中的交易可以通過兩種方式進行授權(除了優先級隊列機制):
1.用戶可以通過對一個EIP712信息簽名,從而用他們普通的以太坊錢包(如Metamask或者任意的WalletConnect錢包)對交易進行簽名。
2.任何賬戶都可以設置一個公鑰來創建我們的內部Schnorr簽名來對交易進行簽名。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需額外的成本發送L1的信息。
存儲效率提升
每個區塊只能對存儲槽覆寫一次。這意味著,如果多個用戶與單個AMM合約交互,那么該AMM合約的存儲槽只會被覆寫一次。這允許排序者稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是在計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。此外,我們會根據需求和復雜性考慮包含其他預編譯,例如Blake2f輪函數(以當前形式在以太坊中幾乎無法使用)。
OKX Web3錢包已首發支持ZkSync Era:3月24日消息,據 OKX 官方消息,OKX Web3 錢包已首發支持 ZkSync Era(zkSync 2.0)網絡。是首個支持的多鏈錢包,用戶使用 OKX Web3 錢包無需手動配置即可自動展示 ZkSync Era 網絡資產。
OKX Web3 錢包是異構多鏈錢包,已支持 50 多條異構公鏈,此前已首發支持 ETHW、Aptos、Filcoin EVM 等多條公鏈。同時 OKX Web3 錢包支持硬件錢包、兌換 Gas、安全檢測等便捷功能。內置錢包,DEX,NFT 市場,賺幣,DAPP 探索 5 大板塊。[2023/3/24 13:25:18]
進一步的限制
zkSync2.0的第一次迭代可能會增加一個額外的限制,即每筆交易只能調用32次智能合約,直到可以實現恰當的記賬機制。
執行跟蹤將有硬限制,但它將與以太坊區塊大小目前的限制相當,不應影響大多數。
可能會有更多的限制,但我們的目標是在最終版本中將這些限制盡可能減少到最低限度。
深入了解zkSync2.0的架構
你可能聽說過“區塊鏈的不可能三角”,但當談到擴容以太坊時,還有第4個因素:可編程性。所有當前的擴容解決方案都犧牲了一些安全性、去中心化和可編程性來實現可擴展性。zkSync2.0的設計結合了下列兩大技術突破,旨在最大化實現上面說到的四個特性:
1.zkEVM:為兼容EVM的zkRollup提供支持的引擎,這是同時提供L1安全性以及支持solidity智能合約的解決方案。
zkSync移動支付錢包Numio宣布將停止運營:金色財經報道,基于zkSync的移動支付錢包Numio在官方博客表示,由于無法成功籌集到繼續進行開發所需的資金,將關閉該項目并結束開發。
據悉,Numio是一個在GooglePlay上支持zkRollups的產品,用于即時和低費用轉賬,旨在讓人們能夠更好地控制他們的資金和數字身份,是首批支持在zkSync上進行本地交易的錢包之一。
2021年7月,該項目曾獲得HashKey Capital領投的125萬美元融資,LD Capital、Youbi Capital等參投。[2023/2/8 11:53:11]
2.zkPorter:一個鏈下數據可用性系統,其可擴展性比rollups高出兩個數量級。
由于zkEVM和zkPorter是可互操作以及可組合的,zkSync2.0顯著優于所有其他擴容解決方案。
目前的共識是:Eth2數據分片將在2022年底上線,在不犧牲去中心化的前提下提供更大的數據可用層。結合了Eth2數據分片的zkRollup技術是zkSync的最終目標,在不犧牲4個因素中任意一個的前提下達到10萬以上的TPS。
狀態樹
zkSync在Code4rena平臺啟動漏洞賞金計劃:10月29日消息,以太坊Layer2擴容解決方案zkSync宣布在Code4rena平臺啟動漏洞賞金計劃,總獎金池達165,000美元。活動將于北京時間10月29日4時開啟,至11月10日4時結束,本次活動旨在提高網絡安全性,使zkSync2.0成為更多開發人員的選擇。[2022/10/29 11:55:24]
zkSync2.0狀態樹覆蓋了以太坊全部的160位地址空間。每個帳戶將存在于zkRollup部分或zkPorter部分的狀態中。zkRollup和zkPorter帳戶完全相同,除了一點不同:獲取數據可用性的地方不同。zkRollup交易數據通過數據調用發布到以太坊主網中;而zkPorter的交易數據發布到zkSyncGuardian網絡中,其中,zkSync代幣持有者能夠參與該網絡的PoS機制。
選擇在哪里發布數據,是在成本和安全性兩者間做出權衡。zkPorter的交易費比rollup的交易費要便宜很多,但是用戶的資金可能會被凍結。然而,zkRollup和zkPorter賬戶的有效性是由零知識證明和以太坊來提供保證的。換句話說,zkPorter中的資金只能被凍結,不能被竊取。
zkRollup和zkPorter帳戶的互操作性和可組合性給了每個用戶成為zkSync一流公民的機會。假設,Uniswap部署在zkRollup端,用戶可以通過zkPorter賬戶訪問,并以最低的手續費進行swap。zkSync2.0是一個專門為整個金融領域用戶設計的系統。
密碼學
我們的虛擬機,通常被稱為zkEVM,它并不是完成1:1復刻EVM的。但是,zkEVM旨在能夠運行99%用Solidity編寫的合約,并且在遇到回滾和異常時也能維持同樣的行為。同時,zkEVM能夠有效率地在一個電路中生成零知識證明。
zkEVM的實現不需要我們對此前的證明系統做出重大的變動;我們繼續使用帶有自定義門和查詢表的PLONK?(通常被稱為UltraPLONK)和以太坊的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的采用帶來了幾個主要的優點:
1.LLVM優化框架是不匹配的:它從LLVMIR中生成最有效的zkEVM字節碼。
2.有了新版的Solidity或Zinc,編譯器前端將處理所有更改,而LLVM將使我們無需更改編譯器后端。
3.在未來,如果開發者想基于原生的Rust或Javascript編寫智能合約,只需為該語言構建編譯器前端,智能合約就可以在zkSync中開箱即用。
編譯器的安全性對我們來說是至關重要的,并且已經經過了多個套件的測試:
1.Zinc和Yul編譯器中的詞法、語法和語義測試。
2.我們自己針對Zinc和Solidity的集成測試,它貫穿整個智能合約生命周期:從解析源代碼到合約部署,再到在zkSync上執行交易。
3.從Solidity存儲庫集成的廣泛測試套件,適合我們的集成測試工具。
每個套件已經包含了幾千個測試,我們將至少增加一個數量級。
我們的兩編譯器已經成功部署并用兩種語言執行了簡單的智能合約。但是仍然有更多的優化需要完成,一些復雜的LLVMIR語句需要轉換為zkEVM字節碼。因此,我們決定等到我們的編譯器運行狀態更強健再發布。
完成編譯器的工作之后,我們將集中精力完善Zinc的功能,然后構建Rust編譯器前端來允許使用原生Rust編寫智能合約。
核心基礎設施
zkSync2.0核心基礎設施由幾個關鍵部分組成:
全節點
1.利用虛擬機的zkEVM字節碼的預電路執行器環境
2.狀態在交易發送后的幾秒內可用
3.過濾掉明顯無效的交易(例如,沒有足夠的資金進行交易),這些交易可能會使區塊膨脹
4.在內存池中執行交易并生成區塊。
證明者
1.接收區塊的見證者并生成零知識證明,
2.用于并行證明生成的證明者接口
3.自定義的證明者自動縮放器,可根據需要創建和終止證明者機器。
交互器
1.用來監測以及與以太坊L1交互的工具,
2.基于代幣價格、ZKP生成成本以及L1gas費來計算交易費用。
Paranoid監視器
Prometheus、彈性、哨兵、正常運行時間,幾個單獨的事件通知系統以及自定義的安全運行檢查服務。
zkSync2.0的核心基礎設施功能齊全,已經集成了zkEVM執行器。
點擊“閱讀原文”獲取文章內部鏈接!
原文鏈接:
https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179
來源|?MatterLabs
數字貨幣“死多頭”MicroStrategy又買比特幣了,這次的購買也讓該公司的比特幣總持有量超過了10萬枚.
1900/1/1 0:00:00紐約——BLASTPremier和Bondly聯手推出了以反恐精英游戲中的“Chicken”為主角的NFT收藏品,它充滿樂趣,價格合理并且游戲化.
1900/1/1 0:00:00去中心化金融正在重新定義金融的未來,為金融應用提供動力的底層基礎設施正在發生重大轉變,它正在改變我們對權限和控制、透明度和風險的思考方式.
1900/1/1 0:00:00在ERC20代幣智能合約的建立、DeFi協議使用和穩定幣大宗交易上,Polygon似乎正在「反客為主」.
1900/1/1 0:00:002021年6月10日,十三屆全國人大常委會第二十九次會議正式表決通過數據安全法。從數據安全法草案公布開始,這部法律就一直打著確定數據安全制度,加大處罰力度的旗號.
1900/1/1 0:00:00我們發現,具有未來性的新興技術經過一段時間蟄伏后,都會以非常強勢的姿態回歸行業視野。在今年,表現最為明顯的便是元宇宙,目前行業對它的關注度不亞于平行鏈拍賣、Lay2和DeFi,已成為眾多大會上必.
1900/1/1 0:00:00