深潮 TechFlow 消息,Vitalik Buterin發佈新文討論了以太坊虛擬機中的多維 Gas 問題。他指出,Gas 限制在 EVM 中存在兩個方面:每個交易設置一個 Gas 限制,限制了該交易中可以使用的 Gas 總量;當一個合約調用另一個合約時,調用可以設置自己的 Gas 限制。這使得合約可以調用它們不信任的其他合約,並且仍然保證在該調用後有剩餘 Gas 可用於執行其他計算。
然而,多維 Gas 提案的一個挑戰是:在不同類型的執行之間使 Gas 多維化似乎需要子調用為每種 Gas 類型提供多個限制,這將需要對 EVM 進行根本性改變,並且與現有應用程序不兼容。
Buterin 提出了一種解決方案,即通過實時跟蹤 storage_operations 和 execution_gas,並根據 max(execution_gas + 2500 * storage_operations, 10000 * storage_operations) 的增加量在調用操作碼時收取2500或10000的 Gas,來解決這個問題。雖然這樣做會增加一些複雜性,但可以最大程度地保持向後兼容性。
其表示,最簡單的多維gas定價解決方案是將子調用的gas限制視為成比例的。作者提出了兩種處理方法,一種是將不同類型的gas按比例分配,另一種是將子調用gas限制參數表示為當前上下文中剩餘gas的一部分。作者指出,引入多維執行gas會增加複雜性,需要在EVM級別接受一定的不完美來實現L1可擴展性增益。




