我能否將你比作夏天?
你有著更強的可擴展性和安全性。
狂風摧殘著五月新萌芽的意志,
夏天總是倏忽而逝。
——聰·莎士比亞,2021
介紹
解決了最大的技術挑戰后,我們開始在兼容EVM的環境中部署智能合約。測試網的第一個版本已上線:你可以通過區塊瀏覽器查看zkSync2.0上的活動。在本文中,我們將深入講解每個關鍵的組件、提供進度更新和下個版本的計劃。
zkSync2.0測試網瀏覽器:https://zksync2-alpha.zkscan.io/
主要成果
在密碼學方面,zkEVM的指令集已經得到最終確定,而且在電路和執行環境中都已實現。
在編譯器方面,無論是用Solidity還是Zinc編寫的智能合約都可以被編譯成zkEVM字節碼。
在核心基礎設施方面,全節點整合已經完成,能夠成功部署并執行編譯后的智能合約。
雖然zkEVM和核心2.0基礎設施已準備公開,但是我們還需要在編譯器上下更多功夫,才能正確覆蓋所有極端情況。為了提供更全方位的開發者體驗,我們已經決定等編譯器達到100%可靠時立即開放zkEVM、編譯器和核心SDK的訪問權限。
zkSync2.0vs以太坊
二者之間在外觀和體驗感上都差不多。以下是幾個重要區別:
Solidity智能合約
zkSync2.0支持絕大多數以太坊操作碼!但是也有一些例外:
zkSync Era的TVL突破5億美元,一周內增長12%:金色財經報道,根據數據源L2Beat的數據,周一早些時候,zkSync Era上鎖定的總價值(TVL)升至5億美元以上,一周內增長了12%。Matter Labs的zkSync Era是一個旨在擴展以太坊的零知識(ZK)匯總。[2023/6/19 21:47:25]
本次發布的版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作碼,但是后續版本會支持。
我們暫時不支持KECCAK256操作碼,所有對KECCAK256操作碼的調用會被自動替換成另一個抗碰撞的哈希函數。之后,KECCAK256操作碼將作為預編譯引入。
我們已經決定不包括SELFDESTRUCT操作碼,因為以太坊正在計劃移除該操作碼。
我們可能會對取消對完整的256位XOR/AND/OR操作碼的支持,因為這些操作碼僅存在于經過編譯且用于位掩碼的solidity代碼。這可以由編譯器使用其它操作碼來完成。
Gas
在zkSync2.0中,有一個不同的gas概念。交易代價將根據當前Layer1gas價格和生成零知識證明的成本而波動。智能合約調用的zkEVM步驟和存儲寫入參數將有數量上限。
Web3.0API
下一個版本將包括我們的Web3.0API實現,該實現將兼容以太坊文檔所定義的Web3.0標準。事件將變成開箱即用的,所有服務都可以輕松集成。
zkSync包括Layer1沒有的功能,例如已提交區塊和已敲定區塊的概念。因此,未來將會有其它方法可以讓開發者更精確地控制數據。Web3.0客戶端代碼接收的數據與你在以太坊上接收的數據相同,但是要請求專門的信息可以使用?zksync_?命名空間。
被標記為Offchain Labs的地址向zkSync鏈上轉入9524枚以太坊:金色財經報道,據Lookonchain監測,被Nansen標記為Offchain Labs的0x2ce9開頭地址向zkSync鏈上轉入9524枚以太坊(價值約916萬美元),后通過0x8882開頭中轉地址向大量新地址分發以太坊。[2023/5/31 11:50:51]
由于zkSync有多種交易類型并使用EIP712簽名,eth_sendRawTransaction?數據的格式與Layer1不同。但是,編碼對應的是EthereumABI,因此要支持EthereumABI并不難。
簽署交易
zkSync2.0支持兩種交易授權方式:
用戶可以通過簽署EIP712消息,使用普通的以太坊錢包來簽署交易。
任何賬戶都可以設置公鑰來創建我們的內部Schnorr簽名用以簽署交易。這樣一來,基于智能合約的錢包就可以與zkSync2.0進行交互,無需發送Layer1消息的額外成本。
存儲效率提高
每個區塊只應用一次存儲槽覆寫。也就是說,如果有多名用戶與同一個AMM合約交互,這個AMM合約的存儲槽只會被覆蓋一次。因此,定序器之后會向用戶退還平攤成本之后的結余。
預編譯
“預編譯”機制是已經計劃好的,但是要等之后的版本發布。我們計劃先支持keccak256、sha256哈希和ECDSA恢復原語。根據需求和復雜性,我們可能會考慮引入Blake2f輪函數等其它預編譯。
Zksync 2.0已完成首次代碼安全審計,報告顯示并無重大安全問題:11月23日消息,據官方消息,Zksync 2.0網絡已完成由安全機構 Open Zeppelin 負責的首次代碼審計,并無重大安全問題。Zksync 表示,網絡安全是 ZKsync 2.0 的首要保證,安全審計是確保 zkSync 2.0 安全的重要組成部分,官方計劃在接下來的幾個月內采取額外的安全措施,包括漏洞賞金、競賽和編程馬拉松等。[2022/11/24 8:02:27]
額外限制
zkSync2.0的第一個迭代版本可能會強制要求每筆交易的智能合約調用不得超過32次,直到實現一個適當的記賬機制為止。
執行追蹤將有一個硬性上限,但是會與當前以太坊區塊大小上限相當,不會影響大多數協議。
可能還會有更多限制,但是我們的目標是在最終版本中將這些限制降至最低。
深入探究zkSync2.0架構
你或許聽說過區塊鏈的三難困境,但是實現以太坊的可擴展性還需要考慮第四個因素:可編程性。現有的可擴展性方案都要在一定程度范圍內犧牲安全性、去中心化和可編程性來實現可擴展性。zkSync2.0的設計通過結合以下兩種技術突破,將這四個特性同時發揮到了極致:
zkEVM:作為我們兼容EVM的zkRollup的引擎,是唯一具備Layer1安全性且支持Solidity智能合約的解決方案。
zkPorter:可擴展性比rollup高出兩個數量級的鏈下數據可得性系統。
ZKSwap資產總價值超15億美元:據zkswap.info數據,目前ZKSwap平臺上的資產總價值穩定在15億美元以上,流動性也接近9億美元。目前,ZKSwap平臺的挖礦活動正在進行中,ZKSwap4月26日18時開啟了第三期流動性挖礦,本次活動新增了ZKS單幣挖礦,只需在L2錢包中持有活動幣種即可參與挖礦,持有ZKS的用戶還可同時參與ZKS持幣生息活動,多重激勵下已有4700多萬枚ZKS參與了單幣挖礦。值得一提的是,ZKSwap整體挖礦激勵已完成兩次減產,ZKS釋放速率降低了40%,但ZKSwap上的資產總量及交易量仍穩中有升,Layer2零Gas費、極速交易等優勢盡顯無疑。[2021/4/28 21:07:53]
由于zkEVM和zkPorter具有互操作性和可組合性,zkSync2.0顯著優于其它可擴展方案。
目前的共識是,Eth2.0數據分片將在2022年底上線,在不犧牲去中心化的前提下提供大得多的數據可得性層。我們的終極目標是,將zkSync的zkRollup技術與Eth2.0數據分片結合起來,無需犧牲任何4個特性中的任何一個,即可達到10萬+TPS。
狀態樹
zkSync2.0狀態樹覆蓋了以太坊的整個160位地址空間。每個賬戶都有存儲在zkRollup部分或zkPorter部分的狀態。zkRollup和zkPorter賬戶幾乎完全相同,除了保證數據可得性的組件之外。zkRollup交易數據通過調用數據發布到以太坊上,zkPorter交易數據則發布到zkSync的守衛網絡上。
Gate.io完成ZKS空投并已恢復ZKS充提:據官方公告,Gate.io已經根據官方快照規則完成對用戶ZKS持倉余額快照,并按比例空投(比例為1:1),目前已經恢復ZKS充值和提現服務。[2021/2/25 17:52:41]
數據發布在哪里反映的是成本和安全性之間的權衡。zkPorter交易比rollup交易便宜得多,但是你的資金有可能遭到凍結。不過,zkRollup和zkPorter賬戶的有效性都是通過零知識證明保證的。換言之,zkPorter里的資金只有可能被凍結,不會被盜。
zkRollup和zkPorter賬戶的互操作性和可組合性讓每個用戶都有機會成為zkSync中的一等公民。用戶可以通過zkPorter賬戶訪問部署在zkRollup上的Uniswap,從而享受最低交易費。zkSync2.0是一個系統,旨在讓整個金融領域的用戶都能參與。
密碼學
我們的虛擬機并非以太坊虛擬機的復刻品,而是為了能夠運行99%的Solidity合約并確保它們能正常工作而設計。與此同時,zkEVM可以用來高效地在電路中生成零知識證明。
我們并沒有因此對證明系統進行任何重大改變;我們依然使用帶有自定義門和查找表的PLONK和以太坊的BN-254曲線。這么做是有好處的,因為這個證明系統自2020年6月以來已經在zkSync1.0和其它項目中經過千錘百煉。
我們要再次宣布,經過數月以來的艱苦工作,zkEVM的指令集已經得到最終確定,而且在電路和執行環境中都已實現。
這里有一個重要區別:電路和執行環境中的實現是分開的,二者的用途不同。電路的作用是生成追蹤執行的證明并提供見證消息,但是非常慢。相比之下,執行環境既快速又高效。如果我們將生成證明和執行都交由電路完成,實現交易的最終確定還需要好幾個小時。只要我們將生成證明和執行分離,就可以在zkSync上實現即時交易結算。
接下來,我們的重點是將zkEVM和編譯器結合在一起,并加入遞歸:區塊間遞歸和區塊內遞歸。要實現這點并不難!自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庫并根據我們的測試工具進行調整的多個測試套件。
每個套件都包含數千個測試,我們至少會將這個數字增加一個數量級。
我們的兩個編譯器已經成功部署并執行了使用Zinc和Solidity語言編寫的簡單智能合約。然而,我們還有更多優化需要完成,以及一些復雜的LLVMIR語句需要翻譯成zkEVM字節碼。因此,我們決定等到我們的編譯器變得更健壯一點后再將它發布出來。
等到編譯器完成后,我們將專注于增強?Zinc?的表達力和功能性,然后通過構建Rust編譯器前端讓開發者可以使用原生Rust編寫智能合約。
核心基礎設施
zkSync2.0核心的幾個關鍵組成部分是:
全節點
通過虛擬機針對zkEVM字節碼實現的預電路執行器環境
狀態在交易發送后的幾秒內觸達
過濾掉可能會導致區塊膨脹的明顯不正確的交易
執行交易池中的交易并生成區塊
證明器
收到區塊的見證消息并生成零知識證明
提供用于并行證明生成的證明器界面
按需創建和終止證明器的自定義證明器自動擴縮器
交互器
用于查看并與以太坊Layer1交互的工具
基于代幣價格、零知識證明生成成本和Layer1的gas價格計算交易費用
多維監控器
Prometheus、elastic、sentry、uptime等獨立事件通知系統和自定義健康檢查服務。
這個核心基礎設施不僅功能完備,而且已經整合了zkEVM執行器!
聯系我們
編譯器完成后,我們將開放所有組件的訪問權限!開發者將可以部署Solidity/Zinc智能合約,并通過Web3.0API進行交互。
歡迎關注我們的推特!并加入我們在?discord、telegram?和?gitter?上的討論。
如果你有興趣與我們一起構建首個兼容EVM的zkRollup,我們正在火熱招聘中!
原文鏈接:
https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179
作者:?MatterLabs
翻譯&校對:閔敏&?阿劍
近日,區塊鏈數據提供商Messari在crowdcast上主持了一個關于“如何成為加密分析師”的研討會.
1900/1/1 0:00:00我國第一部主要的加密法規出現在2013年,當時政府承認比特幣是虛擬財產,但禁止將其作為交易媒介。2017年,央行宣布首次代幣發行非法,導致比特幣價值暫時暴跌.
1900/1/1 0:00:00由金色財經主辦金色的沙龍第65期線上版:“NFT-數字藝術如何兌現市場價值?”?即將于7月2日14:00在金色財經直播平臺&微信V65直播間內舉辦.
1900/1/1 0:00:00原標題:虛擬貨幣監管政策密集出臺是否受法律保護各地法院態度不一對于虛擬貨幣交易以及挖礦的監管態度,政策法規也愈發清晰。虛擬貨幣挖礦被禁,銀行與支付機構對于虛擬貨幣交易也將保持嚴格監察.
1900/1/1 0:00:00Twitter首席執行官杰克·多爾西(JackDorsey)再次表現出他對比特幣的強烈忠誠,甚至他似乎在diss以太坊——盡管他自己的公司顯然在市場第二大加密貨幣中找到了價值.
1900/1/1 0:00:00本文基于2021年第一季度對50家央行的調查,探討了對CBDC跨境使用的初步思考。盡管多數央行尚未就發布CBDC做出堅定決定,但調查答復顯示,中國央行暫時傾向于允許國內游客和其他非居民使用未來的.
1900/1/1 0:00:00