面對最大的技術挑戰,我們正朝著在 EVM 兼容環境中部署智能合約開始沖刺。測試網的第一個版本已經上線:您已經可以使用區塊瀏覽器查看 zkSync 2.0 上的活動。在這篇文章中,我們將深入解釋每個關鍵組件、提供進度更新以及下一個版本的計劃。
在密碼學方面,zkEVM 的指令集已經完成,并且兩個實現都完成了:在電路中和在執行環境中。
在編譯器方面,用 Solidity 和 Zinc 編寫的智能合約現在可以編譯成 zkEVM 字節碼。
在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯后的智能合約。
雖然 zkEVM 和核心 2.0 基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器 100% 可靠后立即開放對 zkEVM、編譯器和核心 SDK 的訪問。
大多數事情看起來和感覺都一樣。以下是一些重要的區別:
Solidity 智能合約
支持以太坊中的大多數操作碼!但是,也有一些例外:
此版本不支持 ADDMOD、SMOD、MULMOD、EXP 和 CREATE2 操作碼,但將來會支持。
我們暫時不支持 KECCAK256 操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。KECCAK256 稍后將作為預編譯引入。
我們決定不包含 SELFDESTRUCT 操作碼,因為以太坊計劃將其刪除。
zkSync Lite獨立橋接錢包數量突破100萬個:金色財經報道,據Dune Analytics數據顯示,zkSync Lite獨立橋接錢包數量已突破100萬個,本文撰寫時達到1,028,677個,當前zkSync Lite存入ETH總量約為32.1萬枚。[2023/7/30 16:07:16]
我們可能會取消對完整 256 位 XOR/AND/OR 操作碼的支持,因為這些僅存在于已編譯的用于位掩碼的 Solidity 代碼中。這可以由編譯器使用其他操作碼來完成。
費用
在 zkSync 2.0 中,有一個不同的 gas 概念。交易價格將根據當前的 L1 gas 價格(由于發布通話數據)和 ZKP 生成成本而波動。智能合約調用將具有最大數量的 zkEVM 步驟和存儲寫入參數。
Web3 API
下一個版本將包括我們的 Web3 API 實現,它將與以太坊文檔定義的 Web3 標準兼容。事件將開箱即用,所有服務都可以輕松集成。
zkSync 包含 L1 沒有的功能,例如已提交和最終塊的概念。因此,將有其他方法可以讓開發人員更精確地控制數據。Web3 客戶端代碼將接收與以太坊相同的數據,但可以使用 `zksync_` 命名空間請求特殊信息。
由于 zkSync 有多種交易類型,并且使用 EIP712 簽名,因此 `eth_sendRawTransaction` 數據的格式會與 L1 不同。但是,編碼對應于以太坊 ABI,因此支持它并不困難。
zkSync橋接存儲總價值超過16萬枚ETH:金色財經報道,據Dune Analytics數據顯示,以太坊 Layer 2 擴容解決方案zkSync跨鏈橋接存儲總價值已超過16萬枚ETH,本文撰寫時為160,155 ETH,參與橋接交易的用戶量為354,726個。[2022/8/18 12:34:37]
簽署交易
zkSync 2.0 中的交易可以通過兩種方式進行授權(除了優先級隊列機制):
用戶可以通過簽署 EIP712 消息,使用他們的普通以太坊錢包(例如 Metamask 或任何 WalletConnect 錢包)簽署交易。
任何賬戶都可以設置公鑰來創建我們內部的 Schnorr 簽名來簽署交易。這允許基于智能合約的錢包與 zkSync 2.0 進行交互,而無需發送 L1 消息的額外成本。
存儲效率提升
每個塊僅應用一次存儲槽覆蓋。這意味著如果多個用戶與單個 AMM 合約交互,則 AMM 合約的存儲槽只會被覆蓋一次。這允許排序器稍后向用戶退還單次寫入的共享成本。
“預編譯”機制是計劃中的,但將在稍后發布。我們計劃首先支持 keccak256、sha256 哈希和 ECDSA 恢復原語。根據需求和復雜性,可以考慮包含其他預編譯,例如 Blake2f 輪函數(以當前形式在以太坊中幾乎無法使用)。
進一步的限制
zkSync 2.0 的第一次迭代可能會對每筆交易施加 32 次智能合約調用的額外限制,直到實施適當的記賬機制。
RSS3與zkSync宣布完成鏈上數據的索引與集成:7月28日消息,今日RSS3和zkSync宣布正式達成合作關系。目前,RSS3已完成zkSync的鏈上數據索引與集成,用戶可以通過使用RSS3協議或者節點服務獲取zkSync鏈上的內容和數據。
zkSync作為一個開源的Layer2區塊鏈,通過其快速且價格低廉的特點,目前已處理超過1000萬筆的鏈上交易。zkSync是繼以太坊、幣安智能鏈、Polygon、Flow、Arbitrum、Avalanche和 Fantom等區塊鏈后,RSS3協議和節點支持的另一區塊鏈。雙方特有的優勢將為Web3帶來更多的可能性,為項目方和開發者提供簡單易用且成本極低的基礎設施選擇。
RSS3將能在其網絡中提供zkSync用戶的鏈上交易數據和社交信息,zkSync及其鏈上的生態項目和開發商也能通過RSS3為zkSync帶來更??多各種形式的feed的呈現可能性。同時,RSS3通過zkSync為生態系統中的應用程序帶來了新的快速、低成本、無需許可的選擇。[2022/7/28 2:44:04]
執行跟蹤將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。
可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。
深入了解 zkSync 2.0 架構
您可能聽說過區塊鏈三難困境,但在擴展以太坊時,還有第四個因素:可編程性。所有當前的擴展解決方案都存在于為了可擴展性而犧牲一些安全性、去中心化和可編程性的范圍內。zkSync 2.0 的設計結合了以下 2 項技術突破,最大限度地發揮了所有 4 項功能:
火幣調整ZKS/USDT本位永續合約限價機制等參數:火幣合約宣布已對ZKS/USDT本位永續合約的限價機制、溢價偏離限制和資金費率限制進行調整。[2021/2/23 17:44:31]
zkEVM:為我們與 EVM 兼容的 zkRollup 提供動力的引擎,這是唯一具有 L1 安全性和可靠性智能合約支持的解決方案。
zkPorter:一個鏈下數據可用性系統,其可擴展性比匯總高 2 個數量級。
(圖片來源于zkSync)
由于 zkEVM 和 zkPorter 是可互操作和可組合的,因此 zkSync 2.0 能夠顯著優于所有其他擴展解決方案。
目前的共識是Eth2 數據分片將在 2022 年底到來,以在不犧牲去中心化的情況下提供指數級更大的數據可用性層。zkSync 的 zkRollup 技術結合 Eth2 數據分片是最終目標,在不犧牲 4 個因素中的任何一個的情況下達到 100,000+ TPS。
狀態樹
zkSync 2.0 狀態樹覆蓋了以太坊的完整 160 位地址空間。每個帳戶將駐留在狀態的 zkRollup 部分或 zkPorter 部分。zkRollup 和 zkPorter 帳戶完全相同,除了一個組件:保證數據可用性。zkRollup 交易數據通過 calldata 發布到以太坊,zkPorter 交易數據發布到 zkSync Guardian 網絡,zkSync 代幣持有者參與權益證明。
L2 Labs在以太坊測試網Ropsten上推出Layer2 平臺ZKSwap:L2 Labs昨日在以太坊測試網Ropsten上推出了Layer2去中心化交易平臺ZKSwap。據悉,ZKSwap通過ZK-Rollup技術把所有ERC-20 token轉移到Layer2上,再基于不斷生成的零知識證明來保證Layer1和Layer2狀態的一致性。ZKSwap有這樣幾個特點:零gas費用;TPS理論上達到每秒6000筆;所有交易都遷移到Layer2,所以可以實現實時交易。[2020/11/17 21:04:23]
數據發布的地方是成本和安全性之間的權衡。zkPorter 交易比匯總交易便宜得多,但它有可能導致您的資金被凍結。但是,zkRollup 和 zkPorter 帳戶的有效性都是通過零知識證明和以太坊來保證的。換句話說,zkPorter 中的資金只能被凍結,不能被盜。
zkRollup 和 zkPorter 帳戶的互操作性和可組合性使每個用戶都有機會成為 zkSync 中的一等公民。部署在 zkRollup 端的 Uniswap 可以通過 zkPorter 帳戶訪問以交換最低費用。zkSync 2.0 是一個系統,旨在供整個金融領域的用戶參與。
密碼學
我們的 VM,最常被稱為 zkEVM,不是 EVM 1:1 副本,而是旨在能夠運行 99% 用 Solidity 編寫的合約并保持其相同的行為,例如在恢復和異常期間。同時,zkEVM 被編寫為在電路中高效生成零知識證明。
這是在我們的證明系統沒有任何重大變化的情況下完成的;我們繼續將 PLONK 與自定義門和查找表(通常稱為 UltraPLONK)以及以太坊的 BN-254 曲線一起使用。這是有利的,因為自 2020 年 6 月以來,該證明系統已經在 zkSync 1.0 以及使用相同證明系統的其他項目中進行了實戰測試。
再一次,我們很高興地宣布,經過幾個月的努力:zkEVM 的指令集已經完成并在電路和執行環境中實現。
這里有一個重要的區別:電路和執行環境中的實現是分開的,用于不同的目的。電路的工作是生成執行跟蹤的證明并提供證人,但這非常慢。另一方面,執行環境是 zkEVM 在 rust 中的直接實現,高效且快速。如果我們依靠電路來生成證明和執行,交易最終確定將需要幾個小時。證明生成和簡單執行的分離使 zkSync 上的交易能夠即時結算。
接下來,我們專注于將 zkEVM 和編譯器結合在一起,并將遞歸結合在一起:塊之間的遞歸,它允許我們為 N 個塊發布一個證明,以及塊內的遞歸,它聚合塊的不同邏輯部分的子證明. 這是簡單的部分!自 2020 年 6 月以來,zkSync 1.0 的主網上已在使用區塊之間的遞歸聚合證明。有關區塊內遞歸以及我們的 zkEVM 工作原理的更多信息,請觀看此視頻說明。
編譯器
(圖片來源于zkSync)
我們同時致力于兩個針對 zkEVM 的編譯器前端:Yul 和 Zinc。Yul是一種中間 Solidity 表示,可以為不同的后端編譯為字節碼。Zinc是我們用于智能合約和通用零知識證明電路的基于 Rust 的語言。
由于編譯器是使用LLVM框架構建的,因此可以將其視為具有前端 Yul → LLVM IR 和后端 LLVM IR → zkEVM 字節碼。LLVM 的采用帶來了幾個主要優勢:
LLVM 優化框架無與倫比:它從 LLVM IR 生成最高效的 zkEVM 字節碼。
使用較新版本的 Solidity 或 Zinc,編譯器前端將處理所有更改,而 LLVM 將使我們無需更改編譯器后端。
未來,如果開發人員想用原生 Rust 或 Javascript 編寫智能合約,只需為該語言構建編譯器前端,智能合約就可以在 zkSync 中開箱即用。
編譯器的安全性對我們來說至關重要,并且已經通過了多套測試:
Zinc 和 Yul 編譯器中的詞法、語法和語義測試。
我們自己的Zinc 和 Solidity集成測試,貫穿整個智能合約生命周期:從解析源代碼到合約部署和在 zkSync 上執行交易。
從 Solidity 存儲庫集成的廣泛的測試套件,適用于我們的集成測試工具。
每個套件已經包含數千個測試,我們將把這個數字至少增加一個數量級。
我們的 2 個編譯器已經成功部署并執行了兩種語言的簡單智能合約。但是還有更多的優化需要完成,一些復雜的 LLVM IR 語句需要轉換為 zkEVM 字節碼。因此,我們決定在編譯器處于更健壯的狀態之前不發布它。
編譯器完成后,我們將專注于使Zinc更具表現力和功能更豐富,然后構建 Rust 編譯器前端以允許使用原生 Rust 編寫智能合約。
核心基礎設施
zkSync 2.0 核心由幾個關鍵角色組成:
完整節點
通過虛擬機的 zkEVM 字節碼的預電路執行器環境
該狀態在交易發送后的幾秒鐘內可用,
過濾掉可能導致區塊膨脹的明顯不正確的交易(例如,交易資金不足),
在內存池中執行交易并生成區塊。
證明者
接收區塊的見證人并生成零知識證明,
用于并行證明生成的證明者接口,
自定義證明者自動縮放器,可根據需要創建和終止證明者機器。
交互器
用于觀看和與以太坊 L1 交互的工具,
根據代幣價格、ZKP 生成成本和 L1 gas 價格計算交易費用。
偏執監視器
Prometheus、elastic、sentry、uptime、幾個獨立的事件通知系統和自定義健康檢查服務。
這個核心基礎設施功能齊全,已經集成了 zkEVM 執行器。
劍橋替代金融中心(Cambridge Centre for Alternative Finance)稱,目前比特幣每年消耗約110TWh.
1900/1/1 0:00:00本文由中幣(ZB)研究院原創編輯 熱點摘要: 1.ARK基金創始人:比特幣環保進程或提升太陽能吸引力;2.美便利店巨頭Sheetz將開始接受DOGE、BTC、ETH等支付方式;3.
1900/1/1 0:00:002021年5月19日幣安智能鏈上最大借貸協議Venus發布的大額清算事件(參看金色此前報道),有投資者質疑為團隊內幕交易.
1900/1/1 0:00:00當我們分析長、短期持幣者的鏈上情緒時,發現比特幣市場已經淪為多頭和空頭的決戰之地。在過去的這一周,比特幣價格在9,430美元的交易區間內盤整.
1900/1/1 0:00:00編者注:本文由名為 Liberosist 的用戶首發于 Reddit 論壇 r/ethereum 板塊,引發社區熱議,也啟發了社區辯證看待面向以太坊的“批判觀點”.
1900/1/1 0:00:00本文由中幣(ZB)研究院原創編輯 熱點摘要: 1.韓國追回某交易所2018年被盜的1360枚ETH;2.「薩爾瓦多將比特幣定為法幣」報紙頭條被寫入比特幣區塊;3.
1900/1/1 0:00:00