(57)【要約】【課題】指定用途以外での資産の使用を防止する情報処理システム等を提供すること。【解決手段】情報処理システムは、第１取引装置と、検証装置とがネットワークで接続されている。第１取引装置は、送付先と、第１の取引情報を識別する第１識別情報とを含む第２の取引情報を出力する第１出力部を有する。検証装置は、ブロックチェーンから、前記第１識別情報に基づいて第１の取引情報を抽出し、属性が記載されている場合に該属性を抽出する第１抽出部と、前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、該取引情報に属性が記載されている場合に該属性を抽出する第２抽出部と、前記第１抽出部が抽出した属性が、前記第２抽出部が抽出した属性に含まれない場合に、前記第１出力部が出力した第２の取引情報は正当ではないと判定する判定部とを有する。【選択図】図１１
2018116578.tif 000002
【特許請求の範囲】
【請求項１】
第１取引装置と、検証装置とがネットワークで接続された情報処理システムにおいて、
前記第１取引装置は、価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報をネットワークに出力する第１出力部を有し、
前記検証装置は、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、該第１の取引情報に属性が記録されている場合に該属性を抽出する第１抽出部と、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、該第３の取引情報に属性が記録されている場合に該属性を抽出する第２抽出部と、
前記第１抽出部が抽出した属性が、前記第２抽出部が抽出した属性に含まれない場合に、前記第１出力部が出力した第２の取引情報は正当ではないと判定する判定部とを有する
情報処理システム。
【請求項２】
前記第１抽出部は、前記第１識別情報に基づいて抽出した前記第１の取引情報から、さらに前記属性発行元を抽出する
請求項１に記載の情報処理システム。
【請求項３】
前記検証装置は、前記判定部が正当であると判定すると、前記第２の取引情報を前記ブロックチェーンに追加する追加部を有する請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記ブロックチェーンに記録された取引情報は取引時刻に関連するタイムスタンプを含み、
前記第２抽出部は、前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した取引情報を抽出し、抽出した取引情報に属性および該属性のキャンセルの両方が記録されている場合に、より新しいタイムスタンプを有する取引情報に記録されている属性または該属性のキャンセルを抽出する
請求項１から請求項３のいずれか一つに記載の情報処理システム。
【請求項５】
前記第１出力部は、前記第１の取引情報に含まれる価値を示す情報の属性および属性発行元とを更に含む前記第２の取引情報をネットワークに出力し、
前記検証装置は、前記属性および前記属性発行元が、前記第２抽出部が抽出した属性および属性発行元と一致する場合に、前記第１出力部が出力した取引情報が正当であると判定する第２判定部を有する
請求項２から請求項４のいずれか一つに記載の情報処理システム。
【請求項６】
前記ネットワークで接続された第２取引装置を備え、
前記第２取引装置は、受付可能な属性および属性発行元をネットワークに出力する第２出力部を有し、
前記第１取引装置は、前記第２出力部が出力した属性および属性発行元に基づいて前記第１識別情報を設定する
請求項２から請求項５のいずれか一つに記載の情報処理システム。
【請求項７】
前記第１取引装置は、
前記第２出力部が出力した属性および属性発行元を取得する第１取得部と、
前記第１取得部が取得した属性および属性発行元に基づいて、前記第２取引装置が受付可能な価値を示す適合資産の保有の有無を判定する適合判定部とを有する
請求項６に記載の情報処理システム。
【請求項８】
前記第１取引装置は、
前記適合判定部が適合資産を保有していると判定した場合に、前記適合資産に関する取引を識別する情報を前記第１識別情報に設定する
請求項７に記載の情報処理システム。
【請求項９】
前記第１取引装置は、
前記適合判定部が適合資産を保有していると判定した場合に、前記適合資産を表示する表示部と、
前記表示部が表示した適合資産の選択を受け付ける選択受付部とを有し、
前記選択受付部が適合資産の選択を受け付けた場合に、前記第１出力部は前記適合資産を入手した取引を識別する情報を前記第１識別情報に設定する
請求項７に記載の情報処理システム。
【請求項１０】
価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報を取得する対象取得部と、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、該第１の取引情報に属性が記録されている場合に該属性を抽出する第１抽出部と、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、該取引情報に属性が記録されている場合に該属性を抽出する第２抽出部と、
前記第１抽出部が抽出した属性が、前記第２抽出部が抽出した属性に含まれない場合に、取得した前記第２の取引情報は正当ではないと判定する判定部とを有する
検証装置。
【請求項１１】
第１取引装置は、価値を示す情報の送付先と該価値を示す情報を入手した取引を識別する第１識別情報とを含む前記第２の取引情報をネットワークに出力し、
前記第１取引装置とネットワークを介して接続された検証装置は、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、
該第１の取引情報に属性が記録されている場合に該属性である第１属性を抽出し、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、
該第３の取引情報に属性が記録されている場合に該属性である第２属性を抽出し、
前記第１属性が、前記第２属性に含まれない場合に、前記第１取引装置が出力した前記第２の取引情報は正当ではないと判定する
情報処理方法。
【請求項１２】
価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報を取得し、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、
該第１の取引情報に属性が記録されている場合に該属性である第１属性を抽出し、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、
該第３の取引情報に属性が記録されている場合に該属性である第２属性を抽出し、
前記第１属性が、前記第２属性に含まれない場合に、取得した前記第２の取引情報は正当ではないと判定する
処理をコンピュータに実行させる検証方法。
【請求項１３】
価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報を取得し、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、
該第１の取引情報に属性が記録されている場合に該属性である第１属性を抽出し、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、
該第３の取引情報に属性が記録されている場合に該属性である第２属性を抽出し、
前記第１属性が、前記第２属性に含まれない場合に、取得した前記第２の取引情報は正当ではないと判定する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、検証装置、情報処理方法、検証方法およびプログラムに関する。
【背景技術】
【０００２】
たとえばビットコイン（登録商標）等の、ブロックチェーン技術を用いた資産管理システムが提案されている（特許文献１）。また，ブロックチェーン技術以外の，分散データベース技術を用いた資産管理システムも提案されている（特許文献２から特許文献３）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−８１１３４号公報
【特許文献２】特開２０１５−２２８２４４号公報
【特許文献３】特開２００８−１６５８１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
人間同士が対面で行う取引においては、たとえば図書券、ビール券等の、用途を指定した金券が、贈答等の用途に利用されてきた。特許文献１から特許文献３には、図書券等のような用途を指定して他の用途への流用を防止した資産を、ネットワークを介して取引する方法については開示されていない。
【０００５】
一つの側面では、指定用途以外での資産の使用を防止する情報処理システム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
情報処理システムは、第１取引装置と、検証装置とがネットワークで接続された情報処理システムにおいて、前記第１取引装置は、価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報をネットワークに出力する第１出力部を有し、前記検証装置は、取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、該第１の取引情報に属性が記録されている場合に該属性を抽出する第１抽出部と、前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、該第３の取引情報に属性が記録されている場合に該属性を抽出する第２抽出部と、前記第１抽出部が抽出した属性が、前記第２抽出部が抽出した属性に含まれない場合に、前記第１出力部が出力した第２の取引情報は正当ではないと判定する判定部とを有する。
【発明の効果】
【０００７】
一つの側面では、指定用途以外での資産の使用を防止する情報処理システム等を提供することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの構成を示す説明図である。
【図２】検証装置の構成を示す説明図である。
【図３】第１取引装置および第１情報処理装置の構成を示す説明図である。
【図４】第３取引装置および第３情報処理装置の構成を示す説明図である。
【図５】第２取引装置の構成を示す説明図である。
【図６】用途発行装置の構成を示す説明図である。
【図７】取引ＤＢの構成を示す説明図である。
【図８】未検証情報の構成を示す説明図である。
【図９】取引情報群の構成を示す説明図である。
【図１０】送付情報の構成を示す説明図である。
【図１１】取引例を示す説明図である。
【図１２】第３情報処理装置が表示する画面を示す説明図である。
【図１３】第１情報処理装置が表示する画面を示す説明図である。
【図１４】プログラムの処理の流れを示すフローチャートである。
【図１５】送付処理のサブルーチンの処理の流れを示すフローチャートである。
【図１６】用途指定資産送付のサブルーチンの処理の流れを示すフローチャートである。
【図１７】検証装置のプログラムの処理の流れを示すフローチャートである。
【図１８】検証のサブルーチンの処理の流れを示すフローチャートである。
【図１９】実施の形態２の検証のサブルーチンの処理の流れを示すフローチャートである。
【図２０】実施の形態３の第１情報処理装置が表示する画面を示す説明図である。
【図２１】実施の形態３のプログラムの処理の流れを示すフローチャートである。
【図２２】実施の形態３の資産選択のサブルーチンの処理の流れを示すフローチャートである。
【図２３】実施の形態３の送付処理−２のサブルーチンの処理の流れを示すフローチャートである。
【図２４】実施の形態４の取引情報群の例を示す説明図である。
【図２５】実施の形態４の検証のサブルーチンの処理の流れを示すフローチャートである。
【図２６】実施の形態５の第１情報処理装置が表示する画面を示す説明図である。
【図２７】実施の形態５のプログラムの処理の流れを示すフローチャートである。
【図２８】実施の形態５の資産選択−２のサブルーチンの処理の流れを示すフローチャートである。
【図２９】実施の形態６の取引例を示す説明図である。
【図３０】実施の形態６の第１情報処理装置が表示する画面を示す説明図である。
【図３１】実施の形態６の検証のサブルーチンの処理の流れを示すフローチャートである。
【図３２】実施の形態７の取引例を示す説明図である。
【図３３】実施の形態８の取引情報群の例を示す説明図である。
【図３４】実施の形態８の検証のサブルーチンの処理の流れを示すフローチャートである。
【図３５】実施の形態９の情報処理システムの動作を示す機能ブロック図である。
【図３６】実施の形態１０の検証装置の構成を示す説明図である。
【発明を実施するための形態】
【０００９】
［実施の形態１］
図１は、情報処理システム１の構成を示す説明図である。情報処理システム１は、検証装置１０、用途発行装置４０、第１取引装置２１、第２取引装置３０および第３取引装置２３を備える。第１取引装置２１は、ネットワークを介して第１情報処理装置５１と通信可能である。第３取引装置２３は、ネットワークを介して第３情報処理装置５３と通信可能である。
【００１０】
情報処理システム１は、アカウント間の資産の移動を示す取引情報を作成し、検証し、正しい取引情報を後述するブロックチェーン６１（図７参照）に蓄積するシステムである。情報処理システム１を介して取引を行う個人および法人のアカウントには、それぞれ固有のＩＤ（IDentifier）が割り当てられている。
【００１１】
検証装置１０は、後述する検証作業を行う情報処理装置である。図１においては、１個の検証装置１０を記載するが、後述するように情報処理システム１には複数の検証装置１０が接続されており、それぞれの検証装置１０が検証作業を実行する。
【００１２】
用途発行装置４０は、後述する用途の発行を行う情報処理装置である。以下の説明においては、用途発行装置を使用する用途発行アカウントのＩＤを「ＺＺＺ」とする。
【００１３】
第２取引装置３０は、商品を販売する店舗を運営する情報処理装置である。以下の説明においては、第２取引装置３０を使用する店舗アカウントのＩＤを「ＢＢＢ」とする。第１取引装置２１および第３取引装置２３は、一般ユーザに対してブロックチェーン６１を用いた取引の取次サービスを提供する取次業者等が使用する情報処理装置である。
【００１４】
第１情報処理装置５１および第３情報処理装置５３は、一般ユーザが使用する情報処理装置である。以下の説明においては、第１情報処理装置５１を使用する第１アカウントのＩＤを「ＡＡＡ」とする。第１情報処理装置５１を使用するユーザは、第１取引装置２１を介してブロックチェーン６１を用いた取引を行う。第３情報処理装置５３を使用する第３アカウントのＩＤを「ＣＣＣ」とする。第３情報処理装置５３を使用するユーザは、第３取引装置２３を介してブロックチェーン６１を用いた取引を行う。
【００１５】
図２は、検証装置１０の構成を示す説明図である。検証装置１０は、検証ＣＰＵ（Central Processing Unit）１２、主記憶装置１３、補助記憶装置１４、通信部１５およびバスを備える。検証ＣＰＵ１２は、本実施の形態のプログラムを実行する演算制御装置である。検証ＣＰＵ１２には、一または複数のＣＰＵまたはマルチコアＣＰＵ等が使用される。検証ＣＰＵ１２は、バスを介して検証装置１０を構成するハードウェア各部と接続されている。
【００１６】
主記憶装置１３は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の記憶装置である。主記憶装置１３には、検証ＣＰＵ１２が行う処理の途中で必要な情報および検証ＣＰＵ１２で実行中のプログラムが一時的に保存される。
【００１７】
補助記憶装置１４は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置１４には、検証ＣＰＵ１２に実行させるプログラム、取引ＤＢ（Database）６０、およびプログラムの実行に必要な各種データが保存される。
【００１８】
通信部１５は、検証装置１０とネットワークとの間の通信を行うインターフェイスである。本実施の形態の検証装置１０は、汎用のパーソナルコンピュータ、大型計算機、スマートフォン、タブレット等の情報機器等である。また、本実施の形態の検証装置１０は、大型計算機上で動作する仮想マシンでも良い。
【００１９】
図３は、第１取引装置２１および第１情報処理装置５１の構成を示す説明図である。第１取引装置２１は、取次ＣＰＵ２１２、主記憶装置２１３、補助記憶装置２１４、通信部２１５およびバスを備える。取次ＣＰＵ２１２は、本実施の形態のプログラムを実行する演算制御装置である。
【００２０】
主記憶装置２１３、補助記憶装置２１４、通信部２１５およびバスについては、図２を使用して説明した検証装置１０の主記憶装置１３、補助記憶装置１４、通信部１５およびバスと同様であるので、説明を省略する。
【００２１】
本実施の形態の第１取引装置２１は、汎用のパーソナルコンピュータ、大型計算機、スマートフォン、タブレット等の情報機器等である。また、本実施の形態の第１取引装置２１は、大型計算機上で動作する仮想マシンでも良い。
【００２２】
第１情報処理装置５１は、第１ＣＰＵ５１２、主記憶装置５１３、補助記憶装置５１４、通信部５１５、表示部５１７、入力部５１８およびバスを備える。第１ＣＰＵ５１２は、本実施の形態のプログラムを実行する演算制御装置である。
【００２３】
補助記憶装置５１４は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置５１４には、第１情報処理装置５１４に実行させるプログラム、およびプログラムの実行に必要な各種データが保存される。表示部５１７は、たとえば液晶表示パネル、有機ＥＬ（Electro Luminescence）表示パネル等である。入力部５１８は、たとえば表示部５１８の表面に配置されたタッチセンサである。入力部５１８は、マウス、キーボート等であっても良い。
【００２４】
主記憶装置５１３、通信部５１５およびバスについては、図２を使用して説明した検証装置１０の主記憶装置１３、通信部１５およびバスと同様であるので、説明を省略する。
【００２５】
本実施の形態の第１情報処理装置５１は、汎用のパーソナルコンピュータ、スマートフォン、タブレット等の個人向けの情報機器等である。
【００２６】
図４は、第３取引装置２３および第３情報処理装置５３の構成を示す説明図である。第３取引装置２３は、取次ＣＰＵ２３２、主記憶装置２３３、補助記憶装置２３４、通信部２３５およびバスを備える。
【００２７】
取次ＣＰＵ２３２、主記憶装置２３３、補助記憶装置２３４、通信部２３５およびバスについては、図３を使用して説明した第１取引装置２１の取次ＣＰＵ２１２、主記憶装置２１３、補助記憶装置２１４、通信部２１５およびバスと同様であるので、説明を省略する。
【００２８】
本実施の形態の第３取引装置２３は、汎用のパーソナルコンピュータ、大型計算機、スマートフォン、タブレット等の情報機器等である。また、本実施の形態の第３取引装置２３は、大型計算機上で動作する仮想マシンでも良い。
【００２９】
第３情報処理装置５３は、第３ＣＰＵ５３２、主記憶装置５３３、補助記憶装置５３４、通信部５３５、表示部５３７、入力部５３８およびバスを備える。第３ＣＰＵ５３２は、本実施の形態のプログラムを実行する演算制御装置である。
【００３０】
主記憶装置５３３、補助記憶装置５３４、通信部５３５、表示部５３７、入力部５３８およびバスについては、図３を使用して説明した第１情報処理装置５１の主記憶装置５１３、補助記憶装置５１４、通信部５１５、表示部５１７、入力部５１８およびバスと同様であるので、説明を省略する。
【００３１】
本実施の形態の第３情報処理装置５３は、汎用のパーソナルコンピュータ、スマートフォン、タブレット等の個人向けの情報機器等である。
【００３２】
図５は、第２取引装置３０の構成を示す説明図である。第２取引装置３０は、店舗ＣＰＵ３２、主記憶装置３３、補助記憶装置３４、通信部３５、表示部３７、入力部３８およびバスを備える。店舗ＣＰＵ３２は、本実施の形態のプログラムを実行する演算制御装置である。
【００３３】
補助記憶装置３４は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置３４には、第２取引装置３０に実行させるプログラム取引ＤＢ６０、およびプログラムの実行に必要な各種データが保存される。
【００３４】
主記憶装置３３、通信部３５、表示部３７、入力部３８およびバスについては、図３を使用して説明した第１情報処理装置５１の主記憶装置５１３、通信部５１５、表示部５１７、入力部５１８およびバスと同様であるので、説明を省略する。
【００３５】
図６は、用途発行装置４０の構成を示す説明図である。用途発行装置４０は、用途発行ＣＰＵ４２、主記憶装置４３、補助記憶装置４４、通信部４５、表示部４７、入力部４８およびバスを備える。用途発行ＣＰＵ４２は、本実施の形態のプログラムを実行する演算制御装置である。
【００３６】
主記憶装置４３、補助記憶装置４４、通信部４５、表示部４７、入力部４８およびバスをついては、図５を使用して説明した第２取引装置３０の主記憶装置３３、補助記憶装置３４、通信部３５、表示部３７、入力部３８およびバスと同様であるので、説明を省略する。
【００３７】
図１に戻って説明を続ける。検証装置１０、用途発行装置４０、第１取引装置２１、第２取引装置３０および第３取引装置２３は、ピアツーピア接続により取引ＤＢ６０を随時同期する。
【００３８】
図７は、取引ＤＢ６０の構成を示す説明図である。取引ＤＢ６０は、正当性が確認されたブロック６４が連鎖したブロックチェーン６１と、未検証情報群６２とを含む。未検証情報群６２は、第１取引装置２１等から出力されたが、まだ検証とブロックチェーン６１への組み込みが完了していない取引情報である未検証情報６３を含む。
【００３９】
ブロック６４は、取引情報群６５、Ｎｏｎｃｅ６６およびハッシュ値６７を含む。取引情報群６５は、正当性が検証された取引情報の集合体である。取引情報群６５の詳細については後述する。ハッシュ値６７は、一つ前のブロック６４の情報を所定の手法により演算することにより求めた数値である。Ｎｏｎｃｅ６６は、自ブロック６４のハッシュ値６７が所定の条件を満足するように定められた定数である。
【００４０】
本実施の形態においては、検証ＣＰＵ１２は未検証情報群６２内の未検証情報６３を検証して取引情報群６５を作成した後に、条件を満たすＮｏｎｃｅ６６を算出することにより、ブロックチェーン６１に接続する新たなブロック６４を作成する。Ｎｏｎｃｅ６６およびハッシュ値６７により、ブロック６４は作成された順番にしたがって連鎖するブロックチェーン６１を形成する。
【００４１】
ブロックチェーン６１に組み込まれた後は、取引情報群６５の改竄は非常に困難である。また、取引に参加する者は、取引情報群６５を閲覧して過去の取引情報を確認することが可能である。これらの仕組みにより、取引の信頼性が担保される。
【００４２】
以上に説明したように、本実施の形態においてはＮｏｎｃｅ６６を算出する作業負荷により取引の信頼性を担保するいわゆるＰｏＷ（Proof of Work）方式のブロックチェーン６１を使用する。たとえば、多くの資産を持つアカウントが決定権を有することにより取引の信頼性を担保するいわゆるＰｏＳ（Proof of Stake）方式等、任意のアルゴリズムにより取引の信頼性を担保するブロックチェーン６１を使用することも可能である。
【００４３】
ブロックチェーン６１を使用するアカウントを信頼できるアカウントのみに制限すること、あるいは新たなブロック６４をブロックチェーン６１に接続する権限を特定のアカウントのみに制限すること等により、取引の信頼性を担保しても良い。
【００４４】
図８は、未検証情報６３の構成を示す説明図である。未検証情報６３は、第１取引装置２１等から取引ＤＢ６０に出力されたが、まだ検証とブロックチェーン６１への組み込みが完了していない取引情報である。
【００４５】
未検証情報６３は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールド、金額フィールド、第１識別情報フィールド、メモフィールドおよび受付時刻フィールドを有するＤＢである。それぞれの未検証情報６３は一つのレコードを有する。
【００４６】
第２識別情報フィールドには、各取引情報を識別する固有の取引ＩＤが記録されている。送付元ＩＤフィールドには、資産を送付した送付元のアカウントのＩＤが記録されている。送付先ＩＤフィールドには、資産の送付先のアカウントのＩＤが記録されている。
【００４７】
金額フィールドには、送信元のアカウントから送付先のアカウントに送付した、価値を示す情報として資産の額が記録されている。金額フィールドの単位には、日本円、米ドル、ユーロその他任意の法定通貨または独自に定めた通貨等を使用することが可能である。以下の説明においては資産の単位を「ポイント」とする。
【００４８】
第１識別情報フィールドには、第１識別情報が記録されている。第１識別情報は、送信元のアカウントが送付する資産を入手した取引を識別する取引ＩＤである。第１識別情報フィールドには、複数の取引ＩＤを記録することが可能である。ブロックチェーン６１に記録された取引ＩＤの連鎖により、資産の移動経路を確認することが可能である。したがって、取引ＩＤを使用することにより、入手経路ごとに資産を区別することが可能である。
【００４９】
メモフィールドには、資産の用途発行元、および属性として用途を記録することが可能である。用途発行元および用途の詳細については後述する。その他、メモフィールドには任意の情報を記録することが可能である。受付時刻フィールドには、未検証情報６３に関するタイムスタンプが記録される。タイムスタンプは、たとえば未検証情報６３が取引ＤＢ６０に追加された日時を示す。
【００５０】
図９は、取引情報群６５の構成を示す説明図である。取引情報群６５は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールド、金額フィールド、第１識別情報フィールド、メモフィールドおよび受付時刻フィールドを有するＤＢである。各フィールドに記録されているデータは、図８を使用して説明した未検証情報６３と同一であるので説明を省略する。取引情報群６５の一つのレコードは、一つの未検証情報６３に基づいて作成される。
【００５１】
ブロックチェーン６１を形成する各ブロック６４内の取引情報群６５は、同一のフィールド構成を有する。検証ＣＰＵ１２、取次ＣＰＵ２１２等の取引ＤＢ６０にアクセス可能な演算制御装置は、各ブロック６４内の取引情報群６５を纏めて一つのＤＢのように取り扱い、検索等の処理を行うことが可能である。
【００５２】
図１０は、送付情報の構成を示す説明図である。送付情報は、図１に示すように一般ユーザが使用する情報処理装置５１等から、取次業者等が使用する第１取引装置２１等に対して送付される情報である。送付情報には、情報処理装置５１のユーザが希望する取引の内容が記録されている。
【００５３】
送付情報は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールド、金額フィールド、メモフィールドおよび受付可能用途フィールドを有する。受付可能用途フィールドは、送付先ＩＤが資産を受け取ることが可能な用途に関する情報が記録されている。
【００５４】
受付可能フィールド以外の各フィールドに記録されているデータは、図８を使用して説明した未検証情報６３と同一であるので説明を省略する。それぞれの送付情報は一つのレコードを有する。
【００５５】
図１１は、取引例を示す説明図である。図１１は、図９に示す一連の取引の流れを説明する模式図である。用途発行アカウントは店舗である第２アカウントに書店相当の属性を与える取引を発行する。第３アカウントは第１アカウントに実世界の図書券相当の資産を与える取引を発行する。第１アカウントは、第３アカウントから入手した資産を用いて、第２アカウントに書籍購入に相当する取引を発行する。
【００５６】
前述のとおり、第２識別情報は、個々の取引情報を特定するための取引ＩＤを示す。図１１において、用途発行アカウントは、第２アカウントに対して取引ＩＤ「ＺＺＺ００２」の取引情報により資産を送付する。送付にあたり、用途発行アカウントが使用する用途発行ＣＰＵ４２は、第２識別情報フィールドに取引ＩＤである「ＺＺＺ００２」、金額フィールドに「１」、第１識別情報フィールドに「ＵＵＵ００１」メモフィールドに「ｂｏｏｋｓｈｏｐ」をそれぞれ記録する。
【００５７】
金額フィールドに記録された「１」は、この取引情報に基づいて用途発行アカウントが第２アカウントに対して１ポイントの資産を送付することを意味する。取引ＩＤ「ＺＺＺ００２」の取引情報で送付する資産の額は任意である。本実施の形態では、情報処理システム１が扱うことが可能な最小取引額の例として、１ポイントと設定した。
【００５８】
第１識別情報フィールドに記録された第１識別情報は、送付する資産の入手経路を識別する取引情報の取引ＩＤを示す。図１１においては、用途発行アカウントは、第３者から取引ＩＤ「ＵＵＵ００１」の取引情報に基づいて入手した資産を第２アカウントに対する支払に使用する。以下の説明では、支払に使用する資産を元資産という。第１識別情報フィールドには、元資産に関する取引ＩＤが記録されている。
【００５９】
メモフィールドに記録されたメモは、用途発行アカウントが第２アカウントに対して「ｂｏｏｋｓｈｏｐ」の用途を発行することを意味する。用途の発行を受けた第２アカウントは、メモフィールドに用途発行元「ＺＺＺ」と用途「ｂｏｏｋｓｈｏｐ」とを連結した「ＺＺＺ，ｂｏｏｋｓｈｏｐ」が記録された取引情報に基づいて、資産を受け取ることができる。
【００６０】
第１識別情報には、複数の取引ＩＤを指定することが可能である。したがって、複数の少額取引により入手した資産をまとめて高額取引の支払にあてることが可能である。
【００６１】
取引ＩＤ「ＺＺＺ００２」の取引情報は、検証ＣＰＵ１２によって検証されて、ブロックチェーン６１に加えられることにより有効となる。取引情報が有効になる際に、送付元のアカウントは取引手数料を支払う。取引手数料は、検証を行ったアカウントに対する報酬等、情報処理システム１の運用経費に使用される。
【００６２】
取引手数料も取引情報群６５に記録されるが、図９においては記載を省略する。なお、取引手数料は資産を受け取る送付先のアカウントが負担しても良い。検証ＣＰＵ１２は、送付元のアカウントが送付する資産から取引手数料を減額した資産を送付先のアカウントに送付しても良い。取引手数料以外に情報処理システム１を運営する経費の原資が存在する場合には、取引手数料は無償でも良い。
【００６３】
取引ＩＤ「ＺＺＺ００２」の取引情報がブロックチェーン６１に加えられることにより、用途発行アカウントが、第２アカウントに対して「ｂｏｏｋｓｈｏｐ」の用途を発行したことがブロックチェーン６１に記録される。
【００６４】
第３アカウントが、第１アカウントに対して、取引ＩＤ「ＣＣＣ０１０」の取引情報により５００ポイントの資産を送付する。送付にあたり、第３アカウントが使用する第３ＣＰＵ５３２は、メモフィールドに「ＺＺＺ，ｂｏｏｋｓｈｏｐ」と記録する。なお、第３ＣＰＵ５３２は、メモフィールドに用途発行元と用途との組合せを複数記録しても良い。
【００６５】
メモフィールドに記録された「ＺＺＺ，ｂｏｏｋｓｈｏｐ」は、ＩＤが「ＺＺＺ」であるアカウントにより、「ｂｏｏｋｓｈｏｐ」の用途の発行を受けたアカウントに対する支払に使用できる資産であることを意味する。以下の説明においては、このように用途が指定された資産を用途指定資産という。
【００６６】
取引ＩＤ「ＣＣＣ０１０」の取引情報は、検証ＣＰＵ１２によって検証されて、ブロックチェーン６１に加えられることにより有効となる。図１１においては、第１アカウントは５００ポイントの資産を受け取る。第３アカウントは５００ポイントに取引手数料を加えた資産を支払う。
【００６７】
第１アカウントは、第２アカウントに対して、取引ＩＤ「ＡＡＡ１００」の取引情報により５００ポイントの資産を送付する。送付にあたり、第１アカウントが使用する取次ＣＰＵ２１２は、第１識別情報フィールドに「ＣＣＣ０１０」の取引ＩＤを指定する。この指定は、第１アカウントは取引ＩＤ「ＣＣＣ０１０」の取引情報により受け取った用途指定資産を元資産にすることを意味する。
【００６８】
前述のとおり、第２アカウントは、用途発行アカウント「ＺＺＺ」により「ｂｏｏｋｓｈｏｐ」の用途の発行を受けている。したがって、第２アカウントは元資産に取引ＩＤ「ＣＣＣ０１０」の用途指定資産を指定した、「ＡＡＡ１００］の取引情報に基づく資産を受け取ることができる。
【００６９】
取引ＩＤ「ＡＡＡ０１０」の取引情報は、検証ＣＰＵ１２によって検証されて、ブロックチェーン６１に加えられることにより有効となる。図１１においては、第２アカウントは５００ポイントの資産を受け取る。第３アカウントは５００ポイントに取引手数料を加えた資産を支払う。
【００７０】
なお、第２アカウントが用途発行アカウント「ＺＺＺ」により「ｂｏｏｋｓｈｏｐ」の用途の発行を受けていない場合には、検証ＣＰＵ１２は、取引ＩＤ「ＡＡＡ１００」の取引情報は不正であると判定する。取引情報は、ブロックチェーン６１に加えられず、有効とならない。そのため、第１アカウントと第２アカウントとの間の取引は成立しない。
【００７１】
以上により、第３アカウントは、たとえば図書券のような用途を指定した用途指定資産を第１アカウントに送付することができる。第１アカウントは、第３アカウントにより指定された用途と異なる用途に、用途指定資産を流用することができない。
【００７２】
第３アカウントが用途発行アカウントを兼ねても良い。すなわち、第３アカウントは、メモフィールドに「ｂｏｏｋｓｈｏｐ」と記録した取引情報により、資産を第２アカウントに送付する。この取引情報により、第３アカウントが第２アカウントに「ｂｏｏｋｓｈｏｐ」の用途を発行したことがブロックチェーン６１に記録される。
【００７３】
第３アカウントは、メモフィールドに「ＣＣＣ，ｂｏｏｋｓｈｏｐ」と記録した取引情報により、資産を第１アカウントに送付する。この取引情報により、第３アカウントは自らが指定した店舗でのみ使用できる用途指定資産を第１アカウントに送ることが可能である。
【００７４】
第２アカウントが、用途発行アカウントを兼ねても良い。すなわち、第２アカウントは、メモフィールドに「ｂｏｏｋｓｈｏｐ」と記録した取引情報により、資産を第２アカウント自身に送付する。この取引情報により、第２アカウント自身が第２アカウントに「ｂｏｏｋｓｈｏｐ」の用途を発行したことがブロックチェーン６１に記録される。
【００７５】
さらに、第２アカウントが第３アカウントを兼ねても良い。第２アカウントは、メモフィールドに「ＢＢＢ，ｂｏｏｋｓｈｏｐ」と記録した取引情報により、資産を第１アカウントに送付する。この取引情報により、第２アカウントは自らの店舗でのみ使用できる資産を第１アカウントに送ることが可能である。すなわち、第２アカウントは、自店専用のクーポン券のように使用できる資産を第１アカウントに送ることが可能である。
【００７６】
図１に戻って説明を続ける。前述のとおり、情報処理システム１には複数の検証装置１０が接続されている。用途発行装置４０、第１取引装置２１、第２取引装置３０、および第３取引装置２３は、検証装置１０を兼ねても良い。本実施の形態においては、複数の検証装置１０が並行して検証を行い、条件を満たすＮｏｎｃｅ６６を最も早く算出した検証装置１０が新たなブロック６４をブロックチェーン６１に加える。
【００７７】
図１２は、第３情報処理装置５３が表示部５３７に表示する画面を示す説明図である。図１２に示す画面は、送付先欄８１、金額欄８２、用途指定欄８３およびＯＫボタン８４を含む。送付先欄８１は送付先名欄８１１および送付先ＩＤ欄８１２を含む。用途指定欄８３は、複数のボタンを含む。
【００７８】
第３ＣＰＵ５３２は、送付先名欄８１１を介して、資産を送付する送付先名の入力を受け付ける。第３ＣＰＵ５３２は、たとえば第３情報処理装置５３の補助記憶装置５３４に記憶されたアドレス帳等を参照して、送付先名に対応する送付先ＩＤを取得し、送付先ＩＤ欄８１２に表示する。第３ＣＰＵ５３２は、金額欄８２を介して、送付先に送る資産の額の入力を受け付ける。
【００７９】
第３ＣＰＵ５３２は、用途指定欄８３を介して送付する資産の用途を受け付ける。用途指定欄８３で「指定無し」が選択された場合には、第３ＣＰＵ５３２は用途を指定しない資産を送付する。以下の説明では用途を指定しない資産を通常資産という。第３ＣＰＵ５３２は、用途指定欄８３を介して複数の用途を受け付けても良い。
【００８０】
ＯＫボタン８４の選択を受け付けた場合、第３ＣＰＵ５３２は、資産の送付に関する情報の入力が終了したと判定する。
【００８１】
図１３は、第１情報処理装置５１が表示部５１７に表示する画面を示す説明図である。図１３は、ネットワークを介して買い物を行ういわゆるネットショッピングにおいて、第１アカウントが第２アカウントの店舗から商品を購入する際に第１ＣＰＵ５１２が表示する決済画面の例である。
【００８２】
図１３に示す画面は、送付先欄８１、受付可能用途欄８５、金額欄８２およびＯＫボタン８４を含む。送付先欄８１は送付先名欄８１１および送付先ＩＤ欄８１２を含む。
【００８３】
第１ＣＰＵ５１２は、ネットワークを介して店舗ＣＰＵ３２から取得した情報を、送付先欄８１、受付可能用途欄８５および金額欄８２に表示する。送付先欄８１には、第２アカウントの情報が表示されている。
【００８４】
受付可能用途欄８５には、第２アカウントが受け取ることが可能な資産の用途が表示されている。第２アカウントが複数の用途の発行を受けている場合には、受付可能用途欄８５には、複数の用途が表示される。金額欄８２には、第１アカウントが購入しようとする商品の代金が表示されている。
【００８５】
ＯＫボタン８４の選択を受け付けた場合、第１ＣＰＵ５１２は、資産の送付処理を行うことが第１アカウントにより承認されたと判定する。
【００８６】
図１４は、プログラムの処理の流れを示すフローチャートである。図１４を使用して、本実施の形態の処理の流れを説明する。なお、第１ＣＰＵ５１２と第３ＣＰＵ５３２とは、同一のプログラムを実行する。同様に、取次ＣＰＵ２１２と、取次ＣＰＵ２３２とは、同一のプログラムを実施する。図１４においては第１ＣＰＵ５１２と取次ＣＰＵ２１２とが実行する場合を例にして説明する。
【００８７】
ユーザによる入力に基づいて、第１ＣＰＵ５１２は、買い物を行うか否かを判定する（ステップＳ５０１）。買い物を行うと判定した場合（ステップＳ５０１でＹＥＳ）、第１ＣＰＵ５１２は、店舗ＣＰＵ３２に対してたとえばインターネットを介して商品情報の要求を送信する（ステップＳ５０２）。
【００８８】
店舗ＣＰＵ３２は、ネットワークを介して要求を受信する（ステップＳ６０１）。店舗ＣＰＵ３２は、商品情報を送信する（ステップＳ６０２）。第１ＣＰＵ５１２は、商品情報を受信して、表示部５１７に表示する（ステップＳ５０４）。
【００８９】
第１ＣＰＵ５１２は、ユーザによる商品の選択を受け付け、店舗ＣＰＵ３２に情報を送信する（ステップＳ５０５）。店舗ＣＰＵ３２は、選択された商品に関する情報を受信する（ステップＳ６０４）。店舗ＣＰＵ３２は、選択された商品の価格等に基づいて支払情報を作成して、第１ＣＰＵ５１２に送信する（ステップＳ６０５）。支払情報は、代金の送付先名、送付先ＩＤ、第２アカウントが受付可能な用途および請求金額を含む。
【００９０】
第１ＣＰＵ５１２は、支払情報を受信する（ステップＳ５０７）。第１ＣＰＵ５１２は、図１３を使用して説明した決済画面を表示部５１７に表示する（ステップＳ５０８）。第１ＣＰＵ５１２はユーザによるＯＫボタン８４の選択を取得する（ステップＳ５０９）。
【００９１】
買い物を行わない判定した場合（ステップＳ５０１でＮＯ）、第１ＣＰＵ５１２は図１２を使用して説明した送付画面を表示する（ステップＳ５１１）。第１ＣＰＵ５１２は、送付先ＩＤ等の送付内容を取得する（ステップＳ５１２）。
【００９２】
ステップＳ５０９またはステップＳ５１２の終了後、第１ＣＰＵ５１２は図１０を使用して説明した送付情報を取次ＣＰＵ２１２に送信する（ステップＳ５１５）。取次ＣＰＵ２１２は、送付情報を取得する（ステップＳ７０１）。
【００９３】
取次ＣＰＵ２１２は、送付処理のサブルーチンを起動する（ステップＳ７０２）。送付処理のサブルーチンは、送付情報に基づいて未検証情報６３を作成し、取引ＤＢ６０に記録するサブルーチンである。送付処理のサブルーチンの処理の流れは後述する。
【００９４】
取次ＣＰＵ２１２は、送付処理のサブルーチンの処理結果に基づいて、後述する変数「送付結果」を第１ＣＰＵ５１２に送信する（ステップＳ７０３）。第１ＣＰＵ５１２は、変数「送付結果」の結果を受信する（ステップＳ５１７）。第１ＣＰＵ５１２は、変数「送付結果」に基づいて送付処理の結果を表示部５１７に表示する（ステップＳ５１８）。第１ＣＰＵ５１２は、その後処理を終了する。
【００９５】
店舗ＣＰＵ３２は、ステップＳ６０５の終了後、取次ＣＰＵ２１２がステップＳ７０２の送付処理のサブルーチンで処理した未検証情報６３がブロックチェーン６１に組み込まれるのに十分な時間、タイマーにより待機する（ステップＳ６０７）。店舗ＣＰＵ３２は、ブロックチェーン６１を参照して、第１ＣＰＵ５１２からの資産の送付がブロックチェーン６１に記録されていることを確認する（ステップＳ６０８）。
【００９６】
ステップＳ６０８で資産の送付が記録されている場合には、店舗ＣＰＵ３２は受注が完了したと判定し、商品の発送等の受注処理を行う。ステップＳ６０８で資産の送付が記録されていない場合には、店舗ＣＰＵ３２は第１ＣＰＵ５１２による発注は行われなかったと判定し、受注処理を行わない。
【００９７】
図１５は、送付処理のサブルーチンの処理の流れを示すフローチャートである。送付処理のサブルーチンは、送付情報に基づいて未検証情報６３を作成し、取引ＤＢ６０に記録するサブルーチンである。図１５を使用して、送付処理のサブルーチンの処理の流れを説明する。
【００９８】
取次ＣＰＵ２１２は、ブロックチェーン６１に記録された取引情報群６５を検索して、送付元ＩＤフィールドまたは送付先ＩＤフィールドに第１ＣＰＵ５１２のユーザのＩＤが記録されている取引情報を抽出する（ステップＳ７１１）。
【００９９】
取次ＣＰＵ２１２は、抽出した取引情報の第１識別情報フィールドに記録されたデータと第２識別情報フィールドに記録されたデータとを対比して、第１ＣＰＵ５１２のユーザが保有している未使用資産を抽出する（ステップＳ７１２）。具体的には、取次ＣＰＵ２１２は、第１ＣＰＵ５１２のユーザが送付先に指定されている取引情報から、第１ＣＰＵ５１２のユーザが他者に資産を送付した取引情報の第１識別情報フィールドに取引ＩＤを記録済の取引情報を除去する。残った取引情報により第１ＣＰＵ５１２のユーザが入手した資産が、未使用資産である。
【０１００】
取次ＣＰＵ２１２は、第１ＣＰＵ５１２から取得した送付情報の受付可能用途フィールドに、受付可能用途が記録されているか否かを判定する（ステップＳ７１３）。受付可能用途が記録されていると判定した場合（ステップＳ７１３でＹＥＳ）、取次ＣＰＵ２１２はステップＳ７１２で抽出した未使用資産からメモフィールドに用途が記録された用途指定資産を抽出する（ステップＳ７１４）。
【０１０１】
取次ＣＰＵ２１２は、送付情報に記録されている受付可能用途と、ステップＳ７１４で抽出した用途指定資産の用途とが一致するか否かを判定する（ステップＳ７１５）。以下の説明では、受付可能用途と一致する用途が指定された用途指定資産を適合資産という。適合資産は、送付先が受け取り可能な用途指定資産である。
【０１０２】
一致すると判定した場合（ステップＳ７１５でＹＥＳ）、すなわち適合資産があると判定した場合、取次ＣＰＵ２１２は、用途指定資産送付のサブルーチンを起動する（ステップＳ７１６）。用途指定資産送付のサブルーチンは、適合資産の取引ＩＤを第１識別情報フィールドに記録した未検証情報６３を作成して、取引ＤＢ６０に記録するサブルーチンである。用途指定資産送付のサブルーチンの処理の流れは後述する。その後、取次ＣＰＵ２１２は処理を終了する。
【０１０３】
受付可能用途が記録されていないと判定した場合（ステップＳ７１３でＮＯ）または適合資産が存在しないと判定した場合（ステップＳ７１５でＮＯ）、取次ＣＰＵ２１２はステップＳ７１２で抽出した未使用資産のうち、用途が指定されていない通常資産を抽出して合計を算出する（ステップＳ７２１）。
【０１０４】
取次ＣＰＵ２１２は、送付情報の金額フィールドに記録された金額と、ステップＳ７２１で算出した合計とを比較し、保有する資産が足りるか否かを判定する（ステップＳ７２２）。この際、取次ＣＰＵ２１２は、必要な手数料額も加味して判定を行う。
【０１０５】
足りると判定した場合（ステップＳ７２２でＹＥＳ）、取次ＣＰＵ２１２は通常資産の中から元資産を選択する（ステップＳ７２３）。この際、取次ＣＰＵ２１２は、送付情報の金額フィールドに記録された金額以上となるように、元資産を選択する。
【０１０６】
取次ＣＰＵ２１２は、未検証情報６３を作成して、取引ＤＢ６０に記録する（ステップＳ７２４）。この際、取次ＣＰＵ２１２は、未検証情報６３の第１識別情報フィールドにステップＳ７２３で選択した元資産に対応する取引ＩＤを記録する。取次ＣＰＵ２１２は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールドおよびメモフィールドには、送付情報と同一の情報を記録する。取次ＣＰＵ２１２は、未検証情報６３の受付時刻フィールドに未検証情報を取引ＤＢ６０に記録する時刻のタイムスタンプを記録する。
【０１０７】
取次ＣＰＵ２１２は、変数「送付結果」に「完了」と記録する（ステップＳ７２５）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１０８】
足りないと判定した場合（ステップＳ７２２でＮＯ）、取次ＣＰＵ２１２は、変数「送付結果」に「資産不足」と記録する（ステップＳ７２７）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１０９】
図１６は、用途指定資産送付のサブルーチンの処理の流れを示すフローチャートである。用途指定資産送付のサブルーチンは、適合資産を元資産に指定する未検証情報６３を作成して、取引ＤＢ６０に記録するサブルーチンである。図１６を使用して、用途指定資産送付のサブルーチンの処理の流れを説明する。
【０１１０】
取次ＣＰＵ２１２は、適合資産に対応する取引ＩＤを変数「元資産」に記録する。（ステップＳ７３１）。取次ＣＰＵ２１２は、送付情報の金額フィールドに記録された金額と、ステップＳ７３１で記録した適合資産の合計とを比較し、資産が足りるか否かを判定する（ステップＳ７３２）。
【０１１１】
足りないと判定した場合（ステップＳ７３２でＮＯ）、取次ＣＰＵ２１２は、未使用資産のうち、用途が指定されていない通常資産を抽出し、合計を算出する（ステップＳ７４１）。
【０１１２】
取次ＣＰＵ２１２は、ステップＳ７３２で足りないと判定した金額とステップＳ７２１で算出した合計値とを比較し、保有する資産が足りるか否かを判定する（ステップＳ７４２）。足りると判定した場合（ステップＳ７４２でＹＥＳ）、取次ＣＰＵ２１２は通常資産の中から、追加する元資産を選択する（ステップＳ７４３）。取次ＣＰＵ２１２は、変数「元資産」に選択した元資産に対応する取引ＩＤを追加する（ステップＳ７４４）。
【０１１３】
ステップＳ７４４の終了後、および足りると判定した場合（ステップＳ７３２でＹＥＳ）、取次ＣＰＵ２１２は、未検証情報６３を作成し、取引ＤＢ６０に記録する（ステップＳ７３３）。この際、取次ＣＰＵ２１２は、未検証情報６３の第１識別情報フィールドに変数「元資産」に対応する取引ＩＤを記録する。取次ＣＰＵ２１２は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールドおよびメモフィールドには、送付情報と同一の情報を記録する。取次ＣＰＵ２１２は、未検証情報６３の受付時刻フィールドに未検証情報を取引ＤＢ６０に記録する時刻のタイムスタンプを記録する。
【０１１４】
取次ＣＰＵ２１２は、変数「送付結果」に「完了」と記録する（ステップＳ７３４）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１１５】
通常資産が足りないと判定した場合（ステップＳ７４２でＮＯ）、取次ＣＰＵ２１２は、変数「送付結果」に「資産不足」と記録する（ステップＳ７４６）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１１６】
図１７は、検証装置１０のプログラムの処理の流れを示すフローチャートである。検証ＣＰＵ１２は、カウンタＩを初期値１に設定する（ステップＳ８０１）。検証ＣＰＵ１２は、未検証情報群６２からＩ番目の未検証情報６３を取得する（ステップＳ８０２）。
【０１１７】
検証ＣＰＵ１２は、検証のサブルーチンを起動する（ステップＳ８０３）。検証のサブルーチンは、未検証情報６３に正しい情報が記録されているか否かを検証するサブルーチンである。検証のサブルーチンの処理の流れは後述する。
【０１１８】
検証ＣＰＵ１２は、未検証情報６３の検証を終了するか否かを判定する（ステップＳ８０４）。たとえば、所定の数の未検証情報６３の検証を行った場合、または所定の時刻に到達した場合等に、検証ＣＰＵ１２は終了すると判定する。終了しないと判定した場合（ステップＳ８０４でＮＯ）、検証ＣＰＵ１２はカウンタＩに１を加算する（ステップＳ８０５）。検証ＣＰＵ１２はステップＳ８０２に戻る。
【０１１９】
終了すると判定した場合（ステップＳ８０４でＹＥＳ）、検証ＣＰＵ１２は正しい情報が記録されていると判定した未検証情報６３を纏めて取引情報群６５を作成する（ステップＳ８１０）。検証ＣＰＵ１２は、取引情報群６５に纏めた未検証情報６３を未検証情報群６２から削除する。
【０１２０】
検証ＣＰＵ１２は、ブロックチェーン６１の最終のブロック６４のハッシュ値６７を算出する（ステップＳ８１１）。検証ＣＰＵ１２は、Ｎｏｎｃｅ６６の値を設定する（ステップＳ８１２）。検証ＣＰＵ１２は、ステップＳ８１０で作成した取引情報群６５、ステップＳ８１１で算出したハッシュ値６７およびステップＳ８１２で設定したＮｏｎｃｅ６６に基づいて、新しいブロック６４のハッシュ値６７を算出する（ステップＳ８１３）。
【０１２１】
検証ＣＰＵ１２は、算出したハッシュ値６７が所定の条件を満たすことに成功しているか否かを判定する（ステップＳ８１４）。成功していると判定した場合（ステップＳ８１４でＹＥＳ）、検証ＣＰＵ１２は自らが一番目の成功者であるか否かを判定する（ステップＳ８１５）。
【０１２２】
一番であると判定した場合（ステップＳ８１５でＹＥＳ）、検証ＣＰＵ１２は、ステップＳ８１０で作成した取引情報群６５、ステップＳ８１１で算出したハッシュ値６７およびステップＳ８１２で設定したＮｏｎｃｅ６６を記録した新しいブロック６４を作成する（ステップＳ８１６）。検証ＣＰＵ１２は、作成したブロック６４を取引ＤＢ６０に記録する（ステップＳ８１７）。検証ＣＰＵ１２は、その後処理を終了する。一番ではないと判定した場合（ステップＳ８１５でＮＯ）、検証ＣＰＵ１２は処理を終了する。
【０１２３】
成功していないと判定した場合（ステップＳ８１４でＮＯ）、検証ＣＰＵ１２は他の検証装置が成功済であるか否かを判定する（ステップＳ８２１）。成功済であると判定した場合（ステップＳ８２１でＹＥＳ）、検証ＣＰＵ１２は処理を終了する。成功済でないと判定した場合（ステップＳ８２１でＮＯ）、検証ＣＰＵ１２はステップＳ８１２に戻る。
【０１２４】
図１８は、検証のサブルーチンの処理の流れを示すフローチャートである。検証のサブルーチンは、未検証情報６３に正しい取引情報が記録されているか否かを検証するサブルーチンである。図１８を使用して、検証のサブルーチンの処理の流れを説明する。
【０１２５】
検証ＣＰＵ１２は、電子署名等を参照して未検証情報６３が不正な情報でないことを確認する。検証ＣＰＵ１２は、未検証情報６３の第１識別情報フィールドに記録された取引ＩＤをキーとして取引情報群６５の第２識別情報フィールドを検索し、元資産が送付された際の取引情報を抽出する（ステップＳ８４１）。なお、第１識別情報フィールドに複数の取引ＩＤが記録されている場合には、検証ＣＰＵ１２はそれぞれ取引ＩＤに対応する取引情報を抽出する。
【０１２６】
検証ＣＰＵ１２は、未検証情報６３の送付元ＩＤフィールドに記録された送付元のアカウントが、未検証情報６３の第１識別情報フィールドに記録された元資産を保有しているか否かを判定する（ステップＳ８４２）。
【０１２７】
具体的には、検証ＣＰＵ１２は、ステップＳ８４１で抽出した取引情報の送付先ＩＤが未検証情報６３の送付元ＩＤと一致しているか否かを判定する。一致している場合は、送付元のアカウントが元資産を受け取った履歴があることを意味する。
【０１２８】
一致していると判定した場合、検証ＣＰＵ１２は同じ取引ＩＤを第１識別情報フィールドに記録した取引情報が、ブロックチェーン６１に記録されている否かを判定する。記録されている場合、元資産は既に他の支払に使用済であり、送付元のアカウントが保有していないことを意味する。
【０１２９】
ブロックチェーン６１に記録されていないと判定した場合、検証ＣＰＵ１２は送付元のアカウントが第１識別情報フィールドに記録された取引ＩＤに対応する資産を保有していると判定する。
【０１３０】
第１識別情報フィールドに複数の取引ＩＤが指定されている場合には、検証ＣＰＵ１２はそれぞれの取引ＩＤについて同様の検証を行う。
【０１３１】
送付元のアカウントが第１識別情報フィールドに記録された取引ＩＤに対応する資産を保有していると判定した場合（ステップＳ８４２でＹＥＳ）、検証ＣＰＵ１２は資産が足りているか否かを判定する（ステップＳ８４３）。具体的には、検証ＣＰＵ１２は、ステップＳ８４１で抽出した取引情報の金額フィールドに記録された値の合計が、未検証情報６３の金額フィールドに記録された値以上である場合に、資産が足りると判定する。
【０１３２】
送付元のアカウントがステップＳ８４１で抽出した資産を保有していないと判定した場合（ステップＳ８４２でＮＯ）、または資産が足りないと判定した場合（ステップＳ８４３でＮＯ）、検証ＣＰＵ１２は変数「判定」に「不可」と記録する（ステップＳ８５４）。その後、検証ＣＰＵ１２は処理を終了する。
【０１３３】
資産が足りると判定した場合（ステップＳ８４３でＹＥＳ）、検証ＣＰＵ１２はステップＳ８４１で抽出した取引情報が用途指定資産を示すか否かを判定する（ステップＳ８４４）。具体的には、抽出した取引情報のメモフィールドに用途発行元および用途が記録されている場合、検証ＣＰＵ１２は抽出した取引情報は用途指定資産を示すと判定する。
【０１３４】
なお、ステップＳ８４１で複数の取引情報を抽出した場合には、そのうちの一つのメモフィールドに用途発行元および用途が記録されている場合、検証ＣＰＵ１２は用途指定資産を示すと判定する。
【０１３５】
用途指定資産を示すと判定した場合（ステップＳ８４４でＹＥＳ）、検証ＣＰＵ１２はステップＳ８４１で抽出した取引情報のメモフィールドから用途発行元および元資産の用途である第１用途を抽出する（ステップＳ８４５）。ここで、元資産の用途発行元は、メモフィールドに記録された用途発行元のアカウントのＩＤである。第１用途は、メモフィールドに記録された用途である。第１用途は、用途指定資産に対して指定された用途を意味する。
【０１３６】
検証ＣＰＵ１２は、取引情報群６５を検索し、ステップＳ８４５で抽出した用途発行元のアカウントから未検証情報６３の送付先ＩＤフィールドに記録された送付先のアカウントに対して資産を送付した取引情報を抽出する（ステップＳ８４６）。検証ＣＰＵ１２は第２用途を抽出する（ステップＳ８４７）。第２用途は、ステップＳ８４６で抽出したそれぞれの取引情報のメモフィールドに、用途発行元のアカウントのＩＤを伴わずに記録された用途である。第２用途は、用途発行元のアカウントから、送付先に対して発行された用途である。
【０１３７】
検証ＣＰＵ１２は、ステップＳ８４７で抽出した第２用途が、ステップＳ８４５で抽出した第１用途を含むか否かを判定する（ステップＳ８４８）。第２用途が第１用途を含む場合、未検証情報６３は、用途発行元により発行された用途に沿って用途指定資産を使用することを意味する。
【０１３８】
第１用途を含まないと判定した場合（ステップＳ８４８でＮＯ）、検証ＣＰＵ１２は変数「判定」に「不可」と記録する（ステップＳ８４９）。その後検証ＣＰＵ１２は処理を終了する。
【０１３９】
第１用途を含むと判定した場合（ステップＳ８４８でＹＥＳ）、検証ＣＰＵ１２は、ステップＳ８４１で抽出した取引情報の金額フィールドの値の合計と、未検証情報６３の金額フィールドの値とが一致するか否かを判定する（ステップＳ８５１）。ステップＳ８４１で抽出した資産が用途指定資産でないと判定した場合（ステップＳ８４４でＮＯ）も、検証ＣＰＵ１２はステップＳ８５１に進む。
【０１４０】
一致しないと判定した場合（ステップＳ８５１でＮＯ）、検証ＣＰＵ１２は余剰分の資産を未検証情報の送付元のアカウントに戻す取引情報を記録した釣り情報を作成する（ステップＳ８５２）。
【０１４１】
釣り情報は、未検証情報６３と同一のフィールド構造を有する。釣り情報の送付元ＩＤフィールドおよび送付先ＩＤフィールドには、未検証情報６３の送付元ＩＤフィールドと同一の情報が記録される。釣り情報の第２識別情報フィールドには、検証ＣＰＵ１２により付与される固有の取引ＩＤが記録される。釣り情報の金額フィールドには、余剰分の資産の値が記録される。釣り情報の第１識別情報フィールドには、未承認情報６３の取引ＩＤが記録される。釣り情報の受付時刻フィールドには、釣り情報の生成日時が記録される。検証ＣＰＵ１２は、釣り情報を検証済と判定した状態で、未検証情報群６２に追加する。以後、検証ＣＰＵ１２は、釣り情報を検証済の未検証情報６３と同様に取り扱う。
【０１４２】
ステップＳ８５２の終了後、または一致すると判定した場合（ステップＳ８５１でＹＥＳ）、検証ＣＰＵ１２は変数「判定」に「可」と記録する（ステップＳ８５３）。その後検証ＣＰＵ１２は処理を終了する。
【０１４３】
本実施の形態によると、用途を指定した資産を取引することが可能な情報処理システム１等を提供することが可能である。
【０１４４】
本実施の形態によると、用途指定資産を他の用途に流用する取引情報を不適切な取引情報であると判定し、ブロックチェーンに組み込まない情報処理システム１等を提供することができる。
【０１４５】
本実施の形態によると、ブロックチェーン６１を使用する任意の情報処理装置が用途発行装置４０の役割を果たして、任意のアカウントに対して任意の用途を発行することが可能である。したがって、特別な権限を有する情報処理装置またはアカウントを使用せずに、用途指定資産を取引することが可能な情報処理システム１等を提供することが可能である。
【０１４６】
本実施の形態によると、用途発行元から複数のアカウントに同一の用途を発行することにより、たとえば、同業者組合、地域の商店街など、任意の店舗等のグループで利用可能な用途指定資産を容易に実現する情報処理システム１等を提供することが可能である。
【０１４７】
本実施の形態によると、ユーザが保有する用途指定資産を抽出し、通常資産よりも優先的に使用する情報処理システム等を提供することが可能である。
【０１４８】
本実施の形態によると、用途を指定しない通常の取引と、用途指定資産の取引とを同一のブロックチェーン６１および同一のプログラムで処理することが可能な情報処理システム１を提供することが可能である。
【０１４９】
なお、十分な記憶容量および通信速度を有するハードウェアを使用する一般ユーザは、取引業者を介さずに、自己のコンピュータを取引装置に使用しても良い。第１情報処理装置５１を取引装置に使用する場合を例にして説明する。第１ＣＰＵ５１２は、補助記憶装置５１４に取引ＤＢ６０を保存する。第１ＣＰＵ５１２は、ピアツーピア接続により取引ＤＢ６０を他の装置に保存された取引ＤＢと随時同期する。第１ＣＰＵ５１２は、図１４から図１６を使用して説明した処理の流れにおいて取次ＣＰＵ２１２が行う処理と第１ＣＰＵ５１２が行う処理との両方を処理する。
【０１５０】
［実施の形態２］
本実施の形態は、用途指定資産からはお釣りを出さない情報処理システム１に関する。本実施の形態は、額面よりも安い金額の商品を購入した場合にはお釣りを出さない、ギフトカード等と同様の取り扱いを行う用途指定資産を実現する。実施の形態１と共通する部分については説明を省略する。
【０１５１】
図１９は、実施の形態２の検証のサブルーチンの処理の流れを示すフローチャートである。図１９に示すサブルーチンは、図１８を使用して説明した検証のサブルーチンの代わりに使用するサブルーチンである。図１９を使用して、本実施の形態の検証のサブルーチンの処理の流れを説明する。
【０１５２】
ステップＳ８４１からステップＳ８４４およびステップＳ８５４は、図１８を使用して説明したフローチャートと同一であるので説明を省略する。元資産は用途指定資産であると判定した場合（ステップＳ８４４でＹＥＳ）の、ステップＳ８４５からステップＳ８４９までの処理も、図１８を使用して説明したフローチャートと同一であるので説明を省略する。
【０１５３】
元資産は用途指定資産でないと判定した場合（ステップＳ８４４でＮＯ）、検証ＣＰＵ１２は、ステップＳ８４１で抽出した取引情報の金額フィールドに記録された値の合計と、未検証情報６３の金額フィールドに記録された値とが一致するか否かを判定する（ステップＳ８６１）。
【０１５４】
一致しないと判定した場合（ステップＳ８６１でＮＯ）、検証ＣＰＵ１２は元資産の余剰分を送付元のアカウントに戻す取引情報を記録した釣り情報を作成する（ステップＳ８６２）。
【０１５５】
ステップＳ８６２の終了後、または一致すると判定した場合（ステップＳ８６１でＹＥＳ）、検証ＣＰＵ１２は変数「判定」に「可」と記録する（ステップＳ８６３）。その後検証ＣＰＵ１２は処理を終了する。
【０１５６】
第１用途を含むと判定した場合（ステップＳ８４８でＹＥＳ）、検証ＣＰＵ１２は、未検証情報６３の金額フィールドに記録された値が、用途指定資産よりも大きいか否かを判定する（ステップＳ８６６）。大きいと判定した場合（ステップＳ８６６でＹＥＳ）、検証ＣＰＵ１２は、ステップＳ８４１で抽出した取引情報の金額フィールドに記録された値の合計と、未検証情報６３の金額フィールドに記録された値とが一致するか否かを判定する（ステップＳ８６７）。
【０１５７】
一致しないと判定した場合（ステップＳ８６７でＮＯ）、検証ＣＰＵ１２は元資産の余剰分を送付元のアカウントに戻す取引情報を記録した釣り情報を作成する（ステップＳ８６８）。
【０１５８】
ステップＳ８６８の終了後、一致すると判定した場合（ステップＳ８６７でＹＥＳ）、または用途指定資産の額以下であると判定した場合（ステップＳ８６６でＮＯ）、検証ＣＰＵ１２は変数「判定」に「可」と記録する（ステップＳ８６９）。その後検証ＣＰＵ１２は処理を終了する。
【０１５９】
本実施の形態によると、用途指定資産からは釣りを出さない情報処理システム１を実現することができる。なお、釣りを出すか否かを示す符号をたとえば用途に含めておき、検証ＣＰＵ１２が釣り情報を作成するか否かを判定しても良い。
【０１６０】
［実施の形態３］
本実施の形態は、ユーザが、使用する用途指定資産を選択することが可能な情報処理システム１に関する。実施の形態１と共通する部分については、説明を省略する。
【０１６１】
図２０は、実施の形態３の第１情報処理装置５１が表示する画面を示す説明図である。図２０は、ネットワークを介して買い物を行ういわゆるネットショッピングにおいて、第１アカウントが第２アカウントの店舗に商品を発注する際に第１ＣＰＵ５１２が表示する決済画面の例である。
【０１６２】
図２０に示す画面は、送付先欄８１、受付可能用途欄８５、金額欄８２、資産表示欄８６、適合資産欄８７およびＯＫボタン８４を含む。送付先欄８１は送付先名欄８１１および送付先ＩＤ欄８１２を含む。
【０１６３】
第１ＣＰＵ５１２は、ネットワークを介して店舗ＣＰＵ３２から取得した情報を、送付先欄８１、受付可能用途欄８５、および金額欄８２に表示する。送付先欄８１には、第２アカウントの情報が表示されている。受付可能用途欄８５には、第２アカウントが受け取ることが可能な資産の用途が表示されている。金額欄８２には、第１アカウントが購入しようとする商品の代金が表示されている。
【０１６４】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から取得した情報を、資産表示欄８６に表示する。資産表示欄８６には、第１アカウントが保有する通常資産の合計が表示されている。
【０１６５】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から取得した情報から抽出した情報を適合資産欄８７に表示する。適合資産欄８７には、第１アカウントが保有する用途指定資産のうち、第２アカウントが受け取ることが可能な適合資産が表示されている。
【０１６６】
第１ＣＰＵ５１２は、適合資産欄８７を介してユーザによる選択を受け付ける。ＯＫボタン８４の選択を受け付けた場合、第１ＣＰＵ５１２は、資産の送付処理を行うことが第１アカウントにより承認されたと判定する。
【０１６７】
第１ＣＰＵ５１２は、適合資産欄８７を介して選択を受け付けた適合資産に関する取引ＩＤを、取次ＣＰＵ２１２に送信する。取次ＣＰＵ２１２は、受信した取引ＩＤを元資産に使用する。ユーザによる選択を受け付けた適合資産だけでは金額が不足する場合には、取次ＣＰＵ２１２は、不足分について通常資産を使用する。
【０１６８】
図２１は、実施の形態３のプログラムの処理の流れを示すフローチャートである。図２１を使用して、本実施の形態の処理の流れを説明する。なお、第１ＣＰＵ５１２と第３ＣＰＵ５３２とは、同一のプログラムを実行する。同様に、取次ＣＰＵ２１２と、取次ＣＰＵ２３２とは、同一のプログラムを実施する。図２１においては第１ＣＰＵ５１２と、取次ＣＰＵ２１２とがプログラムを実行する場合を例にして説明する。
【０１６９】
第１ＣＰＵ５１２は、ユーザが保有している資産を取次ＣＰＵ２１２に問い合わせる（ステップＳ５２１）。取次ＣＰＵ２１２は、問合せを受信する（ステップＳ７５１）。
【０１７０】
取次ＣＰＵ２１２は、ブロックチェーン６１に記録された取引情報群６５を検索して、送付元ＩＤフィールドまたは送付先ＩＤフィールドに第１ＣＰＵ５１２のユーザのＩＤが記録されている取引情報を抽出する（ステップＳ７５２）。
【０１７１】
取次ＣＰＵ２１２は、抽出した取引情報の第１識別情報フィールドに記録されたデータと第２識別情報フィールドに記録されたデータとを対比して、第１ＣＰＵ５１２のユーザが保有している未使用資産を抽出する（ステップＳ７５３）。
【０１７２】
取次ＣＰＵ２１２は、ステップＳ７５３で抽出した未使用資産のうち、用途が指定されていない通常資産を抽出し、合計を算出する（ステップＳ７５４）。取次ＣＰＵ２１２は、ステップＳ７５３で抽出した未使用資産に関するレコードと、ステップＳ７５４で算出した通常資産の合計とを第１ＣＰＵ５１２に送信する。第１ＣＰＵ５１２は、取次ＣＰＵ２１２から情報を受信する（ステップＳ５２２）。
【０１７３】
ステップＳ５０１からステップＳ５０７まで、ステップＳ５０１からステップＳ５１２までおよびステップＳ６０１からステップＳ６０８までの処理は、図１４を使用して説明した実施の形態１のプログラムと同一であるので説明を省略する。
【０１７４】
ステップＳ５０７で支払情報を受信した後、第１ＣＰＵ５１２は、資産選択のサブルーチンを起動する（ステップＳ５２３）。資産選択のサブルーチンは、図２０を使用して説明した決済画面を表示して、適合資産欄８７に表示した適合資産の選択を受け付けるサブルーチンである。資産選択のサブルーチンの処理の流れは後述する。
【０１７５】
ステップＳ５２３またはステップＳ５１２の終了後、第１ＣＰＵ５１２は、送付情報を取次ＣＰＵ２１２に送信する（ステップＳ５２４）。本実施の形態においては、送付情報は、図１０を使用して説明した各フィールドに加えてステップＳ５２３で選択を受け付けた用途指定資産の取引ＩＤを記録する用途指定資産フィールドを備える。取次ＣＰＵ２１２は、送付情報を取得する（ステップＳ７５６）。
【０１７６】
取次ＣＰＵ２１２は、送付処理−２のサブルーチンを起動する（ステップＳ７５７）。送付処理−２のサブルーチンは、送付情報に基づいて未検証情報６３を作成し、取引ＤＢ６０に記録するサブルーチンである。送付処理−２のサブルーチンの処理の流れは後述する。
【０１７７】
取次ＣＰＵ２１２は、送付処理−２のサブルーチンの処理結果を第１ＣＰＵ５１２に送信する（ステップＳ７５８）。第１ＣＰＵ５１２は、変数「送付結果」に記録された送付処理の結果を受信する（ステップＳ５１７）。第１ＣＰＵ５１２は、送付処理の結果を表示する（ステップＳ５１８）。第１ＣＰＵ５１２は、その後処理を終了する。
【０１７８】
なお、第１ＣＰＵ５１２は、ステップＳ５２１からステップＳ５２２までの処理を適宜繰り返して、ユーザが保有する資産に関する情報を更新し、第１情報処理装置５１の主記憶装置５１３または補助記憶装置５１４に記憶しても良い。このようにすることにより、ユーザから買い物または資産の送付を行う指示を受け付けた場合に、第１ＣＰＵ５１２は速やかにステップＳ５０１以降の処理を行うことが可能である。
【０１７９】
図２２は、実施の形態３の資産選択のサブルーチンの処理の流れを示すフローチャートである。資産選択のサブルーチンは、図２０を使用して説明した決済画面を表示して、適合資産欄８７に表示した適合資産の選択を受け付けるサブルーチンである。図２２を使用して、資産選択のサブルーチンの処理の流れを説明する。
【０１８０】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から受信した未使用の用途指定資産から、店舗ＣＰＵ３２から受信した受付可能な用途に一致する用途が指定された適合資産を抽出する（ステップＳ５３１）。具体的には、第１ＣＰＵ５１２は、未使用資産の入手が記録された取引情報の中からメモフィールドに店舗ＣＰＵ３２から受信した受付可能用途が記録されている取引情報を抽出する。以上の処理により、第１ＣＰＵ５１２は、ユーザが保有する用途指定資産のうち、送付先の店舗が受け取ることが可能な適合資産を抽出する。
【０１８１】
第１ＣＰＵ５１２は、図２０を使用して説明した決済画面を表示する（ステップＳ５３２）。第１ＣＰＵ５１２は適合資産欄８７を介してユーザによる適合資産の選択を受け付ける（ステップＳ５３３）。第１ＣＰＵ５１２はユーザによるＯＫボタン８４の選択を取得する（ステップＳ５３４）。その後、第１ＣＰＵ５１２は処理を終了する。
【０１８２】
図２３は、実施の形態３の送付処理−２のサブルーチンの処理の流れを示すフローチャートである。送付処理−２のサブルーチンは、送付情報に基づいて未検証情報６３を作成し、取引ＤＢ６０に記録するサブルーチンである。図２３を使用して、送付処理−２のサブルーチンの処理の流れを説明する。
【０１８３】
取次ＣＰＵ２１２は、用途指定資産を使用するか否かを判定する（ステップＳ７６１）。具体的には、第１ＣＰＵ５１２から受信した送付情報の用途指定資産フィールドに、用途指定資産の取引ＩＤが記録されている場合に、取次ＣＰＵ２１２は用途指定資産を使用すると判定する。
【０１８４】
用途指定資産を使用すると判定した場合（ステップＳ７６１でＹＥＳ）、取次ＣＰＵ２１２は、用途指定資産フィールドに記録されている取引ＩＤを変数「元資産」に記録する。（ステップＳ７６２）。
【０１８５】
取次ＣＰＵ２１２は、送付情報の金額フィールドに記録された金額と、ステップＳ７６２で記録した用途指定資産の合計とを比較し、資産が足りるか否かを判定する（ステップＳ７６３）。
【０１８６】
足りると判定した場合（ステップＳ７６３でＹＥＳ）、取次ＣＰＵ２１２は、未検証情報６３を作成して、取引ＤＢ６０に記録する（ステップＳ７６４）。この際、取次ＣＰＵ２１２は、未検証情報６３の第１識別情報フィールドに、送付情報の用途資産フィールドに記録された取引ＩＤを記録する。取次ＣＰＵ２１２は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールドおよびメモフィールドには、送付情報と同一の情報を記録する。取次ＣＰＵ２１２は、未検証情報６３の受付時刻フィールドに未検証情報を取引ＤＢ６０に記録する時刻のタイムスタンプを記録する。
【０１８７】
取次ＣＰＵ２１２は、変数「送付結果」に「完了」と記録する（ステップＳ７６５）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１８８】
足りないと判定した場合（ステップＳ７６３でＮＯ）、取次ＣＰＵ２１２は、ステップＳ７６３で足りないと判定した金額と第１情報処理装置５１のユーザが保有する通常資産の合計とを比較し、通常資産が足りるか否かを判定する（ステップＳ７６７）。
【０１８９】
足りないと判定した場合（ステップＳ７６７でＮＯ）、取次ＣＰＵ２１２は、変数「送付結果」に「資産不足」と記録する（ステップＳ７６８）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１９０】
足りると判定した場合（ステップＳ７６７でＹＥＳ）、取次ＣＰＵ２１２は通常資産の中から追加する元資産を選択する（ステップＳ７６９）。取次ＣＰＵ２１２は、変数「元資産」に選択した元資産に対応する取引ＩＤを追加する（ステップＳ７７０）。
【０１９１】
用途指定資産を使用しないと判定した場合（ステップＳ７６１でＮＯ）、取次ＣＰＵ２１２は、送付情報の金額フィールドに記録された金額と、保有する通常資産の合計とを比較し、通常資産が足りるか否かを判定する（ステップＳ７７１）。
【０１９２】
足りると判定した場合（ステップＳ７７１でＹＥＳ）、取次ＣＰＵ２１２は通常資産の中から元資産を選択する（ステップＳ７７２）。取次ＣＰＵ２１２は、変数「元資産」に選択した元資産に対応する取引ＩＤを追加する（ステップＳ７７７）。
【０１９３】
ステップＳ７７０またはステップＳ７７７の終了後、取次ＣＰＵ２１２は、取次ＣＰＵ２１２は、未検証情報６３を作成して、取引ＤＢ６０に記録する（ステップＳ７７３）。この際、取次ＣＰＵ２１２は、未検証情報６３の第１識別情報フィールドに変数「元資産」に対応する取引ＩＤを記録する。取次ＣＰＵ２１２は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールドおよびメモフィールドには、送付情報と同一の情報を記録する。取次ＣＰＵ２１２は、未検証情報６３の受付時刻フィールドに未検証情報を取引ＤＢ６０に記録する時刻のタイムスタンプを記録する。
【０１９４】
取次ＣＰＵ２１２は、変数「送付結果」に「完了」と記録する（ステップＳ７７４）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１９５】
足りないと判定した場合（ステップＳ７７１でＮＯ）、取次ＣＰＵ２１２は、変数「送付結果」に「資産不足」と記録する（ステップＳ７７６）。その後、取次ＣＰＵ２１２は処理を終了する。
【０１９６】
本実施の形態によると、ユーザによる用途指定資産の選択を受け付けることが可能な情報処理システム１等を提供することが可能である。
【０１９７】
ユーザは、たとえば、入学祝い等によりプレゼントされた用途指定資産を選択して使用することが可能である。第１ＣＰＵ５１２は、ステップＳ５３３で用途指定資産の選択を受け付けた場合に、たとえば電子メールソフトを起動してユーザに対して用途指定資産の贈り主に対する礼状等の発信を促しても良い。
【０１９８】
本実施の形態によると、送付先が受け取ることが可能な適合資産を表示して、ユーザによる選択を受け付ける情報処理システム等を提供することが可能である。したがって、送付先が受け取れない用途指定資産を送付することにより、取引が成立しないといった問題を未然に回避することが可能である。
【０１９９】
［実施の形態４］
本実施の形態は、用途発行アカウントを特定のＩＤを有するアカウントに限定する情報処理システム１に関する。実施の形態１と共通する部分については、説明を省略する。
【０２００】
図２４は、実施の形態４の取引情報群６５の例を示す説明図である。取引情報群６５のフィールドの構成は、図９を使用して説明した実施の形態１の取引情報群６５と同一である。また、図２４に示す取引情報群６５には、図９および図１１を使用して説明した一連の取引と同一の取引の流れを示す取引情報が記録されている。
【０２０１】
本実施の形態においては、用途発行アカウントはＩＤがＺＺＺのアカウントに限定されている。取引ＩＤ「ＣＣＣ０１０」の取引情報のメモフィールドに記録されている「ｂｏｏｋｓｈｏｐ」は、用途発行アカウントにより、「ｂｏｏｋｓｈｏｐ」の用途の発行を受けたアカウントに対して送付できる用途指定資産であることを意味する。
【０２０２】
図２５は、実施の形態４の検証のサブルーチンの処理の流れを示すフローチャートである。図２５に示すサブルーチンは、図１８を使用して説明した検証のサブルーチンの代わりに使用するサブルーチンである。図２５を使用して、本実施の形態の検証のサブルーチンの処理の流れを説明する。
【０２０３】
ステップＳ８４４までの処理およびステップＳ８５４の処理は、図１８で説明した検証のサブルーチンと同一であるので説明を省略する。
【０２０４】
元資産は用途指定資産であると判定した場合（ステップＳ８４４でＹＥＳ）、検証ＣＰＵ１２は元資産の用途である第１用途を抽出する（ステップＳ８７１）。
【０２０５】
検証ＣＰＵ１２は、取引情報群６５を検索し、所定の用途発行元から未検証情報６３の送付先ＩＤフィールドに記録された送付先のアカウントに送付された資産に関する取引情報を抽出する（ステップＳ８７２）。検証ＣＰＵ１２は第２用途を抽出する（ステップＳ８７３）。第２用途は、ステップＳ８７２で抽出したそれぞれの取引情報のメモフィールドに記録された用途である。すなわち、第２用途は、所定の用途発行元により発行された用途である。
【０２０６】
ステップＳ８４８以降の処理、および元資産は用途指定資産でないと判定した場合（ステップＳ８４４でＮＯ）の処理は、図１８で説明した検証のサブルーチンと同一であるので説明を省略する。
【０２０７】
本実施の形態によると、取引情報群６５の各レコードに用途発行元を記録する必要がないので、取引ＤＢ６０の容量を削減することが可能である。本実施の形態によると、運営者が用途発行アカウントを限定できる情報処理システム１を提供することが可能である。
【０２０８】
用途の発行元は、一つのアカウントに限定しない。検証ＣＰＵ１２は、ステップＳ８７２において、複数の用途発行アカウントから送られた取引情報を抽出しても良い。
【０２０９】
［実施の形態５］
本実施の形態は、ユーザが、使用する用途指定資産および通常資産を選択することが可能な情報処理システム１に関する。実施の形態３と共通する部分については、説明を省略する。
【０２１０】
図２６は、実施の形態５の第１情報処理装置５１が表示する画面を示す説明図である。図２６は、ネットワークを介して買い物を行ういわゆるネットショッピングにおいて、第１アカウントが第２アカウントの店舗に商品を発注する際に第１ＣＰＵ５１２が表示する決済画面の例である。本実施の形態においては、図１２を使用して説明した画面でユーザが送金内容を入力した後にも、第１ＣＰＵ５１２は図２６に示す決済画面を表示する。
【０２１１】
図２６に示す画面は、送付先欄８１、受付可能用途欄８５、金額欄８２、資産表示欄８６、適合資産欄８７、通常資産欄８８、合計欄８９およびＯＫボタン８４を含む。送付先欄８１は送付先名欄８１１および送付先ＩＤ欄８１２を含む。本実施の形態においては、ＯＫボタン８４は初期状態ではユーザの選択を受け付けない。
【０２１２】
第１ＣＰＵ５１２は、ネットワークを介して店舗ＣＰＵ３２から取得した情報を、送付先欄８１、受付可能用途欄８５、および金額欄８２に表示する。送付先欄８１には、第２アカウントの情報が表示されている。受付可能用途欄８５には、第２アカウントが受け取ることが可能な資産の用途が表示されている。金額欄８２には、第１アカウントが購入しようとする商品の代金が表示されている。
【０２１３】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から取得した情報を、資産表示欄８６に表示する。資産表示欄８６には、第１アカウントが保有する通常資産の合計が表示されている。
【０２１４】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から取得した情報から抽出した情報を適合資産欄８７および通常資産欄８８に表示する。適合資産欄８７には、第１アカウントが保有する用途指定資産のうち、第２アカウントが受け取ることが可能な適合資産が表示されている。通常資産欄８８には、第１アカウントが保有する資産のうち、用途が指定されていない通常資産が表示されている。
【０２１５】
第１ＣＰＵ５１２は、適合資産欄８７および通常資産欄８８を介してユーザによる選択を受け付ける。第１ＣＰＵ５１２は、ユーザによる選択を受け付けた資産の合計を、合計欄８９に表示する。ユーザによる選択を受け付けた資産の合計が金額欄８２に表示された商品の代金を超えた場合に、第１ＣＰＵ５１２はＯＫボタン８４を選択を受け付ける状態、すなわちアクティブな状態に設定する。
【０２１６】
ＯＫボタン８４の選択を受け付けた場合、第１ＣＰＵ５１２は、資産の送付処理を行うことが第１アカウントにより承認されたと判定する。
【０２１７】
第１ＣＰＵ５１２は、適合資産欄８７および通常資産欄８８を介して選択を受け付けた資産に関する取引ＩＤを、取次ＣＰＵ２１２に送信する。取次ＣＰＵ２１２は、選択を受け付けた資産を商品の代金の支払に使用する。
【０２１８】
図２７は、実施の形態５のプログラムの処理の流れを示すフローチャートである。第１ＣＰＵ５１２のステップＳ５０７までの処理、およびステップＳ５１２までの処理は、図２１を使用して説明したプログラムの処理と同一であるので、説明を省略する。取次ＣＰＵ２１２のステップＳ７５４までの処理および店舗ＣＰＵ３２の処理も、図２１を使用して説明したプログラムの処理と同一であるので説明を省略する。
【０２１９】
ステップＳ５０７またはステップＳ５１２の終了後、第１ＣＰＵ５１２は、資産選択−２のサブルーチンを起動する（ステップＳ５４１）。資産選択−２のサブルーチンは、適合資産欄８７および通常資産欄８８に表示した資産の選択を受け付けるサブルーチンである。資産選択−２のサブルーチンの処理の流れは後述する。
【０２２０】
ステップＳ５４１の終了後、第１ＣＰＵ５１２は、送付情報を取次ＣＰＵ２１２に送信する（ステップＳ５４２）。本実施の形態においては、送付情報は、図１０を使用して説明した各フィールドに加えてステップＳ５４１で選択を受け付けた各資産の取引ＩＤを記録する資産フィールドを備える。第１ＣＰＵ５１２は、その後処理を終了する。
【０２２１】
取次ＣＰＵ２１２は、送付情報を取得する（ステップＳ７８１）。取次ＣＰＵ２１２は、未検証情報６３を作成して、取引ＤＢ６０に記録する（ステップＳ７８２）。この際、取次ＣＰＵ２１２は、未検証情報６３の第１識別情報フィールドに、送付情報の資産フィールドに記録された取引ＩＤを記録する。取次ＣＰＵ２１２は、第２識別情報フィールド、送付元ＩＤフィールド、送付先ＩＤフィールドおよびメモフィールドには、送付情報と同一の情報を記録する。取次ＣＰＵ２１２は、未検証情報６３の受付時刻フィールドに未検証情報を取引ＤＢ６０に記録する時刻のタイムスタンプを記録する。
【０２２２】
図２８は、実施の形態５の資産選択−２のサブルーチンの処理の流れを示すフローチャートである。資産選択−２のサブルーチンは、図２６を使用して説明した適合資産欄８７および通常資産欄８８に表示した資産の選択を受け付けるサブルーチンである。図２８を使用して、資産選択−２のサブルーチンの処理の流れを説明する。
【０２２３】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から受信した未使用の用途指定資産から、店舗ＣＰＵ３２から受信した受付可能な用途に一致する用途が指定された適合資産を抽出する（ステップＳ５６１）。具体的には、第１ＣＰＵ５１２は、未使用資産の入手が記録された取引情報の中からメモフィールドに店舗ＣＰＵ３２から受信した受付可能用途が記録されている取引情報を抽出する。
【０２２４】
第１ＣＰＵ５１２は、図２６を使用して説明した決済画面を表示する（ステップＳ５６２）。第１ＣＰＵ５１２はユーザによる用途指定資産および通常資産の選択を受け付ける（ステップＳ５６３）。
【０２２５】
第１ＣＰＵ５１２は、選択を受け付けた用途指定資産および通常資産の合計を算出する（ステップＳ５６４）。第１ＣＰＵ５１２は、送付情報の金額フィールドに記録された金額と、ステップＳ５６４で算出した合計とを比較し、選択を受け付けた資産が足りるか否かを判定する（ステップＳ５６５）。足りないと判定した場合（ステップＳ５６５でＮＯ）第１ＣＰＵ５１２はステップＳ５６３に戻る。
【０２２６】
足りると判定した場合（ステップＳ５６５でＹＥＳ）、第１ＣＰＵ５１２は、第１ＣＰＵ５１２はＯＫボタン８４をユーザによる選択を受け付ける状態、すなわちアクティブな状態に設定する（ステップＳ５６６）。
【０２２７】
第１ＣＰＵ５１２は、ＯＫボタン８４の選択を受け付けたか否かを判定する（ステップＳ５６７）。受け付けていないと判定した場合（ステップＳ５６７でＮＯ）、第１ＣＰＵ５１２はステップＳ５６３に戻る。受け付けたと判定した場合（ステップＳ５６７でＹＥＳ）、第１ＣＰＵ５１２は処理を終了する。
【０２２８】
本実施の形態によると、ユーザによる用途指定資産および通常資産の選択を受け付けることが可能な情報処理システム１等を提供することが可能である。ユーザは、たとえば、入学祝い等によりプレゼントされた用途指定資産および通常資産を選択して使用することが可能である。
【０２２９】
本実施の形態によると、ユーザが選択した資産が足りている場合にＯＫボタン８４の選択を受け付けるので、保有する資産の不足により支払えないという問題を未然に回避できる情報処理システム１を提供することが可能である。
【０２３０】
［実施の形態６］
本実施の形態は、金額、用途発行元および用途を変更せずに用途指定資産を第３者に転送することが可能な情報処理システム１に関する。実施の形態３と共通する部分については、説明を省略する。
【０２３１】
図２９は、実施の形態６の取引例を示す説明図である。取引ＩＤ「ＺＺＺ００２」の取引情報による第２アカウントに対する用途の発行および取引ＩＤ「ＣＣＣ０１０」の取引情報による第３アカウントから第１アカウントへの用途指定資産の送付は、図１１を使用して説明した実施の形態１の取引例と同一であるので説明を省略する。
【０２３２】
第１アカウントは、「ＤＤＤ」のＩＤを有する第４アカウントに対して、取引ＩＤ「ＡＡＡ２００」の取引情報により５００ポイントの資産を送付する。送付にあたり、第１アカウントが使用する取次ＣＰＵ２１２は、第１識別情報フィールドに「ＣＣＣ０１０」の取引ＩＤを指定する。さらに取次ＣＰＵ２１２はメモフィールドに「ＣＣＣ０１０」の取引情報と同様に「ＺＺＺ，ｂｏｏｋｓｈｏｐ」と記録する。
【０２３３】
取引ＩＤ「ＡＡＡ２００」の取引情報は、取引ＩＤ「ＣＣＣ０１０」で送付された用途指定資産をその金額、用途発行元および用途を変更せずに第４アカウントに転送する取引情報である。本実施の形態の検証ＣＰＵ１２は、このような取引情報を正当であると判定する。
【０２３４】
取引ＩＤ「ＡＡＡ２００」の取引情報は、検証ＣＰＵ１２によって検証されて、ブロックチェーン６１に加えられることにより有効となる。図２９においては、第４アカウントは５００ポイントの資産を受け取る。第１アカウントは５００ポイントに取引手数料を加えた資産を支払う。
【０２３５】
第４アカウントは、第２アカウントに対して、取引ＩＤ「ＤＤＤ０２０」の取引情報により５００ポイントの資産を送付する。送付にあたり、第４アカウントが使用するＣＰＵは、第１識別情報フィールドに「ＡＡＡ２００」の取引ＩＤを記録する。この記録は、第４アカウントは取引ＩＤ「ＡＡＡ２００」の取引情報により受け取った用途指定資産を元資産にすることを意味する。
【０２３６】
前述のとおり、第２アカウントは、用途発行アカウント「ＺＺＺ」により「ｂｏｏｋｓｈｏｐ」の用途の発行を受けているので、第２アカウントは取引ＩＤ「ＤＤＤ０２０」の取引情報により送付された用途指定資産を受け取ることができる。
【０２３７】
取引ＩＤ「ＤＤＤ０２０」の取引情報は、検証ＣＰＵ１２によって検証されて、ブロックチェーン６１に加えられることにより有効となる。図２９においては、第２アカウントは５００ポイントの資産を受け取る。第４アカウントは５００ポイントに取引手数料を加えた資産を支払う。
【０２３８】
図３０は、実施の形態６の第１情報処理装置５１が表示する画面を示す説明図である。図３０は、用途指定資産を保有する第１アカウントが、金額、用途発行元および用途を変更せずに用途指定資産を第３者に転送する際に、第１ＣＰＵ５１２が表示する転送画面の例である。
【０２３９】
図３０に示す画面は、用途指定資産欄９０、送付先欄８１、資産表示欄８６およびＯＫボタン８４を含む。送付先欄８１は送付先名欄８１１および送付先ＩＤ欄８１２を含む。
【０２４０】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から取得した情報から抽出した情報を用途指定資産欄９０に表示する。用途指定資産欄９０には、第１アカウントが保有する未使用資産のうち、用途指定資産が表示されている。
【０２４１】
第１ＣＰＵ５１２は、送付先名欄８１１を介して、資産を送付する送付先名の入力を受け付ける。第１ＣＰＵ５１２は、たとえば第１情報処理装置５１の補助記憶装置５１４に記憶されたアドレス帳等を参照して、送付先名に対応する送付先ＩＤを取得し、送付先ＩＤ欄８１２に表示する。
【０２４２】
第１ＣＰＵ５１２は、取次ＣＰＵ２１２から取得した情報を、資産表示欄８６に表示する。資産表示欄８６には、第１アカウントが保有する通常資産の合計が表示されている。
【０２４３】
第１ＣＰＵ５１２は、用途指定資産欄９０を介してユーザによる選択を受け付ける。ＯＫボタン８４の選択を受け付けた場合、第１ＣＰＵ５１２は、資産の転送処理を行うことが第１アカウントにより承認されたと判定する。
【０２４４】
第１ＣＰＵ５１２は、用途指定資産欄９０を介して選択を受け付けた用途指定資産に関する取引ＩＤおよび送付先のＩＤを取次ＣＰＵ２１２に送信する。取次ＣＰＵ２１２は、用途指定資産欄９０を介して選択を受け付けた用途指定資産を、金額、用途発行元および用途を変更せずに、送付先のアカウントに送付する未検証情報６３を作成し、取引ＤＢ６０に記録する。
【０２４５】
図３１は、実施の形態６の検証のサブルーチンの処理の流れを示すフローチャートである。図３１に示すサブルーチンは、図１８を使用して説明した検証のサブルーチンの代わりに使用するサブルーチンである。図３１を使用して、本実施の形態の検証のサブルーチンの処理の流れを説明する。
【０２４６】
ステップＳ８４４までの処理およびステップＳ８５４の処理は、図１８で説明した検証のサブルーチンと同一であるので説明を省略する。元資産は用途指定資産でないと判定した場合（ステップＳ８４４でＮＯ）の処理も、図１８で説明した検証のサブルーチンと同一であるので説明を省略する。
【０２４７】
元資産は用途指定資産であると判定した場合（ステップＳ８４４でＹＥＳ）、検証ＣＰＵ１２は、未検証情報６３のメモフィールドに記録された用途発行元および用途と、元資産の用途発行元および用途とが同一であるか否かを判定する（ステップＳ８８１）。
【０２４８】
同一であると判定した場合（ステップＳ８８１でＹＥＳ）、検証ＣＰＵ１２は、未検証情報６３の金額フィールドに記録された金額と元資産の金額とが同一であるか否かを判定する（ステップＳ８８２）。同一であると判定した場合（ステップＳ８８２でＹＥＳ）、検証ＣＰＵ１２は変数「判定」に「可」と記録する（ステップＳ８８３）。その後検証ＣＰＵ１２は処理を終了する。
【０２４９】
用途発行元および用途が同一でないと判定した場合（ステップＳ８８１でＮＯ）および金額が一致しないと判定した場合（ステップＳ８８２でＮＯ）、検証ＣＰＵ１２は元資産の取引情報から用途発行元および元資産の用途である第１用途を抽出する（ステップＳ８４５）。ステップＳ８４５以降の処理は、図１８で説明した検証のサブルーチンと同一であるので説明を省略する。
【０２５０】
本実施の形態によると、金額、用途発行元および用途を変更せずに用途指定資産を第３者に転送することが可能な情報処理システム１を提供することが可能である。対面取引において、たとえば図書券をそのまま第３者に引き渡すような処理を行える情報処理システム１を実現することが可能である。
【０２５１】
［実施の形態７］
本実施の形態は、ブロックチェーン６１を用いて投票を行う情報処理システム１に関する。実施の形態１と共通する部分については、説明を省略する。
【０２５２】
投票の概要について説明する。本実施の形態においては、投票券配布アカウントが有権者のアカウントに対して用途指定資産を配布する。有権者のアカウントは、投票先を選択して用途指定資産を送付する。各投票先に送付された用途指定資産に基づいて、投票結果を判定する。
【０２５３】
図３２は、実施の形態７の取引例を示す説明図である。図３２を使用して、本実施の形態の取引の流れを説明する。以下の説明では投票先の候補はＡ票アカウントおよびＢ票アカウントである。なお、図３２においては取引手数料の記載を省略する。
【０２５４】
用途発行アカウント「ＺＺＺ」は、投票券配布アカウントから提供された投票先のリストに基づいて、Ａ票アカウントおよびＢ票アカウントに対して「ｖｏｔｅ」の用途を発行する。
【０２５５】
投票券配布アカウントは、有権者である第１アカウントおよび第２アカウントに対してメモフィールドに「ＺＺＺ，ｖｏｔｅ」と記録した投票用の用途指定資産を配布する。第１アカウントおよび第２アカウントは、Ａ票アカウントまたはＢ票アカウントに対して、投票用の用途指定資産を元資産にして資産を送付することにより投票を行う。
【０２５６】
ブロックチェーン６１を参照して、Ａ票アカウントおよびＢ票アカウントに送付された資産中の、投票用の用途指定資産をそれぞれ算出することにより、どちらが当選したかを判定することが可能である。
【０２５７】
本実施の形態によると、実施の形態１から実施の形態６と同一のハードウェアおよびソフトウェアを使用して、投票所の運営を行う情報処理システム１を実現することが可能である。商取引に使用する情報処理システム１が投票所を兼ねるため、簡便に投票を実行することが可能である。
【０２５８】
本実施の形態によると、投票券配布アカウントが配布する用途指定資産の金額に重み付けを行うことにより、各有権者の投票に重み付けを行うことが可能である。
【０２５９】
［実施の形態８］
本実施の形態は、一度発行した用途をキャンセルすることが可能な情報処理システム１に関する。実施の形態１と共通する部分については、説明を省略する。
【０２６０】
図３３は、実施の形態８の取引情報群６５の例を示す説明図である。図９および図１１を使用して説明した、取引ＩＤ「ＺＺＺ００２」の取引情報と、取引ＩＤ「ＣＣＣ０１０」の取引情報との間に、取引ＩＤ「ＺＺＺ１００」の取引情報が記録されている。取引ＩＤ「ＺＺＺ１００」の取引情報には、メモフィールドに「ＮＯ＿ｂｏｏｋｓｈｏｐ」と記録されている。
【０２６１】
本実施の形態においては、用途発行アカウントが先頭に「ＮＯ＿」が記録された用途を発行することは、過去に発行した用途をキャンセルすることを意味する。以下の説明では、「ＮＯ＿」をキャンセル符号という。
【０２６２】
取引ＩＤ「ＺＺＺ００２」で用途発行アカウントから第２アカウントに対して発行された「ｂｏｏｋｓｈｏｐ」の用途は、取引ＩＤ「ＺＺＺ１００」の取引情報によりキャンセルされる。その後、第２アカウントは、元資産のメモフィールドに「ＺＺＺ，ｂｏｏｋｓｈｏｐ」が記録された用途指定資産を受け取ることができなくなる。
【０２６３】
「ＮＯ＿」はキャンセル符号の一例である。用途の指定に使用されない任意の文字等をキャンセル符号に使用することが可能である。
【０２６４】
図３４は、実施の形態８の検証のサブルーチンの処理の流れを示すフローチャートである。図３４に示すサブルーチンは、図１８を使用して説明した検証のサブルーチンの代わりに使用するサブルーチンである。図３４を使用して、本実施の形態の検証のサブルーチンの処理の流れを説明する。
【０２６５】
ステップＳ８４８までの処理およびステップＳ８５４の処理は、図１８で説明した検証のサブルーチンと同一であるので説明を省略する。元資産は用途指定資産でないと判定した場合（ステップＳ８４４でＮＯ）の処理も、図１８で説明した検証のサブルーチンと同一であるので説明を省略する。
【０２６６】
第１用途を含むと判定した場合（ステップＳ８４８でＹＥＳ）、検証ＣＰＵ１２は、ブロックチェーン６１を検索して、用途発行アカウントにより第１用途がキャンセルされたキャンセル情報の有無を判定する（ステップＳ８９１）。具体的には、検証ＣＰＵ１２は、用途発行アカウントから未検証情報６３の送付先に対して、第１用途にキャンセル符号を追加した用途が発行されているか否かを判定する。
【０２６７】
キャンセル情報があると判定した場合（ステップＳ８９１でＹＥＳ）、検証ＣＰＵ１２は、第１用途が発行された取引情報の受付時刻と第１用途をキャンセルする取引情報の受付時刻とを比較し、キャンセル情報の方が新しいか否かを判定する（ステップＳ８９２）。
【０２６８】
キャンセル情報の方が新しいと判定した場合（ステップＳ８９２でＹＥＳ）、および第１用途を含まないと判定した場合（ステップＳ８４８でＮＯ）、検証ＣＰＵ１２は、変数「判定」に「不可」と記録する（ステップＳ８４９）。検証ＣＰＵ１２は、その後処理を終了する。
【０２６９】
キャンセル情報の方が古いと判定した場合（ステップＳ８９２でＮＯ）およびキャンセル情報がないと判定した場合（ステップＳ８９１でＮＯ）、検証ＣＰＵ１２はステップＳ８５１に進む。
【０２７０】
本実施の形態によると、一度発行した用途をキャンセルすることが可能な情報処理システム１を提供することが可能である。たとえば店舗の業種変更等の事情に対応して、用途指定資産の受け取り可否を柔軟に変更することが可能になる。
【０２７１】
［実施の形態９］
図３５は、実施の形態９の情報処理システム１の動作を示す機能ブロック図である。本実施の形態の情報処理システム１は、検証ＣＰＵ１２、取次ＣＰＵ２１２、店舗ＣＰＵ３２および取次ＣＰＵ２３２による制御に基づいて以下のように動作する。
【０２７２】
情報処理システム１は、ネットワークで接続された第１取引装置２１と検証装置１０とを含む。第１取引装置２１は、価値を示す情報の送付先と、価値を示す情報を入手した第１の取引情報６３を識別する第１識別情報とを含む第２の取引情報６３をネットワークに出力する第１出力部９５を有する。
【０２７３】
検証装置１０は、第１抽出部９７と、第２抽出部９８と、判定部９９とを備える。第１抽出部９７は、取引情報６３の連鎖を記録したブロックチェーン６１から、第１識別情報に基づいて第１の取引情報６３を抽出し、第１の取引情報６３に属性が記録されている場合に属性を抽出する。第２抽出部９８は、ブロックチェーン６１から、所定の属性発行元から送付先に対する価値を示す情報の送付を記録した第３の取引情報６３を抽出し、第３の取引情報６３に属性が記録されている場合に属性を抽出する。判定部９９は、第１抽出部９７が抽出した属性が、第２抽出部９８が抽出した属性に含まれない場合に、第１出力部９５が出力した第２の取引情報６３は正当ではないと判定する
【０２７４】
検証装置１０は、追加部９６を有しても良い。追加部９６は、判定部９９が正当であると判定すると、第２の取引情報をブロックチェーン６１に追加する。
【０２７５】
検証装置１０は、第２判定部７４を有しても良い。第１出力部９５は、第１の取引情報に含まれる価値を示す情報の属性および属性発行元とを更に含む第２の取引情報をネットワークに出力する。第２判定部７４は、第１出力部９５が出力した属性および属性発行元が、第２抽出部９８が抽出した属性および属性発行元と一致する場合に、第１出力部９５が出力した取引情報６３が正当であると判定する。
【０２７６】
情報処理システム１は、ネットワークで接続された第２取引装置３０を含んでも良い。第２取引装置３０は、受付可能な属性および属性発行元をネットワークに出力する第２出力部７６を有する。第１取引装置２１は、第２出力部７６が出力した属性および属性発行元に基づいて第１識別情報を設定する。
【０２７７】
第１取引装置２１は、第１取得部７１および適合判定部７２を有しても良い。第１取得部７１は、第２出力部７６が出力した属性および属性発行元を取得する。適合判定部７２は、第１取得部７１が取得した属性および属性発行元に基づいて、第２取引装置３０が受付可能な価値を示す適合資産の保有の有無を判定する。
【０２７８】
第１取引装置２１は、表示部７８と、選択受付部７３とを有しても良い。表示部７８は、適合判定部７２が適合資産を保有していると判定した場合に、適合資産を表示する。選択受付部７３は、表示部７８が表示した適合資産の選択を受け付ける。選択受付部７３が適合資産の選択を受け付けた場合に、第１出力部９５は適合資産を入手した取引を識別する情報を第１識別情報に設定する。
【０２７９】
情報処理システム１は、ネットワークで接続された第３取引装置２３を含んでも良い。第３取引装置２３は、第１の取引情報として、価値を示す情報の送付先と、価値を示す情報を入手した取引を識別する第１識別情報と、送付する価値を示す情報の属性および属性発行元とを含む情報をネットワークに出力する第３出力部７７を有する。
【０２８０】
検証装置１０は、対象取得部７５を有しても良い。対象取得部７５は、価値を示す情報の送付先と、価値を示す情報を入手した第１の取引情報６３を識別する第１識別情報とを含む第２の取引情報６３を取得する。
【０２８１】
［実施の形態１０］
本実施の形態は、汎用のコンピュータとプログラム９２とを組み合わせて動作させることにより、本実施の形態の情報処理システム１を実現する形態に関する。図３６は、実施の形態１０の検証装置１０の構成を示す説明図である。図３１を使用して、本実施の形態の構成を説明する。なお、実施の形態１と共通する部分の説明は省略する。
【０２８２】
本実施の形態の情報処理システム１は、ネットワークを介して接続された複数のコンピュータ９４を備える。以下の説明では、検証装置１０として機能するコンピュータ９４を例にして説明する。
【０２８３】
コンピュータ９４は、検証ＣＰＵ１２、主記憶装置１３、補助記憶装置１４、通信部１５、読取部１６およびバスを備える。コンピュータ９４は、汎用のパーソナルコンピュータ、大型計算機等の情報機器等である。また、本実施の形態のコンピュータ９４は、大型計算機上で動作する仮想マシンでも良い。
【０２８４】
プログラム９２は、可搬型記録媒体９１に記録されている。検証ＣＰＵ１２は、読取部１６を介してプログラム９２を読み込み、補助記憶装置１４に保存する。また検証ＣＰＵ１２は、コンピュータ９４内に実装されたフラッシュメモリ等の半導体メモリ９３に記憶されたプログラム９２を読出しても良い。さらに、検証ＣＰＵ１２は、通信部１５および図示しないネットワークを介して接続される図示しない他のサーバコンピュータからプログラム９２をダウンロードして補助記憶装置１４に保存しても良い。
【０２８５】
プログラム９２は、コンピュータ９４の制御プログラムとしてインストールされ、主記憶装置１３にロードして実行される。これにより、コンピュータ９４は上述した検証装置１０として機能する。
【０２８６】
図１に示す、検証装置１２以外の各装置も、それぞれ可搬型記録媒体またはネットワークを介してプログラム９２を取得し、それぞれの補助記憶装置に保存する。プログラムは、それぞれの装置の制御プログラムとしてインストールされ、主記憶装置にロードして実行される。以上により、各装置は上述した用途発行装置４０、第１取引装置２１、第２取引装置３０、第３取引装置２３、第１情報処理装置５１および第３情報処理装置５３として機能する。
【０２８７】
各実施例で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０２８８】
以上の実施の形態１から１０を含む実施形態に関し、さらに以下の付記を開示する。
【０２８９】
（付記１）
第１取引装置と、検証装置とがネットワークで接続された情報処理システムにおいて、
前記第１取引装置は、価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報をネットワークに出力する第１出力部を有し、
前記検証装置は、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、該第１の取引情報に属性が記録されている場合に該属性を抽出する第１抽出部と、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、該第３の取引情報に属性が記録されている場合に該属性を抽出する第２抽出部と、
前記第１抽出部が抽出した属性が、前記第２抽出部が抽出した属性に含まれない場合に、前記第１出力部が出力した第２の取引情報は正当ではないと判定する判定部とを有する
情報処理システム。
【０２９０】
（付記２）
前記第１抽出部は、前記第１識別情報に基づいて抽出した前記第１の取引情報から、さらに前記属性発行元を抽出する
付記１に記載の情報処理システム。
【０２９１】
（付記３）
前記検証装置は、前記判定部が正当であると判定すると、前記第２の取引情報を前記ブロックチェーンに追加する追加部を有する付記１または付記２に記載の情報処理システム。
【０２９２】
（付記４）
前記ブロックチェーンに記録された取引情報は取引時刻に関連するタイムスタンプを含み、
前記第２抽出部は、前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した取引情報を抽出し、抽出した取引情報に属性および該属性のキャンセルの両方が記録されている場合に、より新しいタイムスタンプを有する取引情報に記録されている属性または該属性のキャンセルを抽出する
付記１から付記３のいずれか一つに記載の情報処理システム。
【０２９３】
（付記５）
前記第１出力部は、前記第１の取引情報に含まれる価値を示す情報の属性および属性発行元とを更に含む前記第２の取引情報をネットワークに出力し、
前記検証装置は、前記属性および前記属性発行元が、前記第２抽出部が抽出した属性および属性発行元と一致する場合に、前記第１出力部が出力した取引情報が正当であると判定する第２判定部を有する
付記２から付記４のいずれか一つに記載の情報処理システム。
【０２９４】
（付記６）
前記ネットワークで接続された第２取引装置を備え、
前記第２取引装置は、受付可能な属性および属性発行元をネットワークに出力する第２出力部を有し、
前記第１取引装置は、前記第２出力部が出力した属性および属性発行元に基づいて前記第１識別情報を設定する
付記２から付記５のいずれか一つに記載の情報処理システム。
【０２９５】
（付記７）
前記第１取引装置は、
前記第２出力部が出力した属性および属性発行元を取得する第１取得部と、
前記第１取得部が取得した属性および属性発行元に基づいて、前記第２取引装置が受付可能な価値を示す適合資産の保有の有無を判定する適合判定部とを有する
付記６に記載の情報処理システム。
【０２９６】
（付記８）
前記第１取引装置は、
前記適合判定部が適合資産を保有していると判定した場合に、前記適合資産に関する取引を識別する情報を前記第１識別情報に設定する
付記７に記載の情報処理システム。
【０２９７】
（付記９）
前記第１取引装置は、
前記適合判定部が適合資産を保有していると判定した場合に、前記適合資産を表示する表示部と、
前記表示部が表示した適合資産の選択を受け付ける選択受付部とを有し、
前記選択受付部が適合資産の選択を受け付けた場合に、前記第１出力部は前記適合資産を入手した取引を識別する情報を前記第１識別情報に設定する
付記７に記載の情報処理システム。
【０２９８】
（付記１０）
前記ネットワークで接続された第３取引装置を備え、
前記第３取引装置は、前記第１の取引情報として、価値を示す情報の送付先と、該価値を示す情報を入手した取引を識別する第１識別情報と、送付する価値を示す情報の属性および属性発行元とを含む情報をネットワークに出力する第３出力部を有する
付記２から付記９のいずれか一つに記載の情報処理システム。
【０２９９】
（付記１１）
前記取引情報は、それぞれの取引情報を識別する第２識別情報を含む、付記１から付記１０のいずれか一つに記載の情報処理システム。
【０３００】
（付記１２）
価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報を取得する対象取得部と、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、該第１の取引情報に属性が記録されている場合に該属性を抽出する第１抽出部と、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、該取引情報に属性が記録されている場合に該属性を抽出する第２抽出部と、
前記第１抽出部が抽出した属性が、前記第２抽出部が抽出した属性に含まれない場合に、取得した前記第２の取引情報は正当ではないと判定する判定部とを有する
検証装置。
【０３０１】
（付記１３）
第１取引装置は、価値を示す情報の送付先と該価値を示す情報を入手した取引を識別する第１識別情報とを含む前記第２の取引情報をネットワークに出力し、
前記第１取引装置とネットワークを介して接続された検証装置は、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、
該第１の取引情報に属性が記録されている場合に該属性である第１属性を抽出し、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、
該第３の取引情報に属性が記録されている場合に該属性である第２属性を抽出し、
前記第１属性が、前記第２属性に含まれない場合に、前記第１取引装置が出力した前記第２の取引情報は正当ではないと判定する
情報処理方法。
【０３０２】
（付記１４）
価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報を取得し、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、
該第１の取引情報に属性が記録されている場合に該属性である第１属性を抽出し、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、
該第３の取引情報に属性が記録されている場合に該属性である第２属性を抽出し、
前記第１属性が、前記第２属性に含まれない場合に、取得した前記第２の取引情報は正当ではないと判定する
処理をコンピュータに実行させる検証方法。
【０３０３】
（付記１５）
価値を示す情報の送付先と、該価値を示す情報を入手した第１の取引情報を識別する第１識別情報とを含む第２の取引情報を取得し、
取引情報の連鎖を記録したブロックチェーンから、前記第１識別情報に基づいて前記第１の取引情報を抽出し、
該第１の取引情報に属性が記録されている場合に該属性である第１属性を抽出し、
前記ブロックチェーンから、所定の属性発行元から前記送付先に対する価値を示す情報の送付を記録した第３の取引情報を抽出し、
該第３の取引情報に属性が記録されている場合に該属性である第２属性を抽出し、
前記第１属性が、前記第２属性に含まれない場合に、取得した前記第２の取引情報は正当ではないと判定する
処理をコンピュータに実行させるプログラム。
【符号の説明】
【０３０４】
１  情報処理システム
１０  検証装置
１２  検証ＣＰＵ
１３  主記憶装置
１４  補助記憶装置
１５  通信部
１６  読取部
２１  第１取引装置
２１２  取次ＣＰＵ
２１３  主記憶装置
２１４  補助記憶装置
２１５  通信部
２３  第３取引装置
２３２  取次ＣＰＵ
２３３  主記憶装置
２３４  補助記憶装置
２３５  通信部
３０  第２取引装置
３２  店舗ＣＰＵ
３３  主記憶装置
３４  補助記憶装置
３５  通信部
３７  表示部
３８  入力部
４０  用途発行装置
４２  用途発行ＣＰＵ
４３  主記憶装置
４４  補助記憶装置
４５  通信部
４７  表示部
４８  入力部
５１  第１情報処理装置
５１２  第１ＣＰＵ
５１３  主記憶装置
５１４  補助記憶装置
５１５  通信部
５１７  表示部
５１８  入力部
５３  第３情報処理装置
５３２  第３ＣＰＵ
５３３  主記憶装置
５３４  補助記憶装置
５３５  通信部
５３７  表示部
５３８  入力部
６０  取引ＤＢ
６１  ブロックチェーン
６２  未検証情報群
６３  未検証情報（取引情報）
６４  ブロック
６５  取引情報群
６６  Ｎｏｎｃｅ
６７  ハッシュ値
７１  第１取得部
７２  適合判定部
７３  選択受付部
７４  第２判定部
７５  対象取得部
７６  第２出力部
７７  第３出力部
７８  表示部
８１  送付先欄
８１１  送付先名欄
８１２  送付先ＩＤ欄
８２  金額欄
８３  用途指定欄
８４  ＯＫボタン
８５  受付可能用途欄
８６  資産表示欄
８７  適合資産欄
８８  通常資産欄
８９  合計欄
９０  用途指定資産欄
９１  可搬型記録媒体
９２  プログラム
９３  半導体メモリ
９４  コンピュータ
９５  第１出力部
９６  追加部
９７  第１抽出部
９８  第２抽出部
９９  判定部
【図１】
2018116578.tif 000003
【図２】
2018116578.tif 000004
【図３】
2018116578.tif 000005
【図４】
2018116578.tif 000006
【図５】
2018116578.tif 000007
【図６】
2018116578.tif 000008
【図７】
2018116578.tif 000009
【図８】
2018116578.tif 000010
【図９】
2018116578.tif 000011
【図１０】
2018116578.tif 000012
【図１１】
2018116578.tif 000013
【図１２】
2018116578.tif 000014
【図１３】
2018116578.tif 000015
【図１４】
2018116578.tif 000016
【図１５】
2018116578.tif 000017
【図１６】
2018116578.tif 000018
【図１７】
2018116578.tif 000019
【図１８】
2018116578.tif 000020
【図１９】
2018116578.tif 000021
【図２０】
2018116578.tif 000022
【図２１】
2018116578.tif 000023
【図２２】
2018116578.tif 000024
【図２３】
2018116578.tif 000025
【図２４】
2018116578.tif 000026
【図２５】
2018116578.tif 000027
【図２６】
2018116578.tif 000028
【図２７】
2018116578.tif 000029
【図２８】
2018116578.tif 000030
【図２９】
2018116578.tif 000031
【図３０】
2018116578.tif 000032
【図３１】
2018116578.tif 000033
【図３２】
2018116578.tif 000034
【図３３】
2018116578.tif 000035
【図３４】
2018116578.tif 000036
【図３５】
2018116578.tif 000037
【図３６】
2018116578.tif 000038