EIP-7923:以稀疏分頁調整 EVM 記憶體配置與計費
EIP-7923: A Sparse-Page-Based Memory Model for the EVM
場次摘要
EIP-7923 提議讓以太坊虛擬機(EVM)只配置實際存取的記憶體頁面,不再為未使用的位址空隙付費。QuarkChain 的 Jamie 說明,現行模型將記憶體視為從位址 0 開始的連續區間,擴張可能產生二次方成本,以限制阻斷服務風險;新提案則借鏡硬體的稀疏分頁,支援更彈性的合約記憶體布局。 依講者所述硬體量測及每 gas 20 奈秒的換算,新頁配置費估為每頁 100 gas,既有頁面的 MLOAD 讀取基本費擬維持 3 gas。提案另設每筆交易 64 MB 上限,避免大量同時呼叫累積過高的記憶體需求。多數既有合約預期仍可相容;利用 Linux 頁面保護省去應用程式追蹤表,則仍是實驗方向,並非定案機制。
值得記下的 5 件事
- [1:46]
稀疏分頁只配置實際存取的頁面,不為未使用的空隙擴張整段記憶體
現行模型依最高存取位址擴張連續區間,再收取新舊記憶體成本的差額;提案改為檢查本次存取碰觸的頁面,已有頁面就沿用,否則才收費並配置。目標是支援更彈性的記憶體布局,免除空隙帶來的配置負擔。
- [3:04]
新頁配置費估為每頁 100 gas,跨頁讀取可能一次觸發 2 頁配置
講者以每 gas 20 奈秒換算,搭配新頁配置耗時上緣 2,000 奈秒,推得每頁 100 gas 的估值。這項估算依據所述硬體量測;MLOAD 讀取若跨越頁面邊界,可能需要配置 2 個新頁,費用也須隨之計算。
- [3:40]
既有頁面的 MLOAD 讀取基本費擬維持 3 gas
講者依所述量測,將存取與頁面追蹤耗時估為 25 奈秒;以每 gas 20 奈秒換算,3 gas 對應的時間預算為 60 奈秒,足以涵蓋這項估值。因此,提案認為可沿用現行基本費,判斷仍以這組量測與換算為基礎。
- [4:04]
Linux 頁面保護仍是後續實驗方向,尚非定案機制
構想是讓受保護頁面的存取觸發 SIGSEGV 訊號,再由應用程式的處理機制按需配置頁面。這條路徑的目標,是省去應用程式用來追蹤頁面的雜湊表,作為現有稀疏配置構想之外,可能進一步改善的方向。
- [4:42]
每筆交易擬設 64 MB 上限,也須考量大量同時呼叫的總需求
講者以 100 個同時達到上限的呼叫請求為例,估算記憶體需求會累積至 6.4 GB,藉此說明限制單筆用量的重要性。這是各請求都用滿額度時的容量情境,而非每次呼叫的固定用量或節點實測結果。
更多來自 DEVCON 8
Arrow 的硬體 DAO 實驗:AI 協作、在地製造與責任分工
A DAO Shipped an Aircraft: What It Takes to Coordinate Atoms with Tokens
Thomas Garrison
Kohaku:以 SDK 將隱私與安全功能帶入以太坊錢包
Kohaku : privacy for everyone, by default
Nico、Vitalik
私有狀態與公開網路:區塊鏈隱私的去中心化取捨
Private State, Public Network: The Tradeoffs Behind Privacy
Zachary Williamson