(57)【要約】  本明細書の実装形態は、クライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信することを含む。ブロックチェーン視覚化ユーザインターフェースは、ブロックチェーンに基づいて生成される。ブロックチェーン視覚化ユーザインターフェースは、ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造と、ブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報とを含む。ブロックチェーン視覚化ユーザインターフェースは、ブロックチェーン視覚化ユーザインターフェースについての要求に応答して、クライアントデバイス上での表示のために提供される。
2020517126.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーンネットワークに関連付けられたブロックチェーンの視覚化を提供するためのコンピュータ実装方法であって、
クライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信するステップと、
前記ブロックチェーンに基づいて、前記ブロックチェーン視覚化ユーザインターフェースを生成するステップであって、前記ブロックチェーン視覚化ユーザインターフェースは、前記ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造、および前記ブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報を含む、ステップと、
前記ブロックチェーン視覚化ユーザインターフェースについての前記要求に応答して、前記ブロックチェーン視覚化ユーザインターフェースを、前記クライアントデバイス上での表示のために提供するステップとを含む方法。
【請求項２】
前記チェーングラフ構造は、前記ブロックチェーン中のブロックを各々が表す、選択可能なブロック表現のチェーンを備える、請求項1に記載の方法。
【請求項３】
前記ブロックチェーン中の特定のブロックに対応する特定のブロック表現のユーザ選択に応答して、ブロック詳細ユーザインターフェースについての要求を受信するステップと、
前記特定のブロックについてのブロック情報を前記ブロックチェーンから取り出すステップと、
前記取り出されたブロック情報に基づいて、前記ブロック詳細ユーザインターフェースを生成するステップと、
前記ブロック詳細ユーザインターフェースについての前記要求に応答して、前記ブロック詳細ユーザインターフェースを提供するステップとをさらに含む、請求項2に記載の方法。
【請求項４】
前記選択可能なブロック表現は、選択可能なリンクと接続され、前記ブロックチェーン視覚化ユーザインターフェースは、選択されたリンクの目標である選択可能なブロック表現が、前記チェーングラフ構造の最上位に位置決めされるように、特定の選択可能なリンクのユーザ選択に応答して、前記チェーングラフ構造を位置決めし直すように構成される、請求項2に記載の方法。
【請求項５】
前記トランザクション情報は、前記ブロックチェーンに関連付けられた直近のトランザクションについての情報を含む、請求項1に記載の方法。
【請求項６】
前記トランザクション情報は、第1のトランザクションについてのトランザクション識別情報を含み、前記方法は、
前記トランザクション識別情報のユーザ選択に応答して、前記第1のトランザクションのためのトランザクション詳細ユーザインターフェースについての要求を受信するステップと、
前記ブロックチェーンを使って、前記第1のトランザクションについてのトランザクション情報を取り出すステップと、
前記第1のトランザクションについての前記トランザクション情報に基づいて、前記トランザクション詳細ユーザインターフェースを生成するステップと、
前記トランザクション詳細ユーザインターフェースについての前記要求に応答して、前記トランザクション詳細ユーザインターフェースを提供するステップとをさらに含む、請求項1に記載の方法。
【請求項７】
前記クライアントデバイスから、ブロックリストユーザインターフェースについての要求を受信するステップと、
前記ブロックチェーンからブロック情報を取り出すステップと、
前記取り出されたブロック情報に基づいて、前記ブロックリストユーザインターフェースを生成するステップと、
前記ブロックリストユーザインターフェースについての前記要求に応答して、前記ブロックリストユーザインターフェースを提供するステップとをさらに含む、請求項1に記載の方法。
【請求項８】
前記クライアントデバイスから、トランザクションリストユーザインターフェースについての要求を受信するステップと、
前記ブロックチェーンを使ってトランザクション情報を取り出すステップと、
前記取り出されたトランザクション情報に基づいて、前記トランザクションリストユーザインターフェースを生成するステップと、
前記トランザクションリストユーザインターフェースについての前記要求に応答して、前記トランザクションリストユーザインターフェースを提供するステップとをさらに含む、請求項1に記載の方法。
【請求項９】
前記クライアントデバイスから、アカウントリストユーザインターフェースについての要求を受信するステップと、
前記ブロックチェーンを使って、前記ブロックチェーンネットワークのノードについてのアカウント情報を取り出すステップと、
前記取り出されたアカウント情報に基づいて、前記アカウントリストユーザインターフェースを生成するステップと、
前記アカウントリストユーザインターフェースについての前記要求に応答して、前記アカウントリストユーザインターフェースを提供するステップとをさらに含む、請求項1に記載の方法。
【請求項１０】
前記クライアントデバイスから、コントラクトリストユーザインターフェースについての要求を受信するステップと、
前記ブロックチェーンを使ってコントラクト情報を取り出すステップと、
前記取り出されたコントラクト情報に基づいて、前記コントラクトリストユーザインターフェースを生成するステップと、
前記コントラクトリストユーザインターフェースについての前記要求に応答して、前記コントラクトリストユーザインターフェースを提供するステップとをさらに含む、請求項1に記載の方法。
【請求項１１】
前記ブロックチェーンの更新されたバージョンを識別するステップと、
前記ブロックチェーンの前記更新されたバージョンに基づいて、更新されたブロックチェーン視覚化ユーザインターフェースを生成するステップと、
前記更新されたブロックチェーン視覚化ユーザインターフェースを前記クライアントデバイスに提供するステップとをさらに含む、請求項1に記載の方法。
【請求項１２】
前記ブロックチェーンは前記ブロックチェーンの合意バージョンである、請求項1に記載の方法。
【請求項１３】
前記ブロックチェーン視覚化ユーザインターフェースについての前記要求を受信するのに先立って、前記ブロックチェーンネットワークのノードと対話したことに基づいて前記ブロックチェーンの前記合意バージョンを判断するステップをさらに含む、請求項12に記載の方法。
【請求項１４】
1つまたは複数のコンピュータに結合されるとともに命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、前記1つまたは複数のコンピュータによって、
クライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信することと、
ブロックチェーンネットワークに関連付けられたブロックチェーンに基づいて前記ブロックチェーン視覚化ユーザインターフェースを生成することであって、前記ブロックチェーン視覚化ユーザインターフェースは、前記ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造、および前記ブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報を含む、ことと、
前記ブロックチェーン視覚化ユーザインターフェースについての前記要求に応答して、前記ブロックチェーン視覚化ユーザインターフェースを、前記クライアントデバイス上での表示のために提供することとを行うように実行可能である、コンピュータ可読記憶媒体。
【請求項１５】
前記チェーングラフ構造は、前記ブロックチェーン中のブロックを各々が表す、選択可能なブロック表現のチェーンを備える、請求項14に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記1つまたは複数のコンピュータによって、
前記ブロックチェーン中の特定のブロックに対応する特定のブロック表現のユーザ選択に応答して、ブロック詳細ユーザインターフェースについての要求を受信し、
前記特定のブロックについてのブロック情報を前記ブロックチェーンから取り出し、
前記取り出されたブロック情報に基づいて、前記ブロック詳細ユーザインターフェースを生成し、
前記ブロック詳細ユーザインターフェースについての前記要求に応答して、前記ブロック詳細ユーザインターフェースを提供するように実行可能な命令をさらに記憶した、請求項15に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記選択可能なブロック表現は、選択可能なリンクと接続され、前記ブロックチェーン視覚化ユーザインターフェースは、選択されたリンクの目標である選択可能なブロック表現が、前記チェーングラフ構造の最上位に位置決めされるように、特定の選択可能なリンクのユーザ選択に応答して、前記チェーングラフ構造を位置決めし直すように構成される、請求項15に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記トランザクション情報は、前記ブロックチェーンに関連付けられた直近のトランザクションについての情報を含む、請求項14に記載のコンピュータ可読記憶媒体。
【請求項１９】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに結合されるとともに命令を記憶した1つまたは複数のコンピュータ可読メモリとを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって、
クライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信することと、
ブロックチェーンネットワークに関連付けられたブロックチェーンに基づいて前記ブロックチェーン視覚化ユーザインターフェースを生成することであって、前記ブロックチェーン視覚化ユーザインターフェースは、前記ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造、および前記ブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報を含む、ことと、
前記ブロックチェーン視覚化ユーザインターフェースについての前記要求に応答して、前記ブロックチェーン視覚化ユーザインターフェースを、前記クライアントデバイス上での表示のために提供することとを行うように実行可能である、システム。
【請求項２０】
前記チェーングラフ構造は、前記ブロックチェーン中のブロックを各々が表す、選択可能なブロック表現のチェーンを備える、請求項19に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
分散型台帳システム(DLS)は、合意ネットワーク、および/またはブロックチェーンネットワークとも呼ばれる場合があり、参加エンティティが、安全に、および不変にデータを記憶するのを可能にする。DLSは一般に、どの特定の使用ケースも参照しないブロックチェーンネットワークと呼ばれる。ブロックチェーンネットワークの例示的タイプは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークを含み得る。パブリックブロックチェーンネットワークは、すべてのエンティティがDLSを使い、合意プロセスに参加するためにオープンである。プライベートブロックチェーンネットワークは、読取りおよび書込み許可を中心的に制御する特定のエンティティ向けに提供される。コンソーシアムブロックチェーンネットワークは、合意プロセスを制御するエンティティの選択グループ向けに提供され、アクセス制御レイヤを含む。
【０００２】
ブロックチェーンネットワークは、1つまたは複数のブロックチェーンを維持する。ブロックチェーンとは、悪意のある当事者による、データの改竄および操作を防止する、データを記憶するためのデータ構造である(以下でより詳細に記載する)。ブロックチェーンに記憶されるデータは、ハッシュ値などの複素数値を含んでよく、テキストのみのフォーマットでのブロックチェーンのデータの閲覧は、非専門ならびに専門ユーザにとって、問題があり、直観的でない可能性がある。ブロックチェーン情報が、情報の線形リストを使って表示される場合、情報を見つけ、関連データの間の関係を閲覧することは難しいことがある。情報の線形リストの連続した閲覧は、望ましくない目の疲れおよび欲求不満を引き起こす場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書の実装形態は、ブロックチェーンデータを視覚化するためのコンピュータ実装方法を含む。より詳細には、本明細書の実装形態は、ブロックチェーンデータのグラフィカルな閲覧およびナビゲーションのためのブロックチェーンブラウザを提供することを対象とする。いくつかの実装形態では、アクションは、クライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信するステップと、ブロックチェーンに基づいて、ブロックチェーン視覚化ユーザインターフェースを生成するステップであって、ブロックチェーン視覚化ユーザインターフェースは、ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造、およびブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報を含む、ステップと、ブロックチェーン視覚化ユーザインターフェースについての要求に応答して、ブロックチェーン視覚化ユーザインターフェースを、クライアントデバイス上での表示のために提供するステップとを含む。
【０００４】
他の実装形態は、コンピュータ記憶デバイス上で符号化された方法のアクションを実施するように構成された、対応するシステム、装置およびコンピュータプログラムを含む。
【０００５】
これらおよび他の実装形態は、任意選択で、各々、以下の特徴のうちの1つまたは複数を含み得る。
【０００６】
チェーングラフ構造は、ブロックチェーン中のブロックを各々が表す、選択可能なブロック表現のチェーンを含み得る。ブロック詳細ユーザインターフェースについての要求が、ブロックチェーン中の特定のブロックに対応する特定のブロック表現のユーザ選択に応答して受信され得る。特定のブロックについてのブロック情報が、ブロックチェーンの合意バージョンから取り出され得る。ブロックチェーンの合意バージョンは、ブロックチェーンネットワークのノードと対話したことに基づいて判断され得る。たとえば、ブロックチェーンネットワークのノードであるウェブサーバは、複数の候補経路から、ブロックチェーンの合意バージョンとして、ブロックのチェーンを選択するのに、最長チェーンおよび/または最重チェーン基準を使うことができる。複数の候補経路は、ブロックチェーンネットワークの異なるノードから、異なる時間に受信された異なるブロックを含み得る。ブロック詳細ユーザインターフェースは、取り出されたブロック情報に基づいて生成され得る。ブロック詳細ユーザインターフェースは、ブロック詳細ユーザインターフェースについての要求に応答して提供され得る。選択可能なブロック表現は、選択可能なリンクと接続されてよく、ブロックチェーン視覚化ユーザインターフェースは、選択されたリンクの目標である選択可能なブロック表現が、チェーングラフ構造の最も上に位置決めされるように、特定の選択可能なリンクのユーザ選択に応答して、チェーングラフ構造を位置決めし直すように構成されてよい。トランザクション情報は、ブロックチェーンの合意バージョンに関連付けられた、直近のトランザクションについての情報を含み得る。トランザクション情報は、第1のトランザクションについてのトランザクション識別情報を含み得る。第1のトランザクションのためのトランザクション詳細ユーザインターフェースについての要求は、トランザクション識別情報のユーザ選択に応答して受信され得る。第1のトランザクションについてのトランザクション情報は、ブロックチェーンの合意バージョンを使って取り出すことができる。トランザクション詳細ユーザインターフェースは、第1のトランザクションについてのトランザクション情報に基づいて生成され得る。トランザクション詳細ユーザインターフェースは、トランザクション詳細ユーザインターフェースについての要求に応答して提供され得る。ブロックリストユーザインターフェースについての要求は、クライアントデバイスから受信され得る。ブロック情報は、ブロックチェーンの合意バージョンから取り出すことができる。ブロックリストユーザインターフェースは、取り出されたブロック情報に基づいて生成され得る。ブロックリストユーザインターフェースは、ブロックリストユーザインターフェースについての要求に応答して提供され得る。トランザクションリストユーザインターフェースについての要求は、クライアントデバイスから受信され得る。トランザクション情報は、ブロックチェーンの合意バージョンを使って取り出すことができる。トランザクションリストユーザインターフェースは、取り出されたトランザクション情報に基づいて生成することができる。トランザクションリストユーザイン���ーフェースは、トランザクションリストユーザインターフェースについての要求に応答して提供され得る。アカウントリストユーザインターフェースについての要求が、クライアントデバイスから受信され得る。ブロックチェーンネットワークのノードについてのアカウント情報は、ブロックチェーンの合意バージョンを使って取り出すことができる。アカウントリストユーザインターフェースは、取り出されたアカウント情報に基づいて生成され得る。アカウントリストユーザインターフェースは、アカウントリストユーザインターフェースについての要求に応答して提供され得る。コントラクトリストユーザインターフェースについての要求が、クライアントデバイスから受信され得る。コントラクト情報は、ブロックチェーンの合意バージョンを使って取り出すことができる。コントラクトリストユーザインターフェースは、取り出されたコントラクト情報に基づいて生成され得る。コントラクトリストユーザインターフェースは、コントラクトリストユーザインターフェースについての要求に応答して提供され得る。ブロックチェーンの更新された合意バージョンが識別され得る。更新されたブロックチェーン視覚化ユーザインターフェースが、ブロックチェーンの更新された合意バージョンに基づいて生成され、クライアントデバイスに提供され得る。
【０００７】
本明細書は、1つまたは複数のプロセッサに結合されるとともに命令が記憶された1つまたは複数の非一時的コンピュータ可読記憶媒体も提供し、命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書において提供される方法の実装形態による動作を実施させる。
【０００８】
本明細書は、本明細書において提供される方法を実装するためのシステムをさらに提供する。このシステムは、1つまたは複数のプロセッサと、命令が記憶された、1つまたは複数のプロセッサに結合されたコンピュータ可読記憶媒体とを含み、命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書において提供される方法の実装形態による動作を実施させる。
【０００９】
本明細書による方法は、本明細書に記載する態様と特徴のどの組合せも含み得ることを諒解されたい。つまり、本明細書による方法は、本明細書において具体的に記載される態様と特徴の組合せに限定されるのではなく、提供される態様と特徴のどの組合せも含む。
【００１０】
本明細書の1つまたは複数の実装形態の詳細が、添付の図面および以下の説明において説明される。本明細書の他の特徴および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本明細書の実装形態を実行するのに使うことができる環境の例を示す図である。
【図２】本明細書の実装形態による概念アーキテクチャの例を示す図である。
【図３】本明細書の実装形態を実行するのに使うことができる環境の例を示す図である。
【図４】本明細書の実装形態によるホームページユーザインターフェースの例を示す図である。
【図５】本明細書の実装形態によるブロックリストユーザインターフェースの例を示す図である。
【図６】本明細書の実装形態によるブロック詳細ユーザインターフェースの例を示す図である。
【図７】本明細書の実装形態によるトランザクションリストユーザインターフェースの例を示す図である。
【図８】本明細書の実装形態によるアカウントリストユーザインターフェースの例を示す図である。
【図９】本明細書の実装形態によるアカウント詳細ユーザインターフェースの例を示す図である。
【図１０】本明細書の実装形態によるコントラクトリストユーザインターフェースの例を示す図である。
【図１１】本明細書の実装形態によるコントラクト詳細ユーザインターフェースの例を示す図である。
【図１２】本明細書の実装形態によるトランザクションのためのコントラクト詳細ユーザインターフェースの例を示す図である。
【図１３】本明細書の実装形態によるコントラクトコードのためのコントラクト詳細ユーザインターフェースの例を示す図である。
【図１４】本明細書の実装形態に従って実行され得るプロセスの例を示す図である。
【図１５】本明細書の実装形態による装置のモジュールの例を示す図である。
【発明を実施するための形態】
【００１２】
様々な図面における同様の参照符号は、同様の要素を示す。
【００１３】
本明細書の実装形態は、ブロックチェーンデータを視覚化するためのコンピュータ実装方法を含む。より詳細には、本明細書の実装形態は、ブロックチェーンデータのグラフィカルな閲覧およびナビゲーションのためのブロックチェーンブラウザを提供することを対象とする。いくつかの実装形態では、アクションは、クライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信するステップと、ブロックチェーンに基づいて、ブロックチェーン視覚化ユーザインターフェースを生成するステップであって、ブロックチェーン視覚化ユーザインターフェースは、ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造、およびブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報を含む、ステップと、ブロックチェーン視覚化ユーザインターフェースについての要求に応答して、ブロックチェーン視覚化ユーザインターフェースを、クライアントデバイス上での表示のために提供するステップとを含む。
【００１４】
本明細書の実装形態についてのさらなる文脈を与えるために、および上で紹介したように、分散型台帳システム(DLS)は、合意ネットワーク(たとえば、ピアツーピアノードからなる)、およびブロックチェーンネットワークとも呼ばれる場合があり、参加エンティティが、安全に、および不変に、トランザクションを執り行い、データを記憶するのを可能にする。ブロックチェーンという用語は、本明細書では、概して、どの特定の使用ケースも参照しないDLSを指すのに使われる。
【００１５】
ブロックチェーンとは、トランザクションが不変であるとともに、続いて検証され得るようにトランザクションを記憶するデータ構造である。ブロックチェーンは、1つまたは複数のブロックを含む。チェーン中の各ブロックは、チェーン中のすぐ前のブロックに、前のブロックの暗号ハッシュを含めることによって、リンクされる。各ブロックは、タイムスタンプ、それ自体の暗号ハッシュ、および1つまたは複数のトランザクションも含む。トランザクションは、ブロックチェーンネットワークのノードによってすでに検証されているが、ハッシュされ、マークルツリーに符号化される。マークルツリーとは、ツリーのリーフノードの所のデータがハッシュされているデータ構造であり、ツリーの各分岐におけるすべてのハッシュが、分岐のルートにおいて連結される。このプロセスは、ツリーをさかのぼってツリー全体のルートまで続き、これは、ツリー中のすべてのデータを表すハッシュを記憶する。ツリーに記憶されるトランザクションのものであると称するハッシュは、ツリーの構造と整合するかどうかを判断することによって、迅速に検証され得る。
【００１６】
ブロックチェーンは、トランザクションを記憶するためのデータ構造であり、ブロックチェーンネットワークは、1つまたは複数のブロックチェーンを管理し、更新し、維持するコンピューティングノードのネットワークである。上で紹介したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供され得る。パブリックブロックチェーンネットワークでは、合意プロセスは、合意ネットワークのノードによって制御される。たとえば、数百、数千、数百万ものエンティティが、パブリックブロックチェーンネットワークを共同で運用することができ、それらの各々が、パブリックブロックチェーンネットワーク中の少なくとも1つのノードを運用する。したがって、パブリックブロックチェーンネットワークは、参加エンティティに関して、パブリックネットワークと見なすことができる。いくつかの例では、大多数のエンティティ(ノード)が、ブロックが有効であるとともに、ブロックチェーンネットワークのブロックチェーン(分散型台帳)に追加されるために、あらゆるブロックに署名しなければならない。例示的パブリックブロックチェーンネットワークは、ブロックチェーンと呼ばれる分散型台帳を活用する特定のピアツーピア支払いネットワークを含む。ただし、上述したように、ブロックチェーンという用語は、概して、どの特定のブロックチェーンネットワークの特定の参照もしない分散型台帳を指すのに使われる。
【００１７】
概して、パブリックブロックチェーンネットワークは、パブリックトランザクションをサポートする。パブリックトランザクションは、パブリックブロックチェーンネットワーク内のノードすべてと共有され、グローバルブロックチェーンに記憶される。グローバルブロックチェーンとは、すべてのノードにわたって複製されるブロックチェーンである。つまり、すべてのノードが、グローバルブロックチェーンに関して完全な状態の合意にある。合意(たとえば、ブロックチェーンへのブロックの追加への同意)に達するために、パブリックブロックチェーンネットワーク内で合意プロトコルが実装される。合意プロトコルの例には、限定なしで、プルーフオブワーク(POW)、プルーフオブステーク(POS)、およびプルーフオブオーソリティ(POA)がある。POWは、本明細書において、非限定的例としてさらに参照される。
【００１８】
概して、プライベートブロックチェーンネットワークは、読取りおよび書込み許可を中心的に制御する特定のエンティティ向けに提供される。エンティティは、どのノードがブロックチェーンネットワークに参加することが可能かを制御する。したがって、プライベートブロックチェーンネットワークは概して、誰がネットワークに参加することを認められるかについての、および参加のレベル(たとえば、いくつかのトランザクションにのみ)についての制約を課す、許可されたネットワークと呼ばれる。様々なタイプのアクセス制御機構が使われてよい(たとえば、既存参加者が、新たなエンティティの追加に対して投票し、規制当局が承認を制御し得る)。
【００１９】
概して、コンソーシアムブロックチェーンネットワークは、参加エンティティの間でプライベートである。コンソーシアムブロックチェーンネットワークでは、合意プロセスは、ノードの認可されたセットによって制御され、1つまたは複数のノードが、それぞれのエンティティ(たとえば、金融機関、保険会社)によって運用される。たとえば、10個のエンティティ(たとえば、金融機関、保険会社)からなるコンソーシアムが、コンソーシアムブロックチェーンネットワークを運用する場合があり、それらの各々が、コンソーシアムブロックチェーンネットワーク中の少なくとも1つのノードを運用する。したがって、コンソーシアムブロックチェーンネットワークは、参加エンティティに関して、プライベートネットワークと見なすことができる。いくつかの例では、各エンティティ(ノード)は、ブロックが有効であるとともに、ブロックチェーンに追加されるために、あらゆるブロックに署名しなければならない。いくつかの例では、エンティティ(ノード)の少なくともサブセット(たとえば、少なくとも7つのエンティティ)が、ブロックが有効であるとともに、ブロックチェーンに追加されるために、あらゆるブロックに署名しなければならない。
【００２０】
本明細書の実装形態を、ブロックチェーンネットワークを参照してここでさらに詳しく記載するが、ブロックチェーンネットワークは、参加エンティティの間でパブリックである。ただし、本明細書の実装形態は、どの適切なタイプのブロックチェーンネットワークにおいても実現され得ることが企図される。
【００２１】
本明細書の実装形態を、上記文脈を鑑みて、ここでさらに詳しく記載する。より詳細には、および上で紹介したように、本明細書の実装形態は、ブロックチェーンデータのグラフィカルな閲覧およびナビゲーションのためのブロックチェーンブラウザを提供することを対象とする。
【００２２】
ブロックチェーンブラウザが、ブロックチェーン情報を閲覧するための視覚化ツールとして提供され得る。ブロックチェーンブラウザのホームページは、ノード情報、トランザクション情報、アカウント情報、およびコントラクト情報を含む、ブロックチェーンについての主要データを表示することができる。ブロックはブロックチェーン情報の重要部なので、ブロック情報は、ユーザ向けに強調表示されてよい。たとえば、ブロック情報は、関連ブロックのグラフィカル接続を表示するグラフィカル構造で、ブロックチェーンブラウザ中で表示され得る。そのようなグラフィカル手法は、ブロックチェーン中のブロックの間の関係の、便利であり直観的な視覚的表示をもたらすことができ、ユーザが、ブロックチェーンのチェーン構造を視覚的に受け、ナビゲートできるようにする。ユーザは、関連ブロックを接続するグラフィカルリンクを選択して、ブロックチェーンの中を視覚的にナビゲートすることができる。
【００２３】
グラフィカル構造は、テキスト表示と組み合わせることができる。たとえば、ブロック情報は、ブロックのグラフィカル表現の上に直接表示することができ、さらなるブロック詳細が、ブロック表現の選択に応答して表示され得る。ブロックチェーンブラウザ内で、ユーザは、ブロック、アカウント、トランザクション、またはコントラクト識別情報を選択して、それぞれのブロック、アカウント、トランザクション、またはコントラクトについての詳細な情報を閲覧することができる。ブロックチェーンブラウザは、ブロックチェーン詳細についての専門家であるとともに知識があるユーザと、専門ブロックチェーン詳細になじみがない非専門ユーザの両方にとって有用であり得る。
【００２４】
図1は、本明細書の実装形態を実行するのに使うことができる例示的環境100を示す。いくつかの例では、例示的環境100は、エンティティがブロックチェーンネットワーク102に参加することを可能にする。ブロックチェーンネットワーク102は、パブリック、プライベート、またはコンソーシアムブロックチェーンネットワークであり得る。例示的環境100は、コンピューティングデバイス106、108、およびネットワーク110を含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は、ワイヤードおよび/またはワイヤレス通信リンクを介してアクセスされ得る。概して、ネットワーク110は1つまたは複数の通信ネットワークを表す。いくつかのケースでは、コンピューティングデバイス106、108は、クラウドコンピューティングシステム(図示せず)のノードであってよく、または各コンピューティングデバイス106、108が、ネットワークによって相互接続された複数のコンピュータを含み、分散型処理システムとして機能する、別個のクラウドコンピューティングシステムであってよい。
【００２５】
図示した例において、コンピューティングシステム106、108は各々、ブロックチェーンネットワーク102への、ノードとしての参加を可能にする、どの適切なコンピューティングシステムも含むことができる。例示的コンピューティングデバイスは、限定なしで、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンを含む。いくつかの例では、コンピューティングシステム106、108は、ブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実装サービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティが1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのそのトランザクションを管理するのに使うトランザクション管理システムなど、第1のエンティティ(たとえば、ユーザA)のコンピュータ実装サービスをホストすることができる。コンピューティングシステム108は、第2のエンティティが1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのそのトランザクションを管理するのに使うトランザクション管理システムなど、第2のエンティティ(たとえば、ユーザB)のコンピュータ実装サービスをホストすることができる。図1の例では、ブロックチェーンネットワーク102は、ノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108は、第1のエンティティ、および第2のエンティティのノードをそれぞれ提供し、これらは、ブロックチェーンネットワーク102に参加する。
【００２６】
図2は、本明細書の実装形態による例示的概念アーキテクチャ200を示す。例示的概念アーキテクチャ200は、エンティティレイヤ202、被ホストサービスレイヤ204、およびブロックチェーンネットワークレイヤ206を含む。図示する例において、エンティティレイヤ202は、3つのエンティティ、すなわちEntity_1(E1)、Entity_2(E2)、およびEntity_3(E3)を含み、各エンティティは、それぞれのトランザクション管理システム208を有する。
【００２７】
図示した例において、被ホストサービスレイヤ204は、各トランザクション管理システム208用のインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208が、プロトコル(たとえば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を使って、ネットワーク(たとえば、図1のネットワーク110)を介して、それぞれのインターフェース210と通信する。いくつかの例では、各インターフェース210は、それぞれのトランザクション管理システム208と、ブロックチェーンネットワークレイヤ206との間の通信接続を提供する。より詳細には、インターフェース210は、ブロックチェーンネットワークレイヤ206のブロックチェーンネットワーク212と通信する。いくつかの例では、インターフェース210と、ブロックチェーンネットワークレイヤ206との間の通信は、リモートプロシージャコール(RPC)を使って執り行われる。いくつかの例では、インターフェース210は、それぞれのトランザクション管理システム208用のブロックチェーンネットワークノードを「ホスト」する。たとえば、インターフェース210は、ブロックチェーンネットワーク212へのアクセスのためのアプリケーションプログラミングインターフェース(API)を提供する。
【００２８】
本明細書に記載するように、ブロックチェーンネットワーク212は、ブロックチェーン216に情報を不変に記録する複数のノード214を含むピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に示されているが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーンネットワーク212にわたって維持される。たとえば、各ノード214が、ブロックチェーンのコピーを記憶する。いくつかの実装形態では、ブロックチェーン216は、ブロックチェーンネットワークに参加する2つ以上のエンティティの間で実施されるトランザクションに関連付けられた情報を記憶する。
【００２９】
図3は、本明細書の実装形態を実行するのに使うことができる例示的環境300を示す。いくつかの例では、例示的環境300は、エンティティがブロックチェーンネットワーク302に参加することを可能にする。例示的環境300は、コンピューティングデバイス304、305、306、308、310、およびネットワーク312を含む。いくつかの例では、ネットワーク312は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク310は、ワイヤードおよび/またはワイヤレス通信リンクを介してアクセスされ得る。
【００３０】
図示した例において、コンピューティングデバイス304、305、および306は各々、ブロックチェーンネットワーク302への、ノードとしての参加を可能にする、どの適切なコンピューティングシステムも含むことができる。コンピューティングデバイス304、305、および306の各々は、ブロックチェーンネットワーク302によって維持されるブロックチェーンのコピーを記憶することができる。コンピューティングデバイス304は、ブロックチェーンネットワーク302の情報を視覚化するためのブロックチェーンブラウザを提供するように構成されたウェブサーバであるか、またはウェブサーバを含み得る。
【００３１】
いくつかの実装形態では、コンピューティングデバイス304は、ブロック検証に参加しないが、コンピューティングデバイス305および306を含む他の参加ノードが、ブロックチェーンの合意バージョンにいつ達したかを判断するために、ブロックチェーンネットワーク302を監視する。コンピューティングデバイス304は、ブロックチェーンの合意バージョンを、ブロックチェーン視覚化ユーザインターフェースを生成する際に使用するために記憶することができる。
【００３２】
コンピューティングデバイス304は、コンピューティングデバイス308またはコンピューティングデバイス310などのクライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信し得る。いくつかの実装形態では、ブロックチェーンネットワーク302のノードが、クライアントデバイスとして機能し得る。たとえば、コンピューティングデバイス306のユーザは、コンピューティングデバイス306上で稼動するブラウザを、ブロックチェーン視覚化ユーザインターフェースについての要求をコンピューティングデバイス304へ送るのに使うことができる。
【００３３】
ブロックチェーン視覚化ユーザインターフェースについての要求に応答して、コンピューティングデバイス304は、ブロックチェーンの記憶された合意バージョンに基づいて、ブロックチェーン視覚化ユーザインターフェースを(たとえば、ウェブページとして)生成し、生成されたブロックチェーン視覚化ユーザインターフェースを要求クライアントデバイスへ送ればよい。ブロックチェーンネットワーク302がプライベートまたはコンソーシアムブロックチェーンネットワークである場合、ブロックチェーン視覚化ユーザインターフェースについての要求はユーザ認可情報を含んでよく、この情報は、ブロックチェーン視覚化ユーザインターフェースが生成され、要求クライアントデバイスへ送られる前に、コンピューティングデバイス304によって検証され得る。
【００３４】
ブロックチェーン視覚化ユーザインターフェースは、要求クライアントデバイス上で表示され得る(たとえば、表示されたユーザインターフェース314として示されるように)。以下でより詳しく説明するように、表示されたユーザインターフェース314は、ブロックチェーンの新たな合意バージョン中の新規情報を反映するように更新され得る。さらに、表示されたユーザインターフェース314とのユーザ対話が、たとえばブロックリスト、ブロック詳細、トランザクションリスト、トランザクション詳細、アカウントリスト、アカウント詳細、コントラクトリスト、コントラクト詳細、またはブロックチェーンネットワーク情報についてのユーザ検索から生じた検索結果ページを表示するための、他のユーザインターフェースについての要求を生じ得る。
【００３５】
図4は、本明細書の実装形態による例示的ホームページユーザインターフェース400を示す。ホームページユーザインターフェース400は、クライアントデバイスがブロックチェーン視覚化ツールについての要求をウェブサーバへ送ったときに表示される冒頭ページであってよい。
【００３６】
要約エリア402が、ブロック総計404、トランザクション総計406、コントラクト総計408、およびノードカウント410を含む、ブロックチェーンネットワークについての要約情報を表示する。スマートコントラクトと呼ばれる場合があるコントラクトは、ブロックチェーンに記憶され、ブロックチェーンネットワークのノードによって実行される実行可能プログラムである。コントラクトの実行により、ブロックチェーンネットワークトランザクションが生じ得る。
【００３７】
ノード状況エリア412は、ノード識別子、ノードアドレス情報、およびノード状況情報を含む、ブロックチェーンネットワークノードについての要約情報を表示する。ノード状況グラフィック414は、参加ノードの比を示し、共有部分416が非参加ノードを表し、ノード状況グラフィック414の残りが参加ノードを表す。参加ノードは、ブロックチェーンネットワークのための合意構築に参加する。
【００３８】
トランザクション履歴エリア420は、ブロックチェーンネットワークについての最近のトランザクション履歴情報を表示する。1日当たりのトランザクションボリュームが、トランザクションボリュームグラフ422中に記入される。注記424によって示されるように、10-09-2018に、ブロックチェーンネットワーク中で170個のトランザクションが起きた。
【００３９】
ブロックエリア430は、ブロックチェーンの合意バージョン中に含まれるブロックについての情報を表示する。チェーングラフ構造431は、たとえば、ブロックチェーンの合意バージョンに追加されるべき最新ブロックであってよいブロックのセットを表すブロック表現432、434、436、および438を含む。各ブロック表現432、434、436、または438は、ブロック高さ値およびブロック生成時間を表示し得る。ブロックについてのブロック高さは、ブロックチェーン中のブロックに先行するブロックの数を示し得る。
【００４０】
各ブロック表現432、434、436、または438の隣に、追加情報が表示され得る。たとえば、ブロック表現432に対応するブロックについて、ブロックハッシュ440、ブロックトランザクション情報442、およびブロックガス消費情報444が表示される。ブロックハッシュ440は、ブロック表現432に対応するブロックの内容のハッシュ値である。ブロックトランザクション情報442は、ブロック表現432に対応するブロックが、ブロックチェーンに追加される前の5秒間に5つのトランザクションを蓄積したことを示す。ブロックガス消費情報444は、ブロック表現432に対応するブロックに関連付けられたコントラクトを実行するのに求められる計算作業を表す。
【００４１】
ユーザは、特定のブロック表現432、434、436、または438を選択して、特定のブロックについての詳細な情報を表示するブロック詳細ユーザインターフェース(図6に関して以下で論じる)を要求することができる。ブロックエリア430中に表示されるブロック表現の数は、クライアントデバイスのスクリーンサイズに基づき得る。いくつかの実装形態では、ユーザは、ブロックエリア430内をスクロールして、ブロックチェーン中の他のブロックを閲覧することができる。ユーザがブロックのリストを閲覧し、ブロックチェーンの特定のブロックへナビゲートすることができる、ブロックリストユーザインターフェース(図5に関して以下で論じる)を要求するために、「すべて表示」ブロックリンク446が選択され得る。
【００４２】
ユーザは、ブロックエリア430内でブロックグラフ構造431を位置決めし直すために、ブロック表現の間のリンク(たとえば、リンク448)を選択することができる。たとえば、ユーザがリンク448を選択した場合、ブロック表現436は、チェーングラフ構造431の最上位に位置決めされてよく、ブロック表現432および434は、ブロックエリア430から削除されて(たとえば、それ以上その中に表示されなくて)よく、ブロック表現438に続く2つのブロックを表す2つの他のブロック表現が、チェーングラフ構造中で、ブロック表現438の下に、およびそれに接続されて表示されてよい。
【００４３】
トランザクションエリア450は、トランザクションのセットについてのトランザクション情報を含む。トランザクションのセットは、たとえば、ブロックチェーンについて起きたトランザクションの直近のセットであってよい。別の例として、いくつかの実装形態では、ユーザは、特定のブロック表現432、434、436、もしくは438(または、トランザクション情報442など、特定のブロックについてのトランザクション情報項目)を選択して、対応するブロック向けのトランザクションをトランザクションエリア450中で閲覧することができる。
【００４４】
様々なトランザクション詳細が、トランザクションエリア450中で各トランザクションについて表示され得る。たとえば、トランザクション452について、トランザクション識別子454、送付アカウント識別子456、受信アカウント識別子458、およびトランザクションタイムスタンプ460が表示される。特定のトランザクションについての詳細なトランザクション情報を表示するトランザクション詳細ユーザインターフェース(図8に関して以下で論じる)を要求するために、特定のトランザクションが選択されてよい。ユーザがトランザクションのリストを閲覧することができる、トランザクションリストユーザインターフェース(図7に関して以下で論じる)を要求するために、「すべて表示」トランザクションリンク462が選択されてよい。
【００４５】
ホームページユーザインターフェース400は、ブロックチェーンの更新された合意バージョンについての情報を示すようにリフレッシュするように構成され得る。たとえば、ブロックチェーンネットワークのノードは、ホームページユーザインターフェース400が最後にリフレッシュされてから、ブロックチェーンの更新された合意バージョンに同意している場合がある。ホームページユーザインターフェース400は、更新されたユーザインターフェースを要求するための要求を、ウェブサーバへ定期的に(たとえば、毎分)送るように構成され得る。ウェブサーバは、ブロックチェーンの更新された合意バージョンが利用可能であるかどうかを判断し、利用可能である場合、更新されたユーザインターフェース400をクライアントデバイスへ送ればよい。別の例として、ホームページユーザインターフェース400の異なるエリアまたは構成要素が、(ウェブサーバからの新規情報をもつ)情報更新を受信し、それぞれのエリアまたは構成要素を、更新された情報を示すように更新するように構成されてよい。ウェブサーバは、ブロックチェーンの新たな合意バージョンが利用可能であると判断したことに応答して、新規情報をホームページユーザインターフェース400に(または特定のエリアもしくは構成要素に)プッシュするように構成され得る。
【００４６】
ホームページユーザインターフェース400は、ページヘッダ470を含む。ページヘッダ470は、ユーザがアカウントリストユーザインターフェース(図9に関して以下で論じる)、コントラクトリストユーザインターフェース(図12に関して以下で論じる)、ブロックリストユーザインターフェース、またはトランザクションリストユーザインターフェースへナビゲートすることをそれぞれ可能にする、アカウントリンク472、コントラクトリンク474、ブロックリンク476、およびトランザクションリンク478を含む。ページヘッダ470は、各後続表示ユーザインターフェース上に表示され得る。ホームページユーザインターフェース400以外のユーザインターフェース上にあるとき、それぞれのページヘッダ中に表示されるホームページリンク480が、ホームページユーザインターフェース400に戻るために選択されてよい。
【００４７】
ページヘッダ470は、ブロックチェーンネットワークに関連付けられた情報をユーザが検索することを可能にする検索ボックス482を含む。たとえば、検索ボックス482は、特定のブロックを検索するためのブロック高さまたはブロックハッシュ値をユーザが入れることを可能にし得る。ブロック詳細を(たとえば、ブロック詳細ユーザインターフェースにおいて)閲覧するために、ユーザが特定のブロック検索結果を選択することを可能にする検索結果ページが示され得る。他の検索例は、ユーザが、トランザクション識別子もしくはトランザクションハッシュ値を使ってトランザクションを検索すること、アカウント識別子もしくはアカウントハッシュ値を使ってアカウントを検索すること、またはコントラクト識別子もしくはコントラクトハッシュ値を使ってコントラクトを検索することを含む。ユーザは、それぞれの検索結果をクリックして、特定のトランザクション、アカウント、またはコントラクトを、それぞれのトランザクション詳細、アカウント詳細、またはコントラクト詳細ユーザインターフェースにおいて閲覧することができる。
【００４８】
いくつかの実装形態では、ホームページユーザインターフェース400は、1つまたは複数のフィルタオプションを含む。たとえば、ユーザは、ブロックエリア430用の利用可能フィルタを閲覧するために、フィルタ制御490を選択することができる。フィルタ制御490は、一定の時間範囲内に生成されたブロック、空でないブロック(たとえば、空のブロックをフィルタ除去する)などを示すように、ブロックエリア430がフィルタリングされることを可能にし得る。別の例として、ユーザは、トランザクションエリア450用の利用可能フィルタを閲覧するために、フィルタ制御492を選択することができる。フィルタ制御492は、一定の時間範囲内に生成されたトランザクション、特定のアカウントに関連付けられたトランザクション、または他の基準に合致するトランザクションを示すように、トランザクションエリア450がフィルタリングされることを可能にし得る。
【００４９】
図5は、本明細書の実装形態による例示的ブロックリストユーザインターフェース500を示す。ブロックリストユーザインターフェース500は、ホームページユーザインターフェース400のブロックエリア430中での「すべて表示」ブロックリンク446の選択に応答して、またはホームページユーザインターフェース400のページヘッダ470中のブロックリンク476もしくは別のユーザインターフェース中に提示されるブロックリンクの選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。
【００５０】
ブロックチェーンネットワーク102のブロックについてのブロック情報が、ページ中のブロックリストユーザインターフェース500中に表示され得る。あらかじめ定義された数(たとえば、10)のブロックが、各ページ中に表示され得る。ページナビゲーションエリア502は、ユーザが、特定のページへナビゲートすること、または何個のブロックが各ページ中に表示されるかを構成することを可能にし得る。デフォルトで、ブロックの直近のセットが、第1のページ上に最初に表示され得る。現在表示されているページ中のブロックについてのブロック情報が、ブロックリスト503中に表示され得る。ブロックリスト503中の各行は、特定のブロックに対応する。たとえば、ブロックリスト503は行504を含む。
【００５１】
現在表示されているページ中の各ブロックについて、ブロック高さ505、ブロック生成時間506、トランザクションカウント508、ガス消費量510、およびブロックハッシュ512という情報が、ブロックリスト503中で、それぞれの行に表示され得る。
【００５２】
ブロックについてのブロック高さ505は、ブロックチェーン中のブロックに先行するブロックの数を示す。ブロック高さ505は、所与のブロックを識別するのに使われ得る。たとえば、行504は、170468というブロック高さ516を含む。
【００５３】
ブロックについてのブロック生成時間506は、ノードによってブロックがブロックチェーンネットワークに追加された時間を示す。たとえば、ブロック生成時間518は、行504に関連付けられたブロックが11-08-2018の14:26:14に生成されたことを示す。
【００５４】
ブロックについてのトランザクションカウント508は、何個のトランザクションがブロック中に含まれるかを示す。たとえば、トランザクションカウント520は、行504に関連付けられたブロックが5つのトランザクションを含むことを示す。
【００５５】
ブロックについてのガス消費量510は、ブロックに関連付けられたコントラクトを実行するのに求められる計算作業の量を示す。たとえば、行504は、200というガス消費値522を含む。ブロックがコントラクトをもたない場合、ガス消費量はゼロであり得る。
【００５６】
ブロックについてのブロックハッシュ512は、ブロックの内容のハッシュ値である。たとえば、行504は、「d8fc5856051ba6314e9e4fef5207d53580」で始まるブロックハッシュ値524を含む。
【００５７】
ユーザは、特定のブロックを選択して、選択されたブロックについてのブロック詳細ユーザインターフェースを閲覧することができる。たとえば、ブロックを選択するために、ユーザは、ブロック高さ516などのブロック高さ値またはブロックハッシュ値524などのブロックハッシュ値を選択することができる。別の例として、いくつかの実装形態では、ブロックリスト503の各行(行504を含む)は、選択可能単位であり、選択された行に関連付けられたブロック用のブロック詳細ユーザインターフェースが、選択された行の選択に応答して表示され得る。たとえば、行の中をクリックまたはタップすることによって、所与の行が選択され得る。
【００５８】
図6は、本明細書の実装形態による例示的ブロック詳細ユーザインターフェース600を示す。ブロック詳細ユーザインターフェース600は、ブロックリストユーザインターフェース500もしくはホームページユーザインターフェース400上でのブロックの選択、または別のユーザインターフェース上でのブロックもしくはブロック識別情報の選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。
【００５９】
ブロック識別子601、ブロックハッシュ602、ブロック生成時間604、トランザクション状況606、ブロック高さ607、直前ブロックハッシュ608、ブロックガス消費量610、トランザクションルート612、レシートルート614、および状況ルート616という情報が、選択されたブロックについて表示され得る。
【００６０】
上述したように、ブロックハッシュ602は、ブロックの内容のハッシュ値であり、ブロック生成時間604は、ノードによってブロックチェーンネットワークにブロックが追加された時間を示し、ブロック高さ607は、ブロックチェーン中のブロックに先行するブロックの数を示し、ブロックガス消費量610は、ブロックに関連付けられたコントラクトを実行するのに求められる計算作業の量を示す。
【００６１】
トランザクション状況606は、ブロックの生成をもたらしたトランザクションの状況を表示する。直前ブロックハッシュ608は、ブロックチェーン中のブロックに先行するブロックのハッシュ値である。いくつかの実装形態では、直前ブロックハッシュ608の選択の結果、直前ブロックハッシュ608を有する、ブロックについての詳細を示す、更新されたブロック詳細ユーザインターフェース600についての要求が、ウェブサーバへ送られることになり得る。
【００６２】
トランザクションルート612は、ブロック中に列挙されるトランザクションを含むトランザクションツリーのルートノードのハッシュである。レシートルート614は、ブロックのためのレシートツリーのルートのハッシュ値である。レシートツリーは、ブロック中で実行されたトランザクションのレシートを含む。トランザクションについてのトランザクションレシートは、トランザクションの実行から生じた情報を含む。トランザクションレシートは、トランザクションが処理された後で生成され、トランザクション後の情報を含む。状態ルート616は、ブロックのための状態ツリーのルートのハッシュ値である。状態ツリーは、ブロックに関連付けられた各実行されるトランザクションの状態についての情報を含む。状態ツリーは、ブロックのトランザクションすべてが実行され、完了された後で生成され得る。
【００６３】
図7は、本明細書の実装形態による例示的トランザクションリストユーザインターフェース700を示す。トランザクションリストユーザインターフェース700は、ホームページユーザインターフェース400のトランザクションエリア450中での「すべて表示」リンク462の選択に応答して、またはホームページユーザインターフェース400のページヘッダ470中のトランザクションリンク478もしくは別のユーザインターフェース中に提示されるトランザクションリンクの選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。
【００６４】
トランザクション情報が、トランザクションリストユーザインターフェース700においてページで表示され得る。あらかじめ定義された数(たとえば、10)のトランザクションが、各ページ中に表示され得る。ページナビゲーションエリア702は、ユーザが、特定のページへナビゲートすること、または何個のトランザクションが各ページ中に表示されるかを構成することを可能にし得る。デフォルトで、トランザクションの直近のセットが、第1のページ上に最初に表示され得る。現在表示されているページ中のトランザクションについてのトランザクション情報が、トランザクションリスト703中に表示され得る。トランザクションリスト703中の各行は、特定のトランザクションに対応する。たとえば、トランザクションリスト703は行704を含む。
【００６５】
現在表示されているページ中の各トランザクションについて、トランザクションハッシュ705、トランザクションタイプ706、ブロック高さ708、開始アカウント番号710、受信アカウント番号712、トランザクション状況714、トランザクション量716、およびトランザクションタイムスタンプ718という情報が、トランザクションリスト703中で、それぞれの行に表示され得る。
【００６６】
トランザクション用のトランザクションハッシュ705は、トランザクション用の一意の識別子である。たとえば、行704は、「0fa72825313af97b」でスタートするトランザクションハッシュ値720を含む。
【００６７】
トランザクションについてのトランザクションタイプ706は、トランザクションのタイプを示す。たとえば、行704に関連付けられたトランザクションは、行704に関連付けられたトランザクションが、コントラクトの実行によって開始されたことを示す、「コントラクト呼出し」というトランザクションタイプ722を有する。トランザクションタイプは、トランザクションタイプのあらかじめ定義されたセットにあるものであってよい。他のトランザクションタイプは「トランザクション」を含む場合があり、これは、ブロックチェーンネットワークノードに関連付けられたアカウントによってトランザクションが開始された(コントラクト実行の結果として開始されたのではない)ことを示す。
【００６８】
トランザクションについてのブロック高さ708は、トランザクションを含むブロックのブロック高さである。たとえば、行704に関連付けられたトランザクションは、149270というブロック高さ724を有する。
【００６９】
トランザクションについての開始アカウント番号710は、トランザクションを開始したアカウントのアカウント番号である。たとえば、行704に関連付けられたトランザクションは、「e7d3e769f3f593dad」でスタートする開始アカウント番号726を有する。
【００７０】
トランザクションについての受信アカウント番号712は、トランザクションの受信側であるアカウントのアカウント番号である。たとえば、行704に関連付けられたトランザクションは、「87e89abb4c1c551f」でスタートする受信アカウント番号728を有する。
【００７１】
トランザクションについてのトランザクション状況714は、トランザクションについての状況値を示す。たとえば、行704に関連付けられたトランザクションは、「成功」というトランザクション状況値730を有する。トランザクション状況値は、トランザクション状況値のあらかじめ定義されたセットにあるものであってよい。他のトランザクション状況値は、トランザクションが保留中であるか、不成功だったか、または何らかの他の状態にあることを示す値を含み得る。
【００７２】
トランザクションについてのトランザクション量は、トランザクションに関連付けられた量である。たとえば、行704に関連付けられたトランザクションは、10というトランザクション量732を有する。
【００７３】
トランザクションについてのトランザクションタイムスタンプは、トランザクションが生成された時間を示す。たとえば、行704に関連付けられたトランザクションは、トランザクションが11-07-2018の20:42:45に起きたことを示すトランザクションタイムスタンプ734を有する。図示はしないが、いくつかの実装形態では、トランザクション識別子の選択に応答して、特定のトランザクションについての値を表示するトランザクション詳細ユーザインターフェースが表示され得る。
【００７４】
図8は、本明細書の実装形態による例示的アカウントリストユーザインターフェース800を示す。アカウントリストユーザインターフェース800は、ホームページユーザインターフェース400のページヘッダ470中のアカウントリンク472または別のユーザインターフェース中に提示されるアカウントリンクの選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。
【００７５】
アカウント情報が、アカウントリストユーザインターフェース800においてページで表示され得る。あらかじめ定義された数(たとえば、10)のアカウントが、各ページ中に表示され得る。ページナビゲーションエリア802は、ユーザが、特定のページへナビゲートすること、または何個のアカウントが各ページ中に表示されるかを構成することを可能にし得る。デフォルトで、直近に作成されたアカウントのセットが、第1のページに最初に表示され得る。別の例として、アカウントは、アカウント番号でソートされてよく、アカウントの最初に表示されるセットは、最も低い(または最も高い)アカウント番号値をもつアカウント番号を有するアカウントのセットであってよい。現在表示されているページ中のアカウントについてのアカウント情報が、アカウントリスト803中に表示され得る。アカウントリスト803中の各行は、特定のアカウントに対応する。たとえば、アカウントリスト803は行804を含む。
【００７６】
現在表示されているページ中の各アカウントについて、アカウント番号805、アカウントバランス806、アカウント状況808、トランザクションカウント810、およびアカウント作成トランザクションハッシュ812という情報が、アカウントリスト803中で、それぞれの行に表示され得る。
【００７７】
アカウントについてのアカウント番号805は、アカウントに関連付けられた公開鍵であり得る。たとえば、行804に関連付けられたアカウントは、「6f2656b6d6cfc42ef2753beb2cb0f7ca321」でスタートするアカウント番号814を有する。
【００７８】
アカウントについてのアカウントバランス806は、ブロックチェーンネットワーク中のアカウントについてのアカウントバランス値である。たとえば、行804に関連付けられたアカウントは、210というアカウントバランス値816を有する。
【００７９】
アカウントについてのアカウント状況808は、アカウントに関連付けられた状況である。たとえば、行804に関連付けられたアカウントは、「正常」というアカウント状況818を有する。
【００８０】
アカウントについてのトランザクションカウント810は、アカウントの作成以来、何個のトランザクションにアカウントが参加したかを示す。たとえば、行804に関連付けられたアカウントは、3というトランザクションカウント820を有する。
【００８１】
アカウントについてのアカウント作成トランザクションハッシュ812は、アカウントを作成するために実行されたトランザクションの識別子である。たとえば、行804に関連付けられたアカウントは、「bdcf9174635807c69e0611ac666ee6774」でスタートするアカウント作成トランザクションハッシュ値822を有する。アカウント作成トランザクションハッシュ値822などのアカウント作成トランザクションハッシュ値の選択に応答して、トランザクション詳細ユーザインターフェース(たとえば、トランザクション詳細ユーザインターフェース900)が表示され得る。
【００８２】
ユーザは、特定のアカウントを選択して、選択されたアカウントについてのアカウント詳細ユーザインターフェースを閲覧することができる。たとえば、アカウントを選択するために、ユーザは、アカウント番号814などのアカウント番号を選択することができる。別の例として、いくつかの実装形態では、アカウントリスト803の各行(行804を含む)は、選択可能単位であり、選択された行に関連付けられたアカウント用のアカウント詳細ユーザインターフェースが、選択された行の選択に応答して表示され得る。たとえば、行の中をクリックまたはタップすることによって、所与の行が選択され得る。
【００８３】
図9は、本明細書の実装形態による例示的アカウント詳細ユーザインターフェース900を示す。アカウント詳細ユーザインターフェース900は、アカウントリストユーザインターフェース800上でのアカウントの選択、または別のユーザインターフェース上でのアカウントもしくはアカウント識別情報の選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。アカウントアドレス値902および904は、アカウント詳細ユーザインターフェース900が表示されるよりも前に、どのアカウントが選択されたかを示す。アカウントアドレス値902および904は、選択されたアカウントに関連付けられた公開鍵であってよい。
【００８４】
アカウント作成トランザクションハッシュ906は、選択されたアカウントを作成するために実行されたトランザクションの識別子である。アカウントバランス908は、ブロックチェーンネットワーク中の選択されたアカウントについてのアカウントバランス値を示す。アカウント状況910は、選択されたアカウントに関連付けられた状況である。トランザクションカウント912は、選択されたアカウントの作成以来、選択されたアカウントが何個のトランザクションに参加したかを示す。
【００８５】
復元時間914は、選択されたアカウントが復元された時間を示す。復元鍵916は、選択されたアカウントの復元に使われた暗号化鍵である。公開鍵918は、アカウントに関連付けられ、ブロックチェーンネットワーク中のアカウントを識別するのに使われる公開暗号化鍵である。重み920は、公開鍵918に関連付けられた重み(たとえば、ハミング重み)である。アカウントに関連付けられたトランザクションを閲覧するために、トランザクションリストリンク922が選択されてよい。
【００８６】
図10は、本明細書の実装形態による例示的コントラクトリストユーザインターフェース1000を示す。コントラクトリストユーザインターフェース1000は、ホームページユーザインターフェース400のページヘッダ470中のコントラクトリンク474または別のユーザインターフェース中に提示されるコントラクトリンクの選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。
【００８７】
コントラクト情報が、コントラクトリストユーザインターフェース1000においてページで表示され得る。あらかじめ定義された数(たとえば、10)のコントラクトが、各ページ中に表示され得る。ページナビゲーションエリア1002は、ユーザが、特定のページへナビゲートすること、または何個のコントラクトが各ページ中に表示されるかを構成することを可能にし得る。デフォルトで、直近に作成(または実行)されたコントラクトのセットが、第1のページに最初に表示され得る。別の例として、コントラクトは、コントラクト識別子でソートされてよく、コントラクトの最初に表示されるセットは、最も低い(または最も高い)コントラクト識別子値をもつコントラクト識別子のセットを有するコントラクトであってよい。現在表示されているページ中のコントラクトについてのコントラクト情報が、コントラクトリスト1003中に表示され得る。コントラクトリスト1003中の各行は、特定のコントラクトに対応する。たとえば、コントラクトリスト1003は行1004を含む。
【００８８】
現在表示されているページ中の各コントラクトについて、コントラクト識別子1005、バランス1006、コントラクト状況1008、トランザクションカウント1010、コントラクト作成トランザクションハッシュ1012、およびコードハッシュ1014という情報が、コントラクトリスト1003中で、それぞれの行に表示され得る。
【００８９】
コントラクトについてのコントラクト識別子1005は、コントラクトについての一意の識別子であってよい。たとえば、行1004に関連付けられたコントラクトは、「03732bc6062b51ce62acd80cc993a79fd1」でスタートするコントラクト識別子1015を有する。コントラクトについてのコントラクト識別子1005は、コントラクトに関連付けられたコントラクト情報のハッシュ値であってよい。
【００９０】
コントラクトについてのバランス1006は、ブロックチェーンネットワーク中のコントラクトについてのバランス値である。たとえば、行1004に関連付けられたコントラクトは、10というバランス値1016を有する。
【００９１】
コントラクトについてのコントラクト状況1008は、コントラクトに関連付けられた状況である。たとえば、行1004に関連付けられたコントラクトは、「正常」というコントラクト状況1018を有する。コントラクトについてのコントラクト状況1008は、コントラクトの最終実行の結果を反映し得る。コントラクト状況1018は、他のあらかじめ定義されたコントラクト状況値の中のあらかじめ定義された値であってよい。
【００９２】
コントラクトについてのトランザクションカウント1010は、コントラクトを実行した結果、何個のトランザクションが作成されたかを示す。たとえば、行1004に関連付けられたコントラクトは、4というトランザクションカウント1020を有する。
【００９３】
アカウントについてのコントラクト作成トランザクションハッシュ1012は、コントラクトを作成するために実行されたトランザクションの識別子である。たとえば、行1004に関連付けられたコントラクトは、「a1ebbbd6831febb8d3c27b303a7d81200」でスタートするコントラクト作成トランザクションハッシュ値1022を有する。コントラクト作成トランザクションハッシュ値1022などのコントラクト作成トランザクションハッシュ値の選択に応答して、トランザクション詳細ユーザインターフェース(たとえば、トランザクション詳細ユーザインターフェース800)が表示され得る。
【００９４】
ユーザは、特定のコントラクトを選択して、選択されたコントラクトについてのコントラクト詳細ユーザインターフェースを閲覧することができる。たとえば、コントラクトを選択するために、ユーザは、コントラクト識別子1015などのコントラクト識別子を選択することができる。別の例として、いくつかの実装形態では、コントラクトリスト1003の各行(行1004を含む)は、選択可能単位であり、選択された行に関連付けられたコントラクト用のコントラクト詳細ユーザインターフェースが、選択された行の選択に応答して表示され得る。たとえば、行の中をクリックまたはタップすることによって、所与の行が選択され得る。
【００９５】
図11は、本明細書の実装形態による例示的コントラクト詳細ユーザインターフェース1100を示す。コントラクト詳細ユーザインターフェース1100は、コントラクトリストユーザインターフェース1000上でのコントラクトの選択、または別のユーザインターフェース上でのコントラクトもしくはコントラクト識別情報の選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。コントラクト識別子値1102および1104は、コントラクト詳細ユーザインターフェース1100が表示されるよりも前に、どのコントラクトが選択されたかを示す。コントラクト識別子値1102および1104は各々、選択されたコントラクトを一意に識別し得る。
【００９６】
コントラクトバランス1106は、ブロックチェーンネットワーク中の選択されたコントラクトについてのコントラクトバランス値を示す。コントラクト状況1108は、選択されたコントラクトに関連付けられた状況である。トランザクションカウント1110は、選択されたコントラクトを実行した結果、何個のトランザクションが作成されたかを示す。コントラクト作成トランザクションハッシュ1112は、提示されたコントラクトを作成するために実行されたトランザクションの識別子である。コードハッシュ値1114は、提示されたコントラクトに関連付けられたコードのハッシュ値である。
【００９７】
公開鍵1116は、認可に使われる公開鍵である。重み1118は、公開鍵1116に関連付けられた重み(たとえば、ハミング重み)である。
【００９８】
図12は、本明細書の実装形態による、コントラクトトランザクションのための例示的コントラクト詳細ユーザインターフェース1200を示す。トランザクションリスト1201は、トランザクションリストリンク1202の選択に応答して、ウェブサーバによって生成され、要求クライアントデバイスに提供され、クライアントデバイス上で表示され得る。トランザクションリスト1201は、コントラクト識別子1203を有する、選択されたコントラクトを実行した結果として作成されたトランザクションについてのトランザクション情報を表示する。トランザクションリスト1201中の各行は、特定のトランザクションに対応する。たとえば、トランザクションリスト1201は行1204を含む。
【００９９】
トランザクション情報が、トランザクションリスト1201においてページで表示され得る。あらかじめ定義された数(たとえば、10)のトランザクションが、各ページ中に表示され得る。ページナビゲーションエリア1206は、ユーザが、特定のページへナビゲートすること、または何個のトランザクションが各ページ中に表示されるかを構成することを可能にし得る。デフォルトで、コントラクトの実行から生成されたトランザクションの直近のセットが、第1のページに最初に表示され得る。
【０１００】
現在表示されているページ中の各トランザクションについて、トランザクションハッシュ1208、ブロック高さ1210、開始アカウント番号1212、受信アカウント番号1214、およびトランザクション量1216という情報が、トランザクションリスト1201中で、それぞれの行に表示され得る。
【０１０１】
トランザクション用のトランザクションハッシュ1208は、トランザクション用の一意の識別子である。たとえば、行1204は、「0f04e67cc26a8895a5b97b」でスタートするトランザクションハッシュ値1218を含む。
【０１０２】
トランザクションについてのブロック高さ1210は、トランザクションを含むブロックのブロック高さである。たとえば、行1204に関連付けられたトランザクションは、86375というブロック高さ1220を有する。
【０１０３】
トランザクションについての開始アカウント番号1212は、トランザクションを開始したアカウントのアカウント番号である。たとえば、行1204に関連付けられたトランザクションは、「c60a9d48105950a0cca07a」でスタートする開始アカウント番号1222を有する。
【０１０４】
トランザクションについての受信アカウント番号1214は、トランザクションの受信側であるアカウントのアカウント番号である。たとえば、行1204に関連付けられたトランザクションは、「03732bc6062b51ce62acd8」でスタートする受信アカウント番号1224を有する。
【０１０５】
トランザクションについてのトランザクション量は、トランザクションに関連付けられた量である。たとえば、行1204に関連付けられたトランザクションは、100というトランザクション量1226を有する。
【０１０６】
図13は、本明細書の実装形態による、コントラクトコードのための例示的コントラクト詳細ユーザインターフェース1300を示す。コントラクトコードエリア1302は、コントラクトコードリンク1304の選択に応答して表示され得る。コントラクトコードエリア1302は、コントラクト識別子1306をもつコントラクト用のコントラクトコード(たとえば、バイトコード)を示すことができる。ユーザは、コントラクトコードを含むコントラクトコードファイルを選択するために、ユーザインターフェース制御1308を選択することができる。別の例として、ユーザは、エントリエリア1310に、コントラクトコードファイルへの参照を入れることができる。ユーザは、ユーザインターフェース制御1308を使って選択された、またはエントリエリア1310において指定されているコントラクトコードファイルを提出するために、提出ユーザインターフェース制御1312を選択することができる。
【０１０７】
図14は、本明細書の実装形態に従って実行され得るプロセス1400の例を示す。提示の明快のために、後に続く記述は概して、本説明における他の図面の文脈において、例示的プロセス1400を記載する。ただし、例示的プロセス1400は、必要に応じて、たとえば、どのシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによっても実施され得ることが理解されよう。いくつかの実装形態では、例示的プロセス1400の様々なステップは、並行して、組み合わせて、ループ中で、またはどの順序で稼動されてもよい。
【０１０８】
1404において、ブロックチェーン視覚化ユーザインターフェースについての要求が、クライアントデバイスから受信される。たとえば、ブロックチェーン視覚化ユーザインターフェースは、リソース識別子(たとえば、URL(ユニフォームリソースロケータ))に関連付けられてよく、クライアントデバイスのユーザが、クライアントデバイス上で稼動するブラウザにリソース識別子を入れることができる。ブロックチェーン視覚化ユーザインターフェースについての要求は、ウェブサーバにおいて受信され得る。
【０１０９】
1406において、ブロックチェーンは、ブロックチェーン視覚化ユーザインターフェースを生成するのに使われる。ユーザインターフェースは、ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造と、ブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報とを含み得る。トランザクション情報は、ブロックチェーンに関連付けられた、直近のトランザクションについての情報を含み得る。生成されたブロックチェーン視覚化ユーザインターフェースは、たとえば、ウェブページであり得る。チェーングラフ構造は、ブロックチェーン中のブロックを各々が表す、選択可能なブロック表現のチェーンを含み得る。選択可能なブロック表現は、選択可能なリンクと接続されてよく、ブロックチェーン視覚化ユーザインターフェースは、選択されたリンクの目標である選択可能なブロック表現が、チェーングラフ構造の最も上に位置決めされるように、特定の選択可能なリンクのユーザ選択に応答して、チェーングラフ構造を位置決めし直すように構成されてよい。
【０１１０】
1408において、ブロックチェーン視覚化ユーザインターフェースについての要求に応答して、ブロックチェーン視覚化ユーザインターフェースがクライアントデバイスに提供される。クライアントデバイスは、ブロックチェーン視覚化ユーザインターフェースを、たとえば、ブラウザ中に提示することができる。ブロックチェーン視覚化ユーザインターフェースがクライアントデバイス上に提示された後、ウェブサーバは、更新されたブロックチェーンを識別するか、または判断することができる。更新されたブロックチェーン視覚化ユーザインターフェースは、更新されたブロックチェーンを使って生成され得る。更新されたブロックチェーン視覚化ユーザインターフェースは、クライアントデバイス上での表示のために、クライアントデバイスに提供され得る。
【０１１１】
いくつかのケースでは、ブロックチェーンは、ブロックチェーンの合意バージョンであり得る。いくつかの実装形態では、ブロックチェーン視覚化ユーザインターフェースについての要求を受信するのに先立って、ブロックチェーンに関連付けられたブロックチェーンネットワークのノードと対話したことに基づいて、ブロックチェーンの合意バージョンが判断され得る(上で以前説明したように)。
【０１１２】
図15は、本明細書の実装形態による装置1500のモジュールの例を示す。装置1500は、コンソーシアムブロックチェーンネットワークなどのブロックチェーンネットワークに関連付けられたブロックチェーンの視覚化を提供するように構成されたサーバの例示的実装形態であり得る。装置1500は、上述した実装形態に対応してよく、装置1500は、クライアントデバイスから、ブロックチェーン視覚化ユーザインターフェースについての要求を受信するための受信機または受信ユニット1502と、ブロックチェーンに基づいて、ブロックチェーン視覚化ユーザインターフェースを生成するための生成器または生成ユニット1504であって、ブロックチェーン視覚化ユーザインターフェースは、ブロックチェーンの少なくとも一部分を視覚的に示すチェーングラフ構造、およびブロックチェーンネットワーク中で起きたトランザクションについてのトランザクション情報を含む、生成器または生成ユニット1504と、ブロックチェーン視覚化ユーザインターフェースについての要求に応答して、ブロックチェーン視覚化ユーザインターフェースを、クライアントデバイス上での表示のために提供するための提供器または提供ユニット1506とを含む。
【０１１３】
前述の実装形態に示したシステム、装置、モジュール、またはユニットは、コンピュータチップもしくはエンティティを使うことによって実装することができ、または特定の機能を有する製品を使うことによって実装することができる。典型的な実装デバイスがコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、eメール受信および送付デバイス、ゲームコンソール、タブレットコンピュータ、装着可能デバイス、またはこれらのデバイスのどの組合せであってもよい。
【０１１４】
装置中の各ユニットの機能および役割の実装プロセスについて、前述の方法における対応するステップの実装プロセスへの参照が行われる場合がある。簡潔化のために、ここでは詳細は省かれる。
【０１１５】
装置実装形態は基本的に、方法実装形態に対応するので、関連部分について、方法実装形態における関連記述への参照が行われる場合がある。以前記載した装置実装形態は、例にすぎない。別個の部分として記載されるユニットは、物理的に別個であってもなくてもよく、ユニットとして表示される部分は、物理的ユニットであってもなくてもよく、ある位置に置かれてよく、またはいくつかのネットワークユニット上に分散されてよい。本明細書の解決策の目的を達成するための実際の要望に基づいて、モジュールの一部または全部が選択されてよい。当業者は、本出願の実装形態を、創意工夫なしで理解し、実装することができる。
【０１１６】
再度図15を参照すると、この図は、ブロックチェーンネットワークに関連付けられたブロックチェーンの視覚化を提供するように構成されたサーバの内部機能モジュールおよび構造を示すと解釈することができる。
【０１１７】
本明細書に記載される技法は、コンピュータが、ブロックチェーンの対話型視覚表現を提供することを可能にする。これらの技法は、クライアント要求に応答して、コンピュータが、ブロックチェーン中のデータの異なるビューを提供することを可能にする。したがって、技法は、コンピュータが、ブロックチェーンの対話型であり包括的な視覚表現をユーザに提供することを可能にし、そうすることによって、ブロックチェーン中のデータを分析するタスクを簡素化する。さらに、技法は、コンピュータが、関連付けられたブロックチェーンネットワーク中のブロックチェーンの現在の表現(すなわち、合意バージョン)に基づいて、ブロックチェーンの視覚表現を提供することを可能にし得る。ブロックチェーンネットワークのノードとの対話から推定される、ブロックチェーンの今現在の表現に視覚表現を基づかせることにより、コンピュータは、視覚表現についての要求が受信された時点で現在のものであり正確な、ブロックチェーンの視覚表現を提供することが可能になる。
【０１１８】
本明細書に記載される主題の実装形態ならびにアクションおよび動作は、デジタル電子回路構成において、有形に具現化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書に開示される構造およびそれらの構造的等価物を含むコンピュータハードウェアにおいて、またはそれらのうちの1つもしくは複数の、組合せで実装され得る。本明細書において説明される主題の実装形態は、1つまたは複数のコンピュータプログラムとして、たとえば、データ処理装置によって実行するか、またはデータ処理装置の動作を制御するための、コンピュータプログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。キャリアは、有形非一時的コンピュータ記憶媒体であってよい。代替として、または追加として、キャリアは、人工的に生成された伝播信号、たとえば、データ処理装置による実行のために適切な受信機装置への送信用に情報を符号化するために生成される、機械生成された電気、光学、または電磁信号であってよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の、組合せであるか、またはそれらの一部であってよい。コンピュータ記憶媒体は伝播信号ではない。
【０１１９】
「データ処理装置」という用語は、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを例として含む、データを処理するための、すべての種類の装置、デバイス、および機械を包含する。データ処理装置は、特殊目的論理回路機構、たとえば、FPGA(フィールドプログラム可能ゲートアレイ)、ASIC(特定用途向け集積回路)、またはGPU(グラフィックス処理ユニット)を含み得る。装置は、ハードウェアに加え、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の、組合せを構成するコードも含み得る。
【０１２０】
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプト、またはコードとも呼ばれるか、またはそのように記載される場合があるが、コンパイルされた、もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、どの形のプログラミング言語で書かれてもよく、スタンドアロンプログラムとして、またはモジュール、構成要素、エンジン、サブルーチン、もしくはコンピューティング環境において実行するのに適した他のユニットとして、を含む、どの形で展開されてもよく、環境は、1つまたは複数のロケーションにあるデータ通信ネットワークによって相互接続された1つまたは複数のコンピュータを含み得る。
【０１２１】
コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。コンピュータプログラムは、他のプログラムまたはデータを保持するファイルの部分、たとえば、マークアップ言語ドキュメントに記憶される1つもしくは複数のスクリプトに、対象のプログラムに専用の単一のファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルに記憶され得る。
【０１２２】
本明細書に記載されるプロセスおよび論理フローは、入力データに作用し、出力を生成することによって動作を実施するための1つまたは複数のコンピュータプログラムを実行する1つまたは複数のコンピュータによって実施され得る。プロセスおよび論理フローは、特殊目的論理回路機構、たとえば、FPGA、ASIC、もしくはGPUによって、または特殊目的論理回路機構と1つもしくは複数のプログラムされたコンピュータの組合せによって実施されてもよい。
【０１２３】
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは特殊目的マイクロプロセッサまたは両方、あるいはどの他の種類の中央処理ユニットに基づいてもよい。概して、中央処理ユニットは、読出し専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの要素は、命令を実行するための中央処理ユニットと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとを含み得る。中央処理ユニットおよびメモリは、特殊目的論理回路機構によって補完されても、組み込まれてもよい。
【０１２４】
概して、コンピュータは、少なくとも1つの非一時的コンピュータ可読記憶媒体(コンピュータ可読メモリとも呼ばれる)に結合される。コンピュータに結合された記憶媒体は、コンピュータの内部構成要素(たとえば、統合型ハードドライブ)または外部構成要素(たとえば、ユニバーサルシリアルバス(USB)ハードドライブもしくはネットワークを介してアクセスされる記憶システム)であってよい。記憶媒体の例は、たとえば、磁気、磁気光学、もしくは光ディスク、固体状態ドライブ、クラウド記憶システムなどのネットワーク記憶リソース、または他のタイプの記憶媒体を含み得る。ただし、コンピュータは、そのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
【０１２５】
ユーザとの対話を提供するために、本明細書に記載される主題の実装形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、LCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を与えることができる入力デバイス、たとえば、キーボードおよびポインティングデバイス、たとえば、マウス、トラックボールまたはタッチパッドとを有するコンピュータ上で実装されるか、またはコンピュータと通信するように構成され得る。他の種類のデバイスも、ユーザとの対話を可能にするのに使われることが可能であり、たとえば、ユーザに与えられるフィードバックは、どの形の感覚フィードバックでも、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからのインプットは、音響、発話、または触覚入力を含む、どの形でも受信されることが可能である。さらに、コンピュータは、ユーザによって使われるデバイスへドキュメントを送り、デバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのデバイス上のウェブブラウザへウェブページを送ることによって、またはユーザデバイス、たとえば、スマートフォンもしくは電子タブレット上で稼動するアプリと対話することによって、ユーザと対話することができる。また、コンピュータは、パーソナルデバイス、たとえば、メッセージングアプリケーションを稼動しているスマートフォンへテキストメッセージまたは他の形のメッセージを送り、ユーザから引き換えに応答メッセージを受信することによって、ユーザと対話することができる。
【０１２６】
本明細書では、「〜ように構成された」という用語を、システム、装置、およびコンピュータプログラム構成要素との関連で使う。1つまたは複数のコンピュータのシステムが、特定の動作またはアクションを実施するように構成されることは、システムが、動作中に、動作またはアクションをシステムに実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしてあることを意味する。1つまたは複数のコンピュータプログラムが、特定の動作またはアクションを実施するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを実施させる命令を含むことを意味する。特殊目的論理回路機構が、特定の動作またはアクションを実施するように構成されることは、回路機構が、動作またはアクションを実施する電子論理を有することを意味する。
【０１２７】
本明細書は、多くの具体的な実装詳細を含むが、これらは、請求項自体によって定義される、特許請求されているものの範囲に対する限定と解釈されるべきでなく、むしろ、特定の実装形態に特有であり得る特徴の記述と解釈されるべきである。また、別個の実装形態の文脈において本明細書で説明したいくつかの特徴は、単一の実装形態において組み合わせて実現され得る。逆に、単一の実装形態の文脈において記載される様々な特徴が、複数の実装形態において別個に、またはどの適切な部分組合せで実現されてもよい。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除されてよく、請求項は、部分組合せ、または部分組合せの変形形態を対象とし得る。
【０１２８】
同様に、動作は、特定の順序において図面に示され、請求項に具陳されているが、これは、そのような動作が図示された特定の順序において、または順次に実施されることを必要とするか、または、所望の結果を達成するためにすべての示された動作が実施されることを必要とするものと理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上述した実装形態における様々なシステムモジュールおよび構成要素の分離は、すべての実装形態においてそのような分離を求めるものとして理解されるべきでなく、記載されるプログラム構成要素およびシステムは概して、単一のソフトウェア製品に統合されるか、または複数のソフトウェア製品にパッケージングされてよいことを理解されたい。
【０１２９】
本主題の特定の実装形態について記載した。他の実装形態は、以下の特許請求の範囲内である。たとえば、請求項に具陳されるアクションは、異なる順序で実施され、依然として望ましい結果を達成し得る。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するのに、図示される特定の順序、または順番を必ずしも求めない。いくつかのケースでは、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【０１３０】
102  ブロックチェーンネットワーク
106  コンピューティングデバイス、コンピューティングシステム
108  コンピューティングデバイス、コンピューティングシステム
110  ネットワーク
200  概念アーキテクチャ
202  エンティティレイヤ
204  被ホストサービスレイヤ
206  ブロックチェーンネットワークレイヤ
208  トランザクション管理システム
210  インターフェース
212  ブロックチェーンネットワーク
214  ノード
216  ブロックチェーン
302  ブロックチェーンネットワーク
304  コンピューティングデバイス
305  コンピューティングデバイス
306  コンピューティングデバイス
308  コンピューティングデバイス
310  コンピューティングデバイス
312  ネットワーク
314  ユーザインターフェース
400  ホームページユーザインターフェース
500  ブロックリストユーザインターフェース
600  ブロック詳細ユーザインターフェース
700  トランザクションリストユーザインターフェース
800  アカウントリストユーザインターフェース
900  アカウント詳細ユーザインターフェース
1000  コントラクトリストユーザインターフェース
1100  コントラクト詳細ユーザインターフェース
1200  コントラクト詳細ユーザインターフェース
1300  コントラクト詳細ユーザインターフェース
1500  装置
1502  受信機、受信ユニット
1504  生成器、生成ユニット
1506  提供器、提供ユニット
【図１】
2020517126.tif 000003
【図２】
2020517126.tif 000004
【図３】
2020517126.tif 000005
【図４】
2020517126.tif 000006
【図５】
2020517126.tif 000007
【図６】
2020517126.tif 000008
【図７】
2020517126.tif 000009
【図８】
2020517126.tif 000010
【図９】
2020517126.tif 000011
【図１０】
2020517126.tif 000012
【図１１】
2020517126.tif 000013
【図１２】
2020517126.tif 000014
【図１３】
2020517126.tif 000015
【図１４】
2020517126.tif 000016
【図１５】
2020517126.tif 000017
【国際調査報告】
2020517126.tif 000018
2020517126.tif 000019