比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 火幣APP > Info

EIP-3529:減少gas返還_STOR

Author:

Time:1900/1/1 0:00:00

簡單總結

移除SELFDESTRUCT的gas返還,減少SSTORE的gas返還到一個較低水平,使得返還的量仍然相當大,但不會像現在高到可以被利用的地步。

原因

最初引入SSTORE和SELFDESTRUCT的gas返還是為了鼓勵應用開發者寫應用時能踐行“良好的狀態衛生”,清理不再需要的存儲槽與合約。但是,結果證明這項技術帶來的效率遠低于預期,gas返還還帶來多項未預料到的有害后果:

gas返還導致GASToken的出現。GasToken有益于把gas空間從低費用階段轉移到高費用階段,但它也對網絡有壞處,尤其是加劇狀態大小膨脹(由于狀態槽被有效用作“電池”來積攢gas)和低效地堵塞區塊鏈gas使用。

gas返還加劇區塊大小變化。一個區塊實際消耗的gas量的理論最大值是接近名義上的gaslimit(因為返還會增加同一區塊里后面交易的gas空間,盡管返還的gas最多是該筆交易消耗gas的50%)。這一點不是致命的,但影響還是相當不好,特別是返還可以被用來維持比EIP-1559使用兩倍gaslimit更長的峰期。

以太坊核心開發者共識會議:即將上線 EIP-4844 專用短期測試網絡 Devnet #7:7月1日消息,Galaxy 研究副總裁 Christine Kim 發文總結第 112 次以太坊核心開發者共識會議,本周開發人員討論了在 Engine API 中包含 builder override flag,將目標 blob 限制 從 2 上調到 3,將最大 blob 限制從 4 上調到 6,以及圍繞更改驗證器最大有效余額的持續研究。Blob 容量的增加是由以太坊基金會研究 Dankrad Feist 在進行數據實驗測試處理大塊的網絡容量后提出的。

以太坊基金會 DevOps 團隊的 Parithosh Jayanthi 表示,所有 EL 和 CL 客戶端團隊都通過了 Devnet #7 的相關 Hive 測試。他的團隊計劃最早在 6 月 30 日或 7 月 3 日推出 Devnet #7。Devnet #7 是 EIP-4844 的專用短期測試網絡,不會測試其他代碼更改。

另外,開發人員正準備在今年年底前棄用公共 Goerli 測試網絡。為了取代 Goerli,以太坊客戶團隊正在啟動一個名為 Holesky 的新測試網,測試網將托管一個大于 Goerli 和以太坊主網的活動驗證器集。[2023/7/1 22:12:05]

規范

第111次以太坊核心開發者共識會議:計劃在未來幾周將EIP-7044等提案合并到Deneb規范中:6月19日消息,Galaxy研究副總裁Christine Kim發文總結第111次以太坊核心開發者共識會議,共識層團隊討論了Deneb升級的最終范圍,驗證者證明與聚合期限的潛在變化,以及將最大有效驗證人余額從32枚ETH增加到2048枚ETH的建議。首先,開發者討論了在Deneb中包含哪些以CL為中心的EIP,Teku開發者Mikhail Kalinin圍繞EIP-6988進行更新,該提案提出了一個代碼更改,以防止強行從網絡中彈出的slashed驗證器被協議選為區塊提議者。開發者還討論了EIP-7044、EIP-7045與EIP-4788三個提案。其中,EIP-7044提出一個代碼更改以改善質押者體驗,確保簽名的驗證器退出永久有效。EIP-7045提出代碼更改以加強網絡的安全性,擴大證明槽的包含范圍。EIP-4788提出一個代碼更改,以改善質押者體驗,它將公開信標鏈區塊的根,其中包含EVM內部鏈狀態信息,供DApp開發者的信任最小化訪問。以太坊基金會研究員AlexStokes表示,計劃在未來幾周內將上述三個EIP合并到Deneb規范中,并鼓勵CL客戶端團隊盡快對其進行審查。

同時,CL客戶端團隊已同意在下一個EIP-4844測試網Devnet6上測試增加的blob數量,并在兩周內就此事做出最終決定。與圍繞最大blob計數的討論相關,Nimbus開發者arnetheduck提出了在上海升級后主網上增加區塊重組的問題。arnetheduck提議考慮更改4秒的最后期限,以聚合驗證者證明并通過網絡發送它們,并決定進一步予以調查。以太坊基金會研究員MichaelNeuder提出取消32枚ETH質押上限,以幫助減少活躍驗證者集的增長。開發者討論了這一變化的潛在缺陷,以及將該提案與智能合約啟動的部分和全部提款直接從EL中啟動的可能性。開發者同意繼續討論在ETH Magicians和Discord上異步更改以太坊驗證器有效余額的實施細節。此外,以太坊核心開發者就Holesky測試網啟動進行了第一次協調電話會議,Holesky預計將在年底前取代現有的Goerli測試網。[2023/6/19 21:46:42]

參數

MetaMask移動版本V3.6.0添加支持顯示EIP 1155 NFT:11月5日消息,官方消息,MetaMask移動版本V3.6.0添加支持顯示EIP 1155 NFT,可以降低gas價格并支持更復雜的合約。[2021/11/5 6:32:46]

對于存在block.number>=FORK_BLOCK的區塊,需要作下列變更。

1.移除SELFDESTRUCT的返還

2.用SSTORE_RESET_GASACCESS_LIST_STORAGE_KEY_COST(EIP-2929EIP-2930合力下的4,800gas)取代SSTORE_CLEARS_SCHEDULE

3.把交易后的最大返還gas量減少到gas_used//NEW_MAX_REFUND_QUOTIENT

原理闡釋

EIP-2200引入了返還的三種情況:

1.如果原始值是非零,新值是零,添加SSTORE_CLEARS_SCHEDULE的gas量到返還計算器

MetaMask啟用適配EIP-1559的新版本:8月19日,MetaMask官方稱目前已針對所有用戶啟用適配EIP-1559的新版本。MetaMaskChrome瀏覽器插件錢包的最新版本是v10.0.2。另外,MetaMaskiOSv3.0版也已啟用EIP-1559相關功能。[2021/8/19 22:23:43]

2.如果原始值是零,當前值是非零,新值為零,添加SSTORE_SET_GAS-SLOAD_GAS(當前是19,900)的gas量到返還計算器

3.如果原始值是非零,當前值是一個不一樣的非零值,新值等于原始值,添加SSTORE_RESET_GAS-SLOAD_GAS的gas到返還計算器

在這三種情況里,只有(1)會啟動gastoken且允許區塊在執行上消耗超過區塊gaslimit的gas。(2)不具有這個特點,因為要獲得19,900的gas返還,同一個存儲槽必須在之前從零改為非零,這需要消耗20,000gas。無法從一個存儲槽獲得gas并用它來編輯另一個存儲槽,意味著它不能被用作gastoken。另外,獲得返還需要恢復存儲的寫入和擴展,使得返還的gas不會增加客戶端處理區塊的工作量。(3)是相似的:只有當同一個存儲槽在之前已經消耗了5,000gas的時候才能獲得4,900gas返還。

交易員:倫敦硬分叉和EIP-1559或會改變以太坊貨幣政策:7月27日消息,交易員布賴恩·凱利(Brian Kelly)在做客CNBC節目時表示,即將到來的倫敦硬分叉以及備受關注的EIP-1559將極大地改變以太坊的貨幣政策,在經常面臨無限制供應的批評之后,它不會變成一種通貨緊縮的貨幣,這將有助于助長“價值儲存”的說法。(U.today)[2021/7/27 1:18:05]

此EIP處理第一種情況。我們可以通過使用一個相似的“配對”變元來確定在何種條件下gastoken是不可用的(例如,你不可以在一個存儲槽里獲得比你的輸入更多的gas),將每一筆返還映射到同一筆交易的同一個存儲槽的前一筆支出。當一個存儲槽的原始值是非零值,如果它被改為0時,有兩個可能性:

1.這可能是存儲槽第一次被設置為零。在這種情況下,我們可以把這個時間與SSTORE_RESET_GASACCESS_LIST_STORAGE_KEY_COST第一次讀取和編輯存儲槽的最小開銷進行配對。

2.這可能是存儲槽第二次被設置為零或被設置為零后的情況。在這種情況下,我們可以把這個事件與最近一次數值從零改為其他值,且SSTORE_CLEARS_SCHEDULE的gas從返還中被移除的變元進行配對。

對于第二次或之后的情況,SSTORE_CLEARS_SCHEDULE?的值是什么并不重要,因為那個gas大小的返還是與相同大小的清除返還相匹配的。這就只剩下第一種情況了。為了確保存儲槽上消耗的gas總量為正,我們需要SSTORE_CLEARS_SCHEDULE<=SSTORE_RESET_GASACCESS_LIST_STORAGE_KEY_COST。因此,此EIP只把SSTORE_CLEARS_SCHEDULE減少到那兩項開銷的總和。

此EIP的另一個原因是,清除還未被讀取的數據(通常是“無用”數據)是不會有凈返還的,但清除被讀取過的數據(通常是“有用”數據)還繼續會有凈返還。

向后兼容性

返還當前僅在交易執行后應用,因此無法對執行中任何特定可用的調用框架造成影響。因此,清除它們將不會破壞任何代碼的執行,盡管它將使得一些應用變得經濟上不可行。

Gastoken會變得沒有價值。DeFi套利機器人今天經常不是使用已有的gastoken方案就是一個定制的,以減少鏈上的開銷,這得益于重寫它們的代碼以清除對那些不再有用的gas存儲機制的調用。

然而,完全保留在new=original=0!=current?里的返還,以及保留在其他nonzero->zero情況里的一些返還能確保一些接收(和值得)更好的gas開銷待遇的關鍵用例能持續獲益。例如,zero->nonzero->zero的存儲設置模式保持只需消耗大約100gas。這些模式包括兩個重要實例:

?反重入鎖(通常在一個子調用開始前從0變為1,當子調用結束時再變回0)

?ERC20授權與發送(當代幣轉移得到授權,"授權值"會從零變成非零,然后在代幣轉移過程中恢復到零)

對清除存儲激勵的影響

對之前關于移除返還的EIP(EIP-3298和EIP-3403)的批評是這些EIP完全消除了把一個值設為零的激勵,相當于鼓勵用戶不要完全清除一個存儲槽(即使他們想這么做),哪怕他們想再次使用該存儲槽的幾率是最小的。

舉一個例子,如果你有一個單位的ERC20代幣,且你要送出或賣出你的所有余額,你可以只給出0.999999個單位,把剩余的留下。如果你想在未來重新放入更多該種代幣到同一個賬戶,你僅需要為SSTORE支付5,000gas(2,100用于讀取2,900用于非零變為非零的設置)而不是22,100(20,000用于零到非零值的設置)。今天,這部分的gas會被清除存儲獲得的15,000gas返還所抵消,因此,如果你有超過15000/17100=87.7%的把握會再使用這個存儲槽,你才會有動力這樣做;按照EIP3298或EIP3403的設定,抵消激勵這部分是不存在的,因此,如果你再次使用該存儲槽的可能性是大于0的,設為非零值會更好。

對于剩下的4,800gas返還,如果你覺得再次使用某個存儲槽的幾率大于4800/17100=28.1%,你才有保持該存儲槽為非零的動力。這并不是完美的,但它可能高于一般人在清除了他們的全部余額后在同一個地址重新獲得同一代幣的幾率。

gas返還的上限是所消耗gas量的1/5,這意味著這種返還僅夠用于增加處理一個區塊所需的存儲寫入操作量最多為25%,限制了利用這個機制進行以存儲寫入為重點的拒絕服務攻擊。

測試用例

EIP-2929的gas開銷

注意,“熱”和“冷”存儲槽之間是有區別的。這個表展示了EIP-2929下的值,假定所有變動過的存儲槽都已經是“熱”狀態(區別是一次性消耗2,100gas)。

減少了的返還后

如果通過把SSTORE_CLEARS_SCHEDULE從15,000變為4,800(以及去除selfdestruct的返還),減少了部分的返還,下面是是一個對比表。

安全考慮

返還對于事務執行時不可見的,因此這不會對事務執行邏輯產生任何影響。

如果我們不計算后來重置回零的零到非零的SSTORE,在一個區塊里執行的最大gas消耗量受到gaslimit的限制。不計算這些事可以的,因為如果這樣的SSTORE被重置了,存儲不會被擴展,客戶端實際上不需要調整默克爾樹;gas消耗是可以返還的,但客戶端對這些操作碼的處理通常也會被取消。如果new_value=original_value,客戶端應該保證不會進行存儲寫入;這是自以太坊創世以來的一次謹慎優化,但它現在變得更重要了。

來源|?eips.ethereum.org

作者|VitalikButerin&MartinSwende

Tags:GASSTOTORSTORgas幣價格TSSTokenStormXSTORM

火幣APP
天天理財第三期-7天DOGE定期理財_Gate.io

尊敬的用戶: 天天理財,穩穩收益!天天理財第三期驚喜上線!7天DOGE定期理財,預期最高年化收益20%!活動詳情如下: 認購說明: 1.本次認購僅支持APP端.

1900/1/1 0:00:00
通過此培訓,以低于40美元的價格成為Microsoft Office專家_FIC

通過使用Typesy可以教MicrosoftOffice培訓,用戶可以掌握有關使用Word,Excel,PowerPoint以及該功能強大的應用程序包中所有驚人功能的內在知識.

1900/1/1 0:00:00
關于WBF上線MC(Monkey Coin)的公告_COM

尊敬的用戶: WBF即將在動物園板塊上線MC/USDT交易對,具體上線時間如下:充值時間:2021/5/1221:00提幣時間:2021/5/1221:00交易時間:2021/5/1222:00.

1900/1/1 0:00:00
Facebook 旗下 Diem 協會正將主要業務從瑞士轉移至美國,并公布 Silvergate Bank 為其美元穩定幣獨家發行方_BOO

鏈聞消息,Facebook旗下數字貨幣項目Diem協會宣布與加密友好銀行SilvergateBank母公司SilvergateCapital達成戰略合作.

1900/1/1 0:00:00
本輪牛市各幣種瘋牛、狂牛、癲牛價預測及分析,純娛樂,別參考_DEFI

牛市,只需要想象力。 ★最近好久沒有寫行情,搞得成天有人問。包括昨天發一條微博說以太或許看沖5000,有人就笑話我說,一跌就看更低,一漲就看更高——其實本來就要這么去看待市場:市場樂觀的時候,你.

1900/1/1 0:00:00
WBL使用IPFS與Filecoin為Dapp擴展存儲功能_FRA

Wolfram區塊鏈實驗室使用IPFS和Filecoin為Dapp開發擴展存儲功能。對于IPFS和Filecoin生態系統的增長來說,為開發人員擴展可用的工具選項,以創建新的去中心化應用程序至關.

1900/1/1 0:00:00
ads