(57)【特許請求の範囲】
【請求項１】
ブロックチェーン詳細事項のオフライン送信用の方法であって、該方法は、
少なくとも第１の秘密鍵及び通貨価額をコンピューティング装置のメモリ内に格納するステップと、
前記コンピューティング装置の受信装置によって、少なくとも、ブロックチェーンネットワークに関連付けられている第１の仕向先アドレスとトランザクション価額（transaction amount）とを、受信するステップと、
前記コンピューティング装置の生成モジュールによって、鍵生成アルゴリズムを用いて、第２の秘密鍵を生成するステップと、
前記コンピューティング装置の前記生成モジュールによって、前記第２の秘密鍵を用いて、前記ブロックチェーンネットワークと関連付けられている第２の仕向先アドレスを生成するステップと、
前記コンピューティング装置の前記生成モジュールによって、少なくとも、前記第１の仕向先アドレスと前記トランザクション価額と、前記第２の仕向先アドレスと、前記通貨価額及び前記トランザクション価額に基づいた残余価額とを含むブロックチェーントランザクションを生成するステップと、
前記コンピューティング装置の署名モジュールによって、前記第１の秘密鍵を用いて、前記生成されたブロックチェーントランザクションを署名するステップと、
前記コンピューティング装置のクエリモジュールによって、メモリ上でクエリを実行し、前記第１の秘密鍵を前記第２の秘密鍵で置換するステップであって、該第１の秘密鍵の置換は前記コンピューティング装置から前記第１の秘密鍵を削除することを含むステップと、
前記コンピューティング装置の送信装置によって、前記生成されたブロックチェーントランザクションを電子的に送信するステップとを含む、方法。
【請求項２】
請求項１に記載の方法において、前記生成されたブロックチェーントランザクションを送信するステップは、前記生成されたブロックチェーントランザクションがエンコードされたマシン可読コードを、前記コンピューティング装置にインタフェースされた表示装置によって表示することを含む、方法。
【請求項３】
請求項２に記載の方法において、前記マシン可読コードはＱＲ（quick response）コードである、方法。
【請求項４】
請求項１に記載の方法において、前記第１の仕向先アドレスは第２のコンピューティング装置から受信される、方法。
【請求項５】
請求項４に記載の方法において、前記生成されたブロックチェーントランザクションは、前記第２のコンピューティング装置へと電子的に送信される、方法。
【請求項６】
請求項５に記載の方法において、前記第２のコンピューティング装置は前記生成されたブロックチェーントランザクションの電子送信時においてインターネット接続を有していない、方法。
【請求項７】
請求項１に記載の方法において、前記コンピューティング装置は前記生成されたブロックチェーントランザクションの電子送信時においてインターネット接続を有していない、方法。
【請求項８】
請求項１に記載の方法において、前記生成されたブロックチェーントランザクションの電子送信は、鍵ペアの第１の秘密鍵に対応する公開鍵を送信することをさらに含む、方法。
【請求項９】
ブロックチェーン詳細事項のオフライン送信用のシステムであって、該システムは、
少なくとも第１の秘密鍵及び通貨価額を格納するように構成された、コンピューティング装置のメモリと、
少なくとも、ブロックチェーンネットワークに関連付けられている第１の仕向先アドレスとトランザクション価額とを、受信するように構成された、コンピューティング装置の受信装置と、
前記コンピューティング装置の生成モジュールであって、 
鍵生成アルゴリズムを用いて第２の秘密鍵を生成し、
第２の秘密鍵を用いて前記ブロックチェーンネットワークと関連付けられている第２の仕向先アドレスを生成し、
少なくとも、前記第１の仕向先アドレスと前記トランザクション価額と、前記第２の仕向先アドレスと、前記通貨価額及び前記トランザクション価額に基づいた残余価額とを含むブロックチェーントランザクションを生成する、生成モジュールと、
第１の秘密鍵を用いて、前記生成されたブロックチェーントランザクションを署名するように構成された、コンピューティング装置の署名モジュールと、
メモリ上でクエリを実行し、前記第１の秘密鍵を前記第２の秘密鍵で置換することであって、該第１の秘密鍵の置換は前記コンピューティング装置から前記第１の秘密鍵を削除することを含むことを実行するように構成された、前記コンピューティング装置のクエリモジュールと、
前記生成されたブロックチェーンを電子的に送信するように構成された、コンピューティング装置の送信装置とを備える、システム。
【請求項１０】
請求項９に記載のシステムにおいて、前記生成されたブロックチェーントランザクションを送信することは、前記生成されたブロックチェーントランザクションがエンコードされたマシン可読コードを、前記コンピューティング装置にインタフェースされた表示装置によって表示することを含む、システム。
【請求項１１】
請求項１０に記載のシステムにおいて、前記マシン可読コードはＱＲ（quick response）コードである、システム。
【請求項１２】
請求項９に記載のシステムにおいて、前記第１の仕向先アドレスは第２のコンピューティング装置から受信される、システム。
【請求項１３】
請求項１２に記載のシステムにおいて、前記生成されたブロックチェーントランザクションは、前記第２のコンピューティング装置へと電子的に送信される、システム。
【請求項１４】
請求項１３に記載のシステムにおいて、前記第２のコンピューティング装置は前記生成されたブロックチェーントランザクションの電子送信時においてインターネット接続を有していない、システム。
【請求項１５】
請求項９に記載のシステムにおいて、前記コンピューティング装置は前記生成されたブロックチェーントランザクションの電子送信時においてインターネット接続を有していない、システム。
【請求項１６】
請求項９に記載のシステムにおいて、前記生成されたブロックチェーントランザクションの電子送信は、鍵ペアの第１の秘密鍵に対応する公開鍵を送信することをさらに含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、データのオフライン送信に関するのであり、具体的には、２つのオフラインコンピューティング装置の間でのブロックチェーントランザクションに関連するデータ送信に関するのであり、これはマシン可読コードの使用を介して達成し得る。
【関連出願の相互参照】
【０００２】
本願は、米国特許出願第15/468,347号（2017年3月24日出願）の利益及び優先権を主張する。上記出願の開示全体は参照によってここに取り込まれる。
【背景技術】
【０００３】
コンピューティング技術及びプロトコルが進歩するにつれて、コンピューティング装置はデータの記憶及び転送に際して以前より増して用いられるようになってきた。一部の場合においては、コンピューティング装置は、例えばブロックチェーンを用いてなされるようなデータ送信を介してなされる電子トランザクションに用いられるようになってきた。多くの場合においては、コンピューティング装置は自機に関連付けられている秘密鍵を有し得るのであり、装置が関与する電子トランザクション及び他のデータ転送に関するデータを生成するために該鍵が用いられる。
【０００４】
もっとも、一部の場合においては、電子トランザクションがデータ転送を伴い得る場合においては、コンピューティング装置は、関連する処理ネットワーク又はシステムへのアクティブなインターネット接続又は他のタイプの接続を要することがある。例えば、ブロックチェーントランザクションについては、トランザクション処理のためにはブロックチェーンネットワークへのアクティブな接続を必要とする。そのような場面おいて、装置がネットワークへのアクティブな接続を有していない場合、利用可能資金残高や他の処理条件を欠如しつつも装置が他の装置とトランザクションを試みることを続けてしまう場合がある。これが故に、多くの電子データ転送システムでは、アクティブなインターネット接続又は他のタイプのネットワーク接続なくしてのデータ転送機能を禁止している。
【０００５】
したがって、アクティブなネットワーク接続なくして、或るコンピューティング装置から別のコンピューティング装置へとデータ転送を行うことを可能としデータの不正利用を禁止し得る技術的解決手段が要される。
【発明の概要】
【０００６】
本開示は、ブロックチェーン詳細事項のオフライン送信をするシステム及び方法を提供する。コンピューティング装置はブロックチェーントランザクションにデジタル的に署名を付すために用いられる秘密鍵を有しており、それによって或るブロックチェーンアドレスから別のアドレスへと資金移転又は他のタイプの電子取引を開始する。署名生成後に秘密鍵は装置から削除されるのであり、トランザクションが処理されるまでは別のトランザクションを署名するためには用いることができないように削除がなされるのであり、そのためにはブロックチェーンネットワークへのアクティブな接続を要するのである。もっとも、他の動作を伴わずにして秘密鍵を削除したのでは、秘密鍵と関連付けられている任意の他の通貨にアクセスする権能が失われてしまいかねない。その結果、第２の秘密鍵がコンピューティング装置によって生成され、何らかの残額及び他のデータは第２の秘密鍵と関連付けられているアドレスへと転送されるのであり、第１の秘密鍵の削除にかかわらずに、初回トランザクションの処理が成功していない場合に追加のトランザクションを禁止しつつそのようなアクセスが保持されることが保証される。
【０００７】
ブロックチェーン詳細事項のオフライン送信用の方法を開示するのであって、該方法は、少なくとも第１の秘密鍵及び通貨価額をコンピューティング装置のメモリ内に格納するステップと、前記コンピューティング装置の受信装置によって、少なくとも、ブロックチェーンネットワークと関連付けられている第１の仕向先アドレスとトランザクション価額（transaction amount）とを、受信するステップと、前記コンピューティング装置の生成モジュールによって、鍵生成アルゴリズムを用いて、第２の秘密鍵を生成するステップと、 前記コンピューティング装置の前記生成モジュールによって、前記第２の秘密鍵を用いて、前記ブロックチェーンネットワークと関連付けられている第２の仕向先アドレスを生成するステップと、前記コンピューティング装置の前記生成モジュールによって、少なくとも、前記第１の仕向先アドレスと前記トランザクション価額と、前記第２の仕向先アドレスと、前記通貨価額及び前記トランザクション価額に基づいた残余価額とを含むブロックチェーントランザクションを生成するステップと、前記コンピューティング装置の署名モジュールによって、前記第１の秘密鍵を用いて、前記生成されたブロックチェーントランザクションを署名するステップと、前記コンピューティング装置のクエリモジュールによって、メモリ上でクエリを実行し、前記第１の秘密鍵を前記第２の秘密鍵で置換するステップであって、該第１の秘密鍵の置換は前記コンピューティング装置から前記第１の秘密鍵を削除することを含むステップと、前記コンピューティング装置の送信装置によって、前記生成されたブロックチェーントランザクションを電子的に送信するステップとを含む、方法。
【０００８】
ブロックチェーン詳細事項のオフライン送信用のシステムを開示するのであって、該システムは、少なくとも第１の秘密鍵及び通貨価額を格納するように構成された、コンピューティング装置のメモリと、少なくとも、ブロックチェーンネットワークと関連付けられている第１の仕向先アドレスとトランザクション価額とを、受信するように構成された、コンピューティング装置の受信装置と、鍵生成アルゴリズムを用いて第２の秘密鍵と， 第２の秘密鍵を用いて、ブロックチェーンネットワークと関連付けられている第２の仕向先アドレスと， 少なくとも、第１の仕向先アドレスとトランザクション価額と、第２の仕向先アドレスと、通貨価額及びトランザクション価額に基づいた残余価額とを含むブロックチェーントランザクションとを， 生成するように構成された、コンピューティング装置の生成モジュールと；第１の秘密鍵を用いて、前記生成されたブロックチェーントランザクションを署名するように構成された、コンピューティング装置の署名モジュールと、メモリ上でクエリを実行し、前記第１の秘密鍵を前記第２の秘密鍵で置換するのであって、該第１の秘密鍵の置換は前記コンピューティング装置から前記第１の秘密鍵を削除することを含むことを実行するように構成された、前記コンピューティング装置のクエリモジュールと、生成されたブロックチェーンを電子的に送信するように構成された、コンピューティング装置の送信装置とを備える。
【図面の簡単な説明】
【０００９】
本開示の範囲は、添付の図面と共に解釈されると、例示的な実施形態についての下記の詳細な記載から最も良く理解される。図面には次の図が含まれる。
【００１０】
【図１】例示的実施形態による、ブロックチェーントランザクションについてのオフラインデータ転送のためのハイレベルシステムアーキテクチャを示す機能ブロック図である。
【図２】図１のシステムのコンピューティング装置であって、例示的実施形態によるブロックチェーントランザクションについてのオフラインデータ転送のためのコンピューティング装置、について示す機能ブロック図である。
【図３Ａ】例示的実施形態による図１のシステムを用いるブロックチェーントランザクションについてのオフラインデータ転送のための処理について示す流れ図である。
【図３Ｂ】例示的実施形態による図１のシステムを用いるブロックチェーントランザクションについてのオフラインデータ転送のための処理について示す流れ図である。
【図４】例示的実施形態による、ブロックチェーン詳細事項のオフライン送信についての例示的方法を示す流れ図である。
【図５】例示的実施形態による、コンピュータシステムアーキテクチャを示すブロック図である。
【００１１】
本開示の更なる応用分野は、下記の詳細な説明から自明である。例示的実施形態の詳細な説明は、例示目的のみを意図しており、必ずしも本開示の範囲を制限することを意図していない。
【発明を実施するための形態】
【００１２】
用語解説
ブロックチェーン：ブロックチェーンを基礎とした通貨の全てのトランザクションの公開台帳（public ledger）である。１つ以上のコンピュータ装置は、ブロックチェーンネットワークを含んでよく、これはブロックチェーンにおけるブロックの一部としてトランザクションを処理及び記録するよう構成されてよい。一旦ブロックが完成すると、当該ブロックはブロックチェーンへ追加され、したがってトランザクション記録が更新される。多くの実施形態では、ブロックチェーンは時系列順のトランザクションの台帳であってよいし、ブロックチェーンネットワークによる使用に適した任意の他の順番で提示されてもよい。いくつかの実施形態では、ブロックチェーンで記録されたトランザクションは、宛先アドレスと通貨価額（currency amount）とを含んでよい。これによりブロックチェーンは、どれほどの通貨が特定のアドレスに帰属するかを記録する。一部の場合においては、トランザクションは金融系であり他のトランザクションは非金融系たり得るのであり、或いは、ソースアドレスやタイムスタンプ等の追加の若しくは異なる情報を含み得る。いくつかの実施形態では、ブロックチェーンは追加的に又は代替的に、ほぼ任意の種別のデータ（これは（場合によってはその運用者による）改ざん又は改訂に対して強化された継続的に増加するデータレコードの一覧を維持する分散データベースに配置されるもの又は配置される必要のあるものである）をトランザクションの形態として含んでよい。また、ブロックチェーンは、プルーフオブワーク及び／又はそれに関連付けられた任意の他の適切な検証技術をもってブロックチェーンネットワークによって確認及びバリデートされてよい。いくつかの実施形態では、所定のトランザクションについてのデータは更に、トランザクションデータに付加されたトランザクションの直接的な一部ではない追加のデータを含んでよい。いくつかの実施形態では、そのようなデータをブロックチェーンに含めることは、トランザクションを構成してよい。そのような実施形態では、ブロックチェーンは特定のデジタル通貨、仮想通貨、不換通貨（fiat）又は他の種別の通貨に直接的に関連付けられなくてよい。
【００１３】
ブロックチェーン詳細事項のオフライン送信用のシステム
図１は、ブロックチェーントランザクションに関するデータの送信用システム１００について示すのであり、該システムにおいては、送信時にアクティブなネットワーク接続を用いずにして正常処理を行う。
【００１４】
システム１００はコンピューティング装置１０２を含んでよい。より詳しく後述する送信コンピューティング装置１０２は、下記のことをなすように構成されている特別構成型コンピューティング装置とされることができる：ブロックチェーントランザクションに関するデータを受信コンピューティング装置へと送信する行為であって、該装置と関連付けられている（送信コンピューティング装置１０２又は受信コンピューティング装置による）アクティブな接続を用いずにして達成し得る送信行為。コンピューティング装置１０２は、本願にて説明した機能を行うように具体的に構成（specifically configured）され得る任意のタイプのコンピューティング装置とされ得るのであり、例えばデジタルメッセージング及び会話アプリケーションプログラムやデジタル支払アプリケーションプログラム等を実行するように構成されていることを含み得るのであり、具体的に構成された次のものを含み得る：デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、スマートウォッチ、スマートテレビ、ウェアラブルコンピューティング装置、埋込式コンピューティング装置等。受信コンピューティング装置１０４は類似のコンピューティング装置又は本願にて説明した機能を行うように特別に構成（specially configured）された他のタイプのコンピューティング装置とされ得る。
【００１５】
送信コンピューティング装置１０２は、ブロックチェーンネットワークと関連付けられている自機内に格納された秘密鍵（以下、第１の秘密鍵という。）を有し得る。第１の秘密鍵は鍵ペアの一部たり得るのであり、それについては対応する公開鍵（以下、第１の公開鍵という。）があり、それは第１の秘密鍵を介して生成されたデータの検証のために用いられるブロックチェーンネットワーク１０８及び／又は他のコンピューティング装置（例えば、受信コンピューティング装置１０４）へと分配される。第１の秘密鍵は、デジタル署名を生成するために用いられ得るのであり、該デジタル署名は、検証され、また、ブロックチェーンネットワーク１０８内のブロックチェーンアドレスと関連付けられているデータ（例えば、通貨）の保有（possession）を示すために用いられる。幾つかの実施形態では、ブロックチェーンアドレスは第１の秘密鍵を用いて生成され得る。
【００１６】
システム１００では、ブロックチェーンネットワーク１０８は複数のブロックチェーンノード１０６を備えていることができ、各ブロックチェーンノード１０６は他のブロックチェーンノード１０６によって検証されるブロックを生成するように構成されており、それはブロックチェーンネットワーク１０８と関連付けられているブロックチェーンへ追加されるものとされ、それは公衆アクセス可能なもの又は他のエンティティ若しくは装置（例えば、送信コンピューティング装置１０２及び受信コンピューティング装置１０４等）からアクセス可能なものとされ得るのであり、ブロックチェーンノード１０６を介して該アクセスはもたらされ得る。ブロックチェーンは複数のブロックを含んでよい。各ブロックは、ヘッダと１つ以上のトランザクション値（transaction value）とを含んでよい。ブロックヘッダは、少なくとも、以前のブロックへの参照子と、タイムスタンプと、ブロック内に含まれる１つ以上のトランザクション値への参照子とを含み得る。例示的実施形態では、参照子は、対応するデータをハッシュすることによって生成されたハッシュ値たり得る。例えば、以前のブロックへの参照子は、該ブロックの追加前において最近追加された（例えば、タイムスタンプによって識別された）ブロックのブロックヘッダをハッシュすることによって生成されたハッシュ値たり得るのであり、トランザクション値への参照子は、トランザクション値をハッシュすることによって生成されたハッシュ値たり得る。幾つかの実施形態では、トランザクション値の参照子は、トランザクション値につき生成されたマークル木のマークルルートを含んでよい。参照子の使用によってブロックチェーンの不変性が保証され得る。なぜならば、ブロックチェーンにわたっての単一のトランザクション値の変化でさえ顕わになってしまうからである。なぜかというと、そのブロックヘッダにおけるマークルルートが異なることになるからであり、それ故にその後の全てのブロックのブロックヘッダに含まれる参照子も異なるという結果がもたらされるからである。
【００１７】
ブロックチェーンネットワーク内のブロック内に含まれる各トランザクション値は、ブロックチェーンネットワーク１０８を介して行われたブロックチェーントランザクションに対応し得る。トランザクション値は、少なくとも次の事項を含み得る：送信アドレスであって該アドレスに割り当てられている通貨が移転されるに際して発信元となる送信アドレスと；１つ以上の受信アドレス及びそこへと移転される価額と；送信アドレスと関連付けられている秘密鍵によってトランザクション用に生成されたデジタル署名。複数の受信アドレスが存する場合、受信アドレスのうち１つは送信アドレスと関連付けられている秘密鍵と関連付けられていることができ、例えばトランザクションの残余額を受領するために用いられ得る。例えば、送信者が、１５０単位を関連付けられているアドレスから、受領者へと１００単位の通貨を送信する場合、次のことをなすことによってトランザクションを達成し得る：１００単位を受領者へ、そして、その他の５０単位を送信者に関連付けられている新アドレスへと移転することであって、後者が余分な５０単位の使用権を保持するようにすること。
【００１８】
送信コンピューティング装置１０２のユーザと受信コンピューティング装置１０４のユーザとが、電子トランザクションを、ブロックチェーンネットワーク１０８を介して行うことについて合意し得る。例示的実施形態では、受信コンピューティング装置１０４は、ブロックチェーンネットワーク１０８へのアクティブな接続を有していない（may not have）か、又は、送信コンピューティング装置１０２と受信コンピューティング装置１０４との間でのデータ転送時においてアクティブなインターネット接続を欠いていることがある（may lack）。各コンピューティング装置のユーザは、（例えば、第１の秘密鍵がブロックチェーンネットワークにおける通貨を保有している送信アドレスと関連付けられていること故に制御されている）送信コンピューティング装置１０２のユーザから、受信コンピューティング装置１０４のユーザへと（例えば、受信コンピューティング装置１０４内に格納されている秘密鍵と関連付けられているアドレスへと）移転されるべきトランザクション価額（transaction amount）を決定することができる。
【００１９】
移転されるべきトランザクション価額は送信コンピューティング装置１０２に入力されることが可能であり、例えば該装置と繋がれた入力装置を介して入力可能であり、該装置のユーザによってアクセスされ得る。通貨についての仕向先アドレスを送信コンピューティング装置１０２に与えることもできる。幾つかの実施形態では、仕向先アドレスは手動入力でき、例えば繋がれた入力装置を介して送信コンピューティング装置１０２のユーザによって入力できる。他の実施形態では、受信コンピューティング装置１０４は、仕向先アドレスを、適切な通信方法によって、送信コンピューティング装置１０２へと電子的に通信でき、該通信方法は例えば次のものとすることができる：Bluetooth（登録商標）、ＮＦＣ（近距離無線通信）、ＬＡＮ、ラジオ周波数（ＲＦ）、送信コンピューティング装置１０２によるマシン可読コードの表示等。
【００２０】
ブロックチェーントランザクション詳細事項の生成前において、送信コンピューティング装置１０２は、新たな秘密鍵及び新たな対応する公開鍵を備えた新たな鍵ペアを生成できるのであり、これらは第２の秘密鍵及び第２の公開鍵と称する。送信コンピューティング装置１０２は、ブロックチェーントランザクションにおいて通貨を受領するための別のブロックチェーンアドレスを生成できるのであり、これを残余アドレスと称するのであり、該アドレスは第２の秘密鍵を用いて生成する。そして、送信コンピューティング装置１０２は、ブロックチェーントランザクション用のトランザクション値を生成できるのであり、これには、送信アドレスと、仕向先アドレス及びそこへ移転される価額と、残余アドレスとそこへ移転される残余価額とが含まれるのであり、残余価額は送信アドレスにて利用可能な通貨価額と仕向先アドレスへと送られる価額とに基づいている（例えば、利用可能価額から移転対象額を減算する）。送信コンピューティング装置１０２は、第１の秘密鍵を用いてトランザクション値にデジタル的に署名を付することができるのであり、それにおいては適切なデジタル署名生成アルゴリズムを用いてトランザクション値に署名を付すことができる。そして、送信コンピューティング装置１０２は秘密鍵を送信コンピューティング装置１０２から削除することができる。
【００２１】
第１の秘密鍵は、それと関連付けられているアドレスを用いて新規のトランザクションが行えないように、削除され得る。データ移転時において装置らがブロックチェーンネットワーク１０８にアクティブに接続されていないが故に、トランザクションは即時的には処理できないかもしれないのであり、仕向先アドレスが複数のトランザクション内において提出され得るという機会を提供し得る。その結果、第１の秘密鍵の削除によって、ブロックチェーンネットワーク１０８へのアクティブ接続の欠如状態が悪用されないように保証し得る。送信コンピューティング装置１０２は、第２の秘密鍵を、送信コンピューティング装置１０２内において、第１の秘密鍵に代えて、格納し得る。トランザクションの残余額が第２の秘密鍵によって支配されるアドレスへと移転されるに際して、送信コンピューティング装置１０２は、一部の実施形態では、ブロックチェーンネットワークへのアクティブ接続欠如状態においてもブロックチェーントランザクションに用い続けられることができ、残余価額は第２の秘密鍵に関連付けられているアドレスにおいて利用可能とされる。一部の実施形態では、送信コンピューティング装置１０２は、ブロックチェーンネットワーク１０８によって初期的トランザクションが処理されてブロックチェーンに追記されるまでは第２の秘密鍵が追加的トランザクションに用いられることを妨げるように構成されていることができ、初期的トランザクションの処理前に第２のトランザクションが処理されないように（例えば／或いは、その処理が試みられないように）担保する。
【００２２】
送信コンピューティング装置１０２がトランザクション値を生成してデジタル署名を付したならば、送信コンピューティング装置１０２は署名済みトランザクション値を受信コンピューティング装置１０４へと電子的に送信することができる。一部の実施形態では、送信コンピューティング装置１０２は、バーコードやＱＲ（quick response）コード（登録商標）等のマシン可読コードを生成し得るのであり、それには署名済みトランザクション値がエンコードされている。受信コンピューティング装置１０４は、光学式撮像器を含むことができ、これがマシン可読コードを読み込んでそこからトランザクション値を復号できる。他の実施形態では、送信コンピューティング装置１０２は、署名済みトランザクション値を受信コンピューティング装置１０４へと電子的に送信できるのであり、例えばＮＦＣ、Bluetooth、ＲＦ、ＬＡＮ等を介してこれを行える。
【００２３】
受信コンピューティング装置１０４は、署名済みトランザクション値を受信できる。そして、受信コンピューティング装置１０４は、ブロックチェーンネットワーク１０８へのアクティブ接続が次回確立された時点で、署名済みトランザクション値を、ブロックチェーンネットワーク１０８内のブロックチェーンノード１０６へとアップロードすることへ進むことができる。一部の実施形態では、送信コンピューティング装置１０２は、第１の公開鍵をも受信コンピューティング装置１０４へと電子的に送信することができる。そのような実施形態では、受信コンピューティング装置１０４は、第１の公開鍵を用いてトランザクション値に付されたデジタル署名を検証でき、又は、第１の公開鍵を署名済みトランザクション値と共にブロックチェーンノード１０６に渡してデジタル署名を検証させることができる。
【００２４】
ブロックチェーンノード１０６が署名済みトランザクション値を受信したらば、ブロックチェーンノード１０６はデジタル署名を検証して、トランザクション値を他のトランザクション値に追加して新たなブロックに含めることができる。ブロックチェーンネットワーク１０８内の他のブロックチェーンノード１０６によってブロックを生成してそして検証することができ、それらに関連付けられている伝統的手法を用いてなし得るのであり、そしてブロックチェーンに追加できる。そして、送信コンピューティング装置１０２は、将来のブロックチェーントランザクションにおいて第２の秘密鍵を用いることについての自由を得うる。一部の実施形態では、後続のブロックチェーントランザクションにおいて第２の秘密鍵を利用可能とする前にトランザクションが処理されたことを検証するために、ブロックチェーンネットワーク１０８へのアクティブ接続を必要とするように送信コンピューティング装置１０２が構成されていることができる。
【００２５】
本願にて説明した方法及びシステムは、いずれのコンピューティング装置もブロックチェーンネットワーク１０８へのアクティブ接続を有していないという状況下において、送信コンピューティング装置１０２がオフラインブロックチェーントランザクションに参与することを可能とする。第１の秘密鍵の削除によって、初回トランザクション処理前に同じ通貨を伴って追加トランザクションを試みるという形式での悪用が、送信コンピューティング装置１０２のオフライン状態に適用されない、という担保がもたらされる。また、第２の秘密鍵の利用により、送信コンピューティング装置１０２が第１の秘密鍵を破棄したことによっていずれかの通貨に対しての保有及び／又はアクセス権が捨てられていないことが担保される。その結果、悪用からの保護及び通貨へのアクセス保持をもたらしつつ、オフラインでのブロックチェーントランザクションが遂行可能となる。
【００２６】
送信コンピューティング装置
図２はシステム１００の送信コンピューティング装置１０２の実施形態を示す。当業者にとって、図２に示す送信コンピューティング装置２００の実施形態が、例示目的のみで提供されることと、本開示の機能を実行するのに適した、送信コンピューティング装置１０２の全ての可能な構成を徹底的に示したものでないことは自明である。例えば図５に示され下記で一層詳細に説明されるコンピュータシステム５００が、送信コンピューティング装置１０２の適切な構成であってよい。
【００２７】
送信コンピューティング装置１０２は受信装置２０２を含んでよい。受信装置２０２は１つ以上のネットワークプロトコルを介して１つ以上のネットワーク上でデータを受信するよう構成されてよい。いくつかの実施形態では、受信装置２０２はまた、受信コンピューティング装置１０４やブロックチェーンネットワーク１０８や他のシステム及びエンティティから、例えばＮＦＣや物理的接点やＬＡＮやＲＦやBluetoothやインターネット等を介してデータを受信するよう構成されてよい。いくつかの実施形態では、受信装置２０２は複数の装置（例えば、異なるネットワークを介してデータを受信するための異なる受信装置（例えばＬＡＮ上でデータを受信する第１の受信装置とインターネットを介してデータを受信する第２の受信装置））を含んでよい。受信装置２０２は送信される電子的なデータ信号を受信してよい。このとき、受信装置２０２によるデータ信号の受信によって、データはデータ信号上に重ねられ、復号、解析（パース）、読取り、又は取得されてよい。いくつかの実施形態では、受信装置２０２は、受信されたデータ信号を解析して、そこに重ねられたデータを取得するための解析モジュールを含んでよい。例えば受信装置２０２は、受信されたデータ信号を受信し、処理装置によって実行される機能のための利用可能な入力へと変換して本開示の方法及びシステムを実行するよう構成される解析プログラムを含んでよい。
【００２８】
送信装置２０２は送信コンピューティング装置１０４によって電子的に送信されたデータ信号を受信するように構成されていることができ、該信号には例えば（送信コンピューティング装置１０２から移転される）通貨の受領のための仕向先アドレスが重畳されているか他の方法によってエンコーディングされている。受信装置２０２はブロックチェーンネットワーク１０８から（例えば、そのブロックチェーンノード１０６を介して）データを受信するように構成されていることができ、それは（ブロックチェーンに追加されたブロック等の）ブロックチェーンデータと共に重畳されるか他の方法で共にエンコーディングされるのであり、オフライントランザクションが処理済みとなったことを送信コンピューティング装置１０２が検証できるようにされる。
【００２９】
送信コンピューティング装置１０２はまた、通信モジュール２０４を含んでよい。通信モジュール２０４は、本開示の機能を実行する際に使用するために、モジュール、エンジン、データベース、メモリ、及びコンピューティング装置１０２の他の構成要素の間でデータを転送するよう構成されてよい。通信モジュール２０４は１つ以上の通信種別を含んでよく、コンピューティング装置内での通信のために様々な通信方法を使用してよい。例えば、通信モジュール２０４はバスやコンタクトピン接続端子や配線等を備えることができる。一部の実施形態では、通信モジュール２０４はまた、送信コンピューティング装置１０２の内部コンポーネントと送信コンピューティング装置１０２の外部コンポーネント（例えば、外部的に接続されたデータベースや表示装置や入力装置等）との間での通信を司るように構成されていることができる。送信コンピューティング装置１０２はまた処理装置を含み得る。処理装置は本開示のコンピューティング装置１０２の機能を実行するよう構成されてよい。このことは、当業者にとって自明である。いくつかの実施形態では、処理装置は、処理装置の１つ以上の機能を実行するよう特別に構成された複数のエンジン及び／又はモジュール（例えばクエリモジュール２１６、生成モジュール２１８、署名モジュール２２０等）を含んでよい。本開示のように、「モジュール」との用語は、入力を受信し、当該入力を使用して１つ以上の処理を実行し、また、出力を提供するよう特別にプログラムされたソフトウェア又はハードウェアであってよい。様々なモジュールによってこなされる入力、出力及び処理は、本開示に基づいて、当業者にとって自明である。
【００３０】
送信コンピューティング装置１０２は、メモリ２１０を含んでよい。メモリ２１０は、本開示の機能を実行するときに送信コンピューティング装置１０２が使用するためのデータ（例えば公開鍵、秘密鍵、対称鍵等）を格納するよう構成されてよい。メモリ２１０は、適切なデータ整形方法及びスキーマを用いてデータを格納するよう構成されてよく、また、任意の適切な種類のメモリ（例えば読み取り専用メモリ、ランダムアクセスメモリ等）であってよい。メモリ２１０は例えば暗号鍵及びアルゴリズム、通信プロトコル及び基準、データ整形基準及びプロトコル、モジュール用プログラムコード及び処理装置のアプリケーションプログラム、並びに、本開示の機能を実行する際にコンピューティング装置１０２によって使用される適切な他のデータを含んでよい。このことは、本開示を読む当業者にとって自明である。いくつかの実施形態では、メモリ２１０は、構造照会言語（ＳＱＬ）を使用するリレーショナルデータベースを含んでよく、記憶された構造化データセットを記憶、識別、修正、更新、アクセス等してよい。
【００３１】
メモリ２１０は、第１の鍵ペアの第１の秘密鍵及び対応する第１の公開鍵を格納するように構成されていることができる。メモリ２１０はまた、第２の鍵ペアの第２の秘密鍵を格納しているように構成されていることができ、これが、第１の秘密鍵がオフラインブロックチェーントランザクションに使用された後に第１の秘密鍵を代替することができ、第１の秘密鍵がメモリ２１０及び送信コンピューティング装置１０２内の任意の他の記憶域から削除されるようにすることができる。メモリ２１０は、鍵生成アルゴリズム、署名アルゴリズム、及び任意の他のアルゴリズム若しくは送信コンピューティング装置１０２の機能を果たすに際して用いられる他のデータを、格納することができる。
【００３２】
送信コンピューティング装置１０２はまた、１つ以上の入力装置２０６を含むかそれとインタフェース接続されていることができる。入力装置２０６は送信コンピューティング装置１０２に内在するものであるか送信コンピューティング装置１０２に外在するものたり得るのであり、１つ以上の（例えば、有線か無線の）接続を介してそこへと接続されておりデータの送受信をなすために繋がれている。入力装置２０６は送信コンピューティング装置１０２のユーザからの入力を受信するように構成されていることができ、相応な処理のために（例えば通信モジュール２０４を介して）送信コンピューティング装置１０２の別のモジュールかエンジンへと供され得る。入力装置２０６は本願にて説明した機能を行うための入力を受信するために適した任意のタイプの入力装置を含み得るのであり、例えば次のものが含まれる：キーボード、マウス、クリックホイール、スクロールホイール、マイクロフォン、タッチ感応スクリーン、トラックパッド、カメラ、光学撮像器等。入力装置２０６は、例えば、移転されるべき通貨価額及び被移転通貨の受領が意図される仕向先アドレスについての入力を受信するように構成されていることができる。
【００３３】
送信コンピューティング装置１０２は表示装置２０８を含むかそれとインタフェース接続されていることができる。表示装置２０８は送信コンピューティング装置１０２に内在するものであるか送信コンピューティング装置１０２に外在するものたり得るのであり、１つ以上の（例えば、有線か無線の）接続を介してそこへと接続されておりデータの送受信をなすために繋がれている。表示装置２０８は送信コンピューティング装置１０２のユーザに対してデータを表示するように構成されていることができる。表示装置２０８は本願にて説明した機能の一部としてデータを表示するに適した任意のタイプのディスプレイたり得るのであり、例えば次のものが含まれる：液晶ディスプレイ、ＬＥＤディスプレイ、薄膜トランジスタディスプレイ、静電タッチディスプレイ、陰極線管ディスプレイ、投光式ディスプレイ等。幾つかの実施形態では送信コンピューティング装置１０２は複数の表示装置２０８を含み得る。表示装置２０８は、例えば、オフラインブロックチェーントランザクション用の署名済みトランザクション値がエンコーディングされたマシン可読コードを表示するように構成されていることができるのであり、該コードは受信コンピューティング装置１０４によって読み取られるものとされそれへとサイン済みトランザクション値を送信するものとされる。
【００３４】
送信コンピューティング装置１０２は、クエリモジュール２１６を含んでよい。クエリモジュール２１６はデータベース上のクエリを実行して情報を識別するよう構成されてよい。クエリモジュール２１６は１つ以上のデータ値又はクエリ列を受信してよく、それに基づいて、示されたデータベース（例えばメモリ）上でクエリ列を実行して、そこに格納された情報を識別してよい。クエリモジュール２１６は次いで、識別された情報を、必要に応じて送信コンピューティング装置１０２の適切なエンジン又はモジュールへ出力してよい。クエリモジュール２１６は例えば、メモリ２１０上でクエリを実行して、デジタル署名を生成するために用いるための第１の秘密鍵を識別して、メモリ２１０上クエリを実行して、第１の秘密鍵を削除して第２の秘密鍵と代えるなどのことをなし得る。
【００３５】
送信コンピューティング装置１０２はまた、生成モジュール２１８を含んでよい。生成モジュール２１８は、送信コンピューティング装置１０２の本開示に係る機能を行うためのデータを生成するように構成されていることができる。生成モジュール２１２は、入力値として命令を受信してよいし、命令に基づいてデータを生成してよいし、生成されたデータを送信コンピューティング装置２００の他のモジュール又はエンジンへ出力してもよい。例えば生成モジュール２１８は秘密鍵を用いてブロックチェーンアドレスを生成し、秘密鍵及び／又は秘密鍵を含む鍵ペアを生成し、また、オフラインブロックチェーントランザクション用のブロックチェーントランザクション値を生成するように構成されてよい。
【００３６】
送信コンピューティング装置１０２はまた、署名モジュール２２０を含んでよい。署名モジュール２２０は、送信コンピューティング装置１０２の本開示に係る機能を行うためのデジタル署名を生成するように構成されていることができる。署名モジュール２２０は、入力値としてデータを受信してよいし、適切な署名生成アルゴリズムを用いてデータについてのデジタル署名を生成でき、また、送信コンピューティング装置１０２の別のモジュール又はエンジンへとデジタル署名を出力することができる。例えば、署名モジュール２２０は、第１の秘密鍵を用いてブロックチェーントランザクション値についてデジタル署名を生成するように構成されていることができる。幾つかの実施形態では、第１の秘密鍵は入力と共に署名モジュール２２０に提供され得る。他の実施形態では、署名モジュール２２０によって第１の秘密鍵を識別できるのであり、例えばクエリモジュール２１６に命令を提出すること等を介してこれをなし得るのであり、メモリ２１０上でクエリを実行して第１の秘密鍵を識別できる。
【００３７】
送信コンピューティング装置１０２はまた、送信装置２２２を含んでよい。送信装置２２２は１つ以上のネットワークプロトコルを介して１つ以上のネットワーク上でデータを送信するよう構成されてよい。いくつかの実施形態では、送信装置２２２はまた、受信コンピューティング装置１０４やブロックチェーンネットワーク１０８や他のエンティティへ、例えばＮＦＣや物理的接点やＬＡＮやBluetoothやＲＦやインターネット等を介してデータを送信するよう構成されてよい。いくつかの実施形態では、送信装置２２２は複数の装置（例えば、異なるネットワークを介してデータを送信するための異なる送信装置（例えばＬＡＮ上でデータを送信する第１の送信装置とインターネットを介してデータを送信する第２の送信装置））を含んでよい。送信装置２２２は、重畳されたデータであって受信コンピューティング装置によって解析されるデータを有するデータ信号を電子的に送信してよい。いくつかの実施形態では、送信装置２２２は、データを重畳しエンコードし、又はデータを送信に適したデータ信号へ整形する１つ以上のモジュールを含んでよい。
【００３８】
送信装置２２２は、受信コンピューティング装置１０４へとデータ信号を電子的に送信するように構成されていることができるのであり、これらには署名済みブロックチェーントランザクション値が重畳されているかその他の方法によってエンコーディングがなされている。送信装置２２２は、ブロックチェーンネットワーク１０８へとデータ信号を電子的に送信するように構成されていることができるのであり、オフラインブロックチェーントランザクションの処理を検証するために供するブロックチェーンデータを要求し得る。
【００３９】
オフラインブロックチェーントランザクション用の処理方法
図３Ａ及び３Ｂは、システム１００の送信コンピューティング装置１０２と受信コンピューティング装置１０４との間でのオフラインブロックチェーントランザクションについてのデータ移転についての処理方法について示す。
【００４０】
ステップ３０２では、送信コンピューティング装置１０２の表示装置２０８は、プロンプトを送信コンピューティング装置１０２のユーザに表示できるのであり、オフラインブロックチェーントランザクションについてのトランザクション価額をもたらし得るのであり、これを送信コンピューティング装置１０２へと供することができるのであってこれはそれとインタフェース接続された入力装置２０６を介してなされ得る。ステップ３０４では、受信コンピューティング装置１０４は仕向先アドレスを生成できるのであり、これはブロックチェーンネットワーク１０８のブロックチェーンアドレスたり得るのであり、これは通貨受領に関するのであり、これはオフラインブロックチェーントランザクションの一部たり得る。ステップ３０６では、受信コンピューティング装置１０４は仕向先アドレスを送信コンピューティング装置１０２へと電子的に送信することができる。ステップ３０８では、送信コンピューティング装置１０２は、例えば受信装置２０２を介して或いは入力装置２０６によってマシン可読コードを読み込むことを介して或いは他の適切な方法を介して、仕向先アドレスを受信することができる。
【００４１】
ステップ３１０では、送信コンピューティング装置１０２の生成モジュール２１８は、適切な鍵生成アルゴリズムを用いて第２の秘密鍵を生成することができる。ステップ３１２では、生成モジュール２１８は、オフラインブロックチェーントランザクションの結果として生じ得る任意の量の通貨を受領するための残余アドレスを生成できるのであり、これは第２の秘密鍵を用いて生成できる。ステップ３１４では生成モジュール２１８はブロックチェーントランザクション値を生成できる。トランザクション値は次の事項を少なくとも含み得る：通貨の発信元たる送信アドレス；仕向先アドレス及び通貨価額；並びに残余アドレス及びそこへと移転されるべき残余価額。一部の実施形態では、送信コンピューティング装置１０２の署名モジュール２２０は、適切な署名アルゴリズムを用いて第１の秘密鍵をもってブロックチェーントランザクション値にデジタル署名を付すことができる。
【００４２】
ステップ３１６では、送信コンピューティング装置１０２のクエリモジュール２１６は送信コンピューティング装置１０２のメモリ２１０上でクエリを実行して、そこに格納された第１の秘密鍵を削除できる。一部の実施形態では、クエリモジュール２１６はメモリ２１０内の第１の秘密鍵を第２の秘密鍵と置き換えることができる。ステップ３１８では、生成モジュール２１８はＱＲコード等のマシン可読コードを生成できるのであり、これに署名済みトランザクション値がエンコーディングされている。ステップ３２０では、送信コンピューティング装置１０２とインタフェース接続されている表示装置２０８は、マシン可読コードを表示できる。
【００４３】
ステップ３２２では、受信コンピューティング装置１０４は、（例えば、適切な光学撮像装置を用いて）マシン可読コードを読み込んで、そこからサイン済みブロックチェーン値を復号できる。ステップ３２４では受信コンピューティング装置１０４をブロックチェーンネットワーク１０８との接続性が確立されている場所へと移動させることができる。ステップ３２６では、受信コンピューティング装置１０４は署名済みブロックチェーントランザクションをブロックチェーンネットワーク１０８のブロックチェーンノード１０６へとアップロードでき、検証及びブロックチェーンへの追加のためにこれがなされ得るのであり、ネットワーク接続性が確立されたらば送信コンピューティング装置１０２によってこれを後に検証できる。
【００４４】
ブロックチェーン詳細事項のオフライン送信についての例示的方法
図４は、オフラインデータ交換機構を介して行われたブロックチェーントランザクション用のブロックチェーン詳細事項の送信についての方法４００を示すのであり、それは後続の処理及び関連付けられているブロックチェーンへの追加に関してなされるブロックチェーンネットワークへのアップローディングに関する。
【００４５】
ステップ４０２では、少なくとも第１の秘密鍵と通貨価額とをコンピューティング装置（例えば、送信コンピューティング装置１０２）のメモリ（例えば、メモリ２１０）内に格納し得る。ステップ４０４では、少なくとも、ブロックチェーンネットワーク（例えば、ブロックチェーンネットワーク１０８）と関連付けられている第１の仕向先アドレスと、トランザクション価額とが、コンピューティング装置の受信装置（例えば、受信装置２０２）によって受信され得る。ステップ４０６では、第２の秘密鍵を、鍵生成アルゴリズムを用いてコンピューティング装置の生成モジュール（例えば、生成モジュール２１８）によって生成し得る。ステップ４０８では、ブロックチェーンネットワークと関連付けられている第２の仕向先アドレスを、第２の秘密鍵を用いてコンピューティング装置の生成モジュールによって生成し得る。
【００４６】
ステップ４１０では、コンピューティング装置の生成モジュールによって、少なくとも、第１の仕向先アドレスと、トランザクション価額と、第２の仕向先アドレスと、通貨価額及びトランザクション価額に基づいた残余価額とを含むブロックチェーントランザクションを生成することができる。ステップ４１２では、第１の秘密鍵を用いてコンピューティング装置の署名モジュール（例えば、署名モジュール２２０）によって、生成されたブロックチェーントランザクションに署名を付し得る。ステップ４１４では、コンピューティング装置のクエリモジュール（例えば、クエリモジュール２１６）によってメモリ上でクエリを実行することができ、第１の秘密鍵を第２の秘密鍵で置換でき、第１の秘密鍵についての置換は第１の秘密鍵をコンピューティング装置から削除することを含む。ステップ４１６では、生成されたブロックチェーントランザクションを、コンピューティング装置の送信装置（例えば、送信装置２２２）によって電子的に送信できる。
【００４７】
１つの実施形態においては、生成されたブロックチェーントランザクションを送信するステップは、生成されたブロックチェーントランザクションがエンコードされたマシン可読コードを、コンピューティング装置にインタフェース接続された表示装置によって表示することを含む。更なる実施形態では、マシン可読コードはＱＲコードたり得る。一部の実施形態では、コンピューティング装置は、生成されたブロックチェーントランザクションの電子送信時において、インターネット接続を有していないかもしれない。１つの実施形態では、生成されたブロックチェーントランザクションの電子送信は、鍵ペアの第１の秘密鍵に対応する公開鍵を送信することを更に含み得る。
【００４８】
幾つかの実施形態では、第１の仕向先アドレスは、第２のコンピューティング装置（例えば、受信コンピューティング装置１０４）から受信されることができる。更なる実施形態では、生成されたブロックチェーントランザクションは、第２のコンピューティング装置へと電子的に送信され得る。更に述べる更なる実施形態では、第２のコンピューティング装置は、生成されたブロックチェーントランザクションの電子送信時において、インターネット接続を有していないかもしれない。
【００４９】
コンピュータシステムアーキテクチャ
図５は、コンピュータシステム５００を示す。そこにおいては、本開示の実施形態又はその一部が、コンピュータ可読コードとして実装されてよい。例えば図１の送信コンピューティング装置１０２は、ハードウェア、ソフトウェア、ファームウェア、格納された命令を有する非一時的なコンピュータ可読媒体、又はこれらの組合せを用いてシステム５００内に実装されてよく、１つ以上のコンピュータシステム又は他の処理システムにおいて実装されてよい。ハードウェア、ソフトウェア及びこれらの任意の組合せは、図３Ａ、３Ｂ、４の方法を実装するために使用されるモジュール及びコンポーネントを実現してよい。
【００５０】
プログラマブルロジックが使用される場合、そのようなロジックは、実行可能なソフトウェアコードで構成された商業的に利用可能な処理プラットフォーム上で実行され、特定用途装置又は特別目的装置となっていてよい（例えばプログラマブルロジックアレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）。当業者は、開示された事項についての実施形態が、様々なコンピュータシステム構成で実行可能であることを理解する。当該システム構成は、マルチコアのマルチプロセッサシステムと、ミニコンピュータと、メインフレームコンピュータと、分散された機能でリンクされ又はクラスタ化されたコンピュータと、実質的に殆どの任意の装置に実装可能な汎用（pervasive）又はミニチュアのコンピュータとを含む。例えば少なくとも１つのプロセッサ装置及びメモリが、上記実施形態を実装するために使用されてよい。
【００５１】
本開示のプロセッサユニット又は装置は、単一のプロセッサ、複数のプロセッサ、又はこれらの組合せであってよい。プロセッサ装置は、１以上のプロセッサ「コア」を有してよい。本開示の「コンピュータプログラム媒体」、「非一時的コンピュータ可読媒体」及び「コンピュータ使用可能媒体」との用語は、概して、有形の媒体（例えば取外し可能な記憶部５１８、取外し可能な記憶部５２２及びＨＤＤ５１２内にインストールされたハードディスク等）を指すために使用される。
【００５２】
本開示の様々な実施形態は、この例示的なコンピュータシステム５００に関して記述される。本開示を読んだ後、当業者にとって、他のコンピュータシステム及び／又はコンピュータアーキテクチャを用いて本開示をどのように実装するかは自明である。動作はシーケンシャルな処理として開示されるが、いくつかの動作は実際には、並行して、同時に及び／又は分散環境で、実行されてよい。このとき、プログラムコードは、単一プロセッサの又はマルチプロセッサのマシンによってアクセスするために、ローカルに又はリモートに格納された状態である。更に、いくつかの実施形態では、動作の順番は、開示される事項の趣旨を逸脱することなく再配置可能である。
【００５３】
プロセッサ装置５０４は、本開示の機能を実行するよう特別に構成された特定用途又は汎用プロセッサ装置であってよい。プロセッサ装置５０４は、バス、メッセージキュー、ネットワーク、マルチコアメッセージ引き渡しスキーム等の通信インフラストラクチャに接続されていることができる。ネットワークは、本開示の機能を実行するのに適した任意のネットワークであってよく、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク（例えばＷｉｆｉ（登録商標））、モバイル通信ネットワーク、衛星ネットワーク、インターネット、光ファイバ、同軸ケーブル、赤外線、無線周波数（ＲＦ）又はこれらの任意の組合せを含んでよい。他の適切なネットワークタイプ及び構成は、当業者にとって自明である。コンピュータシステム５００はまた、メインメモリ５０８（例えばランダムアクセスメモリ、読み取り専用メモリ等）を含んでよく、また、補助記憶装置５１０を含んでよい。補助記憶装置５１０は、ハードディスクドライブ５１２と取外し可能なストレージドライブ５１４（例えばフロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリ等）とを含んでよい。
【００５４】
取外し可能なストレージドライブ５１４は、周知の方法で、取外し可能なストレージユニット５１８から読み取りを行ってもよいし、及び／又は、そこへ書き込みを行ってもよい。取外し可能なストレージユニット５１８は、取外し可能なストレージドライブ５１４によって読み取られまた書き込まれることができる、取外し可能なストレージ媒体を含んでよい。例えばもし取外し可能なストレージドライブ５１４がフロッピーディスクドライブ又はＵＳＢポートであれば、取外し可能なストレージユニット５１８はそれぞれ、フロッピーディスク又はポータブルフラッシュドライブであってよい。１つの実施形態では、取外し可能なストレージユニット５１８は非一時的な読取り可能記録媒体であってよい。
【００５５】
いくつかの実施形態では、補助記憶装置５１０は代替手段を含み、コンピュータプログラム又は他の命令がコンピュータシステム５００（例えば取外し可能記憶部５２２及びインタフェース５２０）にロードされることを可能にしてよい。そのような手段の例は、（例えばビデオゲームシステムで見られる）プログラムカートリッジ及びカートリッジインタフェース、取外し可能なメモリチップ（例えばＥＥＰＲＯＭ、ＰＲＯＭ等）、関連ソケット、他の取外し可能な記憶部５２２及びインタフェース５２０を含んでよい。このことは当業者にとって自明である。
【００５６】
コンピュータシステム５００に（例えばメインメモリ５０８に及び／又は補助記憶装置５１０に）格納されたデータは、任意のタイプの適切なコンピュータ読取り可能な媒体（例えば光ストレージ（コンパクトディスク、デジタル多目的ディスク、Blu-ray（登録商標）ディスク等）又は磁気テープストレージ（例えばハードディスクドライブ））上に格納されてよい。データは任意のタイプの適切なデータベース構成（例えばリレーショナルデータベース、構造化照会言語（ＳＱＬ）データベース、分散データベース、オブジェクトデータベース等）で構成されてよい。適切な構成及びストレージタイプは、当業者にとって自明である。
【００５７】
コンピュータシステム５００はまた、通信インタフェース５２４を含んでよい。通信インタフェース５２４は、ソフトウェア及びデータが、コンピュータシステム５００と外部装置との間で送受信されることを可能にしてよい。例示的な通信インタフェース５２４は、モデム、ネットワークインタフェース（例えばイーサネットカード）、通信ポート、ＰＣＭＣＩＡスロット及びカード等を含んでよい。通信インタフェース５２４を介して転送されるソフトウェア及びデータは信号形式であってよい。当該信号形式は、電子の、電磁気の、光の、又は当業者にとって自明な他の信号のものであってよい。信号は、通信経路５２６を介して伝播する。当該経路は信号を搬送するよう構成され、電線、ケーブル、光ファイバ、電話線、携帯電話リンク、無線周波数リンク等を用いて実装されてよい。
【００５８】
コンピュータシステム５００は表示インタフェース５０２を更に含んでよい。表示インタフェース５０２は、データが、コンピュータシステム５００と外部ディスプレイ５３０との間で転送されることを可能にするよう構成されてよい。例示的な表示インタフェース５０２は、高精細度マルチメディアインタフェース（ＨＤＭＩ）、デジタルビジュアルインタフェース（ＤＶＩ）、ビデオグラフィックスアレイ（ＶＧＡ）等を含んでよい。ディスプレイ５３０は任意の適切なタイプのディスプレイであってよく、コンピュータシステム５００の表示インタフェース５０２を介して転送されるデータを表示する。ディスプレイ５３０は、陰極線管（ＣＲＴ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、静電容量方式タッチディスプレイ、薄膜トランジスタ（ＴＦＴ）ディスプレイ等を含む。
【００５９】
コンピュータプログラム媒体及びコンピュータ使用可能な媒体は、メモリ（例えばメインメモリ５０８及び補助記憶装置５１０）を指してよく、半導体メモリ（ＤＲＡＭ等）であってよい。これらのコンピュータプログラム製品は、コンピュータシステム５００へソフトウェアを提供するための手段であってよい。コンピュータプログラム（例えばコンピュータ制御ロジック）は、メインメモリ５０８及び／又は補助記憶装置５１０内に格納されてよい。コンピュータプログラムはまた、通信インタフェース５２４を介して受信されてよい。そのようなコンピュータプログラムは、実行されると、コンピュータシステム５００が本開示の方法を実行することを可能にしてよい。特に、コンピュータプログラムは、実行されると、プロセッサ装置５０４が図３Ａ、３Ｂ、及び４に示される本開示の方法を実行することを可能にしてよい。したがって、そのようなコンピュータプログラムはコンピュータシステム５００のコントローラを示す。本開示はソフトウェアを使用して実装される。当該ソフトウェアはコンピュータプログラム製品内に格納されていることができ、取外し可能なストレージドライブ５１４、インタフェース５２０、及びハードディスクドライブ５１２又は通信インタフェース５２４を用いてコンピュータシステム５００内へとロードされてよい。
【００６０】
プロセッサ装置５０４は、コンピュータシステム５００の機能を実行するよう構成される１つ以上のモジュール又はエンジンを含んでよい。各モジュール又はエンジンは、ハードウェアを用いて実装されてよく、いくつかの実施形態ではソフトウェア（例えばこれは、メインメモリ５０８又は補助記憶装置５１０に格納されるプログラムコード及び／又はプログラムに対応する）を用いてよい。そのような実施形態では、プログラムコードは、コンピュータシステム５００のハードウェアによる実行前に、プロセッサ装置５０４によって（例えばコンパイル用モジュール又はエンジンによって）コンパイルされてよい。例えばプログラムコードは、低レベルの言語へと翻訳されるプログラミング言語で記述されたソースコード（例えばアセンブリ言語又は機械コード）であってよい。これは、プロセッサ装置５０４及び／又はコンピュータシステム５００の任意の追加のハードウェア構成要素によって実行するためのものである。コンパイル処理は、語彙解析と、前処理と、構文解析と、意味解析と、文法指向の翻訳と、コード生成と、コード最適化と、コンピュータシステム５００の制御のためにプログラムコードを低レベルの言語へ翻訳して本開示の機能を実行するのに適した任意の他の技術との使用を含んでよい。そのような処理によってコンピュータシステム５００が、上記の機能を実行するために一意にプログラムされた特別構成コンピュータシステム５００になることは当業者にとって自明である。
【００６１】
本開示と一致している技術は、他の特徴もあるも、ブロックチェーン詳細事項のオフライン送信をなすためのシステム及び方法を提供する。本開示のシステム及び方法の様々な例示的実施形態が上述されるが、それらは限定目的でなく例示目的のみで示されることを理解されたい。それは網羅的でなく、本開示を、開示された形態そのものへ限定はしない。上記の教示に照らして修正例及び変形例が可能である。範疇又は範囲を逸脱すること無く、本開示の実装から修正例及び変形例が得られてよい。
【図１】
0006915078.tif 000002
【図２】
0006915078.tif 000003
【図３Ａ】
0006915078.tif 000004
【図３Ｂ】
0006915078.tif 000005
【図４】
0006915078.tif 000006
【図５】
0006915078.tif 000007