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

EIP-3529:減少gas返還_GAS

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更長的峰期。

以太坊核心開發者共識會議:將為 Deneb 升級納入與測試 EIP-4788、EIP-6987:5月7日消息,Galaxy 研究副總裁 Christine Kim 發文總結第 108 次以太坊核心開發者共識會議。其中,開發者同意考慮將 EIP-4788、EIP-6987 納入 Deneb 進行測試。EIP-4788 將啟用執行層上的共識層狀態證明,以通過智能合約進行無信任驗證。此前 PR #3175 正處在格式化為 EIP 的過程中,將改為 EIP-6987,即出于安全考慮,防止罰沒(slashed)驗證節點被選為區塊提議者。開發者討論了在 Deneb 規范中引入一個額外的變量與常量,以允許執行層具有更大的彈性,以獨立于共識層調整每個區塊的最大 blob 交易數。以太坊核心開發者 Tim Beiko 提醒共識層客戶端團隊,通過 EIP-4844 引入的新 SSZ 類型應在多大程度上與即將到來的 SSZ 升級兼容或針對當前 RLP 標準進行優化,仍然不確定。Ryan 表示,目前在 EIP-4844 中使用「flat hash」的 SSZ 類型是兩頭吃虧的,因為它沒有為 RLP 格式化,但也沒有利用完整的 SSZ 序列化的優勢。開發者將在下周的 ACDE 電話會議上繼續討論這一問題。此外,信標鏈證明子網(attnet)的改造已于 5 月 4 日推出。開發者還在信標鏈 API Github 存儲庫上討論了 PR #317。

考慮到最近的 MEV-Boost 漏洞攻擊,中繼現在在通過 gossip 上廣播前會驗證區塊內容。該功能需要 Lighthouse 與 Prysm 客戶端的自定義分叉。Lighthouse 客戶端開發者 Michael Sproul 提出了一個標準查詢參數,用于在所有共識層客戶端中啟用相同的功能。Prysm 客戶端開發者 Terence Tsao 表示,在某些方面引入次功能會增加對 MEV-Boost 的依賴性,MEV-Boost 是一種用于在以太坊上賺取 MEV 的臨時軟件,應該棄用它以支持 PBS。[2023/5/7 14:48:23]

規范

第160次以太坊ACDE會議:確定納入EIP-4844、6780、6475、1153:4月29日消息,根據Christine Kim對第160次以太坊執行層核心開發者會議(ACDE)進行的總結,本次會議主要討論在下次坎昆(Cancun)升級中,需要納入哪些代碼修改。

除了此次升級的主角EIP-4844(降低L2手續費) 外,開發者還同意將以下EIPs納入升級:

·EIP-6780(修改SELFDESTRUCT操作碼的功能,主要是為未來應用Verkle樹做準備);

·EIP-6475(為可選值引入新的簡單序列化類型,以提供更佳的可讀性和緊湊的序列化);

·EIP-1153(引入瞬態存儲操作碼)。

另外,還有部分EIPs提案尚未被正式接受納入升級(EIP-6913、6493、4788、2537、5656)以及部分被確定不考慮納入本次升級(Big EOF和EVMMAX)。

在對圍繞坎昆EIPs進行討論后,下一次會議議程將是關于EIP-4844的進展。

此前消息,以太坊核心開發人員會議中表示,計劃對區塊鏈的共識層進行代碼修改,為下一次坎昆升級(Cancun-Deneb)做準備,預計將于今年晚些時候進行。

以太坊的Cancun-Deneb升級中預期的最重大變化將是EIP-4844,也稱為“ proto-danksharding ”。 EIP-4844旨在通過以太坊節點實現鏈下數據的臨時存儲和檢索,以滿足區塊鏈應用程序的數據和存儲需求。如果成功激活,EIP-4844有望降低第2層rollup解決方案(包括Optimism和Arbitrum)的交易成本。[2023/4/30 14:35:10]

參數

以太坊核心開發者eric.eth考慮創建EIP,以將區塊獎勵從2 ETH減少到1 ETH:以太坊核心開發者eric.eth表示,為了符合以太坊對最低必要發行量的承諾,已經開始分析我們為安全支付的費用(與對EIP-1234的分析一致)。eric.eth稱正在考慮創建一個EIP,將區塊獎勵從2 ETH減少到1 ETH。

據悉eric.eth在EIP-1234中分析表示,區塊獎勵和向礦工支付的交易費用,是為了確保網絡的安全。對比BTC和ETH網絡,將區塊獎勵和交易費用都轉換為美元,并跨時間進行比較。兩者非常接近,有時ETH實際上向礦工支付的費用比BTC高。因此從不同區塊鏈,很難比較網絡安全和財務費用。因此使用市值作為衡量指標來分析網絡是否向礦工支付了過高的價格。ETH市值金是BTC市值的34%,因此向礦工的支付是過度的(ETH和BTC礦工獲得的獎勵的美元價值接近,但ETH市值低),并證明減少區塊獎勵是合理的。

今日此前消息,礦工提出針對EIP-1559的提案EIP-3368,擬將當前區塊獎勵從2 ETH增加至3 ETH。[2021/3/13 18:42:09]

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

聚幣Jubi將于1月20日啟動EIP溢價回購 1月JT回購價0.2223USDT:據官方消息,聚幣Jubi將于2021年1月20日啟動1月JT的EIP溢價回購,按照EIP特有的每月回購價持續上漲35%的機制,本月EIP回購價格為0.2223USDT。JT場外預約回購已于1月20日15:00-20:00限時開啟。

EIP為聚幣創新推出的JT溢價回購機制,采用場外回購與二級市場雙通道回購,且每月JT回購價定增35%。預計2021年6月EIP回購價格將達到每JT的回購價1 USDT(1 JT=1 USDT)。未來,EIP回購將以持幣時間與日均持幣量作為兩大回購額關鍵指標。持幣時間久、日均持幣量高的JT長期持有者將隨著EIP回購價格的增長,享受更高的回報。[2021/1/20 16:36:30]

1.移除SELFDESTRUCT的返還

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

以太坊改進提案EIP-2876試圖優化交易所充值流程中的Gas消耗:比特幣技術愛好者JonathanUnderwood為以太坊提出改進提案EIP-2876,試圖優化中心化交易所的充值流程,減少整體的Gas消耗。文檔指出,兼容EIP-2876的錢包應用可以向兼容的存款系統發送ETH,以減少以太坊網絡整體Gas的消耗量,因為兩筆交易需要花費4.2萬Gas,但是一個簡單的ETH轉發合約僅需要花費約3萬Gas。而且對于這套存款系統來說,可以直接將所有存款轉發到交易所的冷錢包,不需要手動操作來歸集多個外部賬戶的存款。[2020/8/17]

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

原理闡釋

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

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

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處理第一種情況。我們可以通過使用一個相似的“配對”變元來確定在何種條件下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:GASSTOTORSTORPegasCoindAppstoretorn幣行情

屎幣
分析:比特幣不受埃隆·馬斯克影響的3個原因_比特幣價格

當特斯拉CEO埃隆-馬斯克批評比特幣的能源消耗時,比特幣價格下跌了17%,但現在比特幣已經反彈。5月13日,比特幣下跌到45600美元,現在達到51000美元,已經收復了一半以上的跌幅.

1900/1/1 0:00:00
以太首次突破5000億美元的市值_VITA

比特幣在2020年12月下旬突破了5000億美元的市值。 消息 在持續上漲的價格中,以太幣是僅次于比特幣的第二大價值最高的加密貨幣.

1900/1/1 0:00:00
CHAD是什么?項目介紹_CHADS

您好,加密貨幣愛好者! QDAODeFiRating和NOAH的ARK平臺不斷收集DeFi項目的有關的信息。我們對建立最佳的DeFi教育系統充滿信心,因此想介紹這種行業中最有前景的創業項目.

1900/1/1 0:00:00
金色前哨 | eBay探索NFT市場:允許用戶在其平臺買賣NFT_BAY

據路透社報道,電商巨頭eBay宣布允許在其平臺上出售數字收藏品NFT,包括有關NFT交易卡、圖片或視頻片段等數字收藏品,成為首家探索NFT熱潮的電子商務公司.

1900/1/1 0:00:00
幣圈思考「瘋狂動物城」啟示錄_SHIB

DeFi食物代幣「謝幕」還不足一年,以SHIB為首的動物代幣又開始攪動加密貨幣市場。行情數據顯示,5月7日至11日,SHIB四日暴漲超1800%,市值超越昔日主流幣EOS、BSV,排名躍至15位.

1900/1/1 0:00:00
5.13 比特幣晚間簡評_SOL

行情觀點:小時盤面來看,昨日午盤大餅沖高觸壓57988一線回調,一路震蕩下行回吐漲幅,今日早盤連續短線下挫,跌破50000一線關口,插針至45500一線.

1900/1/1 0:00:00
ads