一つのアドレス、すべてのチェーン — そこに潜む罠
EVM アドレスは鍵だけから導かれます。公開鍵を取り、ハッシュし、末尾 20 バイトを残し、先頭に 0x を付ける。この計算のどこにもネットワークは関与しません。ですから同じアドレスが Ethereum にも Base にも Polygon にも BNB Chain にも存在します。現在ある EVM チェーンのすべてに、そして今後生まれるすべてに。作成も入金も登録も要りません。ただ存在しています。
これは本物の利便性であると同時に本物の危険です。アドレスがどこでも有効であるため、正しいアドレスに誤ったチェーンで送っても、跳ね返らず、警告も出ず、失敗もしません。成功します — 別の場所で。
ここで多くの案内は「お金は永久に失われた」と言いますが、この場合それは端的に誤りです。鍵を持つ者はそのアドレスをすべての EVM チェーンで支配しているので、誤った EVM ネットワークへ送られた資金はアドレスの持ち主に依然として届きます。破壊されたのではなく、別のチェーンに置かれているだけです。失われたのは注文であって、お金ではありません。請求書はあるネットワークを見張っていたのに支払いは別のネットワークに届いた。だから何も計上されず、双方が手作業で始末をつけることになります。
- 本当に取り戻せない場合はこれとは別で、区別しておく価値があります。EVM の資産を EVM でないチェーンへ — Bitcoin、Tron、Solana のアドレスへ — 送るのは取り消せません。EVM アドレスを支配する鍵は、そこでは何も支配しないからです。トークンを、それを外へ出す手段のないコントラクトへ送った場合も同じです。
- ただしプロトコルは隣り合う一つの危険からは守ってくれます。EVM チェーンにはそれぞれ固有のチェーン ID があり、それが署名に混ぜ込まれるため、あるネットワーク向けに署名されたトランザクションを誰かが複製して別のネットワークで再生することはできません。アドレスは共通なのに署名はチェーン固有 — この非対称こそが、この誤りをこれほど起こしやすくしています。
ガス — 何の対価で、誰が払うのか
EVM チェーンはどれも、価値ではなく計算量に対して課金します。ガスは操作に必要な仕事量を測り、手数料はその仕事量に単価を掛けたものです。ですから大きな額を動かしても小さな額と同じ費用ですみ、そのチェーン自身の通貨を素直に送るのが最も安上がりです。標準的な送金はこの一族のどのチェーンでも 21,000 ガスに固定されています。
変動するのは単価で、これは需要とともに動きます。プロトコルが全員の払う基本手数料を定め、送信者はより早く取り込まれるようにチップを上乗せできます。同じ送金が空いているチェーンでは一セントの何分の一か、混んでいるチェーンでは実質的な金額になるのはこのためです。仕事量が変わったのではなく、ブロック領域の値段が変わったのです。
トークンを動かすのはネイティブ通貨を動かすよりはっきり高くつきます。トークン送金は単純な送信ではなくコントラクト呼び出しだからです。チェーンが混雑すれば両方とも一緒に上がります。顧客はこの手数料をあなたの請求額に加えて払い、あなたは請求したとおりの額を受け取ります。
トークンは通貨ではなくコントラクト
チェーン自身の通貨はプロトコルに組み込まれています。それ以外 — USDC、USDT、その他すべて — は、誰が何を持っているかを自前の台帳で管理するコントラクトです。実務的には、トークンはそのコントラクトが配置されたチェーンにしか存在せず、二つのチェーンにある同じ名前は、互いに一切やり取りしない別々のコントラクトだということです。
そしてトークンの数え方を前提にはできない、ということでもあります。規格は小数桁のフィールドを任意とし、呼び出し側はその存在を期待してはならないと明記しています。つまり小数桁の数は資産の性質ではなく個々のコントラクトの性質です。USDT が生きた実例で、Ethereum では 6 桁、BNB Chain では 18 桁です。片方の数字を決め打ちしたコードがもう片方に出会えば、一兆倍間違えます。
安全な習慣は、いま実際にいるチェーンのコントラクトから毎回小数桁を読むこと、そして他所から持ってきた数字を決して流用しないことです。
どれを選ぶか
違うのは送金にかかる費用、決済までの時間、扱う資産であって、仕組みではありません。これが本製品が決済に使う EVM ネットワークです。ここに書いたものではなく、稼働中のカタログから表示しています。
- Ethereum Mainnet
- ETH · USDC · USDT
- Base
- ETH · USDC
- Polygon PoS
- POL · USDC
- BNB Chain
- BNB · USDT
- Lisk
- ETH
実務的な原則は、お金がすでにある場所へ出向くことです。あるチェーンで USDC を持っている顧客はそのチェーンから払います。先にブリッジしてくれと頼むのは、手数料を払い、待ち、場合によっては諦めてくれと頼むのと同じです。複数で受け取れるなら、その問い自体がなくなります。
このうちいくつかはレイヤー 2 ネットワークです。自分でトランザクションを実行し、そのデータを Ethereum へ戻して掲載します。記録が最終的に決済されるのはそこです。支払いにとってこの違いは手数料の低さとして現れるだけで、あなたが処理すべきことは何もありません。お金はほかと同じく、そのネットワーク上のあなたのアドレスに届きます。
想定しておくべきこと
誤ったネットワークへの送金は、プロトコルが止めてくれない以上、設計で備えるべき相手です。決済ページがネットワーク名を明示し正確なアドレスを表示しているのはまさにこのためで、取引所から支払う顧客にはネットワーク名を復唱してもらう価値があります。
- トークンを送る支払者にはそのチェーン自身の通貨も必要です。手数料がそれで支払われるからです。USDC だけを持ちネイティブ通貨をまったく持たないウォレットは、補充されるまで送信できません。顧客が「送金が通らない」と言ってくるよくある原因です。
- 手数料も確認時間も、当社が制御できる何かではなくブロック領域への需要とともに動きます。空いている日と混んでいる日は顧客から見れば別の商品であり、その差は最も混雑するチェーンで最も大きくなります。
- 確認されたあとは、当社を含め誰もその支払いを取り消せません。それがチャージバックに対する保護であり、誤送金がネットワークではなく当事者二人のあいだで解決されるほかない理由でもあります。
よくある質問
なぜ私のアドレスは Ethereum でも Base でも Polygon でも同じなのですか。
EVM アドレスがあなたの鍵だけから — 公開鍵のハッシュの末尾 20 バイトから — 計算され、その計算にネットワークが一切関与しないからです。したがってアドレスはどのチェーンでも作成されることなく、すべての EVM チェーンに同時に存在します。鍵は一つ、アドレスは一つ、そして一族のすべてのチェーン。
誤った EVM ネットワークで支払いが送られたらどうなりますか。
届きます — 同じアドレスに、別のチェーンで。そこでもアドレスは有効なので、跳ね返りもせず、誰にも警告は出ません。お金は破壊されておらず鍵を持つ人はなお到達できますが、請求書は別のネットワークを見張っていたので計上されず、当事者どうしで直接始末をつけることになります。
誤ったチェーンに送ったお金は永久に失われますか。
EVM チェーンどうしなら失われません。ほとんどの案内が何と言おうと、アドレスを支配する鍵は一族のどこでもそれを支配するので、資金には到達できます。本当に取り戻せないのは、EVM 資産を Bitcoin、Tron、Solana のアドレスへ送った場合です。そこではあなたの鍵に何の意味もありません。トークンが、それを解放する手段のないコントラクトに入ってしまった場合も同様です。
なぜトークンを送るほうがチェーン自身の通貨を送るより高いのですか。
トークン送金はコントラクトを実行し、単純な送金は実行しないからです。ガスは計算量に課金するので、余分な仕事には余分な費用がかかります。標準的なネイティブ送金は 21,000 ガスに固定され、トークン送金はその数倍で、チェーンが混めばどちらも高くなります。
すべてのトークンは小数点以下 18 桁ですか。
いいえ。そう決めてかかることは、実際に高くつくバグの温床です。トークン規格は小数桁を任意とし、呼び出し側はそのフィールドの存在を期待してはならないと明言しています。つまりそれは個々のコントラクトのものです。USDT は Ethereum で 6 桁、BNB Chain で 18 桁を使います。いま自分がいるチェーンのコントラクトから値を読んでください。
アドレスがどこでも使えるなら、私のトランザクションを別のチェーンで再生される恐れはありませんか。
ありません。EVM チェーンにはそれぞれ固有のチェーン ID があり、それが署名対象に含まれるため、あるネットワークで有効な署名は他では無効です。アドレスはチェーンをまたいで共有されますが署名はされません。それがあなたの持つ保護であり、同時に誤ったネットワークへの送金がこれほど起こりやすい理由でもあります。
レイヤー 2 で受け取るのは Ethereum で受け取るのと違いますか。
あなたがすべきことに違いはありません。レイヤー 2 は自分でトランザクションを実行し、データを Ethereum へ掲載します。最終的に決済されるのはそこで、支払いにとっての実際的な効果は手数料の安さです。お金は変わらずそのネットワーク上のあなたのアドレスに届き、あなたが見張るのもそのネットワークのままです。
出典
このページの数値はすべて、以下のいずれかの資料に基づいています。いずれも記載の日付に実際に確認したもので、記憶によるものではありません。
まずはテスト用の資金で試す
テストネットワークで請求書を作り、faucet の資金で支払い、検知と確認が二つの別々のイベントとして届く様子をご覧ください。本番で扱うことになるのと同じ組み合わせです。
無料で始めるネットワーク · ネットワーク · 料金 · 率直にお答えします。