以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

深?理解以太坊Gas機制:零字節地址能節省Gas?_GAS:WEI

Author:

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

前言

前段時間在Etherscan上查看交易時,發現一個很有趣的地址:0x00000000a03396F6F864B496713f2623b6756Be2。這個地址是以0x00000000開頭,抱著探索未知的心理對該地址進行了簡單的搜索,發現該地址并不簡單,它不僅構造獨特同時,還能節省Gas費。

什么是Gas

在講這個地址之前,我們首先需要理解什么是Gas。Gas是用于測量在以太坊區塊鏈上執行特定操作所需的計算工作量的單位,即以太坊網絡上的計算單位。我們可以簡單的把Gas理解為汽油,其保證了以太坊網絡的正常運行。在以太坊區塊鏈上,執行寫入操作都需要支付一定的Gas費用。在以太坊中,貨幣是以太幣(ether),1ether=1x1018Wei。在以太坊區塊鏈上進行操作,如發送代幣、調用合約等都要支付相應Gas,且以Wei作為單位來計算。Wei是ETH原生最小的單位,ETH消耗的Gas單位是Gwei,1Gwei=1x109Wei。2.1GasPrice

元宇宙公司Super League通過兩筆可轉換優先股交易完成2380萬美元私募輪融資:金色財經報道,元宇宙公司Super League通過兩筆可轉換優先股交易完成2380萬美元私募輪融資,根據納斯達克規則,最終交易預計將于本周晚些時候完成,SternAegis Ventures擔任本次融資交易的獨家配售代理,現有投資者、新投資者和配售代理的關聯方參投。Super League在Roblox、Minecraft和Fortnite等元宇宙游戲平臺上提供游戲和數字空間體驗,其創新解決方案能讓消費者在元宇宙中進行社交、娛樂、探索、協作、購物、學習和創造。 (Streetinsider)[2023/5/15 15:04:26]

GasPrice是以太坊內消耗1個Gas對應多少的Gwei,當然交易發送方可以自定義愿意支付的每單位Gas價格。比如交易發送方的一筆交易需要耗費10Gas,交易發送者愿意支付3Wei/Gas,交易的成本總價就是30Wei。在我們使用的錢包里都會有調整Gas費的高級選項,GasPrice越高,打包的優先級就越高。2.2GasLimit

歐盟金融官員:一些加密貨幣倡導者贊成“危險”的反監管路徑:金色財經報道,隨著立法者準備明年對歐洲加密資產市場 (MiCA) 監管進行投票,歐盟金融服務專員Mairead McGuinness表示,即將出臺的規則已經產生了影響。雖然一些公司希望受到監管并且已經按照即將出臺的指令行事,但其他公司反對這一想法。一些從一開始就參與加密貨幣的人之所以這樣做,是因為他們不想成為受監管的管理系統的一部分,他們希望與之平行。這是一條非常危險的道路。

McGuinness一直堅定地倡導在歐洲集團內外統一加密貨幣監管。[2022/12/8 21:30:09]

GasLimit是消耗Gas的限制單位,即交易發送方在完成每筆交易時最多能使用的用于執行交易的Gas量。如果沒有GasLimit做限制,可能會導致交易發送方的賬戶余額因錯誤操作而消耗完,GasLimit是安全機制,防止把賬戶中所有ETH消耗掉。2.3固有成本Gas

發送一筆交易的成本包括兩部分:1、固有成本2、執行成本執行成本顧名思義和執行有關,執行一筆交易的操作越多,它所需要的使用的EVM資源就越多,執行成本就越高。而固有成本由交易的負載決定:1、創建智能合約的負載是創建智能合約的EVM代碼2、調用智能合約函數的負載是執行消息時輸入的數據3、兩個賬戶之間轉賬的負載為空我們從以太坊黃皮書附錄G中可得知創建合約和執行交易的相關成本Gas。

ENS與Galaxisxyz合作推出的ENS Equinox NFT于11月17日開放注冊:金色財經報道,以太坊域名服務ENS宣布與NFT工具平臺Galaxis合作推出的ENS Equinox NFT(冬季精靈)將于美國東部時間11月16日14:00(北京時間11月17日3:00)開始注冊,屆時將從所有注冊者中選出144名獲勝者,獲獎者將于11月21日開始免費鑄造。[2022/11/16 13:11:28]

我們假設$N{zeros}$代表的是交易負載中字節為0的字節總數,$N{nonzeros}$代表交易負載中字節不為0的字節總數,根據黃皮書6.2章節關于執行的描述,可以得到固有成本。

Binance借貸平臺新增支持APT作為可抵押資產:10月19日消息,據Binance官方公告,其質押借幣平臺Binance Loans新增支持APT和PUNDIX為可抵押資產。[2022/10/19 17:32:46]

以太坊地址中零開頭的地址

由于Gas費用現在比較昂貴,所以優化Gas變得很重要,優化Gas費用的方法有很多,這里我們不一一列舉,本文只以以太坊地址中0字節降低Gas費來討論,這是從EVM層面來優化Gas。通過使用比平時更多的0字節的地址,并且在某些情況下,地址開頭有更多的0字節,我們可以在許多類型的交易中節省汽油。漢明重量是一串符號中非零符號的個數。全零符號的漢明重量為0,1101的漢明重量為3。在以太坊黃皮書附錄G中可以看到,使用0字節時需要4Gas,而使用非0字節時需要16Gas:

Bitfinex比特幣合約多空比在9月12日創新高:9月15日消息,TradingView數據顯示,Bitfinex上的比特幣合約多空比在9月12日達到歷史新高。

9月12日,BTC/USD多單持倉是空單持倉的86倍,達到104000 BTC。該指標上一次突破75是在2021年11月9日,不過最終對空頭有利,因為當時比特幣價格在之后的10天暴跌18%。

此次Bitfinex的空頭保證金交易者減少頭寸,其中一個原因可能是發生清算,這意味著賣方沒有足夠的保證金,因為比特幣價格在9月6日至12日期間上漲19%。其他因素可能會導致多單持倉和空單持倉之間的異常失衡。例如,投資者可能將抵押品從比特幣保證金交易轉移到以太坊相關交易,在合并臨近時尋求獲利。最后,由于美國通脹數據的波動性,空頭保證金交易者可能決定暫時平倉。(Cointelegraph)[2022/9/15 6:56:37]

每次使用0字節代替非0字節時,就可以節省16個Gas,因此,每次在msg.data中用一個0字節代替一個非0字節,都將給我們節省12個Gas。在以太坊中,地址是由0x開頭的40個隨機字符的16進制字符串,當以16進制形式查看字節串時,由于每對數字構成一個字節,所以單個16進制的0,或相鄰的0分布在兩個不同的字節中,不會減少字節串的漢明重量,所以只有連續2個16進制的0才會減少漢明重量。0字節的排序對所產生的Gas優化也沒有影響。在ERC20的transfer()函數中,msg.sender的漢明重量沒有區別,而作為transfer()函數的一部分傳入msg.data的_to地址參數就有區別。使用OpenZeppelin的StandardToken作為參考實例。向一個沒有0字節的地址進行標準轉賬需要花費35039Gas,然而向一個有4個0字節的地址進行轉賬只需要34991Gas,他們相差了$35039-34991=48\\,Gas$。而我們前面說到每次使用0字節代替非0字節時,可以節省12個Gas,這里的48Gas可以表示成$4\\times12=48\\,Gas$,和我們從黃皮書中得到的期望值一樣。

而2個0字節的地址0x00a0009e638D25EFE5a894f6a36F42734477dECa和上面2個差值分別都是24Gas,說明也是符合期望的。

但是如果我們地址尾部存在0字節時,又容易被短地址進行攻擊,所以以0x00開頭的具有多個0字節的地址就成為了更好的選擇。如果地址至少有4個前導0字節,那么每個地址將只需要占用16個字節,這樣兩個地址就可以裝入一個32字節包了。這樣的優化不僅在于使用了$G_{txdatazero}$帶來的Gas優化,而且由于不用從調用數據中讀寫更多的字節,我們還能省下更多的Gas,所以向這樣的地址轉賬時,不管該地址是合約地址還是普通賬戶地址,都能省下5%左右的費用。由去中心化交易所聚合器1inch.exchange開發的CHIGasToken就是采用這樣的原理,也有不少的普通賬戶地址使用前導0作為自己的地址。

如何得到更多前導0開頭的地址呢,這里就和大家看到的以太坊靚號生成是一樣的,這里就不提供生成方法了。當然了,想要得到的開頭0越多,難度就越大,需要的時間也就會越久。

92.47%的機會在地址上找到0個0字節。7.25%的機會找到1個0字節。0.27%的機會找到2個0字節的機會。0.00635%的機會找到3個0字節的機會。0.00000106%的機會找到4個0字節的機會。后記

優化Gas的方法有很多,這里我們就以EVM底層視角研究了節省Gas的方法,通過研究我們可以得到一個結論:以太坊地址里面的00越多,不管這個地址是合約地址還是普通地址,不管是轉入地址還是轉出地址,都能夠節省不少的Gas。參考文章

以太坊黃皮書2022-10-24深入理解以太坊Gas機制:從概念起源和21個EIP開始OnEfficientEthereumAddresses

Tags:GAS以太坊WEIETHUGAS價格比特幣以太坊最新消息分析ANDROTTWEILERCoinbase Wrapped Staked ETH

幣贏交易所
FTX破產案中唯一獨善其身之人,Alameda前聯席CEO為何急流勇退?_SAM:CCO

原文標題:《MeetSamTrabucco,theAlamedaexecwhooversawthedevelopmentofthecryptohedgefund'sultra-risky.

1900/1/1 0:00:00
阿里云將加速與伙伴合作,促進Web3.0生態發展_WEB:區塊鏈

12月15日,在Web3.0CloudDaySingapore2022活動上,阿里云新加坡、南亞和泰國總經理DrDerekWang表示,阿里云將加速和伙伴的合作以促進創新.

1900/1/1 0:00:00
Treasure DAO發展簡史:如何從Loot仿盤到鏈游黑馬?_TREASURE:ethereal最美翻譯

TreasureDAO是區塊鏈游戲領域的現象級項目,當我們直接去審視它,難免會被它豐富甚至龐雜的生態干擾判斷——TreasureDAO到底是啥?鏈茶館按照時間線梳理了TreasureDAO的迭代.

1900/1/1 0:00:00
星球日報 | Gemini聯創致信DCG索要9億欠款;幣安完成對Gopax收購盡調(1月3日)_DAI:Instantily

頭條 Gemini聯創致信DCG創始人,要求其償還Earn用戶逾9億美元Odaily星球日報訊Gemini聯合創始人CameronWinklevoss代表其Earn產品超過34萬名用戶.

1900/1/1 0:00:00
Messari年度報告精華:2023年加密市場的33個預測_MES:GAME

12月22日,Messari宣布發布其聯合創始人兼首席執行官RyanSelkis的第六份年度報告MessariTheses2023.

1900/1/1 0:00:00
速覽Polygon聯創Web3加速器首批13個項目_API:API幣

2022年12月份,Polygon聯合創始人SandeepNailwal宣布推出Web3啟動加速器Beacon,將通過指導和資金支持來資助早期加密項目.

1900/1/1 0:00:00
ads