本文へスキップ
Boring Security
プロフィール
ツール

Etherscan(イーサスキャン)の基礎

Etherscan(イーサスキャン)とは何か?

Etherscanは、イーサリアムのブロックチェーンを閲覧・検索できる人気のブロックチェーンのエクスプローラーです。トランザクションの表示、アドレスの検索、スマートコントラクトとのやり取りなど、幅広い情報とツールをユーザーに提供します。
この記事では、以下を取り上げます:

  • トランザクションの表示
  • アドレスの検索
  • スマートコントラクトとのやり取り
  • トークンの追跡
  • そのコントクトは合法か?
  • ネットワーク統計の分析(現在のガス価格など)

トランザクションの表示

よくあるシナリオは、保留中のトランザクションのステータスを確認し、それがブロックに含まれているかどうか、またはそれをスピードアップする必要があるかどうかをチェックすることです。確認方法は以下の通りです:

MetaMask または選択したウォレットから、保留中のトランザクションをクリックし、そのトランザクションハッシュ(MetaMask ではこれを「トランザクション ID」と呼ぶ)をコピーします。その後、Etherscan.ioへ移動し、検索バーにトランザクションハッシュを入力して Enter キーを押します。(MetaMaskでは、単に「ブロックエクスプローラーで表示」を押すこともできる)。これでトランザクションを見ることができます。
フィールドの意味は以下の通りです:

FieldDefinition
Status
トランザクションのステータスを表します。以下のいずれかになります:
  • pending:ブロックに含まれるのを待っている状態
  • Dropped:ブロックに含まれず、保留中のトランザクションのリストから削除された
  • Succeeded:ブロックに含まれる
  • Failed:ブロックに含まれたがトランザクションが失敗して状態の変更は起こらなかった

| | Transaction Hash | トランザクションを識別する固有の16進文字列(hex) | | Block Number | トランザクションが含まれるブロック番号 | | Date/Time | トランザクションがイーサリアムネットワークによって処理された日時(保留中のトランザクションの場合は、そのトランザクションが最後にmempoolで確認された日時) | | To/From Addresses | トランザクションを送信するアドレス(from)と、コールされる受信アドレス/契約(to) | | Value | トランザクションの中で転送されたETHの量 | | Txn Fee | トランザクションを通すためにガス代に費やされたETHの量 | | Input Data | トランザクションに含まれるデータ(コントラクトに送信する場合、このフィールドはどの関数を呼び出すか、またその関数の引数を指示する)。 |

ここには便利なガストラッカーがあり、取引がブロックに含まれるまでの推定時間を表示してくれる: 

より早く確認したい場合は、トランザクションのスピードを上げる必要がある(Metamaskノウハウ: トランザクションを高速化する)!

アドレスの検索

Etherscanを使用すると、任意のイーサリアムアドレスの残高と取引履歴を表示することもできます。イーサリアムアドレスには2種類があります。Contract(NFT、トークン、Gnosisなどのマルチシグ保管庫)とEOA(Externally Owned Address、別名ウォレットアドレス)それぞれEtherscanでの表示が少し異なります。
検索するには、ホームページの検索バーにアドレス(またはENS名)を入力するだけで、残高、取引履歴、アドレスに関連付けられているスマートコントラクトなど、アドレスの詳細が表示されるページに移動します。

アドレスのページでは、以下の情報を見ることができます:

  • **Address:**イーサリアムのアドレスを表すユニークな文字列です("0x…"で始まる42文字の長さ)
  • **Balance:**そのアドレスが所有するEther残高やERC20/721/1155トークンを見ることできる
  • **Transaction history:**このアドレスとの間で確認されたすべてのイーサリアム取引のリスト
  • **Token tracker:**アドレスがトークンのコントラクトアドレスの場合、トークンの取引、保有者、残高を追跡できる。
  • **Contract:**アドレスがスマートコントラクトのアドレスの場合、コントラクトコード、取引履歴、発行されたイベントなど、コントラクトの詳細を見ることができる。
  • Internal transactions: このアドレスに対する内部トランザクションを見ることができる(スマートコントラクトの場合は、アドレスからの内部トランザクションも)。
    内部取引については102のコースで詳しく説明しているが、内部取引は単にスマートコントラクト間で発生する取引である。これには、ETHをユーザーに送信する際の、スマートコントラクトから外部アドレスへのトランザクションも含まれる。
    これは、あなたが思っているよりも多くのトランザクションがあなたのアドレス上で表面化していることに気づくかもしれないので、理解し探求するのに役立つ!
    102クラスに申し込んだ場合、GoerliテストネットワークでETHを一括送信するが、トランザクションタブには表示されず、内部Txnsタブにのみ表示される!

また、各欄にあるフィルター・ボタンを使って、日付・ブロック番号・to/from・取引方法で取引をフィルターすることもできる。「txn fee 」の上にあるメニューでは、失敗したトランザクション/保留中のトランザクション、入出金トランザクションでフィルターをかけることができる。

スマートコントラクトとのやり取り

スマートコントラクトは上記と同じように見ることができるが、通常のEOA(外部所有アドレス)と比べて、いくつかの追加機能がある:

  • **Contract Name:**コントラクトが認証されていると、コントラクト名が表示される
  • Contract Code: これはスマートコントラクトのソースコードで、閲覧・分析が可能
  • Contract Creator:コントラクトをブロックチェーンにデプロイしたイーサリアムのアドレス
  • 取引履歴: このコントラクトが関与するイーサリアムネットワークによって処理されたすべてのトランザクションのリスト
  • Events: スマートコントラクトが発するイベント(イベント署名、データ、トピックを含む)のリスト
  • Read/Writeタブ: これを使えば、Etherscanから直接Apecoinをステークしたり、この記事のようにseaport nonceをインクリメント(増加)したりできる。

Etherscanでコントラクトと対話する方法のチュートリアルについては、以下のリンクを参照のこと:Workflow with Etherscan

トークンの追跡

トークンについては、トークンの移動、ソーシャルメディアのアカウント、保有者などの詳細を示すページを見ることができる。
Etherscanの検索バーにトークンの契約アドレスを入力し、トークン追跡ページに移動する。トークンのページではなくアドレスが表示されたら、"token tracker "のリンクをクリックする。

以下を見ることができます:

  • Token Name: スマートコントラクトで指定されたトークンの名前
  • **Token symbol:**スマートコントラクトで指定されたトークンのシンボル
  • **Total supply:**スマートコントラクトによって生成されたトークンの総数
  • **Holders:**トークンを保持しているアドレスと、そのアドレスが保持しているトークン量のリスト
  • **Transfer history:**トークンのすべての転送のリスト

NFTの場合、「NFT Trades」はサポートされているマーケットプレイスでの売買リストを表示する。
ERC20トークンの場合、"DEX Trades "タブにはサポートされているDEX(Uniswapなど)での最近の売買が表示される。
ERC20にはチャートタブもあり、特定のDEXの売買をトレーディングビューウィジェットで見ることができ、プライスアクションを分析することができる。

そのコントラクトは合法か?

さて、基本的なことはお分かりいただけたと思いますが、セキュリティの観点からの最良の使用例の1つは、あなたがやり取りするものを吟味することです。
トランザクションを行うときはいつも、おそらくトランザクションとやりとりしていることでしょう。
しかし、そのコントラクトが正当なものかどうか、あるいは正しいコントラクトなのかどうか、どうすればわかるのでしょうか?
一度そのコントラクトの正当性を判断すれば、同じコントラクトを吟味し続ける必要はありません!
私たちが101のコースで強調しているのは、主に2つの理由から、コントラクトにメタマスクのブックマークを活用することです:

  1. もしあなたが普段利用しているウェブサイトにアクセスし、使い慣れた契約のやりとりをした場合、下図のように表示される
  2. 例えば、NFTをmintするために普段はアクセスしないウェブサイトにアクセスした場合、ランダムな0x…のアドレスではなく、高額なNFTやトークンコントラクトが表示されたら驚きますよね?

ApecoinClaimer.png

しかし、ブックマークに何かを追加する前に、まずEtherscanで(そしてDYORルーチンの一環として、他の場所でも)それを調べ、精査する必要があります。

Etherscanが吟味し、ユーザーに提示することで、実際に評判の良いコントラクトとやり取りしているという信頼度を高めることができます:

  • 青い認証チェックマーク: これは緑色のコントラクト認証チェックとは異なり、Etherscanにアップロードされたコードがイーサリアムネットワークにデプロイされたバイトコードと一致しているかどうかを確認するものです。青い認証チェックマークはプロジェクトの知名度・プロジェクトのソーシャル・コントラクト・エコシステムの頻度・その他多くのバイナリ要素(前述のコントラクトコード検証「グリーンチェック」を含む)を測定します。
  • トークンの評判: Etherscanは、これは推奨ではなく、むしろユーザーがその正当性を判断するために使用できる別の基準のセットであると主張しています。ICOの年齢や、プロジェクトがKYC/AMLが実施された取引所で取引されているかなどの要素を考慮します。
  • パブリックネームタグ **:**パブリックネームタグやラベルは、EtherscanチームによってプロジェクトのEtherscanページに貼られます。一般的に、これらはプロジェクトが何であるかを知らせるものですが、ハッカーやエクスプロイターのアドレスや著名人のラベルとして使用されることもあります。

注意**:**Etherscanのトークン名は、Etherscanに記載されているからといって認証されるものではありません。トークン名は誰でも自由に設定することができます。

ボーナス:ネットワーク統計の分析

Etherscan はまた、総トランザクション数・総アドレス数・総流通イーサ量など、ネットワーク全体の統計も提供し、Etherscan ホームページで閲覧することができます。

その一部をご紹介します:

  • **Total number of transactions:**イーサリアムネットワークによって処理されたトランザクションの総数
  • **Total number of addresses:**イーサリアムネットワーク上で使用されたユニークなアドレスの総数
  • **Total amount of Ether in circulation:**イーサリアムネットワーク上に存在するイーサの総量であり、流通量とスマートコントラクトにロックされた量の両方を含む
  • **Active nodes:**現在ネットワークに接続されているノードの数
  • **Network's transactions per day:**24時間以内にネットワーク上で処理されたトランザクション数

しかし、1つだけ非常に重要な統計がある。現在のガス価格は、ブロックスペースに対する現在の需要、つまりトランザクションを処理するために人々が喜んで支払う価格と考えることができます。
冒頭の保留中のトランザクションを見ると、etherscan.io/gastrackerにアクセスすることで、トランザクションをタイムリーに処理するためにいくら支払う必要があるかを正確に把握することができます。
ネットワーク上のガス使用量を調べるのに便利なもう一つのサイトは、UltraSound Moneyです。このサイトでは、どのコントラクトが最もガスを使用しているか、ETHのインフレ率/デフレ率の統計、ETHのステーキングの統計などを見ることができます!

まとめ

Etherscanが提供するさまざまな機能と、その活用方法についてご理解いただけたと思います。Etherscanについてもっと知りたい方は、Boring Security 102クラスで実習を行っています!
また、Etherscanは非常に広範なナレッジベースを持っており、
サイトにある検索バーに質問事項を入力するだけで、多くの答えを見つけることができます!

免責事項:過去にetherscanが示すものを疑う理由はほとんどありませんでしたが、Etherscanはサードパーティのサービスであり、その従業員はソーシャルエンジニアリングや賄賂の可能性を免れることはできません。
万が一に備えて、あるいはイーサスキャンがダウンした場合に備えて、他のブロックチェーンエクスプローラー(例:Blockchair)で情報を参照し、第二のソースを得ることができます!

Web3の最新のセキュリティ情報・詐欺手口についてもっと知りたい、もしくは質問がある方は、私たちのディスコード https://discord.gg/boringsecurity に参加してください。

ニュース