イーサスキャン (Etherscan) を触りながら理解しよう【NFT販売あり】

こんにちは、マナブです。
いきなりですが、質問があります。

質問:イーサスキャンを理解していますか?

イーサスキャンとは、下記の画像のツールです。

etherscan2

イーサを送ったりすると、履歴がブロックチェーンに刻まれます。
その内容を可視化したのが、イーサスキャン (Etherscan) です。

そして今回の記事では、下記の内容を解説します。

  • イーサスキャンの基本的な使い方
  • インターナル・トランザクションの仕組み
  • 実際に自分で財布を作り、実験をしてみよう

上記のとおり。

なお、記事の後半では「手を動かすフェーズ」があります。読むだけだと寝るので、実際に手を動かしつつ、自分の履歴をブロックチェーンに刻んでみてください。きっと感動するはずです。

もくじ

  • 1.イーサスキャンの基本的な使い方
  • 2.インターナル・トランザクションの仕組み
  • 3.実際に自分で財布を作り、実験をしてみよう

1.イーサスキャンの基本的な使い方

まずは「基本的な機能」を見ていきます。

  • その①:財布の中身を確認する
  • その②:トランザクションを見る
  • その③:トークンの送信履歴を見る
  • その④:スマートコントラクトを見る

上記のとおり。順番に見ていきましょう。

その①:財布の中身を確認する

今回の学習では「ヴィタリック氏」の「寄付ファンドの財布」を題材にします。

寄付系の活動においては、ブロックチェーンと相性が良いですよね。すべて公開されており、全員が財布の中身や、資金の移動履歴を確認できます。

財布の「中身」を確認する方法

下記のボタンをクリックすると、財布の中身を覗けます。

etherscan3

実際にクリックしてみると、下記のページが出てきます。

etherscan4

財布の中身は、なんと「100億円」も入っています。凄いですね。こちらの資金は、すべてコロナ関連の寄付に使われるとのこと。素晴らしい活動です。

というわけで、以上が「財布の中身の確認」なのですが、中身を見るだけなら「Debank」というツールも便利なので、ついでに紹介しておきます。

財布の「中身」を確認する方法(Debankバージョン)

etherscan5

上記のとおり。Debankの財布は「こちら」からアクセスできます。イーサスキャンよりも、スッキリして見やすいですよね。両者の違いは、下記のとおりです。

  • イーサスキャン:取引履歴を詳しく調査できるツール
  • Debank:財布の中身を綺麗に可視化するためのツール

上記のとおり。普段使いするのは、Debankになると思います。僕もDebankを日常的に使っており、参考までに「僕のNFT保管用のDebankの財布」も公開しておきます。

その②:トランザクションを見る

続いては「トランザクション (=取引 )」を見ていきます。ヴィタリック氏の寄付ファンドの財布では、最も古いトランザクションが下記です。

etherscan6

基本的には、下記2つの項目を見ることで「トランザクション( =取引 )」の流れを理解することができます。

  • From & To : 誰から、どこへ
  • Value & Fee : いくら、送られたのか?

上記ですね。シンプルです。そして画像を見てみると、下記のとおり。

  • From & To : ヴィタリック氏から、寄付ファンドへ
  • Value & Fee : 1イーサ ( = 約30万円) が送られた

上記の情報を読み取れます。なお、From & Toを厳密に見てみると、下記です。

  • From:vitalik.eth
  • To:0xa06c2b67e7435ce25a5969e49983ec3304d8e787

まず「vitalik.eth 」に関しては、イーサリアム用のドメイン名です。ENSというサービスから購入できます。

僕の場合は「manablog-org.eth」というドメインを持っています。こういったドメインは買わなくてもいいのですが、買っている方が見やすいですよね。要するに、ファッションと同じですね。お洒落です。

続いての「To:0xa06...」の部分ですが、これが寄付ファンドの「コントラクトアドレス」です。用語について、すこし説明します。

イーサリアムのアドレスは「2種類」ある

  • ウォレットアドレス = 人間用の財布(=持ち主の人間が管理)
  • コントラクトアドレス = 機械用の財布(=プログラムが管理)

上記のとおり。つまりヴィタリック氏は「人間用の財布から、機械用の財布」に対して、お金を移動している訳ですね。

しかし、なぜ「自分の財布」を使わないのか?

自分の財布だと、簡単に「持ち逃げ」ができますよね。こういったリスクを減らすために、プログラムで管理された財布に移動している訳です。

なお、ヴィタリック氏は「Gnosis Safe」という「共同管理できる財布ツール」を使っており、ここについては後半で解説します。いったんは、人間用の財布と、機械用の財布があることを理解しつつ、先に進んでください。

その③:トークンの送信履歴を見る

続いては「トークンの送信履歴」を見ていきます。

etherscan7

上記の赤枠をクリックすると、トークンの送信履歴が表示されます。なお、画像をみると、下記のようなトランザクションがありますよね。真ん中の2つです。

  • From:Vb(ヴィタリック氏の財布)
  • To:0xa06...(寄付ファンドの財布)
  • Value:50,000,000(=約50億円)

上記のとおり。この履歴からは「ヴィタリック氏が、寄付ファンドに対して、約50億円のドルを移動した」ということが分かります。

なお、トークンの送信履歴のページでは「イーサリアム ( =ETH ) の履歴」は存在しません。つまり、下記の切り分けとなっています。

  • トランザクション → イーサの動きを確認する
  • トークンの送信履歴 → イーサ以外のトークンの動きを確認する

つまりイーサリアム上で「リップル」のコインを移動した場合は、その履歴は「トークンの送信履歴」に掲載されます。トランザクションのページには記載されませんので、ご注意ください。

その④:スマートコントラクトを見てみる

続いては「コントラクト」のページです。

etherscan8

ここのページでは「スマートコントラクト」が記載されています。なお、スマートコントラクトは、機械用の財布にだけ記載されています。

  • ウォレットアドレス = 人間用の財布 = スマコンなし
  • コントラクトアドレス = プログラム用の財布 = スマコンあり

上記のとおり。言うまでもなくですが、例えば「ヴィタリック氏の財布」を見に行った場合だと、そこにスマートコントラクトは存在しません。

人間用の財布には、スマコンは不要ですよね。本人が動かせばOKだからです。しかし「プログラミング用の財布」だったら、、そこにはスマコンが必須です。そうじゃないと、誰も取り出せない財布になってしまいます。

スマートコントラクトを読んでみる

参考までに、すこしコードも見てみましょう。まずは下記です。

  • pragma solidity >=0.7.0 <0.9.0;

上記では「Solidity」というプログラミング言語の「バージョン指定」をしています。今回の例だと「バージョン:0.7〜0.9」だとOKですよ、と書かれています。続いて、もう1つだけコードを観察してみます。

  • fallback() external payable {}

上記のコードは「定義されていないスマコン」が呼び出されたときに、エラーを返すための機能です。

スマートコントラクトはブロックチェーンに刻まれますので、誰も変更できません。なので事前に「エラーが発生したときの動き」をコード上に記載している訳ですね。さらに詳しい内容は「Fall Back Function」をどうぞ。

以上が「超基礎パート」です

ここまでの話で、下記の説明を終えました。

  • その①:財布の中身を確認する
  • その②:トランザクションを見る
  • その③:トークンの送信履歴を見る
  • その④:スマートコントラクトを見る

これだけ知っていれば、基本的には「ある程度は、ブロックチェーンに詳しい人」だと思います。しかし本記事の読者の皆さまには、さらに「もう1歩」を進んで欲しい。

というか、これより先を理解している方が、圧倒的に「ブロックチェーン=楽しい」という気持ちが生まれるはず。というわけで、もう少し進んでいきましょう。といっても、今回はそこまで難しくないです。コーヒーでも飲みつつ、是非どうぞ。

2.インターナル・トランザクションの仕組み

後半パートでは「下記の部分」を見ていきます。

etherscan9

こちらには「インターナル・トランザクション (=内部トランザクション) 」が記載されており、ここが「ちょっとだけ、ややこしい部分」です。解説します。

内部トランザクションとは

結論は「機械が主体で動きましたよ」という意味です。これだけじゃあ謎だと思うので、下記の切り分けをご覧ください。

  • ウォレットアドレス = 人間の財布 → トランザクションを作る
  • コントラクトアドレス = 機械の財布 → 内部トランザクションを作る

上記のとおり。もっと言葉を変えて説明すると、下記のとおり。

  • ウォレットアドレス → 人間が生み出す動き → トランザクション
  • コントラクトアドレス → 機械が生み出す動き → 内部トランザクション

上記のとおりです。というわけで、実例も見ていきましょう。

内部トランザクションの動き方

まずは「下記の赤枠の内部トランザクション」を見てみます。

etherscan10

クリックしてみると、次のような「詳細データ」が出てきます。

etherscan11

上記のとおりなのですが、データを書き起こすと下記のとおり。

  • From & To : ヴィタリック氏から、寄付ファンドへ
  • Value & Fee : 0イーサ ( = 0円) が送られた

上記のとおり。しかし、これって謎ですよね。

なぜ、ヴィタリック氏は「0イーサ」を送ったのか?

結論は「スマコンを発動させるため」です。ちょっと文字が小さいですが、下記の画像をご覧ください。

etherscan12

To (宛先) の青色の部分をよく見ると、スマコンの動作が書かれています。

  • TRANSFER 1 Ether(1イーサの転送)
  • From:0xa06...(寄付ファンドの財布)
  • To:0xd8d... (ヴィタリック氏の財布)

上記のとおり。つまり、流れを整理すると下記のとおりです。

  • 手順①:ヴィタリック氏からファンドへ「0ETH」の送金
  • 手順②:0ETHの送金により、スマートコントラクトが発動
  • 手順③:ファンドからヴィタリック氏へ「1ETH」の送金

上記のとおり。要するに「ヴィタリック氏は、スマコンを動かすために、0イーサを送っていた」という事が分かりますね。より正確には「コントラクトと、インタラクション( = 交流)した」とも表現できます。英語では、このように表現されます。

そして、ブロックチェーンには全ての履歴が刻まれますので、天才の動きが可視化されますね。ヴィタリック氏の財布を追いかければ、その後の行動も追えるわけです。これって、凄いことですよね。

※補足:ここまで読んで「でも、、それだとプライバシー問題があるのでは、、」と考える方もいるはず。おっしゃる通りです。なので最近は「プライバシーコイン」の開発も進んでおり、この領域は間違いなく発展すると思います。

お金の動きをシンプルに追いかける方法

ここまでは「イーサスキャン」を使った説明をしました。とはいえ、シンプルに「お金の動きだけを追いかけたい」という場合は、Debankを使う方が便利です。

etherscan13

上記の赤枠を見れば、一目瞭然ですね。

ヴィタリック氏の行動は「まずは1イーサの送金テストをする → その後に100ドルを送金する → その後に5,000万ドルを送金する → さらに5,000万ドルを送金する」という動きです。少額からテストして、動作に問題がなかったので、大きなお金を動かしている訳ですね。

イーサスキャンって、要らなくね?

ここまで読むと「あれ、、イーサスキャンを使わなくても、Debankで問題ないのでは?」と思いますよね。

ぶっちゃけ、99%の人は「DebankだけでOK」だと思います。しかし繰り返しですが、記事の読者さんには、深い世界に入って欲しいです。そのためには、イーサスキャンは必須なツールです。

質問:下記の赤枠は、何を意味しますか?

etherscan14

上記のDebankの画像には、よく見ると「setup」と書かれています。しかし「setup (=立ち上げた) 」だけだと、意味不明ですよね。こういった場合に、イーサスキャンの出番です。見ていきましょう。

イーサスキャンでDebankを深堀りする

Debankで「setup」の部分をクリックすると、下記ページに飛びます。

etherscan15

まずは「From」と「To」を見てみましょう。下記のとおり。

  • From:ヴィタリック氏の財布
  • To:Contract 0xa6b... (Gnosis Safe: Proxy Factory)

こんな感じで書かれいます。なお、こういった表記の場合は「カッコ内の文字」に着目したらOKです。今回の場合は、次の2つの文字があります。

  • その①:Gnosis Safe
  • その②:Proxy Factory

この時点だと意味不明ですが、1つ1つをググれば解決します。僕もそうしたので、順番に解説していきます。

その①:Gnosis Safe

Gnosis Safeは「ウォレット作成サービス」です。共同管理できる財布を作れるようで、つまり「ヴィタリック氏は、どうやら”Gnosis Safe”の財布を使ったのだろう」と分かりますね。

その②:Proxy Factory

続いての「Proxy Factory」ですが、これも意味不明ですよね。分解します。

  • Proxy → 日本語に翻訳すると「代理」という意味
  • Factory → 日本語に翻訳すると「工場」という意味

上記のとおり。要するに「代理の工場?」だと分かりますね。というわけで、ここまでの内容をまとめると、下記のように推測できます。

  • Gnosis Safe → Gnosisという財布
  • Proxy Factory → 代理で製造をした

はい、これで分かりますね。整理すると、下記のとおり。

  • From:ヴィタリック氏の財布
  • To:Gnosisという財布を製造した

なお、ここまでの理解で終えてもいいのですが、僕の場合は「実際に、自分でテストしてみよう」と行動しました。

Gnosis Safeという財布サービスには、テストネットが用意されています。つまり、イーサなどのお金を使わずにも、自分で実験できます。実際の画像が下記のとおり。

etherscan16

赤枠の中には、次のように書かれています。

  • From:僕の財布のアドレス
  • To:Contract 0xa6b71e26c5...

上記のとおり。残念ながら「Gnosis Safe: Proxy Factory」の表記は記載されていないのですが、しかしヴィタリック氏が実行している時のコントラクトアドレスと、僕が実行したときのコントラクトアドレスが同じです。

つまり、双方ともに「Gnosis Safe: Proxy Factoryが実行されている」と分かりますよね。実際にテストネットを体験したい方は「Gnosis Safe」のサイトの「右上のバー」から体験できます。

はい、というわけで以上が解説パートです。最終パートでは「自分で手を動かすフェーズ」になります。是非トライしてみてください。

3.実際に自分で財布を作り、実験をしてみよう

今回は、下記の内容を学習しました。

  • イーサスキャンの簡単な使い方
  • 内部トランザクションの詳しい理解
  • Debankとイーサスキャンの使い分け

上記のとおり。そして最も難しいのが「内部トランザクション」の部分だったと思います。文字を読むだけだと理解が浅くなるので、手を動かしてみてください。

内部トランザクションを経験する

今回は「OpenSeaのテストネット」を使います。OpenSeaのテストネットを使うことで、手数料0円にて、ブロックチェーン学習できます。

宿題の内容:OpenSeaでNFTを買ってみる

下記を実行してみてください。すると、自分で内部トランザクションを作れます。

  • 手順①:テストネットでイーサを獲得する
  • 手順②:OpenSeaのテストネットをNFT購入
  • 手順③:内部トランザクションを確認してみる

上記を実行することで、楽しく学習できます。そして今回の学習では「テスト用のバナナNFT」を用意しました。

etherscan17

上記をテストネットで販売していますので、皆さんが購入してください。購入すると、NFTのスマートコントラクトが発動して、内部トランザクションが実行されます。そのトランザクションを、皆さんが各自でチェックして学べます。

※補足:テストネットの利用なので、お金は発生しません

手順①:テストネットでイーサを獲得する

今回は「Rinkeby (リンケビュー)」というテストネットを使います。

不思議な名前ですが、語源は「スウェーデンの駅名」から来ています。その理由は「リンケビュー」のテストネットは、スウェーデンに拠点のある開発者がメンテナンスしているからです。無料でテストネットを提供してくれて、大感謝ですね。

リンケビュー用のイーサを獲得する

テストネットと言っても、そこではガス代が発生します。とはいえ実際には「無料」なので、ご安心ください。あくまで「本物に近い状況」を再現するために、作られている機能です。オモチャ版のイーサリアムと考えたOKです。

そして、リンケビュー用のイーサを獲得するには「こちらのページ」から可能です。チェーンリンクという会社が、無料配布してくれます。自分のイーサアドレスを入力すると、獲得できます。

補足:Metamaskにリンケビューを追加しておく

Metamaskにリンケビューを追加しておいてください。

etherscan18

上記のとおりにクリックして、テストネットの表示を「オン」にしてください。すると、メタマスクから「Rinkeby」のネットワークを選べるようになります。

なお、ちょい余談ですが「他のブロックチェーンのネットワーク」を追加したいなら「Chainlist」というサービスが便利です。使い方はサイトに行けば分かるはずです。参考までに紹介しておきました。

手順②:OpenSeaのテストネットをNFT購入

続いては、OpenSeaでNFTを買いましょう。

etherscan19

販売ページは「こちら」です。なお、繰り返しですが、すべて無料です。

今回はテストネットを使っていますので、お財布は痛みません。お好きなバナナをどうぞ。人気のバナナは、売り切れてしまうかもしれません。

手順③:内部トランザクションを確認してみる

バナナを購入したら、内部トランザクションを確認します。今回の場合だと、次のようなトランザクションが発生するはずです。

  • トランザクション①:コントラクトの実行
  • トランザクション②:NFTトークンの送信
  • 内部トランザクション①:NFTの売上の送金(購入者→元の保有者)
  • 内部トランザクション②:NFTの手数料の送信(購入者→OpenSea)

ちょっと複雑なので、画像でも解説します。下記のとおり。

etherscan20

上記のとおりです。なお、上記のトランザクションは「NFTの初期オーナーから、NFT購入者へのトランザクション」ですが、二次流通の場合はトランザクションが変化します。具体的には、下記のようなトランザクションです。

etherscan21

基本的には「ほぼ同じ」なのですが、赤枠の部分の「金額」だけが変化しています。今回のNFTコレクションでは「オーナーへの手数料を10%」に設定しています。なので、二次流通でNFTが売れた場合には、下記2つの手数料が引かれます。

  • OpenSeaへの手数料:2.5%
  • オーナーへの手数料:10%

上記のとおり。そして、残りの「87.5%」が「転売した人」に振り込まれます。

なお、OpenSeaの仕様では、二次流通の手数料が「OpenSeaの財布→クリエイターの財布」に流れるようになっています。なので、若干のタイムラグが発生します。詳しい内容は「公式のFAQ」からどうぞ。

※補足:超厳密にいうと、今回のテストでは「二次流通のオーナー報酬」が発生しません。というのも、今回のNFTは「Manifold」というツールを使っており、このツールが「テストでの二次流通の発生」に対応していないからです。

それでは、NFTを買って実験しましょう

というわけで、解説は以上です。NFTの販売ページに行き、バナナを買ってみてください。そして、その後に「バナナNFTのトランザクションページ」を確認します。

etherscan22

購入したら、上記の「Time」の部分をクリックしてみてください。すると、自分が作成した「内部トランザクション」を確認できるはずです。

最後にお願いがあります🙇‍♂️

今回のテスト用のNFTは、数が限られています。なので、テスト用に購入したら、ぜひ転売をお願いします。OpenSeaから「販売設定」ができますので、是非です。

そしてNFTが転売されると、またトランザクションが発生します。転売成功したら、またトランザクションを確認してみてください。学びがあるはずです。

というわけで、今回は以上です

どうでしょうか? 実際に手を動かすことで、かなり理解が深まるはずです。そして、今回の説明とセットで覚えるべきは、下記の部分です。

  • すべての取引には、中央の管理者が存在しない

上記です。これが革命的な部分です。例えばですが、下記をご覧ください。

  • 僕がデジタル商品の販売サイトを作る
  • 皆さんが、販売サイトで売り買いをする
  • 動いたお金の1%が、全て僕に入ってくる

上記のようなシステムなら、ぶっちゃけ簡単に作れます。僕の雑魚なプログラミングスキルでも、たぶん構築できます。でも、こういったサイトには問題がありますね。それが「中央にパワーが貯まりすぎること」です。

僕が「強欲」だった場合は、どうするか

先ほどの「デジタル販売サイト」において、仮に僕が「強欲」だったとします。販売サイトの取引量が増えてきたので、そこで思い立ちます。

  • 「よし、、そろそろ手数料を上げてしまうか😌💰」

上記のような行動をしたら、利用者は悲しいですよね。せっかく良質な販売サイトだったのに、急に手数料が高くなる訳です。しかし、既に販売サイトに依存していた場合は、そこから抜け出すのが大変だったりしますよね。

こういった話は、すべて実話です

例えばですが、僕が以前にツイートした内容をご覧ください。

上記は「アマゾン」の例ですが、手数料が上がってきてるみたいですね。最大の手数料だと「34%」も引かれるみたいです。

これ以外にも例があり、例えば「UberEats」とかも同じですよね。飲食店は利益率が低いのに、しかしテック系企業は「大きな手数料」を課しています。これじゃあ、飲食店は厳しいです。

Web3の世界が、解決する

というわけで、そろそろ終わりにします。繰り返しですが、下記をご覧ください。

  • すべての取引には、中央の管理者が存在しない

今回の記事では、すべてをブロックチェーン上で再現しました。ブロックチェーン技術を使うことで、パワーの集中を防げます。いまの世の中では、パワーバランスに偏りがあります。

  • アマゾンは便利ですが、力を持ちすぎています
  • 銀行も便利ですが、構造的に力が集中していきます

今の構造だと、パワーの偏りは大きくなる一方です。しかし、ブロックチェーンを使うことで「中央の空洞化」が起こります。

  • 中央管理者のいないアマゾン = 手数料0%
  • 中央管理者のいない銀行 = 手数料0%、24時間の稼働

上記を実現できます。まだまだ、テクノロジーは発展途上です。しかし、この先3〜5年では、大きく進化していくはずです。僕は健全な世界を望んでいるので、そのためにも文章を書いています。

記事は多くの人に届けたいので、完全無料です。今後も有料化しません。途中で有料広告は掲載するかもですが、それだけです。そのためにも読者は増やしていきたいので、もし宜しければ拡散いただけたら、めちゃくちゃ感謝します。

それでは、以上です。 最後まで読んで頂きまして、ありがとうございます🙇‍♂️


※PS: ブログは「週1回」のペースで更新します。更新通知は「Twitter」と「メルマガ」でお知らせします🙋‍♂️