(57)【特許請求の範囲】
【請求項１】
ブロックチェーンからローカルデータベースにデータを複製するためのコンピュータで実行される方法であって、
指定された時間間隔において前記ブロックチェーンをポーリングするステップと、
1つまたは複数の更新されたブロックからブロック情報を受信するステップであって、前記ブロック情報が、静的情報および動的情報を含み、前記動的情報が、スマートコントラクトにおいて使用されるべき1つまたは複数の変数を含む、ステップと、
前記動的情報を1つまたは複数のバイナリログに変換するステップと、
前記1つまたは複数のバイナリログを使用して、前記ローカルデータベースを更新するステップとを含む、
方法。
【請求項２】
前記1つまたは複数のバイナリログが、前記ローカルデータベースとは別のバイナリログファイル内に記録される、
請求項1に記載の方法。
【請求項３】
前記ローカルデータベースがリレーショナルデータベースである、
請求項1に記載の方法。
【請求項４】
前記1つまたは複数のバイナリログが、構造化照会言語に従って書き込まれる、請求項1に記載の方法。
【請求項５】
前記ブロックチェーンをポーリングするステップが、前記スマートコントラクトの実行によってトリガされる、
請求項1に記載の方法。
【請求項６】
前記静的情報を使用して前記ローカルデータベースを更新するステップをさらに含む、
請求項1に記載の方法。
【請求項７】
前記ローカルデータベースに対するユーザクエリに応じて、前記動的情報をユーザデバイスに提示するステップをさらに含む、
請求項1に記載の方法。
【請求項８】
1つまたは複数のコンピュータによって実行されると、ブロックチェーンからローカルデータベースにデータを複製するためのサービス鍵の管理のための動作を、前記1つまたは複数のコンピュータに実行させる命令が符号化された、1つまたは複数のコンピュータ可読記録媒体であって、前記動作が、
指定された時間間隔において前記ブロックチェーンをポーリングすることと、
1つまたは複数の更新されたブロックからブロック情報を受信することであって、前記ブロック情報が、静的情報および動的情報を含み、前記動的情報が、スマートコントラクトにおいて使用されるべき1つまたは複数の変数を含む、ことと、
前記動的情報を1つまたは複数のバイナリログに変換することと、
前記1つまたは複数のバイナリログを使用して、前記ローカルデータベースを更新することとを含む、
コンピュータ可読記録媒体。
【請求項９】
前記1つまたは複数のバイナリログが、前記ローカルデータベースとは別のバイナリログファイル内に記録される、
請求項8に記載のコンピュータ可読記録媒体。
【請求項１０】
前記ローカルデータベースがリレーショナルデータベースである、
請求項8に記載のコンピュータ可読記録媒体。
【請求項１１】
前記1つまたは複数のバイナリログが、構造化照会言語に従って書き込まれる、
請求項8に記載のコンピュータ可読記録媒体。
【請求項１２】
前記ブロックチェーンをポーリングすることが、前記スマートコントラクトの実行によってトリガされる、
請求項8に記載のコンピュータ可読記録媒体。
【請求項１３】
前記動作が、前記静的情報を使用して前記ローカルデータベースを更新することをさらに含む、
請求項8に記載のコンピュータ可読記録媒体。
【請求項１４】
前記動作が、前記ローカルデータベースに対するユーザクエリに応じて、前記動的情報をユーザデバイスに提示することをさらに含む、
請求項8に記載のコンピュータ可読記録媒体。
【請求項１５】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに結合され、かつ以下の動作を行うために前記1つまたは複数のコンピュータによって実行可能な命令を備えた1つまたは複数のコンピュータ可読メモリとを備えたシステムであって、前記動作が、
指定された時間間隔においてブロックチェーンをポーリングすることと、
1つまたは複数の更新されたブロックからブロック情報を受信することであって、前記ブロック情報が、静的情報および動的情報を含み、前記動的情報が、スマートコントラクトにおいて使用されるべき1つまたは複数の変数を含む、ことと、
前記動的情報を1つまたは複数のバイナリログに変換することと、
前記1つまたは複数のバイナリログを使用して、ローカルデータベースを更新することととを含む、
システム。
【請求項１６】
前記1つまたは複数のバイナリログが、前記ローカルデータベースとは別のバイナリログファイル内に記録される、
請求項15に記載のシステム。
【請求項１７】
前記ローカルデータベースがリレーショナルデータベースである、
請求項15に記載のシステム。
【請求項１８】
前記1つまたは複数のバイナリログが、構造化照会言語に従って書き込まれる、
請求項15に記載のシステム。
【請求項１９】
前記ブロックチェーンをポーリングすることが、前記スマートコントラクトの実行によってトリガされる、
請求項15に記載のシステム。
【請求項２０】
前記静的情報を使用して前記ローカルデータベースを更新するためのさらなる命令が前記1つまたは複数のコンピュータによって実行可能である、
請求項15に記載のシステム。
【請求項２１】
前記ローカルデータベースに対するユーザクエリに応じて、前記動的情報をユーザデバイスに提示するためのさらなる命令が前記1つまたは複数のコンピュータによって実行可能である、
請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、バイナリログ複製に基づくブロックチェーンデータ関係構造化スキームに関する。
【背景技術】
【０００２】
コンセンサスネットワークおよび/またはブロックチェーンネットワークと呼ばれることもある分散元帳システム(DLS:Distributed ledger systems)は、参加エンティティがデータをセキュアに不変に記録することを可能にする。DLSは、一般に、いずれの特定の使用事例(たとえば、暗号通貨)とも無関係に、ブロックチェーンネットワークと呼ばれる。ブロックチェーンネットワークの例示的なタイプは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークを含み得る。パブリックブロックチェーンネットワークは、すべてのエンティティがDLSを使用し、コンセンサスプロセスに参加するために開かれる。プライベートブロックチェーンネットワークは、読取り許可および書込み許可を中央で制御する特定のエンティティに提供される。コンソーシアムブロックチェーンネットワークは、コンセンサスプロセスを制御するエンティティのえり抜きのグループに提供され、アクセス制御レイヤを含む。
【０００３】
ブロックチェーン上に記録された情報は、第三者ブロックチェーンブラウザを使用して閲覧され得る。第三者ブロックチェーンブラウザは、数ある情報の中でも、個々のアカウントのバランス、取引履歴、およびスマートコントラクト条件など、ブロックチェーンに関する静的情報を返却することができる。場合によっては、しかしながら、ブロックチェーンは、スマートコントラクトの実行を担当する変数など、動的データをやはり含む。旧来のブロックチェーンブラウザは、そのような動的情報を示すための能力を有さない。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書の実装形態は、ブロックチェーンの動的情報を表示するためのコンピュータで実行される方法を含む。より詳細には、本明細書の実装形態は、ブロックチェーン内の動的情報を1つまたは複数のバイナリログに変換し、バイナリログを使用してデータベースを更新することに関する。
【０００５】
いくつかの実装形態では、活動は、指定された時間間隔においてブロックチェーンをポーリングするステップと、1つまたは複数の更新されたブロックからブロック情報を受信するステップであって、ブロック情報が、静的情報および動的情報を含み、動的情報が、スマートコントラクトにおいて使用されるべき1つまたは複数の変数を含む、ステップと、動的情報を1つまたは複数のバイナリログに変換するステップと、1つまたは複数のバイナリログを使用して、ローカルデータベースを更新するステップとを含む。他の実装形態は、コンピュータ記録デバイス上で符号化された、これらの方法の活動を実行するように構成された、対応するシステム、装置、およびコンピュータプログラムを含む。
【０００６】
これらのおよび他の実装形態は、各々、オプションで、以下の特徴のうちの1つまたは複数を含み得る:すなわち、1つまたは複数のバイナリログは、ローカルデータベースとは別のバイナリログファイル内に記録される、ローカルデータベースはリレーショナルデータベースである、1つまたは複数のバイナリログは、構造化照会言語に従って書き込まれる、ブロックチェーンをポーリングするステップは、スマートコントラクトの実行によってトリガされる、活動は、静的情報を使用してローカルデータベースを更新するステップをさらに含む、活動は、ローカルデータベースに対するユーザクエリに応じて、動的情報をユーザデバイスに提示するステップをさらに含む、である。
【０００７】
本明細書はまた、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書で提供する方法の実装形態による動作を実行させる命令を記録した、1つまたは複数の非一時的コンピュータ可読記録媒体を提供する。
【０００８】
本明細書は、本明細書で提供する方法を実装するためのシステムをさらに提供する。このシステムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書で提供する方法の実装形態による動作を実行させる命令を記録した、コンピュータ可読記録媒体とを含む。
【０００９】
本明細書によるこれらの方法は、本明細書で説明する態様および特徴の任意の組合せを含み得ることが理解される。すなわち、本明細書による方法は、本明細書で詳細に説明する態様および特徴の組合せに限定されず、提供する態様および特徴の任意の組合せをやはり含む。
【００１０】
本明細書の1つまたは複数の実装形態の詳細が、添付の図面および下記の説明に記載される。本明細書の他の特徴および利点は、説明および図面から、また特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本明細書の実装形態を実行するために使用され得る、例示的な環境を示す図である。
【図２】本明細書の実装形態による、例示的な概念アーキテクチャを示す図である。
【図３】本明細書の実装形態による、バイナリログを使用して、ブロックチェーン動的データを表示するために使用され得る例示的なシステムを示す図である。
【図４】本明細書の実装形態に従って実行され得る例示的なプロセスを示す図である。
【発明を実施するための形態】
【００１２】
様々な図面における同様の参照番号は、同様の要素を示す。
【００１３】
本明細書の実装形態は、バイナリログを使用して、ブロックチェーンデータを複製するためのコンピュータで実行される方法を含む。より詳細には、本明細書の実装形態は、スマートコントラクト情報をバイナリログに変換し、バイナリログを使用してリレーショナルデータベースを更新することに関する。いくつかの実装形態では、活動は、指定された時間間隔においてブロックチェーンをポーリングするステップと、1つまたは複数の更新されたブロックからブロック情報を受信するステップであって、ブロック情報が静的情報および動的情報を含み、動的情報が、スマートコントラクトにおいて使用されるべき1つまたは複数の変数を含む、ステップと、動的情報を1つまたは複数のバイナリログに変換するステップと、1つまたは複数のバイナリログを使用して、ローカルデータベースを更新するステップとを含む。
【００１４】
本明細書の実装形態に関してさらなる文脈を提供するために、上記で紹介したように、(たとえば、ピアツーピアノードで構成された)コンセンサスネットワークおよびブロックチェーンネットワークと呼ばれることもある分散元帳システム(DLS)は、参加エンティティが、取引をセキュアに不変に行い、データを記録することを可能にする。ブロックチェーンという用語は、概して、暗号通貨ネットワークに関連付けられるが、ブロックチェーンは、本明細書において、任意の特定の使用事例とは無関係にDLSを概して指すために使用される。上記で紹介したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供され得る。
【００１５】
パブリックブロックチェーンネットワークでは、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。たとえば、数百のエンティティ、数千のエンティティ、数百万のエンティティですら、パブリックブロックチェーンネットワークと協働することができ、エンティティは、各々、パブリックブロックチェーンネットワーク内の少なくとも1つのノードにおいて動作する。したがって、パブリックブロックチェーンネットワークは、参加エンティティに対してパブリックネットワークと見なされ得る。いくつかの例では、大部分のエンティティ(ノード)は、ブロックを有効化させ、ブロックチェーンネットワークのブロックチェーン(分散元帳)に追加させるために、すべてのブロックに署名しなければならない。例示的なパブリックブロックチェーンネットワークは、ピアツーピア支払いネットワークとして提供される特定の暗号通貨ネットワークを含み、ピアツーピア支払いネットワークは、ブロックチェーンと呼ばれる分散元帳を活用する。上記のように、ブロックチェーンという用語は、しかしながら、概して、任意の特定の暗号通貨ネットワークとは無関係に分散元帳を指すために使用される。
【００１６】
概して、パブリックブロックチェーンネットワークは、公開取引をサポートする。公開取引は、パブリックブロックチェーンネットワーク内のノードのすべてと共有され、グローバルブロックチェーン内に記録される。グローバルブロックチェーンは、すべてのノードにわたって複製されるブロックチェーンである。すなわち、すべてのノードは、グローバルブロックチェーンに関して完全コンセンサス状態である。コンセンサス(たとえば、ブロックチェーンに対してブロックを追加する合意)を達成するために、パブリックブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。例示的なコンセンサスプロトコルは、限定はしないが、特定の暗号通貨ネットワーク内で実装されるプルーフオブワーク(POW:proof-of-work)を含む。
【００１７】
概して、プライベートブロックチェーンネットワークは、読取り許可および書込み許可を中央で制御する特定のエンティティに提供される。エンティティは、どのノードがブロックチェーンネットワークに参加することが可能であるかを制御する。結果として、プライベートブロックチェーンネットワークは、概して、誰がネットワークに参加することが可能にされるか、およびそれらの参加レベル(たとえば、一定の取引のみ)に制限を設ける、許可されたネットワークを指す。様々なタイプのアクセス制御機構が使用され得る(たとえば、既存の参加者が新しいエンティティの追加について採決を行う、規制機関が承認を制御し得る)。
【００１８】
概して、コンソーシアムブロックチェーンネットワークは、参加エンティティ間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスは、許可されたノードのセットによって制御され、1つまたは複数のノードは、それぞれのエンティティ(たとえば、金融機関、保険会社)によって動作させられる。たとえば、10個のエンティティのコンソーシアム(たとえば、金融機関、保険会社)は、コンソーシアムブロックチェーンネットワークを動作させることができ、エンティティの各々は、コンソーシアムブロックチェーンネットワーク内で少なくとも1つのノードを動作させる。したがって、コンソーシアムブロックチェーンネットワークは、参加エンティティに対してプライベートネットワークと見なされ得る。いくつかの例では、各エンティティ(ノード)は、ブロックを有効化させ、ブロックチェーンに追加させるために、すべてのブロックに署名しなければならない。いくつかの例では、エンティティ(ノード)の少なくともサブセット(たとえば、少なくとも7個のエンティティ)は、ブロックを有効化させ、ブロックチェーンに追加させるために、すべてのブロックに署名しなければならない。
【００１９】
本明細書の実装形態は、本明細書において、参加エンティティ間でパブリックであるパブリックブロックチェーンネットワークを参照してさらに詳細に説明される。しかしながら、本明細書の実装形態は、任意の適したタイプのブロックチェーンネットワーク内で実現され得ることが企図される。
【００２０】
本明細書の実装形態は、上記の文脈に照らして本明細書でさらに詳細に説明される。より詳細には、上で紹介したように、本明細書の実装形態は、ブロックチェーンのスマートコントラクト変数など、動的情報を表示することに関する。本明細書の実装形態によれば、スマートコントラクトの実行中など、ブロックチェーン上の動的情報を更新するための命令は、構造化照会言語と互換性のあるバイナリログに変換される。バイナリログは、ブロックチェーンの状態を記録するデータベースを更新するために使用される。ユーザは、(たとえば、SQLクエリを使用して)データベースに問い合わせて、ブロックチェーンに関連するデータを閲覧することができる。
【００２１】
図1は、本明細書の実装形態を実行するために使用され得る例示的な環境100を示す。いくつかの例では、例示的な環境100は、エンティティがパブリックブロックチェーンネットワーク102に参加することを可能にする。例示的な環境100は、コンピューティングデバイス106、108と、ネットワーク110とを含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は、ワイヤードおよび/またはワイヤレス通信リンクを介してアクセスされ得る。
【００２２】
示した例では、コンピューティングシステム106、108は、各々、パブリックブロックチェーンネットワーク102内のノードとして参加を可能にする任意の適切なコンピューティングシステムを含み得る。例示的なコンピューティングデバイスは、限定せずに、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンを含む。いくつかの例では、コンピューティングシステム106、108は、パブリックブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実装サービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティ(たとえば、ユーザA)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのその取引を管理するために使用する取引管理システムなど、第1のエンティティのコンピュータ実装サービスをホストし得る。コンピューティングシステム108は、第2のエンティティ(たとえば、ユーザB)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのその取引を管理するために使用する取引管理システムなど、第2のエンティティのコンピュータ実装サービスをホストし得る。図1の例では、パブリックブロックチェーンネットワーク102は、ノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108は、パブリックブロックチェーンネットワーク102に参加する第1のエンティティおよび第2のエンティティのノードをそれぞれ提供する。
【００２３】
図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:remote procedure calls)を使用して行われる。いくつかの例では、インターフェース210は、それぞれの取引管理システム208に対してブロックチェーンネットワークノードを「ホストする」。たとえば、インターフェース210は、ブロックチェーンネットワーク212にアクセスするためのアプリケーションプログラミングインターフェース(API)を提供する。
【００２５】
本明細書で説明するように、ブロックチェーンネットワーク212は、ブロックチェーン216内に情報を不変に記録する複数のノード214を含むピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に示されているが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーンネットワーク212にわたって維持される。たとえば、各ノード214は、ブロックチェーンのコピーを記録する。いくつかの実装形態では、ブロックチェーン216は、パブリックブロックチェーンネットワークに参加する2つ以上のエンティティ同士の間で実行される取引に関連する情報を記録する。
【００２６】
図3は、バイナリログを使用して、ブロックチェーン動的データを提供するために使用され得る例示的なシステム300を示す。システム300は、より大きなコンピュータ環境の一部分(たとえば、システム100)であってよく、またはスタンドアロン型システムであってもよい。
【００２７】
システム300は、ブロックチェーンネットワーク(たとえば、ブロックチェーンネットワーク212)内で維持された動的情報を提供するために実装される。図2で説明するように、ブロックチェーンネットワーク212はブロックチェーン216を維持し、ブロックチェーンネットワーク212内の各コンピューティングノードは、ブロックチェーン216のコピーを記録する。ブロックチェーン216は、静的情報304と動的情報302の両方を含む。たとえば、ブロックチェーン216は、静的情報を含んでよく、静的情報は、限定せずに、ブロックチェーン内の個々のアカウントのアドレス、ブロックチェーン内の個々のアカウントのバランス、ブロックチェーン内のスマートコントラクトアドレスなどを含み得る。静的情報304がブロックチェーンに書き込まれると、静的情報304は不変になるため、静的情報304は直接ポーリングされ、閲覧のためにデータベース内に記録され得る。たとえば、静的情報は、ブロックチェーン履歴データベース308内に記録され得る。ブロックチェーン履歴データベース308は、異なる時点でブロックチェーン状態を記録するリレーショナルデータベースであり得る。たとえば、特定の時点でブロックチェーンアドレスのバランスを知ることを望むユーザは、アプリケーション310またはウェブブラウザ312を使用して、アカウントアドレスおよび時間を指定するクエリをブロックチェーン履歴データベース308に提出することができる。ユーザがクエリをブロックチェーン履歴データベース308に提出することを可能にすることは、ブロックチェーンネットワーク212から情報を直接要求することをユーザに要求するのとは対照的に、クエリルックアップ時間を改善し、ブロックチェーンネットワーク212上の帯域幅圧を低減する。
【００２８】
静的情報に加えて、ブロックチェーン216は、ブロックチェーンネットワーク212内の動作に基づいて変更される動的情報を含み得る。たとえば、動的情報は、限定せずに、ブロックチェーン216上のスマートコントラクトの実行において使用される変数を含み得る。動的情報をブロックチェーン履歴データベース308に記録するために、システム300は、動的情報に関して動作する命令を構造化照会言語に変換し、変換された構造化照会言語をバイナリログとしてバイナリログファイル306内に記録する。たとえば、ブロックチェーン216は、以下のステートメントを備えたスマートコントラクトを含み得る:
Class DemoContract:
def__init__(self):
self.status="init"
def set_a_value(self,key,value):
if key=="status"
self.status=value
システム300は、バイナリログファイル306に追加されるように、これらの例示的なステートメントを以下の照会言語に変換することができる: "update contract set 'status'='new_value' where 'contract_addr' = 'abcdefeas123343'."
【００２９】
動的情報が更新されるとき(たとえば、スマートコントラクトの実行によって)、バイナリログファイル306は、更新されたバイナリログをブロックチェーン履歴データベース308に複製する。結果として、ブロックチェーン履歴データベース308は、動的情報の更新された記録をブロックチェーン216内に含める。ブロックチェーン履歴データベース308内に記録された動的データの一例を以下のTable 1(表1)に示す。
【００３０】
【表１】
0006756915.tif 000002
【００３１】
更新された動的情報を閲覧するために、ユーザは、アプリケーション310またはウェブブラウザ312を使用して、クエリ(たとえば、SQLクエリ)をブロックチェーン履歴データベース308に提出することができる。
【００３２】
図4は、本明細書の実装形態に従って実行され得る例示的なプロセス400を示す。いくつかの実装形態では、例示的なプロセス400は、1つまたは複数のコンピューティングデバイス(たとえば、図3のシステム300)を使用して実行される1つまたは複数のコンピュータ実行可能プログラムのシステムによって実行され得る。便宜上、プロセス400は、システムによって実行されているとして説明されることになる。
【００３３】
システムは、ブロックチェーンから情報をポーリングして、更新された情報を受信する。たとえば、システムは、指定された時間間隔においてブロックチェーンをポーリングすることができるか、またはブロックチェーンは、新しい取引がブロックチェーンにいつ書き込まれているかをシステムに通知することができる。場合によっては、システムは、ブロックチェーンに書き込む機能にフックを追加することができる(402)。
【００３４】
ブロックチェーンをポーリングした後に、システムは、ブロックチェーン上で実行するスマートコントラクトによって作り出された新しい値など、動的情報を受信する(404)。
【００３５】
システムは、ログファイル内に記録するために、動的情報をSQL互換バイナリログに変換する(406)。たとえば、スマートコントラクトは、特定の変数を設定するための特定のプログラミング言語で書き込まれてよい。図3および関連記述において説明したように、システムは、設定された機能をSQLクエリに変換することができる。
【００３６】
システムは、バイナリログを使用して、リレーショナルデータベースを更新する(408)。たとえば、リレーショナルデータベースは、バイナリログファイルからバイナリログを受信するためのマスタ/スレーブスキームとして設定され得る。場合によっては、リレーショナルデータベースに対するバイナリログのポーリングは、システム内で実行する専用プログラムを使用して行われ得る。
【００３７】
説明した特徴は、デジタル電子回路の形で、またはコンピュータハードウェア、ファームウェア、ソフトウェアの形で、またはそれらの組合せの形で実装され得る。この装置は、プログラマブルプロセッサによって実行するために情報キャリア内で(たとえば、機械可読記録デバイス内で)有形に実施されるコンピュータプログラム製品の形で実装され得、方法ステップは、入力データを操作し、出力を生成することによって、説明した実装形態の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行され得る。説明した特徴は、データ記録システムからデータおよび命令を受信し、データ記録システムにデータおよび命令を送信するために結合された、少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含む、プログラマブルシステム上で実行可能な1つまたは複数のコンピュータプログラム内で有利に実装され得る。コンピュータプログラムは、一定の活動を実行するため、または一定の結果をもたらすためにコンピュータ内で直接的または間接的に使用され得る命令のセットである。コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語を含めて、任意の形態のプログラミング言語で書き込まれてよく、コンピュータプログラムは、スタンドアロン型プログラムとして、またはモジュール、構成要素、サブルーチン、またはコンピューティング環境で使用するのに適した別のユニットを含めて、任意の形態で展開され得る。
【００３８】
命令のプログラムを実行するのに適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のコンピュータの唯一のプロセッサまたは複数のプロセッサのうちの1つを含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの要素は、命令を実行するためのプロセッサと、命令およびデータを記録するための1つまたは複数のメモリとを含み得る。概して、コンピュータは、データファイルを記録するための1つまたは複数の大容量記録デバイスを含んでもよいか、あるいはそれと通信するように動作可能に結合されてもよく、そのようなデバイスは、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、磁気光学ディスク、および光ディスクを含む。コンピュータプログラム命令およびデータを有形に実施するのに適した記録デバイスは、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、磁気光学ディスク、およびCD-ROMディスクおよびDVD-ROMディスクを含めて、すべての形態の非揮発性メモリを含む。プロセッサおよびメモリは、特定用途向け集積回路(ASIC)によって補完され得るか、またはその中に組み込まれ得る。
【００３９】
ユーザとの対話を提供するために、これらの特徴は、情報をユーザに表示するための、陰極線管(CRT)モニタまたは液晶ディスプレイ(LCD)モニタなどのディスプレイデバイスと、キーボードと、それによりユーザがコンピュータに入力を提供することができる、マウスまたはトラックボールなどのポインティングデバイスとを有するコンピュータ上で実装され得る。
【００４０】
これらの特徴は、データサーバなどのバックエンド構成要素を含むか、もしくはアプリケーションサーバまたはインターネットサーバなどのミドルウェア構成要素を含むか、またはグラフィカルユーザインターフェースまたはインターネットブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、あるいはそれらの任意の組合せを含む、コンピュータシステム内で実装され得る。このシステムの構成要素は、通信ネットワークなど、任意の形態または媒体のデジタルデータ通信によって相互接続され得る。通信ネットワークの例は、たとえば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ならびにコンピュータおよびインターネット形成するネットワークを含む。
【００４１】
コンピュータシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、概して、互いから離れており、一般に、説明したネットワークなど、ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行し、互いに対してクライアント-サーバ関係を有するコンピュータプログラムにより生じる。
【００４２】
加えて、図に示した論理フローは、所望の結果を達成するために、示した特定の順序、または連続的順序を必要としない。加えて、他のステップを提供することができ、または説明したフローからステップをなくすことができ、説明したシステムに他の構成要素を追加すること、または説明したシステムから他の要素を除去することができる。したがって、他の実装形態が以下の特許請求の範囲内に入る。
【００４３】
本明細書のいくつかの実装形態について説明してきた。それでもなお、本明細書の趣旨および範囲から逸脱せずに、様々な修正を行うことが可能であることを理解されよう。したがって、他の実装形態が以下の特許請求の範囲内に入る。
【符号の説明】
【００４４】
100  環境、システム
102  パブリックブロックチェーンネットワーク
106  コンピューティングデバイス、コンピューティングシステム
108  コンピューティングデバイス、コンピューティングシステム
110  ネットワーク
200  概念アーキテクチャ
202  エンティティレイヤ
204  ホストサービスレイヤ
206  ブロックチェーンネットワークレイヤ
208  取引管理システム
210  インターフェース
212  ブロックチェーンネットワーク
214  ノード
216  ブロックチェーン
300  システム
302  動的情報
304  静的情報
306  バイナリログファイル
308  ブロックチェーン履歴データベース
310  アプリケーション
312  ウェブブラウザ
400  プロセス
【図１】
0006756915.tif 000003
【図２】
0006756915.tif 000004
【図３】
0006756915.tif 000005
【図４】
0006756915.tif 000006