在Uniswap給20多萬個用戶地址撒錢的時候,也許不少人在開心之余心里想的都是,「這gas費也太高了。」
當天是以太坊歷史上值得紀念的一天,gas建議最高達到了1000GWEI,這是歷史最高點。
在見證歷史、全民領空投的當天上午,不少人都遇到了關于gas費的問題,gas費貴已經不是問題了,問題是gas費交到錢包建議的最大值也不能在計劃時間內成交。大家Metamask上顯示都是pending,一圈一圈轉得讓人心煩。
為什么你使用了默認的gas費金額,卻依然不能即時交易?。此文將詳細講解以太坊交易費率機制以及在以太坊上發起交易會遇到的問題。
Gas的邏輯
這個事要先從以太坊賬戶講起。
以太坊網絡中有兩類賬戶,外部賬戶以及合約賬戶(ContractAccount)。
數據:Andrew Kang疑似在Radiant Capital上做多ARB:6月2日消息,據 Lookonchain 監測,Mechanism Capital 聯合創始人 Andrew Kang 似乎正在使用杠桿在多鏈借貸協議 Radiant Capital 上做多 ARB。他買入 ARB 后存入,又通過 ODOS 借入 USDC 并買入 ARB。[2023/6/2 11:54:51]
外部賬戶是指用戶們所使用的賬戶,由私鑰持有者所控制。合約賬戶是指帶有應用邏輯的智能合約,由合約代碼所控制。用戶們在使用DeFi應用時,就是在用自己的賬戶與DeFi項目的智能合約進行交互。
各類賬戶之間可以隨意進行交互,錢包間可以進行轉賬,合約間也可以相互調用。每一次鏈上交互都需要消耗一定的計算量,計算量消耗的大小由計算難度所決定,而Gas就是計算量的計量單位。例如加法運算較簡單,需要消耗3個Gas,除法運算相對復雜,需要5個Gas。
Bittrex CEO:加密貨幣與其他傳統金融產品的基本原則保持一致:金色財經報道,Bittrex全球首席執行官Oliver Linch接受采訪時表示,在包括美國在內的幾個地方,監管機構在試圖理解加密貨幣的本質時往往通過傳統金融的視角來看待它,加密貨幣仍然與其他傳統金融產品的基本原則保持一致。在未來5-10年,加密貨幣將會無縫地融入傳統金融,成為傳統金融的一部分。[2023/5/19 15:13:24]
每一單位的Gas都有其對應的價格,也就是Gas價格?(GasPrice),而Gas價格以Wei為單位。用戶需要購買ETH來支付Gas費用。1ETH=1e18Wei,而我們通常看到的單位GWei為1e9Wei。通常,錢包軟件會通過歷史GasPrice對用戶將要發起的這筆交易的費用進行預估。
為了避免全節點趨于集中,追求架構去中心化的區塊鏈會嚴格限制每單個區塊的容量。例如比特幣的BlockSizeLimit以及以太坊的BlockGasLimit。在律動BlockBeats撰文時,以太坊每單個區塊的BlockGasLimit約為12,000,000個Gas,這也就是每一區塊總計算量的上限。平均每15秒出一區塊。當交易需求超過區塊容量時,用戶為了將自己的交易盡快被上鏈確認,就需要競爭每一區塊內的資源。此時用戶會對Gas進行競價,礦工會優先將GasPrice高的交易納入區塊。
《辛普森一家》中的Marge在本季播出的一集中佩戴比特幣標志的耳環:金色財經報道,Bitcoin Magazine發文表示,《辛普森一家》中的Marge在本季播出的一集中佩戴比特幣標志的耳環。[2023/3/20 13:14:38]
通常用戶在進行轉賬時還會看到錢包會提高可以調節GasLimit的選項。與BlockGasLimit不同,GasLimit是指對于一筆交易,用戶所能接受的Gas使用量上限。由于有時合約內可能存在漏洞,一筆交易會不停死循環地進行計算。如果沒有GasLimit,這筆交易會消耗盡用戶錢包內所有的ETH。而礦工通常所收取的費用是按實際執行該交易時消耗的計算量(GasUsedbyTransaction)進行結算的,而GasLimit內剩余的ETH就會回到用戶賬戶中。
所以我們可以得出,所消耗的ETH數量(EtherCost)=交易費用(GasFee/TransactionFee)=每筆交易所消耗的Gas數量(GasUsedByTransaction)*Gas價格(GasPrice)。
八月無聊猿買家僅263人,下降至16個月來低點:9月7日消息,整個 8 月,BAYC迎來了263位獨立買家。這是2022年新買家的最低數量,也是16個月以來的最低點。在過去三個月中,獨立買家的減少導致銷量持續下降。據統計從 2022 年 5 月的 611 人減少到 6 月的 424 人,這導致銷售額從 2.23 億美元下降 63% 至 8200 萬美元。?獨立買家進一步下降至 7 月的 290 名和 8 月的 263 名,導致過去兩個月銷售額降至 6000 萬美元以下。2022 年 8 月的交易量約為 5800 萬美元。 (Beincrypto)[2022/9/7 13:14:27]
了解了以太坊的手續費機制以及賬戶類型,我們來看看用戶在交易時時常會碰到的問題。
待確認交易(Pending)/加速交易?
每當用戶發起一筆交易時,交易會被放入一個交易池(Mempool)中。如上文提到,礦工會優先打包池子中GasPrice最高的交易。所以用戶設定的GasPrice決定了交易被打包執行的速度。在網絡擁擠的時候,由于GasPrice飆升,用戶的交易可能長時間處于待確認狀態。為了盡快將待定交易發出,用戶可以選擇支付更多的GasPrice來加速交易。
去中心化預言機網絡Empiric Network完成700萬美元融資,Variant領投:金色財經消息,基于StarkNet的去中心化區塊鏈預言機Empiric Network在由Variant領投的一輪融資中籌集了700萬美元,其他參投方包括數據合作伙伴Alameda、CMT、Flow Traders、Gemini和Jane Street以及生態系統合作伙伴StarkWare和Polygon聯合創始人Sandeep Nailwal等。
Empiric Network希望找到去中心化數據的底層來源,加密貨幣交易所和大型做市商,該公司已與業內一些知名公司(其中許多是當前融資輪的投資者)簽署了合作伙伴關系,以將他們的專有數據上鏈,StarkWare創建的StarkNet提供了更低的費用、更高的交易速度和執行鏈上計算的能力。Empiric聯合創始人Karl Oskar Schulz表示,新資金將主要用于招聘和擴大開發團隊。(CoinDesk)[2022/7/16 2:16:51]
加速交易又是怎么操作的呢?為了更加詳細地理解加速交易的邏輯,我們需要明白另一個參數:Nonce。每一個賬戶發出的交易都會有一個按順序排列的交易編號--Nonce,從0開始,每次發起一筆轉賬,該賬戶的Nonce值會增加1。
當用戶想要加速交易時,在以太坊錢包中,用戶可以選擇加速交易選項,這時會被要求支付更高的Gas費用,用戶同意之后相當于發起了一筆新的交易,而新的交易與待確認交易的Nonce值相同。
由于以太坊網絡規定,Nonce值是連續不可跳躍的,且同一個地址每筆交易的Nonce值不可重復,所以礦工會打包新生成的交易,在新交易被打包確認之后,之前較低GasPrice的交易會廢棄掉。
若用戶不想加速交易,只要此交易還在交易池中未被打包,用戶可以隨時選擇取消交易。取消交易的邏輯與加速交易相同,用戶發起一筆GasPrice更高,但與待確認交易Nonce相同的交易,但交易金額變為0,所以本質上,取消交易的成本與加速交易的成本一樣需要成本。
需要注意的是,在待定交易確認完成之前,后面的交易都需要排隊等候,所以用戶不要由于等候時間過長重復發起多筆交易。
交易失敗(Fail)
律動BlockBeats發現,目前最常見的交易失敗原因是交易Gas已用盡(OutofGas)。也就是說,這筆交易的計算量超過了用戶所設定的GasLimit。一般在這種情況下,交易狀態將會顯示為失敗,并提示Gas已用盡,并且所支付的Gas不會被退還。
有些用戶可能會認為這并不公平,但本質上礦工已經在做功計算,只是算到一半Gas不夠了,所以礦工只能放棄繼續作業,但之前的工作需要被支付「工資」,因此之前交的Gas費不退大概也可以理解了。遇到這種情況,用戶只能重新再發起一次交易,并將此交易的GasLimit上調。
另一種交易失敗的情況是,當用戶向智能合約發起交易轉賬,但某些錯誤導致無法執行合約時,交易會返回BadInstruction。
比如,當用戶參與類似于眾籌活動時,可能會發生下面這些情況:
額度已滿;
或用戶未被列入白名單;
或用戶超額認購代幣等情況。
此時,用戶所設置的GasLimit將會被全部用盡,最終導致交易失敗。
不過以太坊拜占庭硬分叉后,增添了新的操作符Reverted(EIP-140)。當合約中出現錯誤導致交易失敗時,交易將不會耗盡GasLimit所設定的所有Gas,合約將停止執行并退回剩余Gas費用,同時告知用戶錯誤原因。
當然,如果用戶錢包中ETH的數量不足以支付Gas費用時,交易也會被判定為失敗。
在沒有熱點的時候,以太坊網絡一片祥和,所有的轉賬成本,包括時間和金額都還可控,但當風口到來,大家在網絡中就會遇到各種問題,gas費的邏輯是新人使用錢包時最大障礙。
基本上,在gas費會遇到的所有問題,這篇文章都覆蓋到了,鏈上交易并不復雜,說簡單點,一切操作有問題,加錢就可以搞定。
這場運動目前看來,以太坊上流動性挖礦的熱潮暫時告一段落,這場運動除了創造出一片泡沫之外,也讓更多用戶開始習慣錢包的使用,錢包終于成了一個高頻使用工具。
而鏈上交易發生的問題其實也在為錢包的優化提供空間,為新人提供「一鍵加速」、「一鍵取消」這樣的服務或許將可以在越來越多的錢包中看到。
尊敬的OKEx用戶: 為提升市場流動性,優化客戶交易體驗,OKEx將于2020年9月29日20:00-22:00(HKT)調整部分幣幣/杠桿交易幣對的最小價格精度.
1900/1/1 0:00:002020年9月22日,BHPWalletAndroid公測版正式上線,為了慶祝上線,鼓勵社區用戶積極參與測試使用BHPWallet.
1900/1/1 0:00:00當今,全球主要國家都在加快布局區塊鏈技術發展,想要確保我國占據區塊鏈領域的創新制高點,需加快區塊鏈和相關前沿信息技術的深度融合,推動集成創新和融合應用.
1900/1/1 0:00:00尊敬的TB用戶: TokenBetter為感謝用戶對TB礦池的支持,將舉行TB礦池“折扣算力活動季:折扣認購算力、參與瓜分AGC"活動;具體活動規則如下:活動時間:2020年9月24日10:00.
1900/1/1 0:00:00尊敬的LBank用戶: LBank將于9月23日18:30(UTC8)開啟BCK的充值。 特此公告! 關于BCKBitCake架構使用HyperledgerFabric,使用Golang語言在G.
1900/1/1 0:00:00流動性挖礦點燃DeFi烈火,火勢燒到去中心化交易所Uniswap。它憑借支持一鍵兌幣、做市可獲手續費分紅,迅速成為最炙手可熱的DeFi應用之一.
1900/1/1 0:00:00