介紹
克服了最困難的技術挑戰之后,我們進入了這項工作的沖刺階段:在兼容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操作碼,但是未來的版本會支持。
數據:zkSync Era總鎖倉量突破2億美元:4月13日消息,L2Beat數據顯示,zkSync Era總鎖倉量已超過2億美元,7日增幅達100%。
據悉,4月3日zkSync Era總鎖倉量超1億美元。[2023/4/13 14:00:38]
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_名稱空間請求特定的信息。
因為zkSync有多種交易類型,并且使用EIP712簽名,所以eth_sendRawTransaction數據的格式與L1不同。然而,編碼與以太坊ABI相對應,所以支持它并不困難。
zkSync橋接存儲總價值突破18萬枚ETH:11月20日消息,Dune數據顯示,以太坊Layer2擴容解決方案zkSync跨鏈橋接存儲總價值已突破18萬枚ETH,目前為181,661 ETH(按照當前ETH價格計算約合2.2億美元),參與橋接交易的用戶量為466,026個。[2022/11/20 22:10:20]
對交易進行簽名
zkSync2.0中的交易可以通過兩種方式進行授權(除了優先級隊列機制):
1.用戶可以通過對一個EIP712信息簽名,從而用他們普通的以太坊錢包(如Metamask或者任意的WalletConnect錢包)對交易進行簽名。
2.任何賬戶都可以設置一個公鑰來創建我們的內部Schnorr簽名來對交易進行簽名。這允許基于智能合約的錢包與zkSync2.0進行交互,而無需額外的成本發送L1的信息。
存儲效率提升
每個區塊只能對存儲槽覆寫一次。這意味著,如果多個用戶與單個AMM合約交互,那么該AMM合約的存儲槽只會被覆寫一次。這允許排序者稍后向用戶退還單次寫入的共享成本。
預編譯
“預編譯”機制是在計劃中的,但將在稍后發布。我們計劃首先支持keccak256、sha256哈希和ECDSA恢復原語。此外,我們會根據需求和復雜性考慮包含其他預編譯,例如Blake2f輪函數(以當前形式在以太坊中幾乎無法使用)。
進一步的限制
zkSync2.0的第一次迭代可能會增加一個額外的限制,即每筆交易只能調用32次智能合約,直到可以實現恰當的記賬機制。
zkSync支持通過UTORG直接使用法幣直接購買zkSync上的代幣:金色財經消息,以太坊二層解決方案 zkSync 已支持通過支付網關 UTORG 直接使用法幣直接購買 zkSync 上的代幣,UTORG 表示目前支持任何銀行卡以及 Apple Pay,并支持 26 種法定貨幣。[2022/4/21 14:38:32]
執行跟蹤將有硬限制,但它將與以太坊區塊大小目前的限制相當,不應影響大多數。
可能會有更多的限制,但我們的目標是在最終版本中將這些限制盡可能減少到最低限度。
深入了解zkSync2.0的架構
你可能聽說過“區塊鏈的不可能三角”,但當談到擴容以太坊時,還有第4個因素:可編程性。所有當前的擴容解決方案都犧牲了一些安全性、去中心化和可編程性來實現可擴展性。zkSync2.0的設計結合了下列兩大技術突破,旨在最大化實現上面說到的四個特性:
1.zkEVM:為兼容EVM的zkRollup提供支持的引擎,這是同時提供L1安全性以及支持solidity智能合約的解決方案。
2.zkPorter:一個鏈下數據可用性系統,其可擴展性比rollups高出兩個數量級。
Argent即將發布StarkNet錢包ArgentX和zkSync L2版錢包:11月13日消息,以太坊智能合約錢包 Argent 即將發布針對 ZK Rollup 擴容方案 StarkNet 的瀏覽器插件錢包 Argent X,目前該錢包只是一個開發者工具,當 StarkNet 啟動 Alpha 版時 Argent 會在其移動應用中添加對 StarkNet 的支持。同時,Argent 在 zkSync 上的 Layer2 錢包目前處于 Beta 測試階段,很快會開放給所有用戶。[2021/11/13 6:50:24]
由于zkEVM和zkPorter是可互操作以及可組合的,zkSync2.0顯著優于所有其他擴容解決方案。
目前的共識是:Eth2數據分片將在2022年底上線,在不犧牲去中心化的前提下提供更大的數據可用層。結合了Eth2數據分片的zkRollup技術是zkSync的最終目標,在不犧牲4個因素中任意一個的前提下達到10萬以上的TPS。
狀態樹
zkSync2.0狀態樹覆蓋了以太坊全部的160位地址空間。每個帳戶將存在于zkRollup部分或zkPorter部分的狀態中。zkRollup和zkPorter帳戶完全相同,除了一點不同:獲取數據可用性的地方不同。zkRollup交易數據通過數據調用發布到以太坊主網中;而zkPorter的交易數據發布到zkSyncGuardian網絡中,其中,zkSync代幣持有者能夠參與該網絡的PoS機制。
選擇在哪里發布數據,是在成本和安全性兩者間做出權衡。zkPorter的交易費比rollup的交易費要便宜很多,但是用戶的資金可能會被凍結。然而,zkRollup和zkPorter賬戶的有效性是由零知識證明和以太坊來提供保證的。換句話說,zkPorter中的資金只能被凍結,不能被竊取。
以太坊擴容方案zkSync母公司Matter Labs完成5000萬美元融資,a16z領投:11月8日,以太坊擴容方案zkSync母公司Matter Labs宣布完成5000萬美元融資,本輪融資由Andreessen Horowitz(a16z)領投,Placeholder、Dragonfly、1kx、Blockchain.com、Crypto.com、Consensys、ByBit、OKEx、Alchemy、Covalent等參投。天使投資人包括AAVE創始人Stani Kulechov等。本輪融資資金將用于擴大Matter Labs的研發和工程團隊,并為其業務增長提供資金。[2021/11/8 6:39:15]
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
Tags:ZKSKSYSYNzkSynczks幣未來前景如何zksync幣imtokenSYNCzksync幣與zks幣
作為波卡的先行網,Kusama一直為波卡的發展扮演著重要的測試作用。6月15日,Kusama平行鏈插槽競拍正式啟動,為波卡實現Web3邁出了關鍵的一步.
1900/1/1 0:00:00原文首發于《聯合早報》 作者:白士泮 最近,由于中國積極推動數字人民幣的研發和測試,明顯領先全球.
1900/1/1 0:00:00干貨|為以太坊引入KZG承諾:工程師視角什么是KZG10?承諾?注3.6:如果啟動設置所計算的?,…?只計算到了指數d,這一組值是不能用來生成任何階數大于d的多項式的承諾的。反之亦然.
1900/1/1 0:00:00據Cointelegraph6月16日報道,提供基于NFT的現實世界資產去中心化平臺PandoraFinance,最近完成了由區塊鏈領域一些最大的風險投資公司支持的數百萬美元種子輪融資.
1900/1/1 0:00:00"2021年,行情將DeFi推到了一個新的高度,而在DeFi當中,智能合約起著關鍵作用。" 什么是智能合約 "智能合約"這一術語是1994年由著名密碼學家尼克薩博首次提出的,它是通過編程來準確高.
1900/1/1 0:00:00吳說作者|談叔 本期編輯|ColinWu1?15億美金買幣股價逆市上揚6月14日,Microstrategy發布(1)稱,已完成價值5億美金垃圾債券的發行,且會將收入用來購買更多的比特幣.
1900/1/1 0:00:00