仮想通貨を送金しようとするときによく耳にする「コントラクトアドレス」って何だろう?
本記事では、仮想通貨を送金する際に誤って資産を失わないために知っておくべき「コントラクトアドレス」について解説していきます。
コントラクトアドレスとは
たとえばイーサリアム※には、2種類の仮想通貨の財布(アドレス)があります。
- 人間が管理する財布(ウォレットアドレス)
- プログラムが管理する財布
コントラクトアドレスとは、このうちのプログラムが管理・使用する財布のことを指します。
ここで述べている「イーサリアム」とは、仮想通貨プラットフォームの名称のことです。
このプラットフォーム上で使用されている通貨が$ETH(イーサ)になります。
そして普段、私たちが仮想通貨をメタマスクなどに送金する際に使っているアドレスが「ウォレットアドレス」になります。
つまりコントラクトアドレスは、仮想通貨の送金用アドレスとは全く異なるものだということです。
なぜイーサリアムには、2種類のアドレスがあるのか
ではなぜイーサリアムには、人間用とプログラム用の2種類の財布(アドレス)があるのでしょうか。
それはイーサリアムには、プログラムが自動で取引を行ってくれる機能(スマートコントラクト)が搭載されているからです。
この機能はよく「自動販売機」に例えられます。
自動販売機は、基本的に全自動で販売取引を行ってくれますよね(商品の補充などは除きます)
お金を入れて商品を選ぶ→ 商品とお釣りが引き渡される
これがイーサリアムのようなブロックチェーン上で行われる場合、たとえば下記のような取引を全自動で行わせることができます。
仮想通貨を支払う→ NFTアートの所有権が引き渡される
このような動作プログラムは、その一つ一つがブロックチェーン上の特定の場所(アドレス)に保管されています。
このアドレスこそが、コントラクトアドレスになるわけです。
2種類のアドレスの見分け方はあるのか
結論から言うと、同じ42桁からなる文字列のアドレス情報から、それが
「ウォレットアドレスなのか」
「コントラクトアドレスなのか」
を見分ける方法は残念ながらありません。
だからこそ「ウォレットアドレス」と「コントラクトアドレス」の違いについて、しっかりと理解しておく必要があります。
コントラクトアドレスはどんなときに使うもの?
身近な例では、メタマスクに新たな仮想通貨を追加(表示)するときなどに使用します。
【例】メタマスクに仮想通貨$WETHを表示させるには
たとえばNFT売買プラットフォームであるOpenSea内で、
という場合、せっかく$WETHを手に入れたとしても、そのままではメタマスクに$WETHの保有額は表示されません。
表示させるためには、$WETHのコントラクトアドレスの情報が必要になるからです。
【補足】コントラクトアドレス内には、自分個人の取引情報が保管されているわけではない
メタマスクにpolygonチェーン上の仮想通貨$WETHを表示させる場合、
「トークンのコントラクトアドレス」の入力欄には、
の情報のみを入力しますよね。
それだけで、メタマスクに自分が保有している$WETHの金額が表示されるようになるわけです。
※詳しくはこちらの記事で解説しています。
このことから分かるのは、$WETHのコントラクトアドレスが指すアドレスの中身には、
ということです。
つまり、あくまでコントラクトアドレス内には、その仮想通貨本体のプログラム情報しか記述されていないんです。
仮想通貨は、一つの専門用語を知らないだけでもお金を失ってしまうことがある
コントラクトアドレスについて、あまりよく知らないという人の中には、仮想通貨の送金ミスでお金を失ってしまう場合も多くあります。
しかし専門用語の意味を理解できていれば、
- コントラクトアドレス宛に、いくら仮想通貨を送金しても意味がない
- 仮に送金できても、認識されずに消滅してしまうリスクがある
そうしたことを知った上でリスクを最小限に抑えることができるわけです。
コントラクトアドレスを理解できた方は、仮想通貨$WETHとポリゴンイーサの違いなどについても、しっかり学んでおきましょう。