仮想通貨やブロックチェーンの世界に興味を持った方なら、一度は耳にしたことがある「トランザクション」。しかし、そのトランザクションにも種類があるのをご存知でしょうか?今回は、通常のトランザクションと、あまり知られていない「インターナルトランザクション」について解説していきます。
「スマートコントラクト」についても軽く触れながら、その違いを分かりやすくお伝えします!
トランザクション(通常のトランザクション)とは?
まず、通常の「トランザクション」から説明します。これは、AさんがBさんに直接トークンを送信することを指します。この行為がトランザクションとなり、ブロックチェーンに記録されます。
要するに、「AさんからBさんへお金を送ったよ!」という履歴が、全世界に向けて公開されるようなものです。
このトランザクションは、ブロックチェーン上に永久に記録され、誰でも確認できるようになります。シンプルで分かりやすい、まさに仮想通貨の基本的な取引です。
インターナルトランザクションとは?
次に、「インターナルトランザクション」について説明します。こちらは、スマートコントラクトを介して発生するトランザクションです。
例えば、AさんがスマートコントラクトCにトークンを送信し、そのスマートコントラクトが内部ロジックに従ってBさんにトークンを送信する場合、Aさんの送信は「通常のトランザクション」として記録され、スマートコントラクトCからBさんへの送信が「インターナルトランザクション」として記録されます。
しかし、このインターナルトランザクションは、直接ブロックチェーンのトランザクションリストには表示されません。Etherscanのようなブロックチェーンエクスプローラーで確認する必要があります。
まるで隠れキャラのような存在です。
ここで!スマートコントラクトの簡単な説明
そもそも「スマートコントラクトって何?」と疑問に思う方もいるかもしれません。簡単に言えば、スマートコントラクトとは「条件が揃ったら自動的に処理を行うプログラム」のことです。たとえば、「Aさんがトークンを送ったら、その半分を自動的にBさんに渡してね」という命令を仕込んでおくことができます。これにより、人間の手を介さずに処理が進みます。
忘れっぽい人にはもってこいの機能ですね(笑)
比較図でさらに理解を深めよう!
以下の図で、(通常の)トランザクションとインターナルトランザクションの違いを視覚的に確認してみましょう。
左側がAさんからBさんへの通常のトランザクション。
右側がスマートコントラクトCを介して行われるインターナルトランザクションです。
ウォレットがスマートコントラクトか確認する方法
イーサリアムネットワークを例に挙げて説明します。ウォレットアドレスが通常のウォレットか、スマートコントラクトかを確認するには、Etherscan というブロックチェーンエクスプローラーを使用します。
https://etherscan.io/
Etherscanで特定のウォレットアドレスを検索すると、表示されたページでウォレットの種類を確認できます。表示が「Address」となっていれば、それは通常のウォレットです。
一方、表示が「Contract」となっていれば、それはスマートコントラクトウォレットです。
左が「Address」 右が「Contract」
さらに、Etherscanで、スマートコントラクトが他のアドレスにトークンを送信した履歴を確認したい場合は、スマートコントラクトウォレットのページにある「Internal Transactions(インターナルトランザクション)」タブで確認できます。ここで、スマートコントラクトが自動的に実行したトランザクションの詳細が閲覧できますよ。
まとめ
トランザクション: AさんからBさんに直接トークンを送信する通常の取引のこと。
インターナルトランザクション: スマートコントラクトを介して行われる取引のこと。
例だと、AさんがスマートコントラクトCにトークンを送り(通常のトランザクション)、スマートコントラクトCがBさんにトークンを送る(インターナルトランザクション)という形で、通常のトランザクションとは異なり、直接は見えにくい取引になっています。
「トランザクション」と「インターナルトランザクション」、そして「スマートコントラクト」。これらの仕組みが絡み合って、ブロックチェーンの世界が動いています。見た目はシンプルでも、裏側では複雑な動きが潜んでいますね。
仮想通貨の世界は本当に奥が深い!
最後に…私の解釈が間違っていたらすみません!(笑)
コメント