ARPABLE
アープらしいエンジニア、それを称賛する言葉・・・アーパボー!
ブロックチェーン

ブロックチェーンエクスプローラーとは

ブロックチェーンエクスプローラーについて

これまでの3回の投稿でブロックチェーンの概要、アドレスの作り方、そしてトランザクションの基礎知識を学んできました。

ここではそれを踏まえて実際のブロックチェーンに触れてみたいと思います。
実際には個人的によく使っている3つのブロックチェーンエクスプローラーをご紹介します。

(※)ここで紹介するスクリーンショットは2022年1月末時点のものでブロックチェーンの情報は常に変動しております。

(※)前回同様、ここで使用した資料は2020年~2021年に社内で行われたライトニングトークで使われたものを適宜流用します。

(※)説明は2008年「サトシ・ナカモト」が発表したビットコインに関する論文をベースに説明していきます。

ブロックチェーンエクスプローラーとは

ブロックエクスプローラーとは、分散型台帳であるブロックチェーンの全ての取引情報を検索するためのツールです。

既に説明してきたように、ブロックチェーンは全てのトランザクション(取引データ)が公開されているため、たとえ仮想通貨で取引をしていない人であっても自由に参照することができます。

つまり、ブロックチェーンは、各仮想通貨に対してただ一つの取引データが共有されているため、いかなる取引所で仮想通貨を使ったとしても、その履歴情報を見ることができるわけです。

先ずは実際にどのようにトランザクションが発生し、ブロックが生成されているのかが確認できるチェーンフライヤー(ChainFlyer)をご紹介しましょう。

チェーンフライヤーとは

チェーンフライヤ(ChainFlyer)

を開くとアニメーションで上から発生したトランザクションがばらばらと振ってきて、中央に見えるボックスがブロックが連鎖する様子を表しています。ボックスの下に書いてある数字は2008年最初にブロックが作成されてからの通し番号です。

そのアニメーションに下に記載されているのが以下の3つの項目は

  1. 最後に発掘されてからの経過時間
  2. トランザクションレート(Tx/s)
  3. メモリープールに待機中のトランザクション数

最後に発掘されてからの経過時間

発掘、すなわちマイニングに成功してから1129秒経過中ということです。
ブロックが確定するのは(これをファイナライズと呼びます)6ブロック繋がった時、すなわち約60分経過した時ですから最大3600秒あたりまでカウントが進みます。

トランザクションレート(tx/s)

1秒間に平均どのくらいのトランザクションが処理されたか(確定したか)を表してます。

メモリープールに待機中のトランザクション数

未処理のトランザクションがメモリにどれだけ蓄積されているかを表してます。
この時点では5123個のトランザクションが待機待ちとなっていることが分かります。

中央にある入力欄

ここにはブロックチェーンのアドレス、トランザクションハッシュ(≒トランザクションID)、ブロックハッシュ(ブロックID)を入力するとそれに応じた情報を表示してくれます。

中央のブロックをクリックしてみよう

そうすると、そのブロックの情報が表示されます。

下に落ちたトランザクションをクリックしてみよう

そうすると、そのトランザクションの情報が表示されます。

 

どうでしたでしょうか?
このようにチェーンフライヤーは、エクスプローラーの機能に加えて、実際のトランザクションやブロックが生成される様子がリアルタイムでわかる点が特徴ですね。

 

ブロックチェーンドットコム(Blockchain.com

ブロックチェーンの様々な動きを統計情報として提供してくれているのがBlockchain.com/chartsです。

表題のBlockchain.com(ルート)から入る時にはトップページの上部にあるメニューバーの中からExploreをクリックし、その後表示されたページ左側のサイドメニューからChartをクリックするとすると以下のホームページが現れます。

ここには以下の分類で様々な統計データがグラフで参照することができます。

  1. 通貨情報
  2. ブロックデータの詳細情報
  3. マイニング系の情報
  4. ネットワーク情報
  5. Blockchain.comのウォレット総数

この中から個人的によく参照する統計情報をご紹介します。

平均ブロックサイズ(Average Block Size (MB))

ブロックサイズは1MBのはずですが、これを見る限り実際にはずいぶん変動しているのが分かります。

これは以前簡単に紹介したSegwitが関係しているのかもしれませんね。
SegwitではINPUTの領域を占めるアンロッキングスクリプト(ScriptSig)すなわち電子署名と公開鍵をWitnessと呼ばれるブロックとは別領域に分離することができるからです。

その結果、1ブロックの容量は、実質的におよそ1.7MBまで増加すると言われています。
この期間で最もブロックサイズが小さかったのは0.698MBでした。
これはトランザクションの増加スピートやマイナーさんのマイニングの事情などが関係しているのではないでしょうか?

1ブロック当たりの平均トランザクション数(Average Transactions Per Block)

正確には「過去24時間のブロックあたりの平均トランザクション数」の推移を表してのが以下のグラフです。

一般的には1ブロックに3000個~4000個等といわれてきましたが、実際には2000個を切っているようですね。
仮に1800個だとすると1つのトランザクションデータは556バイトになります。

トランザクションレート(Transaction Rate Per Second)

正確には「1秒あたりにmempoolに追加されたトランザクション数」です。
このグラフから、1秒間にどのくらいトランザクションが発生しているのかが分かります。

平均3個から4個といったところでしょうか?
冒頭で説明したチェーンフライヤーで落ちてくるトランザクションを見た時のイメージに近いですね。

ハッシュレート(Total Hash Rate (TH/s))

ビットコインネットワーク上で活動するマイナーさんが、過去24時間に実行している1秒あたりのテラハッシュ数(※)の推定値です。
簡単に言うと、マイナーさんのハッシュに関する計算能力の推定値です。
(※)1テラハッシュとは1秒間に1兆回ハッシュを計算するスピード

それにしてもすごい計算能力ですね。
1回マイニングに成功すると現時点では6.25ビットコイン(※)をもらえることになっていますのでビットコインの価値次第ですが、2000万円~4000万円ぐらいに相当するのではないでしょうか?

(※)この額は4年に一度半減します。2000年には12.5ビットコインから6.25になり、2024年にはさらに半分の3.125ビットコインになります。

この報酬が10分当たり1回支払われることになるので、世界中の多くの人、グループがこれに参加して競い合ってます。
彼らの計算能力は、今やGoogleが保有するすべてのコンピュータより高いといわれており、これが故に発熱問題や電力消費問題が起きているわけですね。

技術的には人工知能のDeepLearningで使用されるGPUではもはや競争に勝てず、ハッシュ計算に特化した独自の処理チップ(ASIC:application specific integrated circuit)を大量に使用しているといわれてます。

このグラフから2021年7月から計算能力がうなぎ上りになっていることを頭に入れてから次の「マイニングの難易度」をご覧になることをお勧めします。

マイニングの難易度

新しいブロックをマイニングする際に設定されている難易度(成功条件)です。
この難易度は2週間に一度見直され、平均して10分に一度マイニングに成功するよう調整されています(詳細はマイニングの稿で説明する予定です)

前の節で、マイナーさんのハッシュレートが2021年に7月から急上昇しているのを思い出してください。これと歩調を合わせて難易度が急上昇していますね。

マイナーさんの計算能力が向上したとしても、2週間に1度難易度が見直され、10分に1度の割合でマイニングが成功するよう調整されている、ということがご理解いただけると思います。

これ以外に”Hashrate Distribution”ではどんなマイナーさん(人やグループ)がどれだけマイニングに成功しているかが分かるようになってます。
ロジックに直接関係がないためここでは省略します。

 

最後にブロックチェアを紹介しておきましょう。

ブロックチェアドットコム(Blockchair.com

ブロックチェアは、複数の異なるブロックチェーンを1つの検索エンジンに組み込んだ世界初のブロックチェーンエクスプローラーです。

ここでは日本語サイトもありますのでそちらを参照してみましょう。

ホームページのデザインもシンプルで好感が持てます。

さてここで早速エクスプローラーの機能を以下の手順で確かめてみましょう。

  1. チェーンフライヤで確定したブロックを開く
  2. トランザクションを開いて内容を確認する
  3. IDをコピーし、ブロックチェアで検索する
  4. チェーンフライヤとブロックチェアで内容を比較する

 

チェーンフライヤで確定したブロックを開く

確定したトランザクションを選択する為、最新のブロックの6つ前の赤い矢印のブロック(ブロック番号720683)をクリックします。

トランザクションを開いて内容を確認する

ブロック720683の先頭のトランザクションはマイナーさんへの報酬なので、二番目のトランザクションを開く為、下図の赤い矢印をクリックします。

そうすると、以下のようにこのトランザクションの内容が表示されます。

 

  • 最上部にトランザクションID(トランザクションハッシュ)
  • 中央左に「確認」とあるので確定していることが分かります。
  • 中央右には送金額0.00278ビットコイン
  • その下の段にはINPUTとOUTPUTの内容が書かれてます。
  • INPUTの先頭は送金者のアドレスとUTXOの額0.00333341、その下にInput Scriptと書かれているのがアンロッキングスクリプト(ScriptSig)でWitnessに対応していることが分かります。
  • その右にはOUTPUTのアドレス、その下にOutput Scriptsとしてロッキングスクリプト(ScriptPubkey)が記載されてます。

IDをコピーし、ブロックチェアで検索する

チェーンフライヤで開いているトランザクションのIDをコピーし、ブロックチェアの検索欄にペーストします。

検索すると以下のように対応するトランザクションの内容が表示されます。

ブロック番号、トランザクションID、確認済み(承認された)、Segwitに対応している、送金者のアドレスとUTXOの額、受取人のアドレスと受取額、それぞれがチェーンフライヤの値と同じことが分かりますね。

ただ、チェーンフライヤの方がスクリプトコードが同時に確認できるため、ブロックチェーンに詳しい方はこちらのツールの方が便利だと感じられるのではないでしょうか?

 

(アーパボー)