詰まって保留中のままのトランザクションは、置き換えで解消します。同じnonceのまま、より高い手数料で再ブロードキャストするのです。方法は2つ——スピードアップ(まったく同じトランザクションを、より高く払い直す)か、キャンセル(自分自身のアドレス宛の送金額ゼロのトランザクションで、そのnonceを無害なもので消費してしまう)です。トランザクションが詰まる理由は2つのどちらかです。あなたのmax feeがネットワークの現在のベースフィーを下回っているか、同じアカウントのより小さいnonceの古いトランザクションが前で塞いでいて、その後ろのすべてを凍らせているかです。どちらの手も成功が保証されているわけではありません——キャンセルにもガス代がかかりますし、安い元のトランザクションが先に取り込まれることもあります——ので、そのnonceでどちらかのバージョンが確定し、もう一方が破棄または置き換え済みと表示されるまで、ブロックエクスプローラーで見届けてください。保留中のまま詰まるという現象は、おおむねEVM特有のものです。Solanaではトランザクションはおよそ1分以内に処理されなければ単純に期限切れになり、TONのメッセージも自前の有効期限を持つため、キャンセルすべきものがそもそも存在しません。置き換えはすべて、あなた自身が署名するトランザクションです。WATSは完全にノンカストディアルで、鍵を決して保有しないからです。そしてWATSはネットワーク手数料を、各チェーンのネイティブガストークンではなく単一のトークンATSで課金します——これは支払うトークンが変わるだけで、ネットワークの請求額が変わるわけではないので、max feeに余裕を持たせておくことが今も本当の予防策です。
確定してくれないトランザクション
どのバリデータもブロックに含めようとしないとき、トランザクションは保留中のまま座り込みます。たいていは、そのmax feeがネットワークの現在のベースフィーを下回っているか、同じアカウントの古いトランザクションが前で詰まっているかのどちらかです。解決策は置き換えです。同じnonceをより高い手数料で再ブロードキャストします。スピードアップ(同じトランザクションを、より高く払い直す)か、キャンセル(自分自身への送金額ゼロのトランザクション)のいずれかです。
待っている間に失われるものはありません——保留中のトランザクションはまだ何のコストも発生させておらず、資金も動いていません。とはいえ無害でもありません。Ethereumのようにnonce順で処理されるチェーンでは、そのあとに送ろうとするすべてを静かにブロックしてしまいます。理由を理解するのに2分、直すのに1分です。
なぜトランザクションが保留中のまま詰まるのか?
EVMチェーンで詰まるトランザクションのほぼすべては、2つの原因で説明できます。
max feeが現在のベースフィーを下回っている。 EIP-1559のもとでは、すべてのブロックがベースフィーを設定し、トランザクションが取り込まれるには最低でもそれを満たす必要があります。署名したあとに需要が急増した場合——あるいはウォレットの見積もりがぎりぎりで、そのあいだに相場が動いた場合——トランザクションは、ベースフィーがあなたのmax feeを下回るまでメンプールで待ち続けます。それには数分かかることもあれば、そもそも起こらないこともあります。
nonceのギャップ。 EVMのアカウントは自分のトランザクションに厳密に連番のnonce——0、1、2……——を振り、バリデータはその順番どおりに処理します。41番が詰まっていれば、42番と43番はどれだけ気前よく払っていても確定できません。だからこそ、忘れられていた安いトランザクション1件がウォレット全体を凍らせてしまうのです。その後ろのすべてが列を作り、原因不明の故障のように見えます。価格の側が端から端までどう働くかはガス代の実際の仕組みで解説しています。
スピードアップボタンは実際に何をしているのか?
スピードアップはネットワークの特別な機能ではありません。置き換えトランザクションです。まったく同じトランザクション、同じnonce、同じ受取人、同じ金額を、より高い手数料で再ブロードキャストします。1つのnonceは一度しか消費できないため、バリデータは支払いの多いほうを残し、もう一方を破棄します。ほとんどのノードは、置き換えがmax feeと優先チップの両方を意味のある幅——一般には10%程度——で引き上げることを要求し、そうでなければスパムとして無視します。ウォレットのスピードアップボタンがやっているのは、まさにこれです。元のトランザクションを事前入力し、そのnonceを再利用し、手数料を上乗せしてくれるのです。
保留中のトランザクションのキャンセルはどう機能するのか?
キャンセルは同じ置き換えの手口を、別の目的に向けたものです。ウォレットは同じnonceで、より高い手数料の自分自身のアドレス宛の送金額ゼロのトランザクションを送ります。これが勝てば、nonceは何もしないトランザクションによって消費され、元のトランザクションは二度と確定できません。ここで2つ、意外に思われる点があります。第一に、キャンセルにもガス代がかかります。キャンセルもブロックに取り込まれる必要のある本物のトランザクションなので、その分の最小送金コストを支払います。第二に、キャンセルは競争に負けることがあります。キャンセルが伝播する前にバリデータが元のトランザクションを拾ってしまえば、元のトランザクションはそのまま実行され、キャンセルは静かに死にます。
スピードアップとキャンセル、どちらを使うべきか?
| スピードアップ | キャンセル | |
|---|---|---|
| 送られるもの | 同じトランザクション、同じnonce、より高い手数料 | 自分宛の送金額ゼロのトランザクション、同じnonce、より高い手数料 |
| 使う場面 | その処理を今も実行したいとき | 後悔しているとき——金額が違う、アドレスが違う、誤ったアプルーブ |
| コスト | そのトランザクションの通常のガス代を、新しいレートで | 最小の送金ガス代を、新しいレートで |
| 失敗することはある? | ある——安い元のトランザクションが先に取り込まれることがある | ある——元のトランザクションが競争に勝ち、そのまま実行されることがある |
どちらにも共通する原則が1つあります。置き換えを保証されたものとして扱わないこと。どちらか一方がオンチェーンで確定するまで両方が存在し、どちらが取り込まれるかを決めるのはあなたではなくネットワークです。元のトランザクションが危険なものだったなら、そのnonceでどちらのバージョンが確定したか(負けたほうは破棄または置き換え済みと表示されます)をエクスプローラーで確認してから、止まったという前提で動いてください。
SolanaやTONでも起きるのか?
保留中のまま詰まるという現象は、永続的な公開メンプールと、アカウントごとの厳密なnonce順序という組み合わせから生まれた、おおむねEVM特有の現象です。Solanaは異なるアプローチを取ります。すべてのトランザクションが直近のブロックハッシュを参照し、短い時間枠——およそ1分——のうちに処理されなければ単純に期限切れになるので、キャンセルすべきものはありません。署名し直して送り直すだけです。TONはまた別です。そのメッセージは自前の有効期限を持ち、EVM的な意味での共有の保留プールが存在しないため、スピードアップとキャンセルという駆け引きもそこにはありません。どちらかのチェーンからEVMに来た人にとって、この記事は欠けていたマニュアルです。WATSのようなマルチチェーンウォレットは両方の世界にまたがります——EVM側のEthereum、Arbitrum、Optimism、Base、Polygon、BNB Chainと、その反対側のSolanaとTONです——だからこそ、はじめから存在しなかったキャンセルボタンを探し始める前に、どちらのルールが当てはまるのかを知っておく価値があります。
詰まりを防ぐには?
- max feeに余裕を持たせる。 max feeは請求額ではなく上限です。実際に支払うのはベースフィー+チップだけなので、上限を気前よく設定しても追加コストはゼロで、突然のベースフィー高騰に対する保険になります。
- 新しいnonceでリトライを連打しない。 詰まったトランザクションの後ろに新しい試行を撃ち込んでも、同じ障害物を待つ行列が伸びるだけで、最終的に直すときの後始末が増えます。
- いちばん小さいnonceから直す。 複数のトランザクションが保留中なら、重要なのは最も古い1件だけです。それを置き換えれば、残りはたいてい自然に解消します。
- 手数料用トークンを切らさない。 置き換えもそれ自体がトランザクションなので、そのチェーンで手数料を支払うトークンが、送るのに足りるだけ必要です。チェーンのネイティブガストークンを切らすのは、自分の詰まったトランザクションを自分で直せなくなるよくある経路です。WATSでは手数料トークンは対応するすべてのチェーンでATSなので、8つではなく1つの残高だけを見ていれば済みます。
- 署名する前にネットワークの状況をひと目見る。 混雑している日には、1時間前には問題なく見えた手数料の見積もりが、もう相場を下回っているかもしれません。
WATSの位置づけ
この記事の内容は、人が期待するような意味ではウォレット固有ではありません。nonceはチェーン上のあなたのアカウントに属するものであって、署名に使うアプリに属するものではないので、上記の置き換えのルールはどのウォレットからでも成り立ちます。ウォレットによって本当に違うのは、その修正の代金を払うために何を保有していなければならないかです。WATSはネットワーク手数料を、各チェーンのネイティブガストークンではなく単一のトークンATSで課金します。EVMチェーンではERC-4337のアカウント抽象化を用い、LayerZeroのOFTでEthereum、Arbitrum、Optimism、Base、Polygon、BNB Chain、Solana、TONにまたがってオムニチェーンに動かします。これは割引ではありません——ネットワークは請求すべきものを請求しますし、スピードアップは今も元のトランザクションを上回る入札をしなければなりません——が、たまたま切らしてしまったガストークンのチェーンで身動きが取れなくなる代わりに、補充しておく1つの残高がどこでも手数料をまかなうことを意味します。集められたATSはバーンされ、供給量は100Mから30Mのフロアへと減っていきます。その仕組みはATS手数料ページにあります。WATSは、ERC-4337とLayerZero OFTによる単一トークン手数料を、ネイティブガスの代わりに課金し、そのバーンと組み合わせた最初にして唯一のウォレットです。
はっきり述べておくべきもう1つのWATS固有の点はカストディです。詰まったトランザクションに対して誰が動けるかを、それが決めるからです。WATSは4つのプロダクト——Chrome拡張機能、モバイルアプリ、Hot Wallet、NFCメタルカード——のすべてにわたって完全にノンカストディアルです。鍵を保有するのはあなたであり、WATSは決して鍵を保有しません。ここでの直接的な帰結は、WATSの誰も保留中のトランザクションに手を伸ばして編集することはできず、すでに確定したものを取り消せる者もいない、ということです。スピードアップもキャンセルも、すべてあなたが署名する新しいトランザクションです。だからこそ、この記事のチェックリストは人任せにするのではなく、自分のものにしておく価値があります。
結論
保留中のトランザクションは失われたお金ではありません。あるnonceに座ったままの、未払いか塞がれた指示であり、あなたが握っている唯一のレバーは、同じnonceでより多く払う置き換えを送ることだけです。その処理をまだ実行したいならスピードアップ、そうでないなら自分宛の送金額ゼロのトランザクションでキャンセル、詰まっているいちばん小さいnonceから先に直し、何かを前提に動く前にどちらのバージョンが実際に取り込まれたかをエクスプローラーで確認してください。いつも足をすくわれるのがガス代——間違ったタイミングに、間違ったチェーンで、間違ったトークン——なら、ダウンロードページからWATSをインストールし、対応する8つのチェーンすべての手数料を1つのATS残高でまかないながら、鍵は終始自分で保有してください。
よくある質問
トランザクションはどのくらいの間、保留中でいられますか?
Ethereumにはプロトコルレベルのタイムアウトがありません。保留中のトランザクションは、取り込まれるか、同じnonceで置き換えられるか、ノードのメンプールから追い出されるまで、無期限に待つことができます。ノードはメモリを空けるために、長く古びたトランザクションや支払い不足のトランザクションを落とします。追い出しはノードのポリシーであって保証ではなく、落とされたトランザクションがあとから再ブロードキャストされることさえあります。確実性が必要なら、死ぬのを待つのではなく、スピードアップかキャンセルで自分から置き換えてください。
トランザクションのキャンセルにはガス代がかかりますか?
はい。キャンセルは本物のトランザクション——詰まったnonceで自分自身のアドレス宛に送る送金額ゼロのトランザクション——であり、確定したほうがその手数料を支払います。両方に支払うことは決してありません。nonceは一度しか消費できないからです。キャンセルが勝てばその最小限の送金コストを、元のトランザクションが勝てば元の手数料を支払います。どんなキャンセルにもできないのは、すでに確定したトランザクションを取り消すことです。
なぜ急に自分のトランザクションが全部詰まったのですか?
ほぼ間違いなくnonceのギャップです。EVMのアカウントは厳密なnonce順にトランザクションを処理するので、先頭にある支払い不足のトランザクション1件が、そのあとに送られたすべてを、どれだけ多く払っていても塞いでしまいます。ブロックエクスプローラーで最も小さい保留中のnonceを見つけ、それを高い手数料のスピードアップかキャンセルで置き換えてください。それが確定すれば、後ろの列はたいてい1〜2ブロックのうちに自然に解消します。
WATSで詰まったトランザクションをスピードアップするのにETHは必要ですか?
WATSはネットワーク手数料を各チェーンのネイティブガストークンではなくATSで課金するので、置き換えの代金もEthereumでのETHや、Polygon、BNB Chain、Solana、TONのネイティブトークンではなくATSで支払われます。EVMチェーンでは、これはERC-4337のアカウント抽象化を通じて行われます。変わるのはどのトークンが支払うかであって、ネットワークが請求する額ではありません。スピードアップは今も意味のある幅で元のトランザクションを上回る入札をしなければならず、キャンセルも本物の手数料がかかる本物のトランザクションです。実際の利点は、補充した1つの残高がWATSの対応するすべてのチェーンの手数料をまかなうことで、必要だった特定のガストークンを切らして身動きが取れなくなる可能性が下がることです。
WATSが私の代わりにトランザクションをキャンセルしたり取り消したりできますか?
いいえ、そして本物のセルフカストディウォレットならどれもできません。WATSは完全にノンカストディアルで——鍵を保有するのはあなたであり、WATSは決して鍵を保有しません——保留中のトランザクションに手を伸ばしたり、確定したものを取り戻したりできるWATS側の制御は存在しません。キャンセルは取り消しではありません。あなた自身が同じnonceで署名する、競合する送金額ゼロのトランザクションであり、元のトランザクションがまだ保留中の間しか効きません。トランザクションがオンチェーンで確定すれば、どのウォレットから署名したものであれ、それは最終的です。

