(57)【要約】【課題】安全性の高い仮想貨幣データのデータ構造を提案する。【解決手段】所定の装置からネットワークを介して送られたそれを受け取った場合であり、且つ所定の条件が充足された場合に決済を認める決済装置と組合せて用いられる仮想貨幣データは、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む。【選択図】図１２
2018195059.tif 000002
【特許請求の範囲】
【請求項１】
所定の装置からネットワークを介して送られたそれを受けった場合であり、且つ所定の条件が充足された場合に決済を認める決済装置と組合せて用いられる、金銭的価値を有する仮想貨幣のデータである仮想貨幣データのデータ構造であって、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、
金銭的価値を特定するための情報である金額情報、
仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、
を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、
仮想貨幣データのデータ構造。
【請求項２】
前記決済条件情報は、
支払いを受けられる者を特定するための情報である受領者情報を含む、
請求項１記載の仮想貨幣データのデータ構造。
【請求項３】
前記決済条件情報は、
支払いを認められる時期を特定するための情報である時期情報を含む、
請求項１記載の仮想貨幣データのデータ構造。
【請求項４】
前記決済条件情報は、
前記金額情報によって特定される金額を変化させる情報である、
請求項１記載の仮想貨幣データのデータ構造。
【請求項５】
前記発行者情報は、
前記仮想貨幣データの発行者を特定する情報である発行人情報に加え、
前記仮想貨幣データの真正さを保証する権限を持つ者が発行した前記仮想貨幣データの真正さを保証する情報である認証用情報、
前記仮想貨幣データを他の前記仮想貨幣データから区別するための各仮想貨幣データにユニークな情報である記番号情報、
前記仮想貨幣データの発行されたタイミングを特定する情報であるタイミング情報、
の少なくとも一つを更に含んでいる、
請求項１記載の仮想貨幣データのデータ構造。
【請求項６】
前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化したときの条件を特定するための情報である暗号化条件情報が、更に付されている、
請求項１記載の仮想貨幣データのデータ構造。
【請求項７】
前記発行者情報、前記金額情報、及び前記決済条件情報の少なくとも一部が、暗号化されていない状態で更に付されている、
請求項１記載の仮想貨幣データのデータ構造。
【請求項８】
請求項１から７のいずれかに記載の仮想貨幣データのデータ構造を有する仮想貨幣データを記録している、
記録媒体。
【請求項９】
請求項８記載の前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの受信を行う端末装置受信手段を備えており、
前記仮想貨幣データは、前記端末装置受信手段により受信されてから前記記録媒体に記録されたものである、
受信装置。
【請求項１０】
請求項８記載の前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの送信を行う第１送信手段を備えており、
前記仮想貨幣データは、前記送信手段により前記ネットワークを介して前記決済装置に送信されるようになっている、
送信装置。
【請求項１１】
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、
前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、
を備えている決済装置。
【請求項１２】
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、
前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第２認証手段と、
前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
前記第２認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
を備えている決済装置。
【請求項１３】
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
１つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、
前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、
前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第３認証手段と、
前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
前記第３認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
を備えている決済装置。
【請求項１４】
ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法であって、
前記コンピュータが実行する、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、
前記決済装置受信過程で受取った前記仮想貨幣暗号化データを復号化する復号化過程と、
前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、
前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済過程と、
を含んでいる決済方法。
【請求項１５】
ネットワークを介してデータの受信を行うことができ、記録媒体を有し、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法であって、
前記コンピュータが実行する、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、
前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを前記記録媒体に記録するコピーデータ記録過程と、
前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記記録媒体に記録された前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第２認証過程と、
前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、
前記第２認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、
を含んでいる決済方法。
【請求項１６】
ネットワークを介してデータの受信を行うことができ、記録媒体を有し、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法であって、
前記コンピュータが実行する、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、
１つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で前記記録媒体に記録する平文情報記録過程と、
前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化過程と、
前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記暗号化過程で前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第３認証過程と、
前記平文情報記録過程で記録された前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
前記第３認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、
を含んでいる決済方法。
【請求項１７】
ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、
前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、
として機能させるためのコンピュータプログラム。
【請求項１８】
ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、
前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第２認証手段と、
前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
前記第２認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
として機能させるためのコンピュータプログラム。
【請求項１９】
ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
１つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、
前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、
前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第３認証手段と、
前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
前記第３認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
として機能させるためのコンピュータプログラム。
【請求項２０】
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、
を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、
仮想貨幣データ生成装置。
【請求項２１】
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、
を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっており、
請求項１１〜請求項１３のいずれかに記載の決済装置と一体となっている、
仮想貨幣データ生成装置。
【請求項２２】
コンピュータを含み、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置で実行される方法であって、
前記コンピュータに、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成させる過程、
を含んでいることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成する、
方法。
【請求項２３】
コンピュータを、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、
として機能させることにより、
前記コンピュータに、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成させることができるようになっている、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想貨幣に関する。
【背景技術】
【０００２】
近年、フィンテック関連の様々な提案がなされており、その一部は既に実用化され始めている。
その中に仮想通貨と称されるものがある。例えば、ナカモトサトシなる人物の論文に発してインターネット上に構築されたシステムによって実現された、ビットコイン（商標）も仮想通貨と一般に称されている。他方、ビットコインは、暗号通貨或いは暗号貨幣とも称されることがある。
【０００３】
まず、ビットコインの仕組みについて説明する。ビットコインは、概ね以下のような仕組みで成立している。
ビットコインは、まず、以下のようにして発生させられる。
ビットコインを発生させる権利を有する者は、後述するノードを管理する管理者に限られる。ノードの管理者は、インターネット上で行われるある種のゲームに参加する。ゲームは繰返し行われ、ゲームに勝ったノードの管理者は、ゲームに勝つ都度、所定の量のビットコインを得ることができるようになっている。
このようにして発生させられたビットコインは、一般的な貨幣と同様に、それを得たノードの管理者から、ノードの管理者以外の者を含む第三者に、例えば、「支払い」を行うために譲渡され、結果として点々と流布されることになる。
ところで、ビットコインに限られないが、仮想通貨、或いは仮想貨幣の分野では、二重譲渡をどのようにして防止するのかというのが、大変重要な問題となる。有体物である一般的な貨幣は、譲渡者から譲受者に譲渡されると譲渡者の手の中から消えるため、譲渡者が譲受者に貨幣を譲渡した後に、同じ貨幣を更に別の譲受者に譲渡することは原則的に不可能である。しかしながら、仮想通貨は複製が容易であり、且つ譲渡者が譲受者に仮想通貨を譲渡したとしても譲渡者が所有していたデータとしての仮想通貨を消滅させないことが可能であるから、同じ仮想通貨を、複数人に譲渡することは極めて容易である。同じ仮想通貨が複数人に譲渡されることを防止できなければ、そのような仮想通貨は通貨として何らの信用も得られない。
かかる二重譲渡の問題をビットコインは、すべての取引記録を保存するという方法で、解決することとしている。取引記録は、例えば以下のようなものである。簡単のために、ビットコインの仕組みへの参加者が、Ａ〜Ｄの４人のみであり、且つノードの管理者は、Ａ、Ｂの２人のみであるとする。ノードの管理者たるＡは、上述のゲームに勝利して１０００の、Ｂは、上述のゲームに勝利して５００のビットコインを得たとする。
この状態では、Ａ〜Ｄがそれぞれ持つビットコインは以下のように記述される。
［表１］
Ａ    +1000
Ｂ     +500
Ｃ        0
Ｄ        0
次いで、ＡはＣに１００の、ＢはＤに２００のビットコインを支払ったとする。
この状態では、Ａ〜Ｄがそれぞれ持つビットコインは以下のように記述される。
［表２］
Ａ    +1000  -200(to C)
Ｂ     +500  -100(to D)
Ｃ        0  +100(from A)
Ｄ        0  +200(from B)
次いで、ＡはＢに３００の、ＤはＣに１００のビットコインを支払ったとする。
この状態では、Ａ〜Ｄがそれぞれ持つビットコインは以下のように記述される。
［表３］
Ａ    +1000  -200(to C)   -300(to B)
Ｂ     +500  -100(to D)   +300(from A)
Ｃ        0  +100(from A) +100(from D)
Ｄ        0  +200(from B) -100(to C)
上記、表１から表３に記載の記録のすべてが取引記録である。上述の取引記録によれば、表３の時点において、Ａの持つビットコインは＋１０００−１００−３００＝６００、同様にＢの持つビットコインは６００、Ｃの持つビットコインは、２００、Ｄの持つビットコインは、１００であるということがわかる。
このような仕組みを持つビットコインは、興味深いことに、上述の例でいうＡ〜Ｄ間におけるビットコインの譲渡において、譲渡者から譲受者にビットコインの本体となる何らかのデータを引渡すということを行わない。それにも関わらず、取引記録さえ存在すれば、Ａ〜Ｄが現在持つビットコインの残高を特定することができる、というのがビットコインの仕組みの巧妙なところである。繰り返すが、ビットコインの仕組みにおいては、「コイン」という有体物を想起させるネーミングを使いながらも、コインの実体に相当するデータは存在しない。
なお、ビットコインの仕組みにおけるノードの管理者がゲームに勝利してビットコインを得るという現象は、取引がある程度進んだ後の例えば、表３以降の時点であってでも生じうる。
【０００４】
上述のように、ビットコインの仕組みにおいては、ビットコインの仕組みに参加する各参加者は、自分が所有するビットコインに相当するデータを持たない。つまり、各参加者の財布は空なのであるが、過去のすべての取引記録が閲覧可能に存在しており、且つその時点におけるビットコインの残高は閲覧記録からこのように特定されるのであるから、各参加者が持つビットコインはきっとこうであるはずである、というお互いの理解、或いは共同幻想によってその仕組が成り立っている。
それだけに、その共同幻想を参加者の皆が信じられるようにするためには、取引記録が正当である、或いは取引記録の改竄が不可能である、という保証が必要である。
それをビットコインは、ブロックチェーンと、プルーフ・オブ・ワークいう技術乃至思想によって担保している。ビットコインの取引記録は、それ以前の取引記録に新たな取引記録を連ねていく、という構造となっている。過去の取引記録に新たな取引記録のデータ（ブロック）を連続して連ねていくことにより、取引記録のデータは、ブロックを鎖のように連ねたものとなる。これがブロックチェーンと呼ばれる。ブロックチェーンに付加される新たなブロックが生成される場合、それ以前のブロックを暗号化することによって得られた値（正確には、過去のブロックのデータから作ったハッシュ値）が新たなブロックに付加される。それにより、ブロックチェーンに新たなブロックが付加された時点よりも後においては、過去のブロックに対して改竄を行うとハッシュ値に変化が生じてその改竄が発覚することとなるので、それ以前に作られた過去のブロックに対するデータの改竄を行うことが事実上不可能となる。
また、ブロックチェーンのデータは、インターネット上に多数存在する、ノードと呼ばれるサーバに記録される。各ノードに記録されるブロックチェーンのデータは同じものである。ノードの管理者は上述のように、上述したある種のゲームの参加者である。そして、新たな取引記録のブロックを過去の取引記録に対して付加できる者は、上述のゲームの勝者のみである。つまり、ノードに新たなブロックを追加できる者を１人のみに限定することにより、ブロックのデータの適正なることを確保している。
以上のような仕組みにより、各ノードに記録されたブロックチェーンは、ハッシュ値により改竄ができない、或いは改竄がなされた場合にはハッシュ値が変化するため、改竄がなされたことが発覚するようになっている。また、各ノードに記録されたブロックチェーンのうちの幾つかが、過去のブロックのデータの改竄が発覚しないようにハッシュ値も含めて同じように改竄されたとしても（例えば、多数のノードに記録されたブロックチェーンのうちの幾つかについて、同じ改竄がなされたとしても）、多数のノードに記録されたブロックチェーンのうちの改竄されていないものの方が多数を占めているのであればそちらを真とすることにより、過去のブロックのデータのハッシュ値も含めた改竄も無力となるようにすることができ、実際ビットコインではこのような多数決の理論を最小している。上述のようにノードの管理者は、ゲームに勝つことにより報酬としてビットコインを得ることができる。それをモチベーションとしてノードの管理者達は、自らのコンピュータのコンピューティングパワーを向上させる。悪意のある第三者がノードに記録されたブロックチェーンのうちの過半数を改ざんするには、ノードの管理者達が持つ多数のコンピュータのコンピューティングパワーの合計の少なくとも半分以上のコンピューティングパワーを持つコンピュータを用意することが必要となる。そのようなコンピューティングパワーを持つコンピュータを準備することは事実上不可能であるという前提を、ビットコインの仕組みに参加する者は信用している。かかる信用、或いは信頼関係により、ブロックチェーンの、ひいては取引記録の正当性が保証され、ビットコインにある種の信用が与えられている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ビットコインの仕組みは上述のごときものであるが、仮想通貨と呼ぶならまだしも、ビットコインが暗号貨幣と称されることに、本願発明者は大きな疑問を抱いている。
というのは、ビットコインの仕組みにおいては、暗号技術は、取引記録の正当性を保証するという目的で使用されているのみであるからである。上述のブロックチェーンに新たなブロックを追加するときにそれ以前のブロックのハッシュ値をとる、というのがそれである。
しかも、ビットコインは、上述したように、価値の譲渡に際して、価値の譲渡人から譲受人に引渡されるデータが存在しない。これは、通貨を機能させるにあたって、価値の譲渡をその譲渡により媒介する有体物たる貨幣（札、硬貨）を用いないと同様である。
つまり、ビットコインは、通貨として機能するかもしれないが、貨幣性は無いし、また、暗号の利用も極めて限定的である。貨幣性がないことによる問題は、過去の取引記録のすべてを記録しておくことが必要であるということであり、これはその大きなデータ量を記録することに壮大な手間、無駄が生じる。実際ビットコインで記録されているブロックチェーンのデータ量は既に膨大であり、それを記録する、しかも多数のノードで同じブロックチェーンのデータを記録することにより、凄まじい無駄が生じている。他方、貨幣の代わりとなるデータをユーザ間で流通させようとすると、そのデータの安全性が問題となる。
【０００６】
そのような観点から、極めて漠然としてではあるが、仮想通貨を成立させるには暗号技術を活用すべきというアイデアは存在しており、暗号技術の適切な利用によって安全な仮想通貨、もっと言えば仮想貨幣を成立させられる可能性がある。ビットコインが暗号通貨などと称されることがあるのは、暗号を用いているから安全であるという「イメージ」をユーザに与えるための方便であろう。
しかし、上述の如くビットコインでは、暗号技術は極めて限定的にしか使われていない。
また、デジキャッシュ又はｅキャッシュと称された、価値をユーザ間でやり取りする場合にやり取りされる、貨幣代わりのデータを利用した仮想通貨も過去に存在しており、これにも暗号技術が使われていた。しかしながら、かかる仮想通貨で使用されていた暗号技術は、そのデータが真正なデータであるということを示す認証用のデータが暗号化されたものが、金銭的な価値を有するデータに付されていたというだけのものであった。
【０００７】
本願発明は、真の意味で暗号貨幣として成立する、データである仮想貨幣を提供することをその課題とする。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため、本願発明者は、以下に説明する発明を提案する。
本願発明は、所定の装置からネットワークを介して送られたそれを受けった場合であり、且つ所定の条件が充足された場合に決済を認める決済装置と組合せて用いられる、金銭的価値を有する仮想貨幣のデータである仮想貨幣データのデータ構造である。
かかる仮想貨幣データのデータ構造は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む。
かかるデータ構造を有する仮想貨幣データは、決済を認めるか否かを決定する決済装置と組合せて利用される。決済装置は、後述するように、３つのタイプがあるが、いずれも暗号技術を利用したものである。上述の如きデータ構造を有する仮想貨幣データは、もちろん他の条件が充足されることが必要とされても構わないが、以下のような条件が充足された場合に、決済装置が決済を認めるものとすることができる。後述するように、本願の仮想貨幣データによって実現される仮想貨幣は、価値の交換に際して交換される仮想貨幣データが存在するものであるから膨大な取引記録のデータの記録が不要となるのみならず、仮想貨幣データは、いわば、その金銭的な価値の本体を暗号化するものであるから、その安全性が高い。
なお、本願発明における「暗号化」という文言は、第三者がそのデータを見ても特別な知識なしでは読めない（理解できない）ようにそのデータを変換することを言い、復号化できる変換のみでなく、ハッシュ値をとる場合のように、不可逆に変換する場合をも含む。
【０００９】
本願発明における仮想貨幣データのデータ構造に暗号化して含まれる決済条件情報によって特定される決済の条件はどのようなものであっても良い。価値の譲渡人又は譲受人を制限する、価値の譲渡人又は譲受人がいる場所を制限する、価値の譲渡をできる時期を制限する、一定期間内に同一人が価値の譲渡をできる回数を制限する等がその例として挙げられる。
例えば、本願発明における仮想貨幣データのデータ構造における前記決済条件情報は、支払いを受けられる者を特定するための情報である受領者情報を含んでもよい。かかるデータ構造を有する仮想貨幣データにより支払いを受けられる者を限定することが可能になるから、仮にそのような仮想貨幣データが悪意ある第三者に盗まれたとしても、当該第三者が受領者情報で特定される者ではないので、悪意ある第三者が金銭的価値の受取を行えないようにすることができる。
また、前記決済条件情報は、支払いを認められる時期を特定するための情報である時期情報を含んでも良い。かかるデータ構造を有する仮想貨幣データにより支払いを受けられる時期を制限することが可能になるから、仮にそのような仮想貨幣データが悪意ある第三者に盗まれたとしても、それが支払いを受けられる期限を経過しているのであれば、悪意ある第三者が金銭的価値の受取を行えないようにすることができる。また、支払い時期を期限とした場合には、仮想貨幣データによる決済を急がす、或いは仮想貨幣データの使用を促すことができるようになる。
前記決済条件情報は、前記金額情報によって特定される金額を変化させる情報であってもよい。
例えば、決済条件情報により、時間の経過とともに金額情報によって特定される金額を変化させるようにすることができる。具体的には、決済条件情報により、時間の経過とともに金額情報によって特定される金額を漸減させる、或いは金額情報によって特定される金額を段階的に減らすようにすることが可能であるが、それにより、かかる決済条件情報を暗号化したデータを含む仮想貨幣暗号化データを含む仮想貨幣データを持つ者は、仮想貨幣データの使用を促がされることとなる。もちろん、金額情報によって特定される金額は、増加するようにしても良いし、増減するようにしてもよい。これにより、かかる仮想貨幣データを持つユーザ（達）の消費行動を、例えば、仮想貨幣データを用いた支払いを急がせるように、仮想貨幣データを用いた支払いを遅らせるように、仮想貨幣データによる支払いをある時期に集中させる或いはある時期を避けさせるように、誘導できるようになる。
また、決済条件情報により、その支払が行われる場所によって、その支払いが行われる場合の価値の譲渡人又は譲受人によって、ある時期に同一人によって支払が行われた或いは同一人が支払いを受けた回数等によって、金額情報によって特定される金額を変化させるようにすることができる。これらによっても、ユーザ（達）の消費行動を誘導できるようになる。
【００１０】
本願発明における仮想貨幣データのデータ構造に暗号化して含まれる発行者情報には発行者以外の情報が含まれていても良い。例えば、前記発行者情報は、前記仮想貨幣データの発行者を特定する情報である発行人情報に加えて、前記仮想貨幣データの真正さを保証する権限を持つ者が発行した前記仮想貨幣データの真正さを保証する情報である認証用情報、前記仮想貨幣データを他の前記仮想貨幣データから区別するための各仮想貨幣データにユニークな情報である記番号情報、前記仮想貨幣データの発行されたタイミングを特定する情報であるタイミング情報、の少なくとも一つを更に含んでいてもよい。
【００１１】
本願発明による仮想貨幣データのデータ構造は、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化したときの条件を特定するための情報である暗号化条件情報が、更に付されたものであってもよい。これは、後述する決済装置で、特に後述する１つ目、及び３つ目のタイプの決済装置と組合せられる仮想貨幣データで有用である。なお、暗号化条件情報は、暗号化されていても良いし、そうでなくても良い。
本願発明による仮想貨幣データのデータ構造は、前記発行者情報、前記金額情報、及び前記決済条件情報の少なくとも一部が、暗号化されていない状態で更に付されていてもよい。上述したように、発行者情報、金額情報、及び決済条件情報は、本願発明では、暗号化された仮想貨幣暗号化データとされている。これにより仮想貨幣データの安全性を高めることが可能となるものの、価値の譲渡人と譲受人のうち特に価値の譲受人が、自分がどのような条件で幾らの金額の支払いを受けられるのかわからない、ということも生じうる。発行者情報、金額情報、及び決済条件情報の少なくとも一部を、可読の平文のデータとしておくことにより、例えば後述する受信装置や送信装置で復号化の処理を行わずとも読取れるようにしておくことにより、そのような不便を解消できることになる。
【００１２】
以上で説明した仮想貨幣データのデータ構造を有する仮想貨幣データは、もちろん、記録媒体に記録されていても良い。記録媒体は、可搬の記録媒体に限らず、所定の機器に内蔵された記録媒体であってもよい。所定の機器に内蔵された記録媒体は、例えば、ＲＡＭ（random access memory）、ＨＤＤ（hard disk drive）である。
所定の機器は、上述の如き前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの受信を行う端末装置受信手段を備えており、前記仮想貨幣データは、前記端末装置受信手段により受信されてから前記記録媒体に記録されたものである、受信装置であってもよい。
所定の機器は、また、上述の如き前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの送信を行う第１送信手段を備えており、前記仮想貨幣データは、前記送信手段により前記ネットワークを介して前記決済装置に送信されるようになっている、送信装置であってもよい。
【００１３】
次いで、３つのタイプの決済装置について説明する。
１つ目のタイプの決済装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、を備えている決済装置である。
１つ目のタイプの決済装置と組合せて用いられる仮想貨幣データは、本願発明における仮想貨幣データのデータ構造を有する仮想貨幣データであるが、それに含まれる仮想貨幣暗号化データは、復号化できるように暗号化されたものに限られる。１つ目の決済装置は、仮想貨幣データを受取ったときに、それに含まれる仮想貨幣暗号化データを復号化する。そして、復号化された仮想貨幣暗号化データに含まれていた決済条件情報により特定される条件が充足されていることを条件に、金額情報で特定される金額の決済を決済装置が認めるようになっている。この場合、仮想貨幣データの真正性は、発行者情報によって認証されてもよいが、そもそも仮想貨幣暗号化データを復号化できたという事実によって証明される。復号化ができるか否かを認証の条件とすることにより、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能となり、ひいてはかかる決済装置で実行される決済装置とともに利用される仮想貨幣データの安全性が高くなる。なお、発行者情報を仮想貨幣暗号化データの正当性の確認に用いて良いのは、後述する２つ目、３つ目のタイプの決済装置でも同様である。
１つ目のタイプの決済装置は、復号化手段を備えており、復号化手段によって仮想貨幣暗号化データを復号化する。ところで、もちろんのことであるが、仮想貨幣データは、例えば、ネットワーク上に、上述の記録媒体上に、或いは、上述の所定の機器の中に同時に多数が存在する状態となる。暗号化の手法、例えば鍵及びアルゴリズムの双方が常に同一であれば、決済装置の復号化手段は仮想貨幣暗号化データをその１種類の鍵及びアルゴリズムの組合せで常に復号化することができる。ただし、仮想貨幣データの安全性を高めるのであれば、多数の仮想貨幣データに含まれる仮想貨幣暗号化データの少なくとも１つを、できればすべての仮想貨幣暗号化データを、他の仮想貨幣暗号化データとは異なる手法で暗号化したものとするのが好ましいのは自明である。しかしながらそのような技術を採用した場合には、復号化手段は、復号化しようとする仮想貨幣暗号化データがどのような手法で暗号化されたのかを把握しなければならない。それを可能とするのが、上述の暗号化条件情報である。
復号化手段が復号化しようとする仮想貨幣暗号化データに付されている暗号化条件情報から、その仮想貨幣暗号化データが暗号化されたときの条件を把握する手段を決済装置が備えていれば、復号化手段は、その仮想貨幣暗号化データが暗号化されたときの条件を知ることができるから、仮に仮想貨幣暗号化データのそれぞれが異なる条件下で暗号化されていたとしても仮想貨幣暗号化データを復号化するのに不都合は生じない。暗号化条件情報は、上述したように、暗号化されていても、そうでなくてもよい。暗号化されていない暗号化条件情報はそのまま用いることができる。他方、暗号化されているのであれば暗号化条件情報は復号化されなければ用いることができない。仮にそれぞれの仮想貨幣暗号化データが異なる条件で暗号化されるにしても、暗号化条件情報を暗号化するための条件を常に同一としておけば、決済装置の所定の手段、例えば復号化手段で暗号化された暗号化条件データを復号化することは可能である。
暗号化条件情報は、仮想貨幣暗号化データを暗号化するときに用いられた上述の鍵やアルゴリズムそのものでも良いし、仮想貨幣暗号化データを暗号化するときに用いられた上述の鍵やアルゴリズムが何かを特定するための情報であってもよい。例えば、仮想貨幣データを暗号化する場合に、１つ目の仮想貨幣データを暗号化する場合には１つ目の鍵、２つ目の仮想貨幣データを暗号化する場合には２つ目の鍵、３つ目の仮想貨幣データを暗号化する場合には３つ目の鍵…、といったように順次変更される異なる鍵で暗号化が行われるとする。そして、それらの鍵が例えば、以下のような数式によって連続して生成される擬似乱数であるとする。そうすると、Ｎ番目の擬似乱数は、初期値Ｘ０が当初から特定されていればＮ番目の擬似乱数は常に同じになるから、その仮想貨幣暗号化データが暗号化されたときの条件を把握する手段は、そのＮ番目の擬似乱数をＸ０からいつでも再現することができる。それにより、その擬似乱数を鍵として用いて復号化手段は仮想貨幣暗号化データを復号化することができる。ここで、初期値Ｘ０が秘匿されているのであれば、仮想貨幣データに含まれる暗号化条件情報（それが何番目の擬似乱数であるかを示す数値）が仮に平文のまま仮想貨幣データに含まれていても、仮想貨幣データを入手した悪意ある第三者が、その暗号化条件情報からその仮想貨幣暗号化データが暗号化されたときの条件を把握することはできない。なお、仮想貨幣データには、上述したように、発行者情報、金額情報、及び決済条件情報の少なくとも一部が、暗号化されていない状態で更に付されている場合があるが、これらデータの例えば一部が、暗号化条件情報を兼ねていても構わない。
ＸＮ＝ｆ（ＸＮ−１）
（ＸＮは、Ｎ番目の擬似乱数であり、擬似乱数は、数字、文字、記号或いはそれらのうちの２種類以上の羅列である。）
本願発明者は、上述の１つ目のタイプの決済装置で実行される方法をも本願発明の一態様として提案する。その効果は、１つ目の決済装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法である。
そしてその決済方法は、前記コンピュータが実行する、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、前記決済装置受信過程で受取った前記仮想貨幣暗号化データを復号化する復号化過程と、前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済過程と、を含んでいる。
本願発明者は、上述の１つ目のタイプの決済装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムである。
そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、として機能させるためのコンピュータプログラムである。
【００１４】
２つ目のタイプの決済装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第２認証手段と、前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第２認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、を備えている決済装置である。
２つ目のタイプの決済装置と組合せて用いられる仮想貨幣データは、本願発明における仮想貨幣データのデータ構造を有する仮想貨幣データであるが、それに含まれる仮想貨幣暗号化データは、復号化できるように暗号化されたものに限られない。２つ目の決済装置は、決済装置に送られてくることが予定されている多数の仮想貨幣データに含まれている仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録したコピーデータ記録手段を備えている。この決済装置は、仮想貨幣データを受取ったときに、それに含まれる仮想貨幣暗号化データを、コピーデータ記録手段に記録されているコピー仮想貨幣暗号化データと比較する。その結果、コピーデータ記録手段に記録されていたコピー仮想貨幣暗号化データの１つと受取った仮想貨幣データに含まれていた仮想貨幣暗号化データとが一致するか否かを判定し、仮想貨幣データとコピー仮想貨幣暗号化データの１つとが一致した場合、仮想貨幣データに含まれていた発行者情報により仮想貨幣暗号化データが真正なものであると判定され、且つ決済条件情報により特定される条件が充足されていることを条件に、金額情報で特定される金額のデータの決済を決済装置が決済を認めるようになっている。要するに、１つ目の決済装置では、仮想貨幣暗号化データが復号化できるかということを当該仮想貨幣暗号化データを含んでいた仮想貨幣データが真正なものであるか否かを判定するための条件としていたが、２つ目の決済装置では、その代わりに仮想貨幣暗号化データをコピーしたコピー仮想貨幣暗号化データを予め準備しておき、それとの比較により仮想貨幣データが真正なものであるか否かを判定するようにしたものといえる。したがって、２つ目の決済装置でも、１つ目の決済装置の場合と同程度に、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能であり、ひいてはかかる決済装置で実行される決済装置とともに利用される仮想貨幣データの安全性を高くすることが可能である。
２つ目の決済装置は、上述したように、決済条件情報によって特定される決済条件が充足されているか否かを判定するようになっている。そのために当然に、決済条件情報が必要となる。決済条件情報は例えば、コピーデータ記録手段に、それが含まれる各コピー仮想貨幣暗号化データと紐付けて記録されていても良いし、コピー仮想貨幣暗号化データか仮想貨幣暗号化データを復号化することにより、都度得られるようになっていても良い。同様に、発行者情報も、例えば、コピーデータ記録手段に、それが含まれる各コピー仮想貨幣暗号化データと紐付けて記録されていても良いし、コピー仮想貨幣暗号化データか仮想貨幣暗号化データを復号化することにより、都度得られるようにすることができ、そうすることにより発行者情報を、仮想貨幣データの真正性を確認するために利用することが可能となる。
本願発明者は、上述の２つ目のタイプの決済装置で実行される方法をも本願発明の一態様として提案する。その効果は、２つ目の決済装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、ネットワークを介してデータの受信を行うことができ、記録媒体を有し、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法である。
そしてその決済方法は、前記コンピュータが実行する、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを前記記録媒体に記録するコピーデータ記録過程と、前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記記録媒体に記録された前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第２認証過程と、前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、前記第２認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、を含んでいる。
本願発明者は、上述の２つ目のタイプの決済装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムである。
そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第２認証手段と、前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第２認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、として機能させるためのコンピュータプログラムである。
【００１５】
３つ目のタイプの決済装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、１つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第３認証手段と、前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第３認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、を備えている決済装置である。
３つ目のタイプの決済装置と組合せて用いられる仮想貨幣データは、本願発明における仮想貨幣データのデータ構造を有する仮想貨幣データであるが、それに含まれる仮想貨幣暗号化データは、復号化できるように暗号化されたものに限られない。３つ目の決済装置は、決済装置に送られてくることが予定されている多数の仮想貨幣データに含まれている仮想貨幣暗号化データを生成するときに用いられた、発行者情報、金額情報、及び決済条件情報を互いに紐付けた状態で記録している平文情報記録手段を備えている。この決済装置は、仮想貨幣データを受取ったときに、上述の平文情報記録手段に記録されていた互いに紐付けられた発行者情報、金額情報、及び決済条件情報を暗号化して、データを生成する。そして、そのデータが、受取った仮想貨幣データに含まれていた仮想貨幣暗号化データと一致すれば、その仮想貨幣データが真正なものであると判定する。決済装置は、仮想貨幣データが真正なものであると判定され、且つ決済条件情報により特定される条件が充足されていることを条件に、金額情報で特定される金額のデータの決済を認めるようになっている。要するに、１つ目の決済装置では、仮想貨幣暗号化データが復号化できるかということを当該仮想貨幣暗号化データを含んでいた仮想貨幣データが真正なものであるか否かを判定するための条件としていたが、３つ目の決済装置では、その代わりに、仮想貨幣暗号化データと同じデータを、発行者情報、金額情報、及び決済条件情報を暗号化することにより再度作れるか否か、ということにより、仮想貨幣データが真正なものであるか否かを判定するようにしている。したがって、３つ目の決済装置でも、１つ目の決済装置の場合と同程度に、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能であり、ひいてはかかる決済装置で実行される決済装置とともに利用される仮想貨幣データの安全性を高くすることが可能である。
３つ目のタイプの決済装置は、暗号化手段を備えており、暗号化手段によって平文情報記録手段に記録されていた発行者情報、金額情報、及び決済条件情報を暗号化する。ところで、もちろんのことであるが、仮想貨幣データは、例えば、ネットワーク上に、上述の記録媒体上に、或いは、上述の所定の機器の中に同時に多数が存在する状態となる。暗号化の手法、例えば鍵及びアルゴリズムの双方が常に同一であれば、決済装置の暗号化手段は、平文情報記録手段に記録されていた発行者情報、金額情報、及び決済条件情報を、その１種類の鍵及びアルゴリズムの組合せで暗号化すれば、それにより得られたデータは、決済装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、仮想貨幣暗号化データに特に改竄等がなされていなければ一致する。他方、多数の仮想貨幣データに含まれる仮想貨幣暗号化データの少なくとも１つを、できればすべての仮想貨幣暗号化データを、他の仮想貨幣暗号化データとは異なる手法で暗号化する場合がありうる。そのような場合には、暗号化手段で発行者情報、金額情報、及び決済条件情報を暗号化する手法が、それと比較される仮想貨幣暗号化データを暗号化したときに用いられた手法と一致しなければ、平文情報記録手段に記録されていた発行者情報、金額情報、及び決済条件情報を暗号化することにより得られたデータは、決済装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと一致しない。つまり、決済装置は、送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが、どのような手法で暗号化されたのかを把握しなければならない。それを可能とするのが、上述の暗号化条件情報である。そのデータの内容、用い方は、１つ目の決済装置において説明したものと同様で良い。
本願発明者は、上述の３つ目のタイプの決済装置で実行される方法をも本願発明の一態様として提案する。その効果は、３つ目の決済装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法である。
そしてその決済方法は、前記コンピュータが実行する、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、１つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で前記記録媒体に記録する平文情報記録過程と、前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化過程と、前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記暗号化過程で前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第３認証過程と、前記平文情報記録過程で記録された前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第３認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、を含んでいる。
本願発明者は、上述の３つ目のタイプの決済装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムである。
そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、１つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第３認証手段と、前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第３認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、として機能させるためのコンピュータプログラムである。
【００１６】
本願発明者は、また、本願発明による仮想貨幣データのデータ構造を有する仮想貨幣データを生成するための仮想貨幣データ生成装置をも、本願発明の一態様として提案する。これによる効果は、本願発明による仮想貨幣データのデータ構造で説明した効果に等しい。
一例となる仮想貨幣データ生成装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置である。
仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、上述の仮想貨幣データ生成装置は、本願発明における既に説明した決済装置の１つと一体となっていてもよい。
本願発明者は、ここまでに説明した仮想貨幣データ生成装置で実行される方法をも本願発明の一態様として提案する。その効果は、上記仮想貨幣データ生成装置による効果と等しい。
一例となるその方法は、コンピュータを含み、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置で実行される方法であって、前記コンピュータに、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成させる過程、を含んでいることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成する、方法である。
本願発明者は、上述の仮想貨幣データ生成装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
それは、コンピュータを、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置として機能させるためのコンピュータプログラムである。
そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、として機能させることにより、前記コンピュータに、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成させることができるようになっている、コンピュータプログラムである。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態による決済システムの全体構成を示す図。
【図２】図１に示した決済システムに含まれるユーザ端末の外観を示す図。
【図３】図１に示した決済システムに含まれるユーザ端末のハードウェア構成を示す図。
【図４】図１に示した決済システムに含まれるユーザ端末の内部に生成される機能ブロックを示すブロック図。
【図５】図１に示した決済システムに含まれる決済装置のハードウェア構成を示す図。
【図６】図１に示した決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図７】図１に示した決済システムに含まれる決済端末のハードウェア構成を示す図。
【図８】図１に示した決済システムに含まれる決済端末の内部に生成される機能ブロックを示すブロック図。
【図９】図１に示した決済システムで決済が行われるときに実行される処理の流れを示す図。
【図１０】図１に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の一例を示す図。
【図１１】図１に示した決済システムに含まれる決済装置内の基本データ記録部に記録されているデータの一部の内容を観念的に示す図。
【図１２】（Ａ）図１に示した決済システムで使用される仮想貨幣データに含まれる仮想貨幣暗号化データの元になる平文のデータのデータ構造を観念的に示す図、（Ｂ）図１に示した決済システムで使用される仮想貨幣データのデータ構造を観念的に示す図。
【図１３】図１に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の他の例を示す図。
【図１４】図１に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の更に他の例を示す図。
【図１５】変形例１の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図１６】第２実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図１７】第３実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図１８】変形例２の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【発明を実施するための形態】
【００１８】
以下、本発明の第１〜第３実施形態について説明する。各実施形態、変形例の説明で同じ対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。
【００１９】
≪第１実施形態≫
図１に、第１実施形態による決済システムの全体構成を概略で示す。
決済システムは、複数のユーザ端末１００−１〜１００−Ｎ（以後、単に、「ユーザ端末１００」と記載する場合もある。）、決済装置２００及び決済端末３００−１〜３００−ｎ（以後、単に、「決済端末３００」と記載する場合もある。）を含んで構成されている。これらはすべて、ネットワーク４００に接続可能とされている。
ネットワーク４００は、これには限られないが、この実施形態ではインターネットである。
ユーザ端末１００は、本願発明の受信装置の一例であり、決済端末３００は、本願発明の送信装置の一例であり、決済装置２００は本願発明の決済装置の一例にそれぞれ相当する。
これには限られないが、この実施形態では、後述する仮想貨幣データを用いての金銭の支払いは、ユーザ端末１００の管理者（所有者）から、決済端末３００の管理者（決済端末３００を管理又は所有する者等）に対して行われることを原則とし、場合によっては一のユーザ端末１００の管理者から他のユーザ端末１００の管理者に対して行われる。
【００２０】
通常、ユーザ端末１００は各ユーザの所有物である。ユーザ端末１００は、コンピュータを含んでいる。ユーザ端末１００は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。可搬であり、且つ後述するプログラムをインストールするのに向いているという点を考慮すれば、これらのうち、特に、スマートフォンかタブレットが、ユーザ端末１００として用いるのに好ましい。スマートフォンは例えば、Ａｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰｈｏｎｅである。タブレットの例はＡｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰａｄである。以下、これには限られないが、ユーザ端末がスマートフォンであることとして話を進める。
ユーザ端末１００は少なくともデータの受信をすることが可能であることが必要であるが、データの送信をもできるものであっても良い。この実施形態におけるユーザ端末１００はスマートフォンであるから、当然にデータの受信と送信の双方が可能である。
【００２１】
次に、ユーザ端末１００の構成を説明する。各ユーザ端末１００−１〜１００−Ｎの構成は、本願発明との関連でいえば同じである。
【００２２】
ユーザ端末１００の外観の一例を図２に示す。
ユーザ端末１００は、ディスプレイ１０１を備えている。ディスプレイ１０１は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ１０１は例えば、液晶ディスプレイである。ユーザ端末１００は、また入力装置１０２を備えている。入力装置１０２は、ユーザが所望の入力をユーザ端末１００に対して行うためのものである。入力装置１０２は、公知或いは周知のものを用いることができる。この実施形態におけるユーザ端末１００の入力装置１０２はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。また、ディスプレイ１０１がタッチパネルである場合、ディスプレイ１０１は入力装置１０２の機能を兼ねることになり、この実施形態ではそうされている。
入力装置１０２から入力されるデータは、いずれもその詳細を追って説明するが、例えば、仮想貨幣データの生成依頼についての生成依頼情報、仮想貨幣データの使用についての支払い情報、仮想貨幣データの譲渡についての譲渡情報、及びユーザＩＤである。
【００２３】
ユーザ端末１００のハードウェア構成を、図３に示す。
ハードウェアには、ＣＰＵ（central processing unit）１１１、ＲＯＭ（read only memory）１１２、ＲＡＭ（random access memory）１１３、インターフェイス１１４が含まれており、これらはバス１１６によって相互に接続されている。
ＣＰＵ１１１は、演算を行う演算装置である。ＣＰＵ１１１は、例えば、ＲＯＭ１１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の受信装置としてこのユーザ端末１００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、ユーザ端末１００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのユーザ端末１００へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ１１２は、ＣＰＵ１１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ１１２に記録されたコンピュータプログラムは、これに限られず、ユーザ端末１００がスマートフォンであれば、ユーザ端末をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。ユーザ端末１００は、また、ネットワーク４００を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のｗｅｂブラウザを実装している。
ＲＡＭ１１３は、ＣＰＵ１１１が処理を行うために必要なワーク領域を提供する。ＲＡＭ１１３には後述する仮想貨幣データが記録される場合がある。
インターフェイス１１４は、バス１１６で接続されたＣＰＵ１１１やＲＡＭ１１３等と外部との間でデータのやり取りを行うものである。インターフェイス１１４には、上述のディスプレイ１０１と、入力装置１０２とが接続されている。入力装置１０２から入力された操作内容は、インターフェイス１１４からバス１１６に入力されるようになっているとともに、後述する画像データは、インターフェイス１１４から、ディスプレイ１０１に出力されるようになっている。インターフェイス１１４は、また、図示を省略する送受信部に接続されている。  
送受信部は、インターネットであるネットワーク４００を介してのデータの送受信を行うものである。かかる通信は、有線で行われる場合もあるが、ユーザ端末１００がスマートフォンである場合には、かかる通信は通常無線で行われる。それが可能な限り、送受信部の構成は、公知或いは周知のものとすることができる。送受信部がネットワーク４００から受取ったデータ（例えば仮想貨幣データ）は、インターフェイス１１４により受取られるようになっており、インターフェイス１１４から送受信部に渡されたデータ（例えば仮想貨幣データ）は、送受信部によって、ネットワーク４００を介して外部、例えば、決済装置２００に送られるようになっている。
【００２４】
ＣＰＵ１１１がコンピュータプログラムを実行することにより、ユーザ端末１００内部には、図４で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、ユーザ端末１００を本願発明のユーザ端末として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、ユーザ端末１００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
ユーザ端末１００内には、本願発明の機能との関係で、以下のような制御部１２０が生成され、制御部１２０内に、主制御部１２１、表示制御部１２２、データ入出力部１２３、ユーザ端末記録部１２４が生成される。
【００２５】
制御部１２０は、以下に説明するような情報処理を実行する。
主制御部１２１は、制御部１２０内の全体的な制御を行う。例えば、主制御部１２１は、追って詳述するデータ入出力部１２３から受取ったデータに基づいて表示制御部１２２の制御を行う。
主制御部１２１は、追って説明するデータ入出力部１２３から、これも追って説明する仮想貨幣データを受取る場合がある。それを受取った場合、主制御部１２１は、それをユーザ端末記録部ユーザ端末記録部１２４又は表示制御部１２２に送るようになっている。主制御部１２１は後述するようにユーザ端末記録部１２４から仮想貨幣データを読み出す場合がある。それを読み出した主制御部１２１は仮想貨幣データに基づく表示を行わせるべく表示制御部１２２に指示を送るようになっており、また場合によってはそれをデータ入出力部１２３に送るようになっている。
主制御部１２１は、データ入出力部１２３から、入力装置１０２から入力された上述の生成依頼情報、支払い情報、又は譲渡情報を受取る場合があり、それらを受取ったとき、後述するような処理をそれぞれ行うようになっている。例えば、生成依頼情報を受取った場合、主制御部１２１は、それに必要な情報を付加して、データ入出力部１２３へそれを送り、データ入出力部１２３から送受信部、ネットワーク４００を介してそれを決済装置２００に送るようになっている。
表示制御部１２２は、主制御部１２１の制御を受けつつ、ディスプレイ１０１に表示される画像の制御を行う。ディスプレイ１０１には、表示制御部１２２から送られたデータに基づく画像が表示される。主制御部１２１は、表示制御部１２２に対して、ディスプレイ１０１にどのような画像を表示させるべきかという指示を送る。
【００２６】
データ入出力部１２３は、制御部１２０へのデータの入出力を行うものである。具体的には、データ入出力部１２３は、入力装置１０２からの入力を受取るようになっている。入力装置１０２からデータ入出力部１２３へ入力されるのは、例えば、生成依頼情報、支払い情報、又は譲渡情報である。これらはデータ入出力部１２３から主制御部１２１に送られるようになっている。
また、データ入出力部１２３は、送受信部から、決済装置２００等からネットワーク４００を介して送られて来た仮想貨幣データを受取るようになっている。データ入出力部１２３は、受取った仮想貨幣データを、主制御部１２１に送るようになっている。
また、データ入出力部１２３は主制御部１２１から、仮想貨幣データを受取る場合がある。これを受取ったデータ入出力部１２３は、仮想貨幣データを送受信部に送るようになっており、仮想貨幣データは送受信部から例えば決済装置２００に送られるようになっている。仮想貨幣データの送信先は、後述するように、入力装置１０２からの入力にしたがって、主制御部１２１によって指定される。
【００２７】
ユーザ端末記録部１２４は、上述したように、主制御部１２１がデータ入出力部１２３から仮想貨幣データを受取った場合、主制御部１２１から仮想貨幣データを受取りそれを記録するようになっている。ハードウェアとして捉えた場合、ユーザ端末記録部１２４は、ＲＡＭ１１３の一部により構成されている。
また、ユーザ端末記録部１２４に記録されている仮想貨幣データは、後述するようなタイミングで主制御部１２１により読み出されることがある。
【００２８】
次に、決済装置２００について説明する。なお、これには限られないが、この実施形態における決済装置２００は、本願でいう仮想貨幣データ生成装置をも兼ねている。
決済装置２００は一般的なコンピュータであり、この実施形態ではより詳細には一般的なサーバ装置である。ハードウェア構成としては、従来の決済システムにおける決済装置と同等のもので良い。
【００２９】
決済装置２００のハードウェア構成を、図５に示す。
ハードウェアには、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３、インターフェイス２１４、この実施形態ではＨＤＤ（hard disk drive）２１５である大容量記録媒体が含まれており、これらはバス２１６によって相互に接続されている。
【００３０】
ＣＰＵ２１１は、演算を行う演算装置である。ＣＰＵ２１１は、例えば、ＲＯＭ２１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の決済装置としてこの決済装置２００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、決済装置２００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済装置２００へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ２１２は、ＣＰＵ２１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ２１２に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
ＲＡＭ２１３は、ＣＰＵ２１１が処理を行うために必要なワーク領域を提供する。
インターフェイス２１４は、バス２１６で接続されたＣＰＵ２１１やＲＡＭ２１３等と外部との間でデータのやり取りを行うものである。インターフェイス２１４は、少なくとも送受信部に接続されている。送受信部がネットワーク４００から受取ったデータは、インターフェイス２１４により受取られるようになっており、インターフェイス２１４から送受信部にわたされたデータは、送受信部によって、ネットワーク４００を介して外部、例えば、ユーザ端末１００に送られるようになっている。
ＨＤＤ２１５は上述のように大容量記録媒体であり、データを記録する。ＣＰＵ２１１が後述する処理を実行するために必要なコンピュータプログラムやデータの少なくとも一部は、ＲＯＭ２１２でなくＨＤＤ２１５に記録されていてもよいし、その大部分がＨＤＤ２１５に記録されている方が実際的であろう。
【００３１】
ＣＰＵ２１１がコンピュータプログラムを実行することにより、決済装置２００内部には、図６で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済装置２００を本願発明の決済装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済装置２００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
決済装置２００内には、本願発明の機能との関係で、以下のような制御部２２０が生成される。制御部２２０内には、データ入出力部２２１、主制御部２２２、仮想貨幣データ生成部２２３、基本データ記録部２２４、復号化部２２５、決済判定部２２６が生成される。
【００３２】
データ入出力部２２１は、制御部２２０へのデータの入出力を行うものである。具体的には、データ入出力部２２１は、主制御部２２２から後述する種々のデータを受付けるようになっている。
例えば、データ入出力部２２１は、主制御部２２２から仮想貨幣データを受付けるようになっている。受取られた仮想貨幣データは、データ入出力部２２１から、送受信部に送られ、ネットワーク４００を介してユーザ装置１００に送られるようになっている。
データ入出力部２２１は、また、ネットワーク４００を介してユーザ端末１００又は決済端末３００から送受信部が受取った後述する種々のデータを送受信部から受取り、受取ったそれらデータを主制御部２２２に送るようになっている。例えば、データ入出力部２２１は、送受信部から仮想貨幣データ及び生成依頼情報を受取る場合があり、それらのいずれかを受取ったデータ入出力部２２１はそれらを主制御部２２２に送るようになっている。
【００３３】
主制御部２２２は、制御部２２０内の全体的な制御を行う。例えば、後述する決済の処理を主制御部２２２は行うようになっており、また、仮想貨幣データ生成部２２３、復号化部２２５等に後述するデータを送ることにより、必要な処理を行わせるようになっている。
主制御部２２２は、上述したように、データ入出力部２２１から、仮想貨幣データを受取る場合があり、それを受取った主制御部２２２は仮想貨幣データを復号化部２２５に送るようになっている。なお、この場合に復号化部２２５に送られるのは、仮想貨幣データに含まれていたデータのうち仮想貨幣暗号化データのみであっても良い。
主制御部２２２は、上述したように、データ入出力部２２１から、生成依頼情報を受取る場合があり、それを受取った主制御部２２２は、それを仮想貨幣データ生成部２２３に送るようになっている。
主制御部２２２は、また、決済判定部２２６から、後述する最終判定データを受取る場合がある。最終判定データは、後述するように、決済を認めること、或いは決済を認めないことのいずれかを示すデータである。主制御部２２２は、決済を認めることを内容とする後述する肯定的な最終判定データを受取った場合、決済処理を行うようになっている。決済処理は、この実施形態では、仮想貨幣暗号化データを送ってきた決済端末３００への金銭の支払いを認めるための処理である。主制御部２２２は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部２２２は、誰（どの決済端末３００の管理者等）への幾らの支払いを最終的に許可したのかという情報を、各決済端末３００毎に図示せぬ記録媒体に記録するようになっている。
他方、決済を認めないことを内容とする後述する否定的な最終判定データを受取った場合、主制御部２２２は、決済を認めるための処理を行わない。
【００３４】
仮想貨幣データ生成部２２３は、上述したように、主制御部２２２から生成依頼情報を受取る場合がある。生成依頼情報を受取った場合、仮想貨幣データ生成部２２３は、仮想貨幣データを生成する。仮想貨幣データ生成部２２３には、暗号化部２２３Ａと、結合部２２３Ｂとが含まれている。仮想貨幣データ生成部２２３がどのようにして仮想貨幣データを生成するかについての詳細については後述する。
仮想貨幣データ生成部２２３は、仮想貨幣データを生成するにあたり、基本データ記録部２２４に記録されているデータを使用する。仮想貨幣データ生成部２２３は、仮想貨幣データを生成するにあたり基本データ記録部２２４に記録されているデータのうち必要なものを読み出し利用する。
生成した仮想貨幣データを、仮想貨幣データ生成部２２３は、主制御部２２２に送るようになっている。
基本データ記録部２２４には、仮想貨幣データを生成する場合に必要なデータが記録されている。基本データ記録部２２４に記録されているデータの詳細については追って述べる。
【００３５】
復号化部２２５は、上述したように、主制御部２２２から、仮想貨幣データ（又は仮想貨幣暗号化データ）を受取る場合がある。
復号化部２２５は仮想貨幣暗号化データを受取った場合、それを復号化する。復号化の処理の詳細については後述する。復号化されたデータには、それらのすべての詳細については後述するものとするが、発行者情報、金額情報、決済条件情報が含まれる。復号化部２２５は、仮想貨幣暗号化データを復号化することができた場合には、発行者情報、金額情報、決済条件情報のうちの少なくとも金額情報と決済条件情報とを決済判定部２２６に送るようになっている。
他方、復号化部２２５は、仮想貨幣暗号化データの復号化を行えなかった場合には、その旨を決済判定部２２６に通知するようになっている。
【００３６】
決済判定部２２６には、上述したように、復号化部２２５から、発行者情報、金額情報、決済条件情報のうちの少なくとも金額情報と決済条件情報とが送られてくる場合がある。これらを受取った場合、決済判定部２２６は、決済を認めて良いか否かについての判定である最終判定を行う。その結果、決済判定部２２６は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。決済判定部２２６は、後述のように、基本データ記録部２２４に記録されていたデータをかかる判定を行う場合に利用する場合がある。最終判定データをどのようにして決済判定部２２６が生成するかについては後述するものとする。
決済判定部２２６にはまた、上述したように、復号化部２２５から、仮想貨幣暗号化データの復号化を行えなかった旨の通知が届く場合がある。その通知を受け取った場合決済判定部２２６は、決済を認めないことを内容として含む最終判定データを生成するようになっている。
いずれにせよ、最終判定データを生成したら、決済判定部２２６はそれを主制御部２２２に対して送るようになっている。
【００３７】
次に、決済端末３００について説明する。
決済端末３００は、クレジットカードを用いた決済システムで用いられていた決済端末と同様の役割を担うものであり、一般的なコンピュータである。例えば、決済端末３００はタブレットにより構成されているものとする。
図２と同様であるからその外観の図示を省略するが、決済端末３００は、図示を省略のタッチパネル式のディスプレイを備えている。結果として、決済端末３００は、ディスプレイと、入力装置を備えることになる。もっとも、これに代えて、決済端末３００は、タッチパネル式でないディスプレイと、テンキー、キーボード、マウス、トラックボール等の公知又は周知の入力装置のうちから必要なものを選択してなる入力装置とを備えていても、換言すれば、ディスプレイと入力装置とを別個のものとして備えていても良い。とりあえず、この実施形態の決済システムはタッチパネル式のディスプレイを備えるものとして以下、話を進める。
また、決済端末３００は図示せぬカメラを備えている。カメラは、外付けでも良いが、タブレットである決済端末３００は、公知のような内蔵のカメラを備えている。
【００３８】
決済端末３００のハードウェア構成を、図７に示す。
ハードウェアには、ＣＰＵ３１１、ＲＯＭ３１２、ＲＡＭ３１３、インターフェイス３１４が含まれており、これらはバス３１６によって相互に接続されている。
ＣＰＵ３１１は、演算を行う演算装置である。ＣＰＵ３１１は、例えば、ＲＯＭ３１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。このコンピュータプログラムは、決済端末３００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済端末３００へのインストールは、メモリカード等の所定の記録媒体を介して行われても良いし、ＬＡＮ或いはインターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ３１２は、ＣＰＵ３１１が後述する処理を実行するために必要な、言い換えれば、このコンピュータを本願発明における送信装置として機能させるためのコンピュータプログラムやデータを記録している。ＲＯＭ３１２に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
ＲＡＭ３１３は、ＣＰＵ３１１が処理を行うために必要なワーク領域を提供する。
インターフェイス３１４は、バス３１６で接続されたＣＰＵ３１１やＲＡＭ３１３等と外部との間でデータのやり取りを行うものである。インターフェイス３１４は、少なくとも図示を省略の送受信部に接続されている。送受信部はネットワーク４００に対して接続されており、少なくともネットワーク４００を介したデータの送信を行えるようになっていればよいが、この実施形態ではネットワーク４００を介してのデータの送信と受信の双方を行えるようになっている。インターフェイス３１４から送受信部にわたされたデータは、送受信部によって、ネットワーク４００を介して外部、例えば、決済装置２００に送られるようになっている。インターフェイス３１４から出力され送受信部から送信されるデータは、この実施形態との関係では主に仮想貨幣データである。
インターフェイス３１４は、また、タッチパネル式ディスプレイに設けられた入力装置に接続されており、入力装置からの入力を受付けるようになっている。インターフェイス３１４は、タッチパネル式ディスプレイに接続されており、タッチパネル式のディスプレイに後述する画像を表示するためのデータを送るようになっている。入力装置からインターフェイス３１４に入力されるデータは、例えば、決済の開始を指示するデータ、後述する決済端末ＩＤ等である。
インターフェイス３１４は、また、上述するカメラと接続されている。カメラからインターフェイス３１４に入力されるのは、仮想貨幣データを特定するための画像を含む画像データである。若干正確性を欠くが、事実上、インターフェイス３１４には、カメラから仮想貨幣データが入力される。
ハードウェアに大容量記録媒体が含まれて良いこと、それが存在する場合の機能は既に述べたとおりである。
【００３９】
ＣＰＵ３１１がコンピュータプログラムを実行することにより、決済端末３００内部には、図８で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済端末３００を本願発明の決済端末として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済端末３００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
決済端末３００内には、本願発明の機能との関係で、以下のような制御部３２０が生成され、制御部３２０内に、主制御部３２１、表示制御部３２２、データ入出力部３２３が生成される。
【００４０】
制御部３２０は、以下に説明するような情報処理を実行する。
主制御部３２１は、制御部３２０内の全体的な制御を行う。例えば、主制御部３２１は、追って詳述するデータ入出力部３２３から受取ったデータに基づいて表示制御部３２２の制御を行う。
主制御部３２１は、追って説明するデータ入出力部３２３から、仮想貨幣データを受取るようになっている。各決済端末３００の主制御部３２１は各決済端末３００毎にユニークな決済端末ＩＤを記録している。主制御部３２１は、受取った仮想貨幣データに決済端末ＩＤのデータを付してデータ入出力部３２３に送るようになっている。
表示制御部３２２は、主制御部３２１の制御を受けつつ、タッチパネル式とされた上述のディスプレイに表示される画像の制御を行う。ディスプレイには、表示制御部３２２から送られたデータに基づく画像が表示される。主制御部３２１は、表示制御部３２２に対して、ディスプレイにどのような画像を表示させるべきかという指示を送る。
【００４１】
データ入出力部３２３は、制御部３２０へのデータの入出力を行うものである。
具体的には、データ入出力部３２３は、入力装置からの入力を受取り、それを主制御部３２１に送るようになっている。入力装置からデータ入出力部３２３へ入力されるデータの例は、決済の開始を指示するデータがある。また、上述の決済端末ＩＤが入力される場合もある。また、データ入出力部３２３には、カメラで撮像された仮想貨幣データを含む画像データが入力される場合もある。
また、データ入出力部３２３は、図示を省略の送受信部に対して、データを出力するようになっている。送受信部に対して出力されるデータは、主制御部３２３から送られてきた仮想貨幣データである。この仮想貨幣データには、決済端末ＩＤが付されている。送受信部に対して出力されたデータは、送受信部から決済装置２００に対してネットワーク４００を介して送信される。
【００４２】
次に以上のような決済システムの使用方法、及び動作について図９を参照しながら説明する。
【００４３】
まず、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行うとともに、各決済端末３００において、決済端末ＩＤの設定を行う。
ユーザＩＤは、各ユーザ端末１００を識別するための、各ユーザ端末１００においてユニークなＩＤであり、一般的には英字、数字、記号の羅列である。決済端末ＩＤも同様である。多数のユーザＩＤが重複しないようにするために、各ユーザ端末１００に対するユーザＩＤを決済装置２００が発行するようにしてもよい。決済端末ＩＤについても同様である。或いは、ユーザ端末１００のハードウェアに出荷時から埋め込まれている個体識別番号をユーザＩＤとして利用することもできる。決済端末ＩＤについても同様である。
各ユーザ装置１００の管理者は、その入力装置を操作することにより当該ユーザ装置１００についてのユーザＩＤの入力を行う。なお、個体識別番号をユーザＩＤとして用いる場合には、かかる入力は不要である。ユーザＩＤのデータは、入力装置から、インターフェイス１１４に送られ、インターフェイス１１４から制御部１２０に送られる。制御部１２０のデータ入出力部１２３はこれを受取り、主制御部１２１に送る。主制御部１２１は、それを保持する、或いは主制御部１２１内に記録する。
他方、主制御部１２１は、ユーザＩＤのデータをデータ入出力部１２３へと送る。ユーザＩＤのデータは、そこから送受信部へと送られ、ネットワーク４００を介して決済装置２００へと送られる。
決済装置２００は、その送受信部でユーザＩＤのデータを受取る。ユーザＩＤのデータは、送受信部からインターフェイス２１４に送られ、インターフェイス２１４から制御部２２０に送られる。制御部２２０のデータ入出力部２２１はこれを受取り、主制御部２２２に送る。主制御部２２２は、それを保持する、或いは主制御部２２２内に記録する。この処理をすべてのユーザ端末１００が行うことにより、主制御部２２２は、すべてのユーザ端末１００のリストを持つことになる。かかるリストは、誰（どのユーザ装置１００の所有者）のために仮想貨幣データを生成するのか、ということを決済装置２００が特定するために用いられる。
各決済端末３００の管理者は、その入力装置を操作することにより当該決済端末３００についての決済端末ＩＤの入力を行う。決済端末ＩＤのデータは、入力装置から、インターフェイス３１４に送られ、インターフェイス３１４から制御部３２０に送られる。制御部３２０のデータ入出力部３２３はこれを受取り、主制御部３２１に送る。主制御部３２１は、それを保持する、或いは主制御部３２１内に記録する。
他方、主制御部３２１は、決済端末ＩＤのデータをデータ入出力部３２３へと送る。決済端末ＩＤのデータは、そこから送受信部へと送られ、ネットワーク４００を介して決済装置２００へと送られる。
決済装置２００は、その送受信部で決済端末ＩＤのデータを受取る。決済端末ＩＤのデータは、送受信部からインターフェイス２１４に送られ、インターフェイス２１４から制御部２２０に送られる。制御部２２０のデータ入出力部２２１はこれを受取り、主制御部２２２に送る。主制御部２２２は、それを保持する、或いは主制御部２２２内に記録する。この処理をすべての決済装置２００が行うことにより、主制御部２２２は、すべての決済端末３００のリストを持つことになる。かかるリストは、誰（どの決済端末３００の管理者）に対しての支払い（決済）を認めるか、ということを決済装置２００が特定するために用いられる。
【００４４】
まず、仮想貨幣データが生成される。
これには限られないが、この実施形態では、仮想貨幣データの生成は、生成依頼情報の生成をユーザが開始するところから始まる（Ｓ９１１）。
生成依頼情報の生成を開始するには、例えば、ユーザは、ディスプレイ１０１上に表示されている図示を省略のアイコンにタッチすればよい。そうすると、その操作内容が入力装置１０２からインターフェイス１１４、データ入出力部１２３を介して主制御部１２１に送られ、生成依頼情報の生成が開示される。
生成依頼情報は、ユーザがユーザ端末１００の入力装置１０２を操作することによって生成する。生成依頼情報には、ユーザＩＤと、ユーザが支払いに用いようとする金額が少なくとも含まれる。
生成依頼情報の生成が開始されると、主制御部１２１は、表示制御部１２２に対して、ユーザＩＤ等の入力をユーザに促すような画像をディスプレイ１０１に表示せよとの指示を送る。この指示を受付けた表示制御部１２２は、ディスプレイ１０１に、例えば、図１０（Ａ）の如き、ユーザに対して、ユーザＩＤと、ユーザが支払いを行おうとする金額と、の入力を促す画像を表示する。ユーザは、ユーザＩＤと示された部分の右側にユーザＩＤを、金額（円）と示された部分の右側に自分が支払おうとする金額をそれぞれ入力する（Ｓ９１２）。ユーザが入力したユーザＩＤと金額を特定するための情報である金額情報とについてのデータは、入力装置１０２からインターフェイス１１４を介してデータ入出力部１２３に入力され、主制御部１２１に送られる。ユーザが入力したユーザＩＤと金額情報は、入力中も含めて、主制御部１２１に制御された表示制御部１２２の制御によってディスプレイ１０１に表示されるから、ユーザは、ディスプレイ１０１を確認しながら、ユーザＩＤと金額情報との入力を行うことができる。図１０（Ｂ）に示した例によれば、ユーザは、この決済システムを用いて、２５０００円の支払いを行おうとしている。
ユーザＩＤと金額情報の入力が終わったら、ユーザは、ディスプレイ１０１に表示された「決定」と書かれたボタンをクリックする。
【００４５】
「決定」と書かれたボタンをユーザがクリックすると、ユーザＩＤと金額情報とが、データ入出力部１２３から主制御部１２１に送られる。主制御部１２１は、ユーザＩＤと金額情報とをまとめて生成依頼情報とする。
なお、生成依頼情報には、他の情報が含まれていても良い。これには限られないがこの実施形態では、例えば、ユーザが、決済の期間を所定の期間に制限しようとする（例えば、仮想貨幣データが発行されてから、半年以内にしかそのデータによる支払いができないようにする、或いは、仮想貨幣データの使用可能な年月日を、その始期と終期で指定する）場合には、その旨の入力を行うことで、決済の期間を所定の期間に制限することを示すデータ（時期情報）を、支払いを受ける者を特定の者（１人とは限らない。例えば、特定のチェーン店や、特定の銀行業を営む法人の本店及び全支店、あるショッピングモールに出店している店舗等の複数の者を対象とすることも可能である）に制限しようとする場合には、支払いを受ける者を特定の者に制限することを示すデータ（受領者情報）を、ユーザは、入力装置１０２から入力できるようになっている。これらデータは、決済装置２００で後述する決済条件情報が生成される場合に利用される。これらデータは、ユーザＩＤのデータ等と同様に、入力装置１０２からインターフェイス１１４を経てデータ入出力部１２３に入力され、データ入出力部１２３から主制御部１２１に渡される。これらデータが入力された場合には、主制御部１２１は、ユーザＩＤ及び決済端末ＩＤに、それらデータをも加えて生成依頼情報とする。
生成依頼情報は主制御部１２１からデータ入出力部１２３に送られ、データ入出力部１２３から送受信部に送られる。生成依頼情報は、送受信部からネットワーク４００を介して、決済装置２００に送られる（Ｓ９１３）。
なお、以後もそうであるが、この実施形態において、ネットワーク４００を介して行われる通信はすべて、暗号化通信であってもよい。この場合の暗号化、及び復号化に用いられる技術は公知、或いは周知のものとすることができる。
【００４６】
決済装置２００は、その送受信部で生成依頼情報のデータを受付ける（Ｓ９２１）。送受信部は生成依頼情報のデータをデータ入出力部２２１に送り、データ入出力部２２１はそのデータを主制御部２２２に送る。
必ずしもこの限りではないが、この実施形態における主制御部２２２は、ここで、ユーザＩＤで特定されるユーザ端末１００に対して仮想貨幣データを生成して良いか否かの判定である与信判定を行う（Ｓ９２２）。かかる判定は、一般に与信判定と称される手続と同様に行えば良い。後述するように、特に問題なければ、決済装置２００はユーザ端末１００に対して仮想貨幣データを発行することになるが、仮想貨幣データは金銭的な価値のあるデータなのであるから、そのようなデータを生成依頼情報を送ってきたユーザに発行して良いか否かの判定を行うのである。
例えば、主制御部２２２は、各ユーザからの入金額の残高を各ユーザのユーザＩＤと紐付けて記録した各ユーザ用の入金口座のデータベースと通信可能となっており、その残高がユーザが生成依頼情報に含めて送信してきた金額情報で特定される金額よりも大きければユーザの与信が認められると判定するようになっていても良い。主制御部２２２は、各ユーザが指定した銀行口座を有する銀行のそれぞれと通信可能となっており、ユーザが指定した銀行口座の残高がユーザが生成依頼情報に含めて送信してきた金額情報で特定される金額よりも大きければユーザの与信が認められると判定するようになっていても良い。或いは、決済装置２００は、ユーザ端末１００が生成依頼情報を決済装置２００に送った場合に、それを送ってきたユーザ端末１００を操作するユーザに対して生成依頼情報に含めて送信してきた金額情報で特定される金額の支払いを促すようになっているとともに、その金額をユーザが、例えばユーザ端末１００からのクレジットカードによる支払いにより決済装置２００の管理者に支払ったことが確認された場合に、決済装置２００の主制御部２２２がユーザの与信が認められると判定するようになっていても良い。或いは、クレジットカードによる支払いにおける与信判定と同様に、ユーザが生成依頼情報に含めて送信してきた金額情報で特定される金額が、ユーザの職業、年収、持ち家の有無等によって予め定められた与信枠内である場合に、主制御部２２２がユーザの与信が認められると判定するようになっていても良い。
いずれにせよ、主制御部２２２は、ユーザの与信が認められた場合には、ユーザが送ってきた生成依頼情報に含まれていた金額情報と、存在しているのであれば、決済条件情報を生成するために必要となるデータとを仮想貨幣データ生成部２２３に送る。
【００４７】
金額情報等を受取った仮想貨幣データ生成部２２３は、仮想貨幣データを生成する（Ｓ９２３）。
仮想貨幣データには、発行者情報、金額情報、決済条件情報を暗号化したものが少なくとも含まれる。また、上述したように、仮想貨幣データ生成部２２３は、仮想貨幣データを生成するにあたり、基本データ記録部２２４に記録されているデータを利用する。仮想貨幣データの生成方法を説明するために、まず、基本データ記録部２２４に記録されているデータについて説明する。
この実施形態における基本データ記録部２２４に記録されているデータは、発行者情報、及び決済条件情報となり得る情報である。なお、後述するように、発行者情報には、基本データ記録部２２４に記録されていないデータが含まれても構わず、決済条件情報でもそれは同様である。
発行者情報は、概ね、仮想貨幣データの発行者を含む発行の経緯を示す情報である。発行者情報となり得る情報は例えば、発行人情報であり、仮想貨幣データの発行者たる決済装置２００を特定するための情報であり、これは例えば、決済装置２００のＩＰアドレスである。なお、生成依頼情報の発信者を発行人とすることも可能であり、その場合には、発行人情報は、ユーザ端末１００のＩＰアドレスとなる。発行者情報となり得る情報の他の例は、仮想貨幣データの真正さを保証する権限を持つ者である、例えば、政府機関が発行した仮想貨幣データの真正さを保証する情報である認証用情報である。発行者情報となり得る情報の更に他の例は、仮想貨幣データを他の仮想貨幣データから区別するための各仮想貨幣データにユニークな情報である記番号情報である。発行者情報に他の情報が含まれていても良いし、後述するように、基本データ記録部２２４に記録されていないデータが含まれても構わない。これらのうち必須なのは、仮想貨幣データの発行者（この実施形態では、それは決済装置２００であるものとする。）を特定するための情報のみである。また、認証用情報、記番号情報以外の情報が発行者情報となり得る情報として基本データ記録部２２４に記録されていても構わない。
上述の記番号情報について補足する。記番号情報は、記番号についての情報である。例えば、日本国の政府（或いは日本銀行）が発行する紙幣には、数字とアルファベットの羅列である記番号が記録されている。それと同様に、過去に発行された仮想貨幣データと新たに発行される仮想貨幣データとを区別させるために、各仮想貨幣データには記番号情報が暗号化された状態で含まれることがある。記番号情報は、日本国の政府が発行する紙幣に印刷された記番号と同様に、例えば、１６進法で表記された、１から始まる多数桁（例えば、１０００桁）の連番の番号である。記番号情報として基本データ記録部２２４に記録されているのは、その直前に発行された仮想貨幣データに含まれることになった記番号情報の次の記番号情報である。記番号情報は、後述するようにして、書換えられる。
決済条件情報は、追って説明するようにして仮想貨幣データを受取った決済装置２００が決済を認めるための条件となる情報である。決済条件情報によって決定される決済の条件は、ユーザ端末１００によって決定される場合もあるし、決済装置２００によって決定される場合もある。決済装置２００によって決定される決済条件情報が、基本データ記録部２２４に記録されている。
決済条件情報となり得る情報として基本データ記録部２２４に記録されているのは、例えば、上述の如き、受領者情報や時期情報である。もっとも、決済装置２００側で設定する決済条件情報は、ユーザが支払いに仮想貨幣データを使用することの障害となるものであると仮想貨幣データの使用がし難くなるので、ユーザの利益となるような決済条件情報を設定することが重要であろう。決済条件情報は、また、金額情報によって特定される金額を変化させる情報であっても良い。具体的には、決済条件情報は、時間の経過とともに金額情報によって特定される金額を漸減させる、或いは金額情報によって特定される金額を段階的に減らすようにするといった情報とすることができる。金額情報は、また、ある店舗、ある法人グループに属する受領者、ある地域に住所を持つ受領者等、言い換えればある属性を有する受領者に対する、例えばこの指定期間内における支払いの場合であれば、金額情報によって特定される金額が１０％増す、といった情報とすることが可能である。最後の例は、ユーザが、仮想貨幣データをクーポンのように利用することを可能とする。
基本データ記録部２２４には、また、決済装置２００が後述する決済の判定を行うときに必要とされるデータも記録されている。このデータは、仮想貨幣データ生成部２２３でというよりもむしろ、決済判定部２２６で使用されるものであるので、それが可能な限り、必ずしも基本データ記録部２２４に記録されている必要はない。これには限られないが、この実施形態では、各決済端末３００についての決済端末ＩＤと、各決済端末３００が存在する位置（例えばその緯度と経度）と、各決済端末３００の属性（どの法人グループに含まれるか、どのショッピングモールに入居しているか等）が、図１１に示されたようにして記録されている。
【００４８】
金額情報等を受取った仮想貨幣データ生成部２２３は、仮想貨幣データを生成するにあたって、基本データ記録部２２４に記録されていた、発行者情報、及び決済条件情報となり得る情報を読み出す。そして、必ずしもこの順序でなければならないわけではないが、発行者情報、金額情報、決済条件情報が結合されたデータ（図１２（Ａ））を生成する。
この実施形態における発行者情報には、これには限られないが、仮想貨幣データの発行者たる決済装置２００を特定するための情報、認証用情報、記番号情報、及びタイミング情報が含まれる。仮想貨幣データ生成部２２３は、記番号情報を読み出すと、基本データ記録部２２４に記録されていた記番号情報を「＋１」して上書きする。これにより、記番号情報は常に最新の状態に保たれる。また、タイミング情報は、仮想貨幣データ生成部２２３がかかる仮想貨幣データを生成した時刻（例えば、金額情報等を仮想貨幣データ生成部２２３が受取った時刻）を例えば秒単位で示すものである。これを可能とするため、仮想貨幣データ生成部２２３は、決済装置２００が備える図外の時計から、日時、及び時刻に関する情報を常に受け取っている。
この実施形態における金額情報は、上述のように２５０００円という金額を特定する情報である。もちろん、金額は２５０００円には限られず、また、金額の単位は円には限られない。更にいえば、金額の単位は、法定通貨と同じである必要はない。
この実施形態における決済条件情報は、ユーザ端末１００から送られて来た生成依頼情報に含まれていたものであり、主制御部２２２から仮想貨幣データ生成部２２３に送られてきた、決済条件情報を生成するために必要となるデータと、基本データ記録部２２４に記録されていた決済条件情報を生成するために必要となるデータとにより特定される種々の条件である。
そして、図１２（Ａ）に示されたデータは、仮想貨幣データ生成部２２３内の暗号化部２２３Ａによって暗号化され、仮想貨幣暗号化データに変換される。暗号化の手法は、公知、或いは周知のもので構わないが、この実施形態では、少なくとも適正な手法によって復号化を行えるようなものとする必要がある。
仮想貨幣データ生成部２２３では、多数のユーザからの多数の要求によって仮想貨幣データが次々と生成されることになる。なお、説明のため、データ構造のうち暗号化された部分に網掛けを行うものとする。これには限られないが、この実施形態では、仮想貨幣データの生成の過程で実行される暗号化の手法は、どの仮想貨幣データを生成する場合も同じであるものとする。この実施形態では、暗号化に用いられるアルゴリズム及び鍵を不変とすることにより、どの仮想貨幣データを生成する場合でも暗号化の手法が同一となるようにしている。
ところで、上述したように、この実施形態においては、暗号化の対象となるデータの中に変化することを前提とした記番号情報とタイミング情報とが含まれている。特に記番号情報は２つとして同じものが無い。したがって、仮想貨幣暗号化データにも２つとして同じものは存在しないことになる。仮想貨幣暗号化データは、英字、数字、記号或いはこれらの２つ以上の組合せであって、ある程度（例えば、１０００桁）以上の文字数（或いは桁数）の文字等の羅列となる。
暗号化部２２３Ａが仮想貨幣暗号化データを生成すると、仮想貨幣暗号化データは結合部２２３Ｂへ送られる。結合部２２３Ｂは、仮想貨幣暗号化データに、当該仮想貨幣暗号化データに暗号化されて含まれている発行者情報、金額情報、及び決済条件情報のうち予め定められたものを、仮想貨幣暗号化データに平文のまま結合する。仮想貨幣暗号化データに平文の上記データが結合されたものが仮想貨幣データである。仮想貨幣暗号化データに付加される情報は、発行者情報、金額情報、及び決済条件情報のうちの一部でも全部でも良いが、この実施形態では、記番号情報と、金額情報と、受領者情報とであるものとする。平文のままの記番号情報と、金額情報と、受領者情報とは、決済装置２００だけでなく、ユーザ端末１００でも、決済端末３００でも、特別な処理を施すことなく、その内容を把握する（可読であるから読取ってその内容を理解する）ことが可能なものとなっている。悪意ある第三者が仮想貨幣データを入手した場合、当該悪意ある第三者も、平文のかかるデータを読取り可能であるものの、仮想貨幣暗号化データに暗号化して含まれているデータの内容すべてを把握できないため、仮想貨幣データの悪用は難しい。例えば、仮想貨幣暗号化データに暗号化して付されている決済条件情報に反する条件下で、悪意の第三者が、後述のようにして決済端末３００を介して決済装置２００に対して決済を求めた場合、当該悪意の第三者は決済装置２００或いは決済端末３００の仕様にもよるが、それらに、誤った条件下で決済を求めたという履歴を残しかねないことになる。それら履歴は、悪意の第三者を特定するための強力な材料となるものであり、悪意の第三者が仮想貨幣データの悪用を試みることに対する強力な抑止力となる。
生成された、仮想貨幣データは、仮想貨幣データ生成部２２３から主制御部２２２に送られる。主制御部２２２は、その仮想貨幣データを生成することの申し込みであった生成依頼情報に付されていたユーザ端末ＩＤによって特定されるユーザ端末１００にそれを返送せよという指示を付して、仮想貨幣データをデータ入出力部２２１へ送る。仮想貨幣データは、更に送受信部に送られ、ネットワーク４００を介して、ユーザ端末ＩＤによって特定されるユーザ端末１００へと送られる（Ｓ９２４）。
【００４９】
ユーザ端末１００の送受信部は、送られてきた仮想貨幣データを受取る（Ｓ９１４）。受取られた仮想貨幣データは、データ入出力部１２３から、主制御部１２１に送られる。
この状態で、仮想貨幣データは使用できる、つまり、そのユーザ端末１００の所有者たるユーザが第三者に対してその仮想貨幣データを用いて支払いを行える状態となる。ユーザは、その仮想貨幣データを保存するための操作を入力装置１０２によって行う。そうすると、その旨の操作内容が入力装置１０２から、インターフェイス、データ入出力部１２３を介して主制御部１２１に対して送られる。仮想貨幣データは、主制御部１２１からユーザ端末記録部１２４に送られて、ハードウェアとして見ればＲＡＭ１１３の一部であるユーザ端末記録部１２４に記録される。同じユーザが自らのユーザ端末１００に複数の仮想貨幣データを保存することももちろん可能である。その場合には、複数の仮想貨幣データが、ユーザ端末記録部１２４に記録されることになる。
ユーザは、ユーザ端末１００に保存された仮想貨幣データをいつでも支払いのために使用することができる。ユーザが仮想貨幣データを使用したいと思ったときは、ユーザはユーザ端末１００の入力装置１０２を操作して、その旨の入力を行う。かかる入力は、インターフェイス１１４、データ入出力部１２３を介して主制御部１２１に入力される。その入力を受けた主制御部１２１は、ユーザ端末記録部１２４から仮想貨幣データを例えばすべて読み出し、そのデータに基いて、表示制御部１２２に対して、図１３に示したような画像をディスプレイに表示せよとの指示を送る。
図１３に示したように、ディスプレイ１０１には、複数の仮想貨幣データが、それらのうちの１つを選択可能に表示される。四角の枠で囲まれた金額を含む表示の一つ一つがそれぞれ、仮想貨幣データに対応している。仮想貨幣データのデータは上述のように、暗号化された仮想貨幣暗号化データと、それぞれ平文の記番号情報、金額情報、及び受領者情報が記録されている。平文の情報をユーザ端末１００は読むことができるので、ユーザ端末１００は、そのディスプレイ１０１に、各仮想貨幣データに対応する画像として、平文で記載されている情報に基づく情報を表示することができる。この実施形態では、これには限られないが、金額情報によって特定される金額と、受領者情報に基づく支払いを受けることが可能な受領者についての情報とがディスプレイ１０１に表示されるようになっている。受領者情報に基づく表示がない仮想貨幣データは、支払いを受ける者についての制限がないものとなっている。なお、ディスプレイ１０１に表示される画像には、平文で記載されたデータのすべてを含めることが可能であり、例えば、記番号情報が含まれていても構わない。
ユーザは、ディスプレイ１０１が兼ねる入力装置１０２を操作して、支払いに用いる仮想貨幣データを選択する。かかる入力は、既述のようにして主制御部１２１に入力される。そうすると、ディスプレイ１０１の表示は、図１４に示したように切り替わる。主制御部１２１の制御下で、表示制御部１２２がディスプレイ１０１に表示するのは、仮想貨幣データに対応した表示であり、より詳細には、仮想貨幣データを二次元バーコードに変換した表示である。かかる二次元バーコードに含まれる情報は最低でも、仮想貨幣暗号化データに対応したものである必要があるが、この実施形態では、仮想貨幣暗号化データの全体に対応したものとされる。
【００５０】
ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末３００に対して、ユーザ端末１００から仮想貨幣データを引き渡す（Ｓ９１５）。
仮想貨幣データの引き渡しは、ユーザ端末１００のディスプレイ１０１に表示されている二次元バーコードを、決済端末３００が備えるカメラで撮像することによって行われる。撮像された画像のデータは、決済端末３００のカメラからインターフェイス３１４を介して、データ入出力部３２３に送られ、そこから主制御部３２１に送られる。主制御部３２１は、その画像データに写った二次元バーコードから、仮想貨幣暗号化データを生成する。これにより、ユーザ端末１００から決済端末３００に仮想貨幣データが引渡される（Ｓ９３１）。
なお、この実施形態では、二次元バーコードの読取りによってユーザ端末１００から決済端末３００へと仮想貨幣データの引き渡しが行われるものとしているが、二次元バーコードはもちろん一次元バーコードその他の識別子によってそれを実現することとしてもよい。更には、そのような識別子の読取りによってユーザ端末１００から決済端末３００へと仮想貨幣データの引き渡しを実現する必要もなく、ブルートゥース（商標）その他の通信によって、それを実現してもよい。極端なことを言えばユーザが口頭で決済端末３００の管理者等に伝えることにより、或いは仮想貨幣データをディスプレイ１０１に表示し決済端末３００の管理者等に見せることにより、それを実現しても良い。これらの場合は、例えば入力装置による手入力で決済端末３００の管理者等は、決済端末３００に仮想貨幣データを入力することになろう。
いずれにせよ、主制御部３２１は一時的に、例えば、少なくともその仮想貨幣データによる支払いが終了するまで、仮想貨幣データを記録する。かかる記録は、ハードウェアとしては、ＲＡＭ３１３上に行われる。上述したように、仮想貨幣データのうち、平文で記述されている記番号情報、金額情報、受領者情報を決済端末３００は読むことができる。したがって、主制御部３２１は、その表示制御部３２２に対し、それら情報によって特定される図１４に示された如き情報を、そのディスプレイに表示させることが可能である。例えば、金額情報によって特定される金額を表示させることにより、決済端末３００の管理者等は、支払いが行われようとしている金額を確認することができるであろうし、受領者情報によって特定される情報によって、自分がその支払を受けることのできる者であるか知ることができるであろう。その支払が不適切であれば、決済端末３００の管理者等は、ユーザから他の仮想貨幣データの提供を受ければ良い。
ユーザから受取った仮想貨幣データが適切なものであるのであれば、決済端末３００の管理者等は、決済端末３００の入力装置を操作して、仮想貨幣データを決済装置２００に送るための操作を行う。
かかる操作を行うと、入力装置から、データ入出力部３２３を介して主制御部３２１に、その操作内容が送られる。かかる入力がなされると、主制御部３２１は、仮想貨幣データに対して決済端末ＩＤを付したデータを、データ入出力部３２３に対して送る。データ入出力部３２３は、それらデータを、送受信部に送り、送受信部はそれらデータを、ネットワーク４００を介して決済装置２００に送る（Ｓ９３２）。このとき、決済端末ＩＤとともに、少なくとも仮想貨幣暗号化データが決済装置２００に送られる必要があるが、この実施形態では、決済端末ＩＤとともに、仮想貨幣データの全体が決済装置２００に送られる。
【００５１】
決済装置２００は、その送受信部で、決済端末ＩＤのデータと仮想貨幣データとを受取る（Ｓ９２５）。これらデータは、インターフェイス２１４、データ入出力部２２１を介して主制御部２２２に送られる。
それらを受取った主制御部２２２は、決済端末ＩＤのデータと仮想貨幣データとを、復号化部２２５に送る。このとき、決済端末ＩＤとともに、少なくとも仮想貨幣暗号化データが復号化部２２５に送られる必要があるが、この実施形態では、決済端末ＩＤとともに、仮想貨幣データの全体が復号化部２２５に送られる。
復号化部２２５は、仮想貨幣暗号化データを復号化する（Ｓ９２６）。上述したように、暗号化部２２３Ａで行われる暗号化の処理は、すべての仮想貨幣暗号化データについて同一であるので、復号化部２２５が行う復号化の処理も、上記暗号化の処理に対応した同一の処理として行われる。仮想貨幣暗号化データが復号化されることにより、暗号化されていた発行者情報、金額情報、及び決済条件情報が平文に戻る。それら、復号化部２２５は、発行者情報、金額情報、及び決済条件情報を、決済端末ＩＤのデータとともに決済判定部２２６に送る。
なお、この実施形態では、復号化部２２５で仮想貨幣暗号化データを復号化できたという事実により、仮想貨幣暗号化データが、ひいてはそれを含んでいた仮想貨幣データが真正なものであるとの仮の判定を行えたということとなる。仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部２２５からその旨の情報が決済判定部２２６に送られる。
【００５２】
決済判定部２２６は、発行者情報、金額情報、決済条件情報、及び決済端末ＩＤか、または仮想貨幣暗号化データの復号化を行えなかった旨の情報を、復号化部２２５から受取る。
それらのうち、発行者情報、金額情報、決済条件情報、及び決済端末ＩＤを受取った場合、決済判定部２２６は、最終判定を実行する（Ｓ９２７）。最終判定を実行する場合、決済判定部２２６は、基本データ記録部２２４から必要なデータを読み出す。
上述のように、発行者情報には、仮想貨幣データの発行者たる決済装置２００を特定するための情報が含まれている。同じデータが、基本データ記録部２２４には記録されているから、そのデータを決済判定部２２６は基本データ記録部２２４から読み出し、両者を比較する。両者が一致した場合には、仮想貨幣暗号化データは真正であると決済判定部２２６は判定する。
上述のように、発行者情報には、仮想貨幣データの真正さを保証する権限を持つ者である、例えば、政府機関が発行した仮想貨幣データの真正さを保証する情報である認証用情報が含まれている場合がある。かかるデータを認証に用いるのであれば、基本データ記録部２２４にも認証用データが存在するから、そのデータを決済判定部２２６は基本データ記録部２２４から読み出し、両認証用データ同士を比較する。両者が一致した場合には、仮想貨幣暗号化データは真正であると決済判定部２２６は判定する。
同様に、記番号情報、タイミング情報、金額情報、決済条件情報に含まれる情報等をも仮想貨幣暗号化データの真正性の判定に用いても良いが、このような仮想貨幣暗号化データの真正性の判定によって仮想貨幣データが真正であると判定できたのであれば次に、決済条件情報によって特定された条件が充足されているか否か、についての判定を決済判定部２２６は行う。もっとも、仮想貨幣暗号化データが真性であるということの確認は、事実上、復号化部２２５で仮想貨幣暗号化データが復号化できたという事実により行われているのであるから、ここでの仮想貨幣暗号化データの真正性の確認は省略されてもかまわない。
決済条件情報によって特定された条件が充足されているか否か、についての判定は、例えば、次のように行われる。
決済条件情報には上述するように、受領者情報が含まれている場合がある。受領者情報は、その受領者が有する属性、或いは受領者の住所によって、支払いを受けられる者を制限するための情報である。決済判定部２２６は、復号化部２２５から受け取っていた決済端末ＩＤに紐付けられた属性等についての情報を基本データ記録部２２４から読み出し、その決済端末ＩＤに紐付けられていた属性等が、決済条件情報に含まれていた受領者情報によって特定される支払いを受けられる者の条件を充足するか判定する。かかる条件が充足された場合には、決済判定部２２６は、決済条件情報によって特定された条件が充足されていると仮に判定する。
決済条件情報には上述するように、時期情報が含まれている場合がある。時期情報は、ユーザから決済端末３００の管理者への支払いを認められる時期を特定するための情報である。時期情報は、日付、時刻等により、例えば、２０１７年７月１日０時０分から２０１７年７月３０日０時０分までといった絶対的な日時によって記述されている場合がある。そのような場合、決済判定部２２６は、決済装置２００が備える図外の時計から、日時、及び時刻に関する情報を受け付け、その判定を行う時点が、時期情報によって特定される条件を充足しているか否か判定すれば良い。かかる条件が充足された場合には、決済判定部２２６は、決済条件情報によって特定された条件が充足されていると仮に判定する。他方、時期情報は、仮想貨幣データが生成されてから３ヶ月以内とか、仮想貨幣データが生成されてから１週間後から１０日間の間だけ支払いが認められるといったように、仮想貨幣データの生成時を基準として相対的に決定されている場合がある。そのような場合には、決済判定部２２６は、復号化された発行者情報にタイミング情報が含まれていることが条件となるが、そのタイミング情報により特定される仮想貨幣データの生成時を基準として、上述の条件が充足されるか否か判定すれば良い。かかる条件が充足された場合には、決済判定部２２６は、決済条件情報によって特定された条件が充足されていると仮に判定する。
決済条件情報は、また、金額情報によって特定される金額を変化させる情報である場合においても、同様の方法によって、決済条件情報によって特定された条件が充足されているか否かを判定する。
なお、決済条件情報は、上記のようなものに限らず、例えば、ある場所におけるその日の天候が晴れの場合にのみ支払いが認められる、特定のサッカーチームが特定の試合に勝った場合にのみ支払いが認められる、ある株式市場における平均の株価がある価格以上となった場合にのみ支払いが認められるといった、場合によっては仮想貨幣データが決済装置２００から発行された後に決定されるような事象を、決済条件情報とすることも可能である。そのような場合には、決済装置２００は決済条件情報が満足されているか否か判定するために必要な情報を、ネットワーク４００を介して、外部の装置から探し出し、その情報を決済判定部２２６に供給するようにすれば良い。
いずれにせよ、決済条件情報（複数の場合、それらのすべて）が充足されていると決済判定部２２６が判定した場合には、決済判定部２２６は金額情報によって特定されている金額の支払いを認めるという肯定的な情報を示す最終判定データを生成する。なお、決済条件情報が、金額情報によって特定される金額を変化させる情報である場合には、ここで支払いが認められる金額は、変化させられた後の金額である。
他方、決済判定部２２６が復号化部２２５から受取ったのが仮想貨幣暗号化データの復号化を行えなかった旨の情報であった場合、仮想貨幣暗号化データが真正であるとの判定が行われなかった場合、決済条件情報（複数の場合、それらのすべて）が充足されていると決済判定部２２６が判定しなかった場合には、金額情報によって特定されている金額の支払いを認めないという否定的な情報を示す最終判定データを生成する。
いずれにせよ、生成された最終判定データは、決済判定部２２６から主制御部２２２に送られる。
【００５３】
主制御部２２２は、最終判定データを受取り次の処理を行う。
最終判定データが肯定的なものであった場合、主制御部２２２は、最終判定データによって特定される金額の決済端末３００の管理者への支払いの処理を実行する。決済処理は、仮想貨幣暗号化データを送ってきた決済端末３００への金銭の支払いを認めるための処理である。この実施形態では、主制御部２２２は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部２２２は、誰（どの決済端末３００の管理者等）への幾らの支払いを最終的に許可したのかという情報を、各決済端末３００毎に図示せぬ記録媒体に記録するようになっている。これらデータは、例えば、決済端末３００の管理者が指定した銀行口座が存在する銀行に送られ、その結果、例えば決済装置２００の管理者から（或いは、その仮想貨幣データを使用したユーザの指定した銀行口座等から）決済端末３００の管理者へと支払いが行われる。
最終判定データが肯定的なものであった場合、主制御部２２２は、決済が行われたこと、及びその金額の情報を少なくとも含むデータである肯定的判な定結果データを生成する。
他方、最終判定データが否定的なものであった場合、主制御部２２２は決済処理を行わない。また、主制御部２２２は、決済が行われなかったという情報を少なくとも含むデータである否定的な判定結果データを生成する。
いずれにせよ、判定結果データは、主制御部２２２から、データ入出力部２２１を介して送受信部に送られ、ネットワーク４００を介して、決済端末３００に送信される（Ｓ９２８）。
【００５４】
判定結果データは、決済端末３００の送受信部によって受取られる（Ｓ９３３）。
送受信部によって受取られた判定結果データは、これまでの場合と同様に、主制御部３２１に送られる。
主制御部３２１は、表示制御部３２２に対して、判定結果データに応じた表示をディスプレイに行わせろとの指示を行い。その結果、表示制御部３２２は、ディスプレイに判定結果データに応じた表示を行わせる（Ｓ９３４）。その表示は、図示を省略するが、例えば、判定結果データが肯定的なものであった場合には、決済が認められたこと、及びその金額となり、判定結果データが否定的なものであった場合には、決済が認められなかったことであろう。後者の場合には、判定結果データに決済が認められなかった理由を特定する情報を含めることにより、決済が認められなかった理由がディスプレイ上に表示されるようにした方が良いであろう。
なお、判定結果データの送信をユーザ端末１００に対しても行い、ユーザ端末１００でもそれに基づく画像のディスプレイ１０１での表示を行うようにすることも可能である。
以上で、仮想貨幣データを使用しての、ユーザから決済端末３００の管理者への支払いの処理が終了する。
【００５５】
なお、以上での説明では、あるユーザ端末１００を用いての仮想貨幣データによる支払いの受領者は、決済端末３００の管理者等のみであった。しかしながら、あるユーザ端末１００を用いての仮想貨幣データによる支払いの受領者を、他のユーザ端末１００のユーザとすることも可能である。
その場合には、支払いを受けるユーザの所有するユーザ端末１００は、決済端末３００にインストールされたのと同様のコンピュータプログラムをインストールすることにより、決済端末３００が有していたのと同様の機能ブロックを有するものとなっていれば良い。ユーザ端末１００がスマートフォンであれば、コンピュータを含んでいるのであるから、それは可能である。また、決済端末３００はハードウェアとしてカメラを備えていたが、ユーザ端末１００がスマートフォンであれば常識的にカメラを持つのであるから、その条件もユーザ端末１００は満足する。その場合、決済装置２００の基本データ記録部２２４には、各決済端末３００の決済端末ＩＤと紐付けて記録されていた種々のデータと同等のデータが、各ユーザへの支払いが可能か否かを決済判定部２２６が判定する際に決済条件情報の充足性を決済判定部２２６が判定する際に必要な範囲で、各ユーザ端末１００のユーザＩＤと紐付けて記録されることが必要となろう。
また、この実施形態では、ユーザ端末１００から決済端末３００への仮想貨幣データの受け渡しはネットワーク４００を介さずに行われるものとなっていた。しかしながら、かかる受け渡しがユーザ端末１００から決済端末３００への仮想貨幣データの受け渡しであるか、ユーザ端末１００間での仮想貨幣データの受け渡しであるかを問わず、かかる受け渡しをネットワーク４００を介しての仮想貨幣データの送受信（場合によっては、仮想貨幣データの二重譲渡を防ぐための決済装置２００を介しての送受信）によって実現しても良い。
【００５６】
なお、この実施形態では、決済装置２００は、仮想貨幣データを発行して外部に送る機能と、仮想貨幣データを受取り決済の可否を判定する機能とを併せ持っていたが、それら機能をそれぞれ持つ仮想貨幣データ発行装置と、仮想貨幣データの決済装置とに分離することも可能である。
その場合、前者、後者とも、ハードウェア構成としては既に説明した決済装置２００と同じものとすることがき、機能ブロックに関しては、前者は、仮想貨幣データをユーザ端末１００に送るまでに必要であった機能を有する機能ブロックを、後者は、それ以降に必要であった機能を有する機能ブロックを、それぞれ有するものとすることができる。
【００５７】
＜変形例１＞
変形例１による決済システムは、第１実施形態による決済システムと殆ど同じである。特に、ユーザ端末１００と、決済端末３００との構成、及びそこで実行される処理は、第１実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第１実施形態と同じである。
異なるのは、決済装置２００の構成、及びそこで実行される処理である。とはいえ、変形例１の決済装置２００の構成、及びそこで実行される処理の大半は、第１実施形態の場合と同じである。
【００５８】
第１実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたって暗号化部２２３Ａが用いる暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、この変形例では、仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である。
そうすると、復号化部２２５は、ある仮想貨幣暗号化データを復号化しようとした場合に、その仮想貨幣暗号化データが複数の暗号化の手法のうちどれを用いて暗号化されたのかを知ることができないと、復号化の処理を行うことができない。これを可能としているのが、変形例１の決済装置２００の第１実施形態における決済装置２００との相違点である。
【００５９】
これには限られないが、この実施形態では、暗号化部２２３Ａで行われる暗号化は、各仮想貨幣暗号化データ毎にすべて異なるものとする。したがって、復号化部２２５が各仮想貨幣暗号化データに対して行う復号化の処理も、すべて異なるものとなる。暗号化、復号化の手法を変化させるには、アルゴリズムを変更する、鍵を変更する、それらの双方を変更するという３種類がありいずれも採用可能ではあるが、この実施形態では鍵を変更するものとする。
変形例１の決済装置２００でも、第１実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部２２０が生成される。図１５に示したように、変形例１における制御部２００内に生成される機能ブロックは第１実施形態の場合と略同じであり、同一の機能ブロックが担う機能は暗号化部２２３Ａと復号化部２２５とを除けば、第１実施形態の場合と同じである。変形例１における制御部２００内に生成される機能ブロックには鍵生成部２２７が含まれており、その点で第１実施形態と異なる。
鍵生成部２２７は暗号化又は復号化に使用される鍵を生成するものであり、鍵を暗号化部２２３Ａと復号化部２２５とに提供するものとなっている。鍵の生成の方法、及び鍵を暗号化部２２３Ａと復号化部２２５とに提供するタイミングについて説明する。
【００６０】
鍵生成部２２７が暗号化部２２３Ａに鍵を供給するタイミングは、暗号化部２２３Ａが暗号化の処理を行うタイミングである。上述したように、図１２（Ａ）に示されたデータ、つまり、発行者情報、金額情報、決済条件情報とからなる平文のデータが生成されると、鍵生成部２２７は、暗号化部２２３Ａに鍵を生成することを依頼するためのデータを送信する。それを受取ると、鍵生成部２２７は鍵を生成し、生成した鍵のデータを暗号化部２２３Ａに送る。暗号化部２２３Ａは、不変のアルゴリズムと、提供された鍵とを用いて、図１２（Ａ）に示されたデータを暗号化することにより、仮想貨幣暗号化データを得る。
鍵生成部２２７は、例えば鍵を以下のようにして生成する。鍵は、以下の説明における「解」として生成され、英字、数字、記号の少なくとも１つの羅列として生成される。解は例えば、ある条件下では常に同じものが生成される、初期値依存性のある擬似乱数列のようなものとすることができる。ある初期値から連続してワンタイムパスワードを生成するという、公知、周知のワンタイムパスワードの発生方法が、その一例となる。
この実施形態では、解を生成するために、ある初期値（２つ以上の場合もある）を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を解が必要となる度に実行する。そうすることにより、上記「値」である解を連続して生成することができる。このような解は、初期値依存性のある擬似乱数となる。
上述の「解」を作るのに使われる関数の例として、以下の（ａ）〜（ｃ）を挙げる。以下の（ａ）〜（ｃ）はいずれも、Ｎ番目の「解」であるＸＮを作るための式である。また、Ｐ、Ｑ、Ｒ、Ｓは自然数である。
（ａ）（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ
（ｂ）（ＸＮ）＝（ＸＮ−１）Ｐ
（ｃ）（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ-3）R（ＸＮ−4）S
（ａ）は、過去の「解」２つを用い、それらをそれぞれＰ乗とＱ乗したものを足し合わせることにより、新しい「解」を生成する。なお、正確には、過去の「値」２つを用い、それらをＰ乗とＱ乗したものを足し合わせると、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい「解」を生成する。
（ｂ）は、過去の「解」１つを用い、それをＰ乗したものの桁数を上述のよう  に整理したものを新しい「解」とするものである。
（ｃ）は、過去の「解」４つを用い、それらをそれぞれＰ乗、Ｑ乗、Ｒ乗、Ｓ乗したものの積を取り、その後上述したように桁数を整理したものを新しい「解」とするものである。
上述の（ａ）〜（ｃ）は解を生成するためのアルゴリズムの一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の（ａ）〜（ｃ）を順番に用いる等の変化を加えることも可能である。
このような手法で解を生成することとすれば、ある初期値に基いて１番目に生成される解は常に同じであり、２番目に生成される解も常に同じであり、同様にＮ番目に生成される解も常に同じである。これが初期値依存性ということである。
【００６１】
上述のように生成された解を鍵として用いることにより暗号化部２２３Ａは、図１２（Ａ）に示されたデータを暗号化して、仮想貨幣暗号化データを生成する。そして、第１実施形態の場合と同様に、結合部２３２Ｂが、仮想貨幣暗号化データに対して平文の幾つかのデータを付加することによって仮想貨幣データが生成される。
かかる仮想貨幣データは、第１実施形態の場合と同様に、決済装置２００からユーザ端末１００に送られる。
かかる仮想貨幣データの使用方法は第１実施形態の場合と同様であり、ユーザ端末１００から決済端末３００に引渡され、決済端末３００から、決済端末ＩＤとともに決済装置２００に送られる。
仮想貨幣データは、第１実施形態の場合と同様に、決済端末ＩＤとともに主制御部２２２から復号化部２２５へと送られる。
【００６２】
ここで、第１実施形態の場合と同様に、復号化部２２５は仮想貨幣暗号化データを復号化する。しかしながら、そのためには暗号化部２２３Ａがその仮想貨幣暗号化データを暗号化するときに用いた鍵を復号化部２２５が入手する必要がある。そこで、仮想貨幣データを受取った復号化部２２５は、鍵生成部２２７に対して鍵のデータの生成を依頼するデータを送る。そして、復号化部２２５は、そのデータに、仮想貨幣データに平文の状態で含まれていた記番号情報を付す。
上述したように、この実施形態の記番号情報は、１６進法で表記された、１から始まる多数桁の連番の番号である。つまり、かかる記番号情報により特定される数字は、復号化しようとする仮想貨幣暗号化データを暗号化したときに使用された鍵が、何番目に生成された鍵であるか、ということを示している。そこで、鍵生成部２２７は、上述の数式（ａ）〜（ｃ）を用いて、記番号情報で特定される数字番目の解を求めるべく連続して演算を行う。その結果、鍵生成部２２７は、その記番号情報が付されていた仮想貨幣暗号化データを暗号化したときに用いたものと同じ鍵と同一の解を生成することができる。そして、鍵生成部２２７は生成した解である鍵を、復号化部２２５に対して送る。
これにより、復号化部２２５は、暗号化部２２３Ａが仮想貨幣暗号化データを暗号化したときに用いたものと同じ鍵を用いて復号化の処理を行えることになる。つまり、変形例１では、記番号情報が、本願発明で言う暗号化条件情報を兼ねている。
なお、仮想貨幣データに含まれる暗号化条件情報は、平文のままでも良いし、暗号化された状態となっていても構わない。ただし、暗号化条件情報の暗号化を行う場合には、すべての仮想貨幣データに含まれる暗号化条件情報について、その暗号化の手法を同一とするのが現実的である。なぜなら、各仮想貨幣データに含まれる暗号化条件情報をそれぞれ異なる手法（例えば、異なる鍵）により暗号化したとするのであれば、各暗号化条件情報を復号化するときに、その復号化のための条件（暗号化されたその暗号化条件情報を暗号化した場合の暗号化の条件）が必要となるからである。これには限られないが、決済装置２００では、仮想貨幣データを生成して、発行する際に、その主制御部２２２が、暗号化条件情報の暗号化を行い、また決済を行う場合、その主制御部２２２が暗号化条件情報の復号化を行う。暗号化の手法、復号化の手法が同一であれば、かかる暗号化、復号化を同一の主制御部２２２が行うことは当然に可能である。なお、変形例１では、記番号情報が暗号化条件情報を兼ねることとされており、記番号情報を平文のままにすることが必要なのであれば、この後述べるように、記番号情報とは他の暗号化条件情報を準備する必要がある。そうすれば、仮想貨幣データに含まれる記番号情報を平文のままとするとともに、仮想貨幣データに含まれる暗号化条件情報を暗号化することが可能となる。
以降の処理は、第１実施形態と変わらない。
【００６３】
なお、変形例１では記番号情報を本願発明でいう暗号化条件情報として利用することとしていた。つまり、発行者情報の一部である記番号情報を、暗号化条件情報としても利用することとしている。
これに代えて、例えば、記番号情報を、暗号化条件情報として使用しない（その場合には、記番号情報を連番とする必要がなくなる。）ようにするとともに、記番号情報とは別の情報を仮想貨幣データに平文の状態で、或いは暗号化した状態で含めることが可能である。そのデータは、その仮想貨幣暗号化データを生成するときに用いられた鍵が、鍵生成部２２７で何番目に生成された鍵であるかを示す連番の数字のデータである。
また、暗号化条件情報として、結合部２２３Ｂが、暗号化部２２３Ａが暗号化の処理を行うときに使用した鍵そのものを、その鍵によって暗号化された仮想貨幣暗号化データに付加することによって、仮想貨幣データに含めることも可能である。このような仮想貨幣データには、それに含まれる仮想貨幣暗号化データを復号化するために用いることのできる鍵が添付されているから、悪意の第三者により仮想貨幣暗号化データを復号化されるおそれがある。しかしながら、暗号化、復号化に用いられるアルゴリズムが第三者に知られない限り、悪意の第三者は仮想貨幣暗号化データを復号化することができないため、一応の安全性は維持できる。暗号化条件情報を鍵そのものとした場合、復号化部２２５は、その鍵を用いて復号化を行うことができるので、復号化部２２５は復号化の処理を行うに際して鍵生成部２２７から鍵の提供を受ける必要はない。
なお、暗号化条件情報は、上述のものによらない。例えば、上述の解が生成されたときの日時によって解が決定される、換言すれば、ある日時を指定すれば後からでも必ずその解を再現できるようなアルゴリズムを、鍵生成部２２７が解の生成のために用いるのであれば、暗号化条件情報は、暗号化部２２３Ａで使用された解が鍵生成部２２７で生成された日時を特定する情報とすることができる。復号化部２２５がその日時を鍵生成部２２７に通知すれば、鍵生成部２２７は、暗号化部２２３Ａが暗号化に用いた鍵と同じ解を生成することができるので、復号化部２２５は、暗号化部２２３Ａが暗号化に用いた鍵と同じ鍵の提供を鍵生成部２２７から受けられることになる。
【００６４】
≪第２実施形態≫
第２実施形態による決済システムは、第１実施形態による決済システムと殆ど同じである。特に、ユーザ端末１００と、決済端末３００との構成、及びそこで実行される処理は、第１実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第１実施形態と基本的には同じである。第２実施形態による決済システムで用いられる仮想貨幣データも第１実施形態の場合と同様に暗号化されたデータである仮想貨幣暗号化データを含んでいるが、ただし、後述するように、かかる仮想貨幣暗号化データに対して行われている暗号化の処理は、第１実施形態の場合と異なり復号化を行えるようなものである必要はない。例えば、図１２（Ａ）に示されたデータに対して行われる、仮想貨幣暗号化データを得るための暗号化の処理は、ハッシュ値をとる等の変換とすることができる。
第２実施形態と第１実施形態とで異なるのは、決済装置２００の構成、及びそこで実行される処理である。とはいえ、第２実施形態の決済装置２００の構成、及びそこで実行される処理の大半は、第１実施形態の場合と同じである。
【００６５】
第２実施形態の決済装置２００でも、第１実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部２２０が生成される。図１６に示したように、第２実施形態における制御部２００内に生成される機能ブロックは第１実施形態の場合と略同じであり、同一の機能ブロックが担う機能は、仮想貨幣データ生成部２２３の一部の機能を除けば、第１実施形態の場合と同じである。また、第２実施形態における制御部２００内に生成される機能ブロックには、第１実施形態にあった復号化部２２５が存在せず、その代わりに第１実施形態には無かった第２認証部２２８及び仮想貨幣データ記録部２２８Ａが存在する。この点が第１実施形態と第２実施形態との大きな相違点である。
【００６６】
第２実施形態の決済装置２００における仮想貨幣データ生成部２２３、第２認証部２２８、及び仮想貨幣データ記録部２２８Ａの機能、及び前２者が実行する処理について説明する。
【００６７】
まず、仮想貨幣データ生成部２２３についてである。第２実施形態の仮想貨幣データ生成部２２３の機能、及びそこで行われる処理については、第１実施形態と殆ど変わらない。仮想貨幣データ生成部２２３は、第１実施形態の場合と同様に暗号化部２２３Ａと結合部２２３Ｂとを有している。結合部２２３Ｂの機能、そこで行われる処理は第１実施形態の場合と同一である。
第２実施形態の暗号化部２２３Ａの機能、及びそこで行われる処理は、基本的に第１実施形態の場合と同じであるが、第２実施形態の暗号化部２２３Ａが行う暗号化の処理は、後に復号化が可能なものであっても良いし、復号化が可能なものでなくても良い。
第１実施形態の場合と同様に、図１２（Ａ）に示したデータを、暗号化部２２３Ａは暗号化して、仮想貨幣暗号化データを生成する。第１実施形態の場合と同様に、かかる仮想貨幣暗号化データは、結合部２２３Ｂに送られ、結合部２２３Ｂによってそれに対して平文の第１実施形態で説明したデータが付加されることによって、仮想貨幣データとなる。第１実施形態の仮想貨幣データ生成部２２３は、仮想貨幣データを決済装置２００からユーザ端末１００に送る処理を決済装置２００が行うために、主制御部２２２に対して仮想貨幣データを送ったが、第２実施形態の仮想貨幣データ生成部２２３は、それとともに、仮想貨幣データを仮想貨幣データ記録部２２８Ａにも送るようになっている。この実施形態では、仮想貨幣データ生成部２２３は、仮想貨幣データだけでなく、それに含まれている仮想貨幣暗号化データの元となった図１２（Ａ）に示されたデータである平文の発行者情報、金額情報、及び決済条件情報をも、仮想貨幣データ記録部２２８Ａに送るようになっている。
仮想貨幣データ記録部２２８Ａには、送られてきた仮想貨幣データと、それに含まれている仮想貨幣暗号化データの元となった平文の発行者情報、金額情報、及び決済条件情報とが、互いに対応付けた状態で記録される。かかる処理は繰り返し行われるので、通常、仮想貨幣データ記録部２２８Ａには、仮想貨幣データと、それに含まれている仮想貨幣暗号化データの元となった平文の発行者情報、金額情報、及び決済条件情報との一組となったデータが、複数組記録された状態となる。
【００６８】
主制御部２２２に送られた仮想貨幣データは、第１実施形態の場合と同様に、決済装置２００からユーザ端末１００に送られる。
かかる仮想貨幣データの使用方法は第１実施形態の場合と同様であり、ユーザ端末１００から決済端末３００に引渡され、決済端末３００から、決済端末ＩＤとともに決済装置２００に送られる。
仮想貨幣データは、第１実施形態の場合と同様に、決済端末ＩＤとともに主制御部２２２から第２認証部２２８へと送られる。
【００６９】
第２認証部２２８は、受取った仮想貨幣データが真正なものであるか、もっと言えば、受取った仮想貨幣データに含まれた仮想貨幣暗号化データが真正なものかということについての確認を行う機能を有している。この点についての確認は、第１実施形態では事実上、復号化部２２５で仮想貨幣暗号化データが復号化できたという事実により行われていたが、第２認証部２２８は、それとは異なる方法でその確認を行う。
主制御部２２２から仮想貨幣データを受取った第２認証部２２８は、仮想貨幣データ記録部２２８Ａ内に記録されたデータを検索し、主制御部２２２から受取った仮想貨幣データと同じ仮想貨幣データが仮想貨幣データ記録部２２８Ａに記録されていた場合には、主制御部２２２から受取った仮想貨幣暗号化データが真正なものであると判定し、主制御部２２２から受取った仮想貨幣データと同じ仮想貨幣データが仮想貨幣データ記録部２２８Ａに記録されていなかった場合には、主制御部２２２から受取った仮想貨幣暗号化データが真正なものでないと判定する。かかる判定方法を用いる場合、多数のユーザ端末１００からの多数の求めによって多数生成される仮想貨幣データの中に重複するものが無いようにするために、例えば仮想貨幣データの文字数（桁数）を大きくする等の適当な工夫を行うことが好ましい。また、仮想貨幣データ記録部２２８Ａに記録されていた仮想貨幣データのうち、第２認証部２２８から読み出されたものは、例えばそれに対応する仮想貨幣データによる決済端末３００の管理者等への支払いが終了した後に、仮想貨幣データ記録部２２８Ａから消去するのが望ましい。
第２認証部２２８は、主制御部２２２から受取った仮想貨幣データが真正なものであると判定した場合には、主制御部２２２から受取った仮想貨幣データと同じ仮想貨幣データに紐付けられた状態で仮想貨幣データ記録部２２８Ａに記録されていた発行者情報、金額情報、及び決済条件情報を読み出す。この状態で、第２認証部２２８は、発行者情報、金額情報、及び決済条件情報を持つことになった。これら発行者情報、金額情報、及び決済条件情報は、第２認証部２２８が主制御部２２２から受取った仮想貨幣データに含まれる仮想貨幣暗号化データを暗号化する際にその元となったデータである。つまり、第２認証部２２８が、発行者情報、金額情報、及び決済条件を持ったこの状態は、第１実施形態において復号化部２２５が主制御部２２２から受取った仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化した状態と同じである。
つまり、以後の処理はすべて第１実施形態と同じとすることができ、第２実施形態ではそうしている。第１実施形態では、復号化部２２５は、いずれも平文に戻った発行者情報、金額情報、及び決済条件情報を、決済端末ＩＤのデータとともに決済判定部２２６に送ったが、第２実施形態では、第２認証部２２８は、いずれも平文である発行者情報、金額情報、及び決済条件情報を、決済端末ＩＤのデータとともに決済判定部２２６に送る。他方、第１実施形態では、仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部２２５からその旨の情報が決済判定部２２６に送られたが、第２実施形態では、第２認証部２２８に主制御部２２２から送られてきた仮想貨幣データと同一の仮想貨幣データが仮想貨幣データ記録部２２８Ａに存在しなかった場合には、第１実施形態における復号化を行えなかった旨の情報と同様の意味を持つ、同一の仮想貨幣データが仮想貨幣データ記録部２２８Ａに存在しなかった旨の情報が決済判定部２２６に送られることになる。
以後の説明は省略する。
【００７０】
なお、第２実施形態の説明では、第２認証部２２８は、主制御部２２２から送られてきた仮想貨幣データと同一の仮想貨幣データが仮想貨幣データ記録部２２８Ａに存在するか否かにより、主制御部２２２から送られてきた仮想貨幣データのうちの仮想貨幣暗号化データの真正性の判定を行うこととしていた。
しかしながら、かかる判定の対象は、仮想貨幣データの全体によらずとも、仮想貨幣暗号化データのみによって行うことも可能である。したがって、主制御部２２２が第２認証部２２８に決済端末ＩＤとともに送るのは、仮想貨幣データの全体ではなく仮想貨幣暗号化データのみでもよい。その場合、仮想貨幣データ記録部２２８Ａに仮想貨幣データ生成部２２３が、平文の発行者情報、金額情報、及び決済条件情報と紐付けて記録するのは、仮想貨幣データではなく仮想貨幣暗号化データとなる。そして、第２認証部２２８は、主制御部２２２から送られてきた仮想貨幣暗号化データと同一の仮想貨幣暗号化データが仮想貨幣データ記録部２２８Ａに存在するか否かにより、主制御部２２２から送られてきた仮想貨幣データのうちの仮想貨幣暗号化データの真正性の判定を行うことになる。
【００７１】
≪第３実施形態≫
第３実施形態による決済システムは、第１実施形態による決済システムと殆ど同じである。特に、ユーザ端末１００と、決済端末３００との構成、及びそこで実行される処理は、第１実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第１実施形態と基本的には同じである。第３実施形態による決済システムで用いられる仮想貨幣データも第１実施形態の場合と同様に暗号化されたデータである仮想貨幣暗号化データを含んでいるが、ただし、後述するように、かかる仮想貨幣暗号化データに対して行われている暗号化の処理は、第１実施形態の場合と異なり復号化を行えるようなものである必要はない。例えば、図１２（Ａ）に示されたデータに対して行われる、仮想貨幣暗号化データを得るための暗号化の処理は、第２実施形態の場合と同様に、ハッシュ値をとる等の変換とすることができる。
第３実施形態と第１実施形態とで異なるのは、決済装置２００の構成、及びそこで実行される処理である。とはいえ、第３実施形態の決済装置２００の構成、及びそこで実行される処理の大半は、第１実施形態の場合と同じである。
【００７２】
第３実施形態の決済装置２００でも、第１実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部２２０が生成される。図１７に示したように、第３実施形態における制御部２００内に生成される機能ブロックは第１実施形態の場合と略同じであり、同一の機能ブロックが担う機能は、仮想貨幣データ生成部２２３の一部の機能を除けば、第１実施形態の場合と同じである。また、第３実施形態における制御部２００内に生成される機能ブロックには、第１実施形態にあった復号化部２２５が存在せず、その代わりに第１実施形態には無かった第３認証部２２９、及び平文データ記録部２２９Ａが存在する。  
【００７３】
第３実施形態の決済装置２００における仮想貨幣データ生成部２２３、第３認証部２２９、及び平文データ記録部２２９Ａの機能、及び前２者が実行する処理について説明する。
【００７４】
まず、仮想貨幣データ生成部２２３についてである。第３実施形態の仮想貨幣データ生成部２２３の機能、及びそこで行われる処理については、第１実施形態と殆ど変わらない。仮想貨幣データ生成部２２３は、第１実施形態の場合と同様に暗号化部２２３Ａと結合部２２３Ｂとを有している。結合部２２３Ｂの機能、そこで行われる処理は第１実施形態の場合と同一である。
第１実施形態では、仮想貨幣データ生成部２２３は、まず、図１２（Ａ）に示された如きデータ構造を持つ、発行者情報、金額情報、及び決済条件情報を有するデータを生成する。第１実施形態でもそうであったように、かかるデータは、暗号化部２２３Ａで暗号化され仮想貨幣暗号化データに変わる。第３実施形態の暗号化部２２３Ａの機能、及びそこで行われる処理は、基本的に第１実施形態の場合と同じであるが、第３実施形態の暗号化部２２３Ａが行う暗号化の処理は、後に復号化が可能なものであっても良いし、復号化が可能なものでなくても良い。第１実施形態の場合と同様に、仮想貨幣暗号化データは、結合部２２３Ｂに送られ、結合部２２３Ｂによってそれに対して平文の第１実施形態で説明したデータが付加されることによって、仮想貨幣データとなる。第１実施形態の仮想貨幣データ生成部２２３は、仮想貨幣データを決済装置２００からユーザ端末１００に送る処理を決済装置２００が行うために、主制御部２２２に対して仮想貨幣データを送ったが、第３実施形態でも同様である。
他方、第３実施形態では、図１２（Ａ）に示したデータは、仮想貨幣データ生成部２２３から平文データ記録部２２９Ａに送られ、平文データ記録部２２９Ａに記録される。かかる処理は繰り返し行われるので、通常、平文データ記録部２２９Ａには、互いに紐付けられた状態の発行者情報、金額情報、及び決済条件情報のデータが、多数記録された状態となる。
【００７５】
主制御部２２２に送られた仮想貨幣データは、第１実施形態の場合と同様に、決済装置２００からユーザ端末１００に送られる。
かかる仮想貨幣データの使用方法は第１実施形態の場合と同様であり、ユーザ端末１００から決済端末３００に引渡され、決済端末３００から、決済端末ＩＤとともに決済装置２００に送られる。
仮想貨幣データは、第１実施形態の場合と同様に、決済端末ＩＤとともに主制御部２２２から第３認証部２２９へと送られる。
【００７６】
第３認証部２２９は、受取った仮想貨幣データが真正なものであるか、もっと言えば、受取った仮想貨幣データに含まれた仮想貨幣暗号化データが真正なものかということについての確認を行う機能を有している。この点についての確認は、第１実施形態では事実上、復号化部２２５で仮想貨幣暗号化データが復号化できたという事実により行われていたが、第３認証部２２９は、それとは異なる方法でその確認を行う。
主制御部２２２から仮想貨幣データを受取った第３認証部２２９は、まず、その仮想貨幣データの中に平文で含まれている記番号情報を抽出する。そして、その記番号情報を含む発行者情報を平文データ記録部２２９Ａに記録されたデータの中から検索し、そのような発行者情報を発見したら、その発行者情報と、それに紐付けられた金額情報及び決済条件情報とを平文データ記録部２２９Ａから読み出すようになっている。
主制御部２２２から受取った仮想貨幣データに含まれていた記番号情報を平文データ記録部２２９Ａに記録されたデータの中から発見できなかった場合には、主制御部２２２は発行者情報等の読み出しを行わない。
発行者情報等を読み出した場合には、第３認証部２２９は、平文データ記録部２２９Ａから読み出した平文の発行者情報、金額情報、及び決済条件情報を、仮想貨幣データ生成部２２３に送り、それを暗号化するように暗号化部２２３Ａに依頼する。暗号化部２２３Ａは、それを暗号化して、仮想貨幣暗号化データに変える。仮想貨幣データ生成部２２３で新たに作られた仮想貨幣暗号化データは、仮想貨幣データ生成部２２３から第３認証部２２９に送られる。
そして、第３認証部２２９は、主制御部２２２から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、仮想貨幣データ生成部２２３で第３認証部２２９の求めにより新たに生成された仮想貨幣暗号化データとを比較する。第３認証部２２９は、その結果、両者が一致した場合には、主制御部２２２から受取った仮想貨幣暗号化データが真正なものであると判定し、両者が一致しなかった場合には、主制御部２２２から受取った仮想貨幣暗号化データが真正なものでないと判定する。なお、主制御部２２２から受取った仮想貨幣データに含まれていた記番号情報を平文データ記録部２２９Ａに記録されたデータの中から発見できなかった場合にも、第３認証部２２９は、主制御部２２２から受取った仮想貨幣暗号化データが真正なものでないと判定する。第１実施形態の場合と同様に、第３実施形態でも、暗号化部２２３Ａが行う暗号化は、常に同じ手法で実行されるものとする。とすれば、主制御部２２２から送られてきた仮想貨幣暗号化データに対して悪意の第三者による改竄等がなければ、主制御部２２２から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、仮想貨幣データ生成部２２３で第３認証部２２９の求めにより新たに生成された仮想貨幣暗号化データとは一致するはずであるから、それら２つの仮想貨幣暗号化データが一致するか否かによって、主制御部２２２から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データの真正性の判定を行えるのである。なお、かかる判定を行う場合、平文データ記録部２２９Ａに記録されていた互いに紐付けられた発行者情報、金額情報、及び決済条件情報のうち、第３認証部２２９から読み出されたものは、例えばそれに対応する仮想貨幣データによる決済端末３００の管理者等への支払いが終了した後に、平文データ記録部２２９Ａから消去するのが望ましい。
第３認証部２２９は、主制御部２２２から受取った仮想貨幣データが真正なものであると判定した場合には、第３認証部２２９は、平文データ記録部２２９Ａから既に読み出していた互いに紐付けられた発行者情報、金額情報、及び決済条件情報を持っている状態となる。これら発行者情報、金額情報、及び決済条件情報は、第３認証部２２９が主制御部２２２から受取った仮想貨幣データに含まれる仮想貨幣暗号化データを暗号化する際にその元となったデータである。つまり、第３認証部２２９が、発行者情報、金額情報、及び決済条件を持ったこの状態は、第１実施形態において復号化部２２５が主制御部２２２から受取った仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化した状態と同じである。
つまり、第２実施形態の場合と同様、以後の処理はすべて第１実施形態と同じとすることができ、第３実施形態ではそうしている。第１実施形態の場合と同様、第３実施形態では、第３認証部２２９は、いずれも平文である発行者情報、金額情報、及び決済条件情報を、決済端末ＩＤのデータとともに決済判定部２２６に送る。他方、第１実施形態では、仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部２２５からその旨の情報が決済判定部２２６に送られたが、第３実施形態では、第３認証部２２９に主制御部２２２から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが真正なものでないと判定された場合には、第１実施形態における復号化を行えなかった旨の情報と同様の意味を持つ、主制御部２２２から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが真正なものでないと判定されたという旨の情報が決済判定部２２６に送られることになる。
以後の説明は省略する。
【００７７】
なお、第３実施形態では、ユーザ端末１００に提供される仮想貨幣データに含まれる仮想貨幣暗号化データの元となった発行者情報、金額情報、及び決済条件情報と同一の発行者情報、金額情報、及び決済条件情報を再度暗号化し、その再度の暗号化によって得られた仮想貨幣暗号化データが、ユーザ端末１００に提供される仮想貨幣データに含まれる仮想貨幣暗号化データと一致するか否かによって、ユーザ端末１００に提供される仮想貨幣データに含まれる仮想貨幣暗号化データの真正性を判定するものとなっていた。
それを可能とするため、決済端末３００の平文データ記録部２２９Ａに多数記録されている互いに紐付けられた発行者情報、金額情報、及び決済条件情報の中から、真正性の判断の対象となっている、決済端末３００から送られてきた仮想貨幣データに含まれている仮想貨幣暗号化データを決定できるようになっている必要がある。上述の例では、記番号情報をクリエとすることによってそれを可能としているが、必ずしも記番号情報によってそれを実現する必要はない。発行者情報、金額情報、及び決済条件情報の組、或いはそれらを暗号化して得られるものであり、仮想貨幣データに含めてユーザ端末１００に提供される仮想貨幣暗号化データと一対一対応する識別情報を各仮想貨幣データに含めるとともに、その識別情報を平文データ記録部２２９Ａに、互いに紐付けられた発行者情報、金額情報、及び決済条件情報と紐付けた状態で記録しておくことで、かかる識別情報を検索のクリエとして利用することができる。
【００７８】
＜変形例２＞
変形例２の決済システムは、第３実施形態の決済システムと殆ど同一である。そして、変形例２の決済システムと、第３実施形態の決済システムとの関係は、変形例１の決済システムと、第１実施形態の決済システムとの関係に同じである。
【００７９】
第１実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたって暗号化部２２３Ａが用いる暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、変形例１では、仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である。
同様に、第３実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたって暗号化部２２３Ａが用いる暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、変形例２では、仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である。
そうすると、変形例２における暗号化部２２３Ａは、変形例１の場合と同様に、追って述べる、平文データ記録部２２９Ａに記録されていた発行者情報、金額情報、及び条件情報の再度の暗号化を行う場合に、第３認証部２２９が真正性の判定をしようとしている仮想貨幣暗号化データが複数の暗号化の手法のうちどれを用いて暗号化されたのかを知ることができないと、復号化の処理を行うことができない。これを可能とするため、変形例１の決済装置２００の場合と同様の鍵生成部２２７を、変形例２の決済装置２００も備えている（図１８）。
【００８０】
変形例２では、暗号化部２２３Ａは、ユーザ端末１００に提供される仮想貨幣データに含まれる仮想貨幣暗号化データを、図１２（Ａ）に示される、発行者情報、金額情報、及び決済条件情報からなるデータを暗号化して作る場合においても、決済端末３００から決済装置２００に送られてきた仮想貨幣データに含まれる仮想貨幣暗号化データの真正性を第３認証部２２９が判定するために使用する仮想貨幣暗号化データを、第３認証部２２９から提供された発行者情報、金額情報、及び決済条件情報からなるデータを暗号化して作る場合においても、暗号化のために必要な鍵の提供を、鍵生成部２２７から受けるようになっている。
両者の場合に使用される鍵を鍵生成部２２７が生成できるようにするためには、例えば、変形例１の場合と同様に記番号情報を暗号化条件情報として利用すれば良い。或いは、変形例１で説明したように、記番号情報以外の情報を、暗号化条件情報として用いることも可能である。暗号化条件情報が平文でも暗号化されていても良いことも、変形例１で述べた通りである。
【符号の説明】
【００８１】
１００  ユーザ端末  
１０１  ディスプレイ
１０２  入力装置
１２０  制御部
１２１  主制御部
１２２  表示制御部
１２３  データ入出力部
１２４  ユーザ端末記録部
２００  決済装置
２２０  制御部
２２１  データ入出力部
２２２  主制御部
２２３  仮想貨幣データ生成部
２２３Ａ  暗号化部
２２３Ｂ  結合部
２２４  基本データ記録部
２２５  復号化部
２２６  決済判定部
２２７  鍵生成部
２２８  第２認証部
２２８Ａ  仮想貨幣データ記録部
２２９  第３認証部
２２９Ａ  平文データ記録部
３００  決済端末
３２０  制御部
３２１  主制御部
３２２  表示制御部
３２３  データ入出力部
４００  ネットワーク
【図１】
2018195059.tif 000003
【図２】
2018195059.tif 000004
【図３】
2018195059.tif 000005
【図４】
2018195059.tif 000006
【図５】
2018195059.tif 000007
【図６】
2018195059.tif 000008
【図７】
2018195059.tif 000009
【図８】
2018195059.tif 000010
【図９】
2018195059.tif 000011
【図１０】
2018195059.tif 000012
【図１１】
2018195059.tif 000013
【図１２】
2018195059.tif 000014
【図１３】
2018195059.tif 000015
【図１４】
2018195059.tif 000016
【図１５】
2018195059.tif 000017
【図１６】
2018195059.tif 000018
【図１７】
2018195059.tif 000019
【図１８】
2018195059.tif 000020