イーサリアム - ETH

イーサリアムのnonceとは?送金エラーの原因になる仕組みを解説

本記事にはアフィリエイト広告(PR)を含む場合があります。

イーサリアムのnonce(ノンス)とは、アカウントごとに管理される「これまでに送信したトランザクションの通し番号」です。0から始まり、送金やコントラクト操作が1件確定するたびに1ずつ増えていきます。ネットワークはこの番号順にしかトランザクションを処理しないため、番号が飛んだり重複したりすると、送金がいつまでも「保留中(pending)」のまま止まる原因になります。

「送金が何時間も承認されない」「キャンセルもできない」「後から送った送金まで全部止まった」——こうしたトラブルの多くは、ガス代不足とnonceの仕組みが組み合わさって起きています。逆にいえば、nonceを理解すれば自力で解消できるケースがほとんどです。

本記事では、nonceの役割、送金詰まりが起きるメカニズム、MetaMaskを例にした具体的な解消手順、そして再発を防ぐコツを解説します。

鍵の管理と、通信経路の保護は別の話です

VPNは秘密鍵やシードフレーズを守るものではありません。守れるのは通信経路のほうで、カフェや空港の公衆Wi-Fiで取引所にログインするとき、同じ回線にいる第三者や接続元のネットワーク管理者に通信内容を見られるのを防ぐ用途です。ハードウェアウォレットとは守る対象が違うので、どちらかで代替はできません。30日間の返金保証があるため、実際の速度を試してから判断できます。

通信経路を保護する方法を見る →PR・NordVPN(Nord Security)。料金・返金条件・対応機能は変更されることがあるため、最新の内容は公式サイトでご確認ください。

nonceとは?アカウントを守る通し番号

nonceには大きく2つの役割があります。1つはトランザクションの処理順序の保証、もう1つは同じトランザクションが二度実行される「リプレイ(再送)」の防止です。

もしnonceがなければ、一度署名された送金データを第三者が何度もネットワークに流し、残高がある限り繰り返し送金させることが理論上可能になってしまいます。nonceは使用済みの番号を再利用できないため、同じ署名済みトランザクションは一度しか実行されません

  • nonceはアカウント(アドレス)ごとに独立して管理される
  • 0から始まり、取引が確定するたびに1増える
  • ネットワークは番号の若い順にしか処理しない
  • PoWマイニングで使われる「ナンス」とは名前が同じだけの別物
鍵の管理は、一度まとめて学んでおくと迷わなくなります

秘密鍵やシードフレーズの扱いは、断片的に調べるより一度体系立てて学んだほうが判断に迷わなくなります。手口は変わり続けるので、発行年を確認してから選んでください。

Amazonで関連書籍を見る →PR・Amazonアソシエイト(A8.net経由)。価格や在庫は変動します。

nonceが原因で起きる送金トラブルの典型例

ガス代不足+nonce順処理で起きる「玉突き詰まり」

最も多いのは、ガス代(手数料)を低く設定したトランザクションが承認されず、その後に送った取引まで巻き添えで止まるパターンです。たとえばnonce 5の取引が保留のままだと、nonce 6以降はどれだけ高いガス代を払っていても処理されません。先頭の1件が栓になり、後続すべてが詰まる玉突き構造です。

ウォレット側のnonceずれ

複数の端末やアプリから同じアドレスを使っている場合や、テストネットとメインネットを切り替えて使っている場合、ウォレットが記録している「次のnonce」と実際のネットワーク上のnonceがずれることがあります。この状態になると、使用済みの番号で送信して即座に失敗したり、先の番号で送信して永遠に保留になったりします。

詰まったときの解消手順(MetaMaskの例)

手順1:スピードアップ(同じnonceでガス代を上げて再送)

保留中の取引は、同じnonceでより高いガス代を設定した取引を送り直すことで置き換えられます。MetaMaskでは保留中の取引に表示される「スピードアップ」がこの操作にあたります。送金自体は実行したい場合の第一選択です。

手順2:キャンセル(同じnonceで0 ETHの自己送金に置き換える)

送金自体を取りやめたい場合は「キャンセル」を選びます。内部的には、同じnonceで「自分宛てに0 ETHを送る」取引を高めのガス代で送信し、元の取引を上書きしています。ボタンが機能しない場合は、送金額を0、宛先を自分のアドレスにし、詳細設定でnonceを詰まっている番号に手動指定して送信すれば、同じ操作を手動で行えます(nonceの手動指定は設定画面で有効化が必要です)。

手順3:アクティビティデータの消去(nonceずれのリセット)

ウォレット内部の記録とネットワークのnonceがずれている場合は、MetaMaskの「設定→高度な設定→アクティビティタブのデータを消去」を実行します。これはローカルの取引履歴をリセットしてnonceを取得し直す操作で、資産や秘密鍵には影響しないとされています。実行前に、シークレットリカバリーフレーズのバックアップがあることを念のため確認しておくと安心です。

  1. まず保留中の取引をスピードアップまたはキャンセルで解消する
  2. 解消しない場合のみアクティビティデータを消去してnonceを再取得する
  3. それでも直らない場合はネットワーク混雑やRPC接続先の問題を疑う

nonceずれを防ぐための実践的なコツ

  • ガス代はウォレットの推奨値を基本にし、混雑時に極端に下げない
  • 送信ボタンの連打や、承認を待たずの再送信をしない
  • 同じアドレスを複数端末・複数アプリで併用する場合は、保留中の取引がない状態で切り替える
  • 大きな金額を動かす前に、少額でテスト送金する習慣をつける

ウォレット操作の基本に不安がある方は仮想通貨の始め方ガイドを、資産管理をより安全にしたい方はハードウェアウォレット解説もあわせてご覧ください。

注意:「詰まり解消サポート」をかたる詐欺

送金詰まりで困ってSNSに投稿すると、「公式サポートです。解決しますのでリカバリーフレーズを教えてください」といったメッセージが届くことがあります。リカバリーフレーズや秘密鍵を尋ねてくる相手は例外なく詐欺とされており、正規のサポートがこれらを聞くことはありません。手口の詳細は詐欺の見分け方ガイドで解説しています。

よくある質問(FAQ)

保留中の取引を放置するとどうなりますか?

ネットワークやノードの設定によりますが、長期間承認されない取引は、処理待ちの待機場所(メモリプール)からやがて破棄されることがあります。ただし破棄は保証されないため、キャンセル操作で明示的に上書きするほうが安全です。

キャンセルにもガス代がかかるのですか?

かかります。キャンセルも「0 ETHの送金」という1件のトランザクションだからです。元の取引より高いガス代を設定しないと置き換えが成立しない点にも注意してください。

nonceを手動で指定するのは危険ですか?

仕組みを理解して使えば有効な手段ですが、誤った番号を指定すると新たな詰まりや失敗を生む可能性があります。通常はウォレットの自動管理に任せ、手動指定は詰まりの解消時に限定するのがよいでしょう。

ビットコインにもnonceによる送金詰まりはありますか?

ビットコインはアカウント型ではなくUTXO型という別の仕組みを採用しており、イーサリアムのようなアカウント単位のnonceはありません。ただし手数料不足による未承認は同様に起こり、RBF(手数料の引き上げによる再送)などの別の解消手段が用意されています。

免責事項:本記事は一般的な情報提供を目的としており、投資助言ではありません。最新の情報は公式情報をご確認ください。

この記事について

執筆・編集:Bitcoin Analyze 編集部

金融庁・国税庁および各事業者の公式資料にあたり、基準日と定義を固定したうえで記事を作成しています。価格予測や利益保証は扱いません。事業者の条件は変更されるため、最終的な判断は公式情報をご確認ください。

主な参照先

Bitcoin Analyze 編集部

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Amazonのアソシエイトとして、Bitcoin Analyzeは適格販売により収入を得ています。