想知道如何取消正在處理的交易和解決交易塞車,你不能不知道的 Nonce

更新於 2024/09/11閱讀時間約 5 分鐘

前言

在以太坊的世界中,不知道大家是否有想過以下的問題

  • 送出去的交易是否還有機會取消
  • 送出去的交易為何會塞車?
  • 如何解決被卡住的交易?

以上這些問題,其實都與 Nonce 息息相關,接下來讓我們帶領大家認識什麼是 Nonce 以及他在以太坊中的作用吧!

💡注意: nonce 一般代表著一次性的數字,在 web3 中(可以改成在“區塊鏈世界中”,區塊鏈的搜尋量比 web3 高)常常會在很多地方看到這個詞,但是放在不同地方的意義可能都不盡相同。而本篇所要討論的是發送交易時帶上的 nonce,也就是 Ethereum 協定中原生定義的 nonce,也就是 Transaction nonce。


如何查看 Transaction Nonce?

Metamask 上查看 Transaction Nonce

raw-image


Etherscan  上查看 Transaction Nonce

raw-image


Ethereum 黃皮書對 Nonce 的定義

raw-image


  • 對以太坊的外部帳戶( EOA )地址來說, nonce 值等同於從此地址發送出並已確認的交易數。
  • 對以太坊合約帳戶( Smart Contract )地址來說,nonce 值等同於從此合約用 CREATE 這個 opcode 創建出的合約數。
    • 註 1: 用 CREATE2 opcode 產生的合約並不會更新 nonce 值。
    • 註 2: 在 EIP161 後, Smart Contract 的 Nonce 值從 1 開始起算。

補充

Nonce 值由 0 起算,也就是説對於一個 EOA 地址來說,Nonce 值為 0 的交易代表為該地址發起的第一筆交易。在 Metamask 中,Nonce 值會被自動帶上下一個可用的 Nonce 值,也就是説如果一個 EOA 地址已經發起並確認過的交易數為 3 筆時(即分別為 nonce 0, 1, 2 三筆交易),Metamask 會自動為用戶在交易中帶入下一個可用的 Nonce 值,也就是 3。 

Nonce 想解決什麼問題

TL;DR

  1. 在節點可能會無序地接收交易的情況下,nonce 能確保每個節點對於交易執行結果的一致性。
  2. 避免重放攻擊(replay attack)

在以太坊的世界中,節點可能以無序的方式接收交易,但為了確保所有節點對於每個地址的狀態都要計算出相同的結果,因此引入 Nonce 的機制來強制每個地址發出的交易必須依照順序來執行。舉例來說,Alice 有一個擁有 10 顆 ETH 的 EOA 地址,這時他發起兩筆交易轉帳給 Bob 與 Carol 各 6 顆 ETH,兩個交易的 Nonce 值分別為 0 與 1。無論哪個節點先收到由 Alice 轉帳給 Carol 的交易(也就是 Nonce 值為 1 的交易),該節點都必須等到 Alice 轉帳給 Bob 的交易成功紀錄上鏈(也就是 Nonce 值為 0 的交易),才會執行由 Alice 轉帳給 Carol 的交易。如此一來不管是哪個節點都會得到以下結果

  • Alice 與 Bob 交易成功
  • Alice 與 Carol 交易失敗


此外,由於鏈上數據是公開的,也就是說對於 Alice 轉帳給 Bob 這個行為是可以被任何人看到的。那麼以太坊要如何知道這筆交易已經被處理過,並且無法讓有心人士複製該交易並且進行重放攻擊呢?

這裡的 Nonce 機制就對執行過的交易起到的保護作用。對於在鏈上看到交易的第三者來說,除了轉帳對象以及轉帳金額一樣以外,最重要的 Nonce 值也是相同,所以就算第三者透過鏈上觀察到這筆交易的所有資訊,想對其進行重送這筆交易,也會因為該 Nonce 值已經被使用過而無法對其進行重送攻擊。


如何在 Metamask 中手動設定 Nonce 值

首先 Metamask 右上角的設定中選擇 ”進階“,把客製化 transaction nonce 的功能打開

raw-image


將來發送交易時,就能自動設定 Nonce 值

raw-image


什麼情況下需要設定 Nonce 值?

一般來說 Nonce 值會由 Metamask 動態計算而得,所以一般情況下不需要特別設定即可正常運作。


但假設今天有一筆交易已經發出去但遲遲未執行,這時有可能是你發送的 gas fee 過低,導致沒有人願意為其打包執行上鏈。而根據 Nonce 的機制,如果你繼續發送新的交易也會因為前一筆交易遲遲未打包而無法被執行。為了解決這樣的情況,我們就會需要找出 “被卡住“ 的那筆交易的 Nonce 值,並且發送一筆新交易且帶上與 "被卡住“ 的交易相同的 Nonce 值,拉高 gas fee,才能解決交易被卡住的問題。


如何取消交易?

要取消交易,我們首先必須知道什麼樣的交易可以被取消。在我們將交易送出去到上鏈打包的過程中,交易會短暫在一個地方(這裡我們稱之為交易池)等待被執行,而我們有機會取消的就是這些在交易池中等待被執行的交易,因為交易一旦執行上鏈後就無法取消。


那我們該如何取消交易池中的交易,其實與前面解決被卡住的交易是相同的道理。假設今天想取消我們發送出去的交易,那我們就必須搶在交易要上鏈執行之前,找出要取消交易的 Nonce 值,這時候我們只需要重新發送一筆交易帶上該筆交易的 Nonce 值,並提高 gas fee 來爭取優先被執行的可能。透過這種方式,我們就能夠取消在交易池中的交易。

小迷思- Transaction Nonce 是否會紀錄在鏈上?

前面有提到 Nonce 值會透過動態計算而得,屬於地址本身的屬性,並不會記錄在鏈上!


Nonce 值設定過高或過低會有什麼問題

過高

如果發送一筆交易的 Nonce 值設定過高,則會需要等待中間所有 Nonce 值的交易被打包上鏈後才會執行。

過低

如果發送一筆交易的 Nonce 值設定過低,則會因為使用無效的 Nonce 值而終止交易。


avatar-img
33會員
176內容數
我們整理了web3相關的熱門資安問題,包含加密貨幣投資詐騙、盜版NFT、空投釣魚和區塊鏈重大資安事件懶人包等等,並提供最完整的辨識方法教學,讓大家從0到1學習如何保護自己
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
防詐達人的沙龍 的其他內容
本文帶你了解不同種類的加密貨幣錢包,軟體錢包與硬體錢包又可以再細分成哪些類型,以及如何確保你的加密貨幣安全。用最安全的錢包,搭配正確的使用方式保護你的數位資產,提高全方位安全性。
想知道哪種加密貨幣錢包更安全?本文將比較硬體錢包和軟體錢包,並告訴你可以如何運用錢包保護您的數字資產。幫助你選擇適合你需求的最佳加密貨幣錢包!
Permit、Approve、Increase Allowance三個最近常見的token scam
硬體錢包的私鑰保護方式、冷儲存和多重驗證機制等特性使得他成為加密貨幣最安全的儲存方式,本篇將帶你深入瞭解硬體錢包的安全性,以及讓你更了解為什麼你該選擇硬體錢包。
想知道如何保障你的加密貨幣與數位資產安全,那你一定要了解什麼是冷錢包,如何使用硬體錢包和紙錢包,以及趨勢科技ChainSafer如何增強安全保護、避免黑客攻擊,守護你的資產!
從熱錢包到冷錢包,這篇文章將帶大家入門了解錢包種類,並分享保護數位資產的最佳方法。探索2022年最佳加密貨幣錢包,包括SecuX的Nifty、V20、W20、W10硬體錢包系列。讓你的加密貨幣在安全和便利之間達到完美平衡。開始保護你的財富,深入了解加密貨幣錢包的核心概念!
本文帶你了解不同種類的加密貨幣錢包,軟體錢包與硬體錢包又可以再細分成哪些類型,以及如何確保你的加密貨幣安全。用最安全的錢包,搭配正確的使用方式保護你的數位資產,提高全方位安全性。
想知道哪種加密貨幣錢包更安全?本文將比較硬體錢包和軟體錢包,並告訴你可以如何運用錢包保護您的數字資產。幫助你選擇適合你需求的最佳加密貨幣錢包!
Permit、Approve、Increase Allowance三個最近常見的token scam
硬體錢包的私鑰保護方式、冷儲存和多重驗證機制等特性使得他成為加密貨幣最安全的儲存方式,本篇將帶你深入瞭解硬體錢包的安全性,以及讓你更了解為什麼你該選擇硬體錢包。
想知道如何保障你的加密貨幣與數位資產安全,那你一定要了解什麼是冷錢包,如何使用硬體錢包和紙錢包,以及趨勢科技ChainSafer如何增強安全保護、避免黑客攻擊,守護你的資產!
從熱錢包到冷錢包,這篇文章將帶大家入門了解錢包種類,並分享保護數位資產的最佳方法。探索2022年最佳加密貨幣錢包,包括SecuX的Nifty、V20、W20、W10硬體錢包系列。讓你的加密貨幣在安全和便利之間達到完美平衡。開始保護你的財富,深入了解加密貨幣錢包的核心概念!
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在現今的社群媒體時代,寫出能在人們心中種草的文案,已經成為市場行銷中的關鍵技巧。如何讓你的產品或服務在用戶心中留下深刻印象,並轉化為購買行動?這篇文章將帶你深入探討如何通過精心設計的文案,巧妙地在人們心中種下購買的種子,讓你的品牌脫穎而出。
Thumbnail
如果你年輕(2,30歲),資產也不多,考慮資產配置也是浪費時間,第一優先應該是提高自己的收入。這時候手邊的閒錢除了投資自己外,剩下的就來買「VT」吧!費用率一年不到0.1%,可以讓你投資全球47個國家,八千多間上市公司的股票…你說這是不是太划算了!
Thumbnail
《身體知道答案》一書探討了二元對立的心理概念,指出我們的願望和行動可能無意識地創造出其對立面。這種心理機制在日常生活和商業決策中均可見,影響個人的感受和行為。作者強調了自我覺察的重要性,以及如何理解並接受內心的對立來達成真正的成就和滿足。
Thumbnail
能量是宇宙的語言及運作法則,是萬物初始的深層動能。能量基本上是在表達指向,也可以說是一種位能,落差之間就有了震動頻率。 能量是生命的始動力,是意識種子或生命想要勃發的起源,這一切都始於意願和探索,力道有多強,生命力勃發(能量)就有多強。能量的品質決定於純粹度,愈直觀愈有力量,因為當你明白一切都是「
Thumbnail
了解 Nonce 的作用,如何取消交易,手動設定 Nonce,以及高低 Nonce 值可能帶來的問題。確保你的以太坊交易順利完成,並解決交易塞車問題。
Thumbnail
喜歡喝咖啡或有喝咖啡習慣的愛好者,通常想選擇自己喜歡的咖啡時,往往會遇到不知道如何挑選的問題。其中,包含了咖啡口感、咖啡香氣、咖啡的烘焙程度等。然而,要決定咖啡的風味及口感,有許多注意事項是我們必須瞭解的 !!
Thumbnail
台灣現在各個面向上存在著斷裂,你若想將台灣打造成一座樂園,就必須扮演橋樑的角色,把知識、資訊、認知、風格和品味落差的兩端先拉平在一起,然後成為兩邊的橋梁,讓他們能夠彼此對話交流。 作為中空的管道,是為了為這個世界消弭對立,讓世人擁抱真實且完整的世界,而不是以管窺天地丈量這個世界。
Thumbnail
你有沒有想過,其實帶著這樣的痛存在著,並沒有不好,提醒著你有這樣的功課等待著你去學習和完成。前提是:你的心用什麼樣的觀點去看待這一個生存痛點,你要像過去一樣把它隱藏起來,還是願意他、面對他,並且接受他就是一顆卡在你身體裡的小石頭?
Thumbnail
家不是你現在住的地方而已,一個人心靈的寄托才是永恆的家。 人間的廟,是菩薩在地上的家。有的金碧輝煌也的簡樸素雅。人們進廟拜佛,其實菩薩不在遠方,你心裡也有一座廟,那是你在地上的自己的家。
Thumbnail
將心比心「太重要了,它讓我們成為一個溫柔的強者。」 — 歐陽立中。 可是溫柔的強者,有時候也會脆弱。無所不在的「資訊焦慮」與「情緒勒索」,對於高敏族/共感人來說,能量這種東西,一不小心沾上就不得了。因此善良的你,如何保護好自己,是維護日常平衡自在的基本功。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在現今的社群媒體時代,寫出能在人們心中種草的文案,已經成為市場行銷中的關鍵技巧。如何讓你的產品或服務在用戶心中留下深刻印象,並轉化為購買行動?這篇文章將帶你深入探討如何通過精心設計的文案,巧妙地在人們心中種下購買的種子,讓你的品牌脫穎而出。
Thumbnail
如果你年輕(2,30歲),資產也不多,考慮資產配置也是浪費時間,第一優先應該是提高自己的收入。這時候手邊的閒錢除了投資自己外,剩下的就來買「VT」吧!費用率一年不到0.1%,可以讓你投資全球47個國家,八千多間上市公司的股票…你說這是不是太划算了!
Thumbnail
《身體知道答案》一書探討了二元對立的心理概念,指出我們的願望和行動可能無意識地創造出其對立面。這種心理機制在日常生活和商業決策中均可見,影響個人的感受和行為。作者強調了自我覺察的重要性,以及如何理解並接受內心的對立來達成真正的成就和滿足。
Thumbnail
能量是宇宙的語言及運作法則,是萬物初始的深層動能。能量基本上是在表達指向,也可以說是一種位能,落差之間就有了震動頻率。 能量是生命的始動力,是意識種子或生命想要勃發的起源,這一切都始於意願和探索,力道有多強,生命力勃發(能量)就有多強。能量的品質決定於純粹度,愈直觀愈有力量,因為當你明白一切都是「
Thumbnail
了解 Nonce 的作用,如何取消交易,手動設定 Nonce,以及高低 Nonce 值可能帶來的問題。確保你的以太坊交易順利完成,並解決交易塞車問題。
Thumbnail
喜歡喝咖啡或有喝咖啡習慣的愛好者,通常想選擇自己喜歡的咖啡時,往往會遇到不知道如何挑選的問題。其中,包含了咖啡口感、咖啡香氣、咖啡的烘焙程度等。然而,要決定咖啡的風味及口感,有許多注意事項是我們必須瞭解的 !!
Thumbnail
台灣現在各個面向上存在著斷裂,你若想將台灣打造成一座樂園,就必須扮演橋樑的角色,把知識、資訊、認知、風格和品味落差的兩端先拉平在一起,然後成為兩邊的橋梁,讓他們能夠彼此對話交流。 作為中空的管道,是為了為這個世界消弭對立,讓世人擁抱真實且完整的世界,而不是以管窺天地丈量這個世界。
Thumbnail
你有沒有想過,其實帶著這樣的痛存在著,並沒有不好,提醒著你有這樣的功課等待著你去學習和完成。前提是:你的心用什麼樣的觀點去看待這一個生存痛點,你要像過去一樣把它隱藏起來,還是願意他、面對他,並且接受他就是一顆卡在你身體裡的小石頭?
Thumbnail
家不是你現在住的地方而已,一個人心靈的寄托才是永恆的家。 人間的廟,是菩薩在地上的家。有的金碧輝煌也的簡樸素雅。人們進廟拜佛,其實菩薩不在遠方,你心裡也有一座廟,那是你在地上的自己的家。
Thumbnail
將心比心「太重要了,它讓我們成為一個溫柔的強者。」 — 歐陽立中。 可是溫柔的強者,有時候也會脆弱。無所不在的「資訊焦慮」與「情緒勒索」,對於高敏族/共感人來說,能量這種東西,一不小心沾上就不得了。因此善良的你,如何保護好自己,是維護日常平衡自在的基本功。