• Column
  • ブロックチェーンの仕組みを知り適用業務を考える

ブロックチェーンが管理している情報の“中身”【第5回】

唐澤 光彦(NTTテクノクロス エンタープライズ事業部マネージャー)
2018年12月6日

前回まで、ブロックチェーンの基本的な仕組みについて紹介した。第1回第3回で説明してきたブロックチェーンの業務利用のメリットが、どのようなテクノロジーによってもたらせているのかをご理解いただけたと思う。今回は、ブロックチェーンをさらに深掘りし、どのような情報が格納されているのか、その“中身”を見ていく。

 P2P(ピアツーピア)の分散型のブロックチェーンでは、特定の管理者がいないことなどが特徴の1つに挙げられることが多い。だからといってブロックチェーンの挙動が全く分からないという訳ではない。特定のノードにアクセスすれば、ブロックチェーンが、どのような動きをしているのかを把握できる。では、どんな情報が得られるのだろうか。

 今回は、ブロックチェーンが管理している情報の可視化ツールである「ContractGate/Monitor」(NTTテクノクロス製)を題材に、ブロックチェーンの“中身”を覗いてみよう。ちなみにContractGate/Monitorは、アプリケーション開発における動作状況の確認や、デモンストレーションなどにおいてブロックチェーンへの書き込み状況や内容を確認するといった用途のために開発されている。Ethereum版とHyperledger Fabric版があるが、以下ではEthereum版を例に取る。

 図1は、ContractGate/Monitorの画面例である。大きく、(A)最新ブロック、(B)接続先ノード、(C)チェーンフロー図、(D)グラフ、(E)到着トランザクションリストの5つの小画面からなっている。

図1:ContractGate/Monitorの画面例

 今回は、これらのうち(C)チェーンフロー図と(E)到着トランザクションリストについて掘り下げて説明する。その前に、それ以外の情報について簡単に紹介しておく。

(A)最新ブロック

 ブロックチェーンの最新のブロック情報を表示する。

(B)接続先ノード

 接続しているノードについて、(a)マイニング状態、(b)ノード数、(c)P2Pノード数、(d)待機トランザクション数を表示する(図2)。

図2:接続先ノードに関する画面例

(a)マイニング状態:マイニングが実行中かどうかを表示する。マイニングとは、取引内容をまとめた新規ブロックを生成し、ブロックチェーンに追加する権利を争う作業を指す。マイニング成功者には報酬が与えられる。

(b)同期状態:ContractGate/Monitorが接続しているノードと、他のノードとのデータの同期状態を表示する。

(c)P2Pノード数:同一のブロックチェーンネットワーク上で、各ノードが直接接続して通信しているノード数を表示する。

(d)待機トランザクション数(図2では「待機Tx」):ブロックが確定する前のトランザクション数を表示する。トランザクションとは、取引記録であり、ブロックチェーンネットワークの参加者間での価値の移転を指す。個々のトランザクション(取引記録)は、ブロックチェーン上にあり参照可能になっている。

(D)グラフ

 ブロックチェーンネットワークの動作状況をグラフにして可視化する。チャート図と円グラフがある。

チャート図:各ブロックの生成間隔(秒)とトランザクション数の推移を表示する。ブロックの生成間隔は、前のブロックから次のブロックまでのブロックの生成にかかった時間を指す。トランザクション数は、ブロックに含まれるトランザクションの数を指す。

円グラフ:監視中に発生したトランザクション総数に対し、分類した結果の割合を表示する。分類には、デプロイ(コントラクトのデプロイ)、関数実行(コントラクトの関数実行)、送金(仮想通貨の送金)がある。