(57)【要約】【課題】真の意味で暗号貨幣として成立する、データである仮想貨幣を、一般的なユーザが発生させられるようにするための技術を提供する。【解決手段】ユーザ端末から、ユーザ端末にユーザが入力したユーザＩＤと金額情報とが決済装置に送られる（Ｓ９１３）。それを受取った決済装置が、与信判定を行い（Ｓ９２２）、許可情報をユーザ端末に送信する（Ｓ９２３）。それを受取ったユーザ端末では、ユーザＩＤと金額情報を合わせた元データが生成され（Ｓ９１５）、元データが暗号化されて仮想貨幣暗号化データに変換され（Ｓ９１６）、仮想貨幣暗号化データを含む仮想貨幣データが生成される（Ｓ９１７）。仮想貨幣データの真正性は、それを受取った決済装置が仮想貨幣暗号化データの復号化を行えたことにより（Ｓ９２５）保証される。【選択図】図９
2019032667.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークにそのそれぞれが接続可能とされた、
そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
を含んで構成されている仮想貨幣データ発行システムであって、
前記ユーザ端末における、
前記ユーザ端末入力手段は、
ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、
を備えており、
前記管理装置における、
前記管理装置送受信手段は、
前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、
前記管理装置情報処理手段は、
前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、
を備えており、
前記ユーザ端末における、
前記ユーザ端末送受信手段は、
前記管理装置から、前記発行許可情報を受取るようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、
を備えている、
仮想貨幣データ発行システム。
【請求項２】
所定のネットワークにそのそれぞれが接続可能とされた、
そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末であって、
前記ユーザ端末入力手段は、
ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、
を備えており、
前記管理装置における、
前記管理装置送受信手段は、
前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、
前記管理装置情報処理手段は、
前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、
を備えており、
前記ユーザ端末送受信手段は、
前記管理装置から、前記発行許可情報を受取るようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、
を備えている、
ユーザ端末。
【請求項３】
前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっている、
請求項２記載のユーザ端末。
【請求項４】
前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっている、
請求項２記載のユーザ端末。
【請求項５】
前記ユーザ端末暗号化手段は、前記元データを暗号化する度に、前記元データを暗号化する方法を変更させるようになっている、
請求項４記載のユーザ端末。
【請求項６】
前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、
前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっている、
請求項４又は５記載のユーザ端末。
【請求項７】
前記ユーザ端末第２情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっている、
請求項４〜６のいずれかに記載のユーザ端末。
【請求項８】
前記ユーザ端末第２情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザＩＤを付加して前記仮想貨幣データとするようになっている、
請求項４〜６のいずれかに記載のユーザ端末。
【請求項９】
所定のネットワークにそのそれぞれが接続可能とされた、
そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する管理装置であって、
前記ユーザ端末における、
前記ユーザ端末入力手段は、
ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、
を備えており、
前記管理装置送受信手段は、
前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、
前記管理装置情報処理手段は、
前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、
を備えており、
前記ユーザ端末における、
前記ユーザ端末送受信手段は、
前記管理装置から、前記発行許可情報を受取るようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、
を備えている、
管理装置。
【請求項１０】
前記管理装置送受信手段は、前記ネットワークを介して、いずれかの前記ユーザ端末で生成された仮想貨幣データを、その仮想貨幣データを生成した前記ユーザ端末か或いはその仮想貨幣データを生成した前記ユーザ端末から直接或いは間接的にそれを譲り受けた何らかの装置から受付けるようになっているとともに、
前記管理装置情報処理手段は、
前記ユーザ端末から受付けた前記仮想貨幣データが真正なものである場合に、前記仮想貨幣データの送信元の装置のユーザに対する、前記仮想貨幣データに含まれる仮想貨幣暗号化データに暗号化して含まれる前記金額情報で特定される金額の決済を認める決済手段を備えている、
請求項９記載の管理装置。
【請求項１１】
前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化するための管理装置復号化手段を備えており、
前記決済手段は、前記管理装置復号化手段で前記仮想貨幣暗号化データを復号化できた場合に、当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであるとして前記決済を認めるようになっている、
請求項１０記載の管理装置。
【請求項１２】
前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっており、
前記管理装置復号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記仮想貨幣暗号化データを復号化するようになっている、
請求項１１記載の管理装置。
【請求項１３】
前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっているとともに、
前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、当該仮想貨幣暗号化データを暗号化したときの方法に対応した方法で、当該仮想貨幣暗号化データを復号化するようになっている、
請求項１１記載の管理装置。
【請求項１４】
ユーザ端末第２情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加するようになっており、
前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記暗号化条件データにより、当該仮想貨幣暗号化データの復号化の方法を決定するようになっている、
請求項１３記載の管理装置。
【請求項１５】
前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっているとともに、
前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができるサーバ解生成手段を備えており、前記管理装置復号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記仮想貨幣暗号化データの復号化の方法を決定するようになっている、
請求項１３記載の管理装置。
【請求項１６】
前記ユーザ端末第２情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザＩＤを付加して前記仮想貨幣データとするようになっており、
前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記ユーザＩＤにより、当該仮想貨幣暗号化データの復号化の方法を決定するようになっている、
請求項１３記載の管理装置。
【請求項１７】
前記管理装置情報処理手段は、
前記管理装置送受信手段で受取った前記金額情報を含む、前記ユーザ端末において暗号化されたものと同じ元データを暗号化して確認用暗号化データを生成する管理装置暗号化手段と、
前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データと、前記管理装置暗号化手段で生成された前記確認用暗号化データとを比較し、両者が一致した場合に当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであると判定する判定手段と、
を備えており、
前記決済手段は、前記判定手段が、前記仮想貨幣データが真正なものであると判定した場合に、前記決済を認めるようになっている、
請求項１０記載の管理装置。
【請求項１８】
前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記金額情報を含む前記ユーザ端末において暗号化されたものと同じ元データを記録する第１記録手段を備えているとともに、
前記管理装置暗号化手段は、前記管理装置送受信手段で前記仮想貨幣データを受取った場合に、当該仮想貨幣データに含まれる前記仮想貨幣暗号化データの元となったものと同じ元データを前記第１記録手段から読み出してそれを暗号化するようになっている、
請求項１７記載の管理装置。
【請求項１９】
前記管理装置情報処理手段は、前記確認用暗号化データを記録する第２記録手段を備えているとともに、
前記判定手段は、前記管理装置送受信手段が前記仮想貨幣データを受取った場合に、前記第２記録手段に記録されている確認用暗号化データと、前記管理装置送受信手段が受取った前記仮想貨幣データに含まれている仮想貨幣暗号化データとを比較し、前記仮想貨幣暗号化データと同じ前記確認用暗号化データが前記第２記録手段に記録されていた場合には、当該仮想貨幣暗号化データに含まれていた前記仮想貨幣データが真正なものであると判定するようになっている、
請求項１７記載の管理装置。
【請求項２０】
前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっており、
前記管理装置暗号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記元データを暗号化するようになっている、
請求項１７〜１９のいずれかに記載の管理装置。
【請求項２１】
前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっているとともに、
前記管理装置暗号化手段は、前記元データを暗号化する場合に、当該元データと同じ元データが前記ユーザ端末暗号化手段で暗号化されたときの方法と同じ方法で、当該元データを暗号化するようになっている、
請求項１７〜１９のいずれかに記載の管理装置。
【請求項２２】
前記ユーザ端末第２情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっており、
前記管理装置暗号化手段は、前記元データを暗号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記暗号化条件データにより、当該元データの暗号化の方法を決定するようになっている、
請求項１７〜１９のいずれかに記載の管理装置。
【請求項２３】
前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっているとともに、
前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができるサーバ解生成手段を備えており、前記管理装置暗号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記元データの暗号化の方法を決定するようになっている、
請求項１７〜１９のいずれかに記載の管理装置。
【請求項２４】
前記ユーザ端末第２情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザＩＤを付加して前記仮想貨幣データとするようになっており、
前記管理装置暗号化手段は、前記元データを暗号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記ユーザＩＤにより、当該元データの暗号化の方法を決定するようになっている、
請求項１７記載の管理装置。
【請求項２５】
所定のネットワークにそのそれぞれが接続可能とされた、
そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段にて実行される方法であって、
前記ユーザ端末情報処理手段によって実行される、
前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、
前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、
を含んでおり、
前記管理装置における、
前記管理装置送受信手段は、
前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、
前記管理装置情報処理手段は、
前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、
を備えており、
更に前記ユーザ端末情報処理手段が実行する、
前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、
前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、
前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、
を含んでいる、
方法。
【請求項２６】
所定のネットワークにそのそれぞれが接続可能とされた、
そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、
前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、
を実行させるとともに、
前記管理装置における、
前記管理装置送受信手段は、
前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、
前記管理装置情報処理手段は、
前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、
を備えており、
更に前記コンピュータに、
前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、
前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、
前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、
を実行させるためのコンピュータプログラム。
【請求項２７】
所定のネットワークにそのそれぞれが接続可能とされた、
そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段にて実行される方法であって、
前記ユーザ端末における、
前記ユーザ端末入力手段は、
ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、
を備えており、
前記管理装置情報処理手段が実行する、
前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付ける過程、
前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、
前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、
を含んでおり、
前記ユーザ端末における、
前記ユーザ端末送受信手段は、
前記管理装置から、前記発行許可情報を受取るようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、
を備えている、
方法。
【請求項２８】
所定のネットワークにそのそれぞれが接続可能とされた、
そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記ユーザ端末における、
前記ユーザ端末入力手段は、
ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、
を備えており、
前記コンピュータに、
前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付ける過程、
前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、
前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、
を実行させるためのものであり、
前記ユーザ端末における、
前記ユーザ端末送受信手段は、
前記管理装置から、前記発行許可情報を受取るようになっており、
前記ユーザ端末情報処理手段は、
前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、
を備えている、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想貨幣、より詳細には暗号貨幣に関する。
【背景技術】
【０００２】
近年、フィンテック関連の様々な提案がなされており、その一部は既に実用化され始めている。
その中に仮想通貨と称されるものがある。例えば、ナカモトサトシなる人物の論文に発してインターネット上に構築されたシステムによって実現された、ビットコイン（商標）も仮想通貨と一般に称されている。他方、ビットコインは、暗号通貨或いは暗号貨幣とも称されることがある。
【０００３】
まず、ビットコインの仕組みについて説明する。ビットコインは、概ね以下のような仕組みで成立している。
ビットコインは、まず、以下のようにして発生させられる。
ビットコインを発生させる権利を有する者は、後述するノードを管理する管理者に限られる。ノードの管理者は、インターネット上で行われるある種のゲームに参加する。ゲームは繰返し行われ、ゲームに勝ったノードの管理者は、ゲームに勝つ都度、所定の量のビットコインを得ることができるようになっている。
このようにして発生させられたビットコインは、一般的な貨幣と同様に、それを得たノードの管理者から、ノードの管理者以外の者を含む第三者に、例えば、「支払い」を行うために譲渡され、結果として点々と流布されることになる。
ところで、ビットコインに限られないが、仮想通貨、或いは仮想貨幣の分野では、二重譲渡をどのようにして防止するのかというのが、大変重要な問題となる。有体物である一般的な貨幣は、譲渡者から譲受者に譲渡されると譲渡者の手の中から消えるため、譲渡者が譲受者に貨幣を譲渡した後に、同じ貨幣を更に別の譲受者に譲渡することは原則的に不可能である。しかしながら、仮想通貨は複製が容易であり、且つ譲渡者が譲受者に仮想通貨を譲渡したとしても譲渡者が所有していたデータとしての仮想通貨を消滅させないことが可能であるから、同じ仮想通貨を、複数人に譲渡することは極めて容易である。同じ仮想通貨が複数人に譲渡されることを防止できなければ、そのような仮想通貨は通貨として何らの信用も得られない。
かかる二重譲渡の問題をビットコインは、すべての取引記録を保存するという方法で、解決することとしている。取引記録は、例えば以下のようなものである。簡単のために、ビットコインの仕組みへの参加者が、Ａ〜Ｄの４人のみであり、且つノードの管理者は、Ａ、Ｂの２人のみであるとする。ノードの管理者たるＡは、上述のゲームに勝利して１０００の、Ｂは、上述のゲームに勝利して５００のビットコインを得たとする。
この状態では、Ａ〜Ｄがそれぞれ持つビットコインは以下のように記述される。
［表１］
Ａ    +1000
Ｂ     +500
Ｃ        0
Ｄ        0
次いで、ＡはＣに１００の、ＢはＤに２００のビットコインを支払ったとする。
この状態では、Ａ〜Ｄがそれぞれ持つビットコインは以下のように記述される。
［表２］
Ａ    +1000  -100(to C)
Ｂ     +500  -200(to D)
Ｃ        0  +100(from A)
Ｄ        0  +200(from B)
次いで、ＡはＢに３００の、ＤはＣに１００のビットコインを支払ったとする。
この状態では、Ａ〜Ｄがそれぞれ持つビットコインは以下のように記述される。
［表３］
Ａ    +1000  -100(to C)   -300(to B)
Ｂ     +500  -200(to D)   +300(from A)
Ｃ        0  +100(from A) +100(from D)
Ｄ        0  +200(from B) -100(to C)
上記、表１から表３に記載の記録のすべてが取引記録である。上述の取引記録によれば、表３の時点において、Ａの持つビットコインは＋１０００−１００−３００＝６００、同様にＢの持つビットコインは６００、Ｃの持つビットコインは、２００、Ｄの持つビットコインは、１００であるということがわかる。
このような仕組みを持つビットコインは、興味深いことに、上述の例でいうＡ〜Ｄ間におけるビットコインの譲渡において、譲渡者から譲受者にビットコインの本体となる何らかのデータを引渡すということを行わない。それにも関わらず、取引記録さえ存在すれば、Ａ〜Ｄが現在持つビットコインの残高を特定することができる、というのがビットコインの仕組みの巧妙なところである。繰り返すが、ビットコインの仕組みにおいては、「コイン」という有体物を想起させるネーミングを使いながらも、コインの実体に相当するデータは存在しない。
なお、ビットコインの仕組みにおけるノードの管理者がゲームに勝利してビットコインを得るという現象は、取引がある程度進んだ後の例えば、表３以降の時点であってでも生じうる。
また、表１〜３では、ビットコインの譲渡に参加する者は、ビットコインの生成にも参加する者を兼ねているが、実際のビットコインの運営では、ビットコインの生成を行わない一般のユーザも、ビットコインの譲渡に参加する。
【０００４】
上述のように、ビットコインの仕組みにおいては、ビットコインの仕組みに参加する各参加者は、自分が所有するビットコインに相当するデータを持たない。つまり、各参加者の財布は空なのであるが、過去のすべての取引記録が閲覧可能に存在しており、且つその時点におけるビットコインの残高は閲覧記録からこのように特定されるのであるから、各参加者が持つビットコインはきっとこうであるはずである、というお互いの理解、或いは共同幻想によってその仕組が成り立っている。
それだけに、その共同幻想を参加者の皆が信じられるようにするためには、取引記録が正当である、或いは取引記録の改竄が不可能である、という保証が必要である。
それをビットコインは、ブロックチェーンと、プルーフ・オブ・ワークいう技術乃至思想によって担保している。ビットコインの取引記録は、それ以前の取引記録に新たな取引記録を連ねていく、という構造となっている。過去の取引記録に新たな取引記録のデータ（ブロック）を連続して連ねていくことにより、取引記録のデータは、ブロックを鎖のように連ねたものとなる。これがブロックチェーンと呼ばれる。ブロックチェーンに付加される新たなブロックが生成される場合、それ以前のブロックを暗号化することによって得られた値（正確には、過去のブロックのデータから作ったハッシュ値）が新たなブロックに付加される。それにより、ブロックチェーンに新たなブロックが付加された時点よりも後においては、過去のブロックに対して改竄を行うとハッシュ値に変化が生じてその改竄が発覚することとなるので、それ以前に作られた過去のブロックに対するデータの改竄を行うことが事実上不可能となる。
また、ブロックチェーンのデータは、インターネット上に多数存在する、ノードと呼ばれるサーバに記録される。各ノードに記録されるブロックチェーンのデータは同じものである。ノードの管理者は上述のように、上述したある種のゲームの参加者である。そして、新たな取引記録のブロックを過去の取引記録に対して付加できる者は、上述のゲームの勝者のみである。つまり、ノードに新たなブロックを追加できる者を１人のみに限定することにより、ブロックのデータの適正なることを確保している。
以上のような仕組みにより、各ノードに記録されたブロックチェーンは、ハッシュ値により改竄ができない、或いは改竄がなされた場合にはハッシュ値が変化するため、改竄がなされたことが発覚するようになっている。また、各ノードに記録されたブロックチェーンのうちの幾つかが、過去のブロックのデータの改竄が発覚しないようにハッシュ値も含めて同じように改竄されたとしても（例えば、多数のノードに記録されたブロックチェーンのうちの幾つかについて、同じ改竄がなされたとしても）、多数のノードに記録されたブロックチェーンのうちの改竄されていないものの方が多数を占めているのであればそちらを真とすることにより、過去のブロックのデータのハッシュ値も含めた改竄も無力となるようにすることができ、実際ビットコインではこのような多数決の理論を採用している。上述のようにノードの管理者は、ゲームに勝つことにより報酬としてビットコインを得ることができる。それをモチベーションとしてノードの管理者達は、自らのコンピュータのコンピューティングパワーを向上させる。悪意のある第三者がノードに記録されたブロックチェーンのうちの過半数を改ざんするには、ノードの管理者達が持つ多数のコンピュータのコンピューティングパワーの合計の少なくとも半分以上のコンピューティングパワーを持つコンピュータを用意することが必要となる。そのようなコンピューティングパワーを持つコンピュータを準備することは事実上不可能であるという前提を、ビットコインの仕組みに参加する者は信用している。かかる信用、或いは信頼関係により、ブロックチェーンの、ひいては取引記録の正当性が保証され、ビットコインにある種の信用が与えられている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ビットコインの仕組みは上述のごときものであるが、仮想通貨と呼ぶならまだしも、ビットコインが暗号貨幣と称されることに、本願発明者は大きな疑問を抱いている。
というのは、ビットコインの仕組みにおいては概ね、暗号技術は、取引記録の正当性を保証するという目的で使用されているのみであるからである。上述のブロックチェーンに新たなブロックを追加するときにそれ以前のブロックのハッシュ値をとる、というのがそれである。また、ビットコインの譲渡の際に、公開鍵方式の暗号化通信を行うこととしており、ここで暗号技術が用いられているが、しかしながら、かかる暗号化は通信を行うための暗号化であり、ビットコインを殊更暗号貨幣と呼ぶ程の意味はない。例えば、平文で記載された金銭的な価値を持つあるデータが存在していたとして、そのデータをある者から他者にインターネット等のネットワークを介して譲渡する際に、公開鍵方式の暗号化通信を用いるとした場合に、その平文のデータを暗号貨幣と呼ぶのが妥当か、といえば大抵の者は妥当でないというであろう。
しかも、そもそもビットコインは、上述したように、価値の譲渡に際して、価値の譲渡人から譲受人に引渡されるデータが存在しない。これは、通貨を機能させるにあたって、価値の譲渡をその譲渡により媒介する有体物たる貨幣（札、硬貨）を用いないと同様である。
つまり、ビットコインは、通貨として機能するかもしれないが、貨幣性は無いし、また、暗号の利用も極めて限定的である。貨幣性がないことによる問題は、過去の取引記録のすべてを記録しておくことが必要であるということであり、これはその大きなデータ量を記録することに壮大な手間、無駄が生じる。実際ビットコインで記録されているブロックチェーンのデータ量は既に膨大であり、それを記録する、しかも多数のノードで同じブロックチェーンのデータを記録することにより、凄まじい無駄が生じている。他方、貨幣の代わりとなるデータをユーザ間で流通させようとすると、そのデータの安全性が問題となる。
【０００６】
そのような観点から、極めて漠然としてではあるが、仮想通貨を成立させるには暗号技術を活用すべきというアイデアは存在しており、暗号技術の適切な利用によって安全な仮想通貨、もっと言えば仮想貨幣を成立させられる可能性がある。ビットコインが暗号通貨などと称されることがあるのは、暗号を用いているから安全であるという「イメージ」をユーザに与えるための方便であろう。
しかし、上述の如くビットコインでは、暗号技術は極めて限定的にしか使われていない。
【０００７】
ところで、ビットコインの仕組みでは、仮想通貨を発生させることができる者は、一部の者に限られている。上述のようにビットコインは、ノードを管理する者のみがビットコインを発生させることができる。もっとも、一般のユーザもノードの管理者になることは制限されていないので、ビットコインを発生させる（ビットコインの仕組みにおいては、ビットコインを発生させる行為を「マイニング」と称する。また、この「マイニング」にちなみ、ビットコインを発生させることができる者は、ビットコインの仕組みにおいては、「マイナー」と称される。）側に周ることは可能である。とはいえ、マイナーになるには膨大な設備投資や高度な知識が必要であるから、仮想通貨を発生させることができる者は事実上、一部の者に制限されている。
ここで、一般のユーザが簡易に仮想貨幣を発生させることができれば極めて便利であろう。また、ビットコインの仕組みが広く受入れられたきっかけの一つは、ビットコインの仕組みの中核をなす上述の如きブロックチェーンには、中央集権的な管理者が存在しないから、ビットコインは極めて民主的である、ということが広く知られたことにある。とすれば、ユーザが自ら仮想貨幣を生成することができる仕組みを構築すれば、その仕組はより広く大衆に受け入れられる可能性が高い。
【０００８】
本願発明は、真の意味で暗号貨幣として成立する、データである仮想貨幣を、一般的なユーザが発生させられるようにするための技術を提供することを、その課題とする。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため、本願発明者は、以下に説明する発明を提案する。
本願発明は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムである。つまり、この仮想貨幣データ発行システムは、ユーザ端末と管理装置とを必須の構成とする。ユーザ端末は、一般的には各ユーザが所有する、少なくともユーザに用いられるものであり、複数或いは多数である。それに対して管理装置は、仮想貨幣データの管理を行う者が用いるものであり、一般には１つである。
そして、仮想貨幣データ発行システムの前記ユーザ端末における、前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、を備えている。
また、仮想貨幣データ発行システムの前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、を備えている。
更に、この仮想貨幣データ発行システムの前記ユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、を備えている。
【００１０】
この仮想貨幣データ発行システムは、上述のように、ユーザ端末と、管理装置とを含んでなる。
ユーザ端末は、ユーザ端末入力手段を備えている。ユーザ端末入力手段は、他のデータの入力を行えてももちろん構わないが、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっている。金額情報で特定される金額は、要するに、後に発行される仮想貨幣データの金銭的な価値を決定する。金額情報で特定される金額の単位は、円、ドル、ユーロ等の法定通貨の単位と一致していても良いし、そうでなくても良い。例えば、金額情報で特定される金額の単位は、この仮想貨幣データ発行システムで発行されるものとは異なる他の仮想貨幣データの単位と一致していてもよい。
ユーザ端末は情報処理を行うユーザ端末情報処理手段を備えている。ユーザ端末情報処理手段は、ユーザ端末入力手段によって受付られた金額情報に、ユーザ端末毎にそれぞれ異なるユーザＩＤを付するともに、ユーザＩＤが付された金額情報を、ユーザ端末送受信手段によって管理装置に送信する、ユーザ端末第１情報処理手段を備えている。ユーザが入力した金額情報は、ネットワークを介して管理装置へと送られるようになっている。
他方、ユーザＩＤが付された金額情報は、仮想貨幣データ発行システムの管理装置における、管理装置送受信手段によって受け取られる。金額情報をユーザ端末から一旦管理装置に送るのは、仮想貨幣データをユーザ端末が発行しても良いか否かの判定を、管理装置が、ユーザ端末が仮想貨幣データを発行するに先立って行うためである。つまり、管理装置或いはその管理者は、ビットコインのシステムにおいて忌み嫌われていた中央集権的な権利者に相当するとも捉えられる者ではある。しかしながら、管理者がいないシステムは、民主的であるといえば聞こえが良いが、言い換えれば責任を取る者がいないシステムであるともいえる。つまり、ユーザ端末において完全に自由に仮想貨幣データが発行できるとするのであれば、仮想貨幣データの金銭的な価値に対する信頼を維持することができない。この仮想貨幣データ発行システムでは、仮想貨幣データの金銭的な価値についての信頼を、管理装置が担うという枠組みを採用している。管理装置は、ユーザ端末から、ユーザＩＤを付された金額情報を受付けると、そのユーザＩＤで特定されるユーザが金額情報で特定される金銭的な価値を持つ仮想貨幣データを発行して良いか、ということについての判定を行う。かかる判定は、その仮想貨幣データを用いた決済が可能か否かということについての判定であり、例えば、クレジットカードで決済を行う場合に行われる判定と同様の、いわゆる与信判定である。かかる判定を行う与信判定部を管理装置情報処理手段が持っている。与信判定部は、ユーザ端末から送られてきたユーザＩＤで特定されるユーザが金額情報で特定される金銭的な価値を持つ仮想貨幣データを発行して良いと判定したら、発行許可情報を生成する。管理装置情報処理手段は、また、与信判定部が発行許可情報を生成した場合に、それを、管理装置送受信手段を介してユーザ端末に送信する第１情報処理手段を備えている。
仮想貨幣データ発行システムにおけるユーザ端末は、ネットワークを介して管理装置から送られてきた発行許可情報を、そのユーザ端末送受信手段にて受取る。発行許可情報を受取ったユーザ端末は、仮想貨幣データを生成する。仮想貨幣データは、仮想貨幣暗号化データを少なくとも含む。仮想貨幣暗号化データは、いわば仮想貨幣データの本体とも言うべきデータであって、元データを暗号化することによって生成されるデータである。元データは、少なくとも金額情報を含んでいる。元データは金額情報を含んでいれば、それに加えて、他の情報を含んでいても構わない。各ユーザ端末において、元データの暗号化を行うのは、ユーザ端末暗号化手段である。各ユーザ端末におけるユーザ端末暗号化手段はそれぞれ、異なる方法で暗号化の処理を行うことができるようになっている。ここで、「異なる方法で」暗号化の処理を行うとは、暗号化の処理を実行するときにおける暗号化を実行するための処理方法が異なる、という意味である。例えば、暗号化の処理は、アルゴリズムと鍵を用いて実行されるのが通常であるから、アルゴリズムと鍵との少なくとも一方が異なる場合であれば、異なる方法で暗号化されたといえる。より具体的な例としては、各ユーザ端末におけるユーザ端末暗号化手段は、同一のアルゴリズムを用いて暗号化の処理を行うようになっている一方で、それぞれが他とは異なる鍵を用いて暗号化の処理を行うようになっている場合を挙げることができる。
ユーザ端末は、また、仮想貨幣暗号化データに対して必要に応じたデータを付加することにより、仮想貨幣データを生成するユーザ端末第２情報処理手段を備えている。とはいえ、ユーザ端末第２情報処理手段は、付加する必要のあるデータが存在しない場合には、仮想貨幣暗号化データをそのまま仮想貨幣データとする。つまり、その場合、ユーザ端末第２情報処理手段は、何らの機能も持たない。ユーザ端末第２情報処理手段によって、仮想貨幣暗号化データに付加される可能性のあるデータとしては、後述する暗号化条件データを挙げることができる。
ユーザ端末で生成された仮想貨幣データは、仮想貨幣データを生成したユーザ端末から、他のユーザ等が所有する他の装置に渡される。他の装置に「渡される」というのは、仮想貨幣データのユーザ端末から他の装置への譲渡が、データの送受信によって実現されても良いが、データの送受信を伴わなくても良い、ということを意味する。例えば、仮想貨幣データは、ユーザ端末のディスプレイに、仮想貨幣データを特定する二次元バーコードとして表示され、それを内蔵のカメラで読取った他の装置に「渡される」場合がある。この場合には、ユーザ端末と他の装置との間で、仮想貨幣データそれ自体の送受信は行われていないが、仮想貨幣データは受け渡されている。仮想貨幣データは、通常、仮想貨幣データを生成したユーザ端末から直接、或いは少なくとも１つの装置を介してその仮想貨幣データを受取った他の装置が使用することになる。
かかる仮想貨幣データ発行システムによれば、法定通貨における貨幣の役割を果たすデータである仮想貨幣データが存在するので、ビットコインの場合のブロックチェーンの如き膨大なデータを記録するための手段が不要である。また、かかる仮想貨幣データは、管理装置の管理下ではあるが、各ユーザ端末において各ユーザが発生或いは発行させることができる。仮想貨幣データの発行者が１人或いは制限された者のみの場合に比べれば、仮想貨幣データの発行の自由度が高く、また民主的であるといえる。加えて、この仮想貨幣データ発行システムでは、ユーザ端末で仮想貨幣データが生成或いは発行される前に、管理装置でいわゆる与信の判定が行われるから、その仮想貨幣データで決済を行う場合において決済が認められないという事態が生じる可能性が低い。これは本願の仮想貨幣データ発行システムで発行された仮想貨幣データの信頼性を高める。
【００１１】
本願発明者は、上述の如き仮想貨幣データ発行システムを構成するユーザ端末をも本願発明の一態様として提案する。その効果は、以上で説明した仮想貨幣データ発行システムによる効果と同じである。
一例となるユーザ端末は、以下のようなものである。
本願発明によるユーザ端末は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末である。
かかるユーザ端末における前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、を備えている。
かかるユーザ端末と組合せて用いられる前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、を備えている。
そして、ユーザ端末における前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、を備えている。
【００１２】
上述のように、ユーザ端末は、元データを暗号化して仮想貨幣暗号化データに変換するユーザ端末暗号化手段を備えている。
ここで、前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっていてもよい。上述したように、ユーザ端末暗号化手段が元データを暗号化する場合における実行される方法は、各ユーザ端末における各ユーザ端末暗号化手段毎に異なるものとされるが、１つのユーザ端末暗号化手段に着目した場合には、暗号化の方法は常に同一のものに固定されていても良い。つまり、各ユーザ端末においては、暗号化の処理が実行される際に使用されるアルゴリズムと鍵が常に同一でも良い。なお、後述するように、各ユーザ端末におけるユーザ端末暗号化手段が、固定された同一の方法で暗号化の処理を行うようになっている場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化して仮想貨幣暗号化データとする場合に実行される暗号化の処理と同じ処理か、或いはその暗号化の処理によって生成された仮想貨幣暗号化データを復号化する処理を行えるようになっている。それにより、管理装置は、各ユーザ端末で発行された仮想貨幣データが真正なものか否かについての判定を行えるようになる。これは、仮想貨幣データによる決済の適切さを担保する。
他方、前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっていてもよい。上述のように、ユーザ端末暗号化手段は、常に同一の方法で暗号化を行っても良い。しかしながら、適当なタイミングで元データを暗号化する方法を変更した方が、暗号化の方法を第三者に看破される可能性を低くすることができるのは当然のことであり、且つそうすることで仮想貨幣データの信頼性を高くすることができる。暗号化の方法を変えるには、例えば、暗号化の処理に用いるアルゴリズムを変える、暗号化の処理に用いる鍵を変える、或いはその双方を変える、のいずれかを行えば良い。ユーザ端末暗号化手段が、元データを暗号化する方法を変更するタイミングは適宜決定することができるが、例えば、元データを暗号化する処理を所定の回数行う毎、或いは日付が変化する毎に元データを暗号化する方法を変更することができる。或いは、前記ユーザ端末暗号化手段は、前記元データを暗号化する度に、前記元データを暗号化する方法を変更させるようになっていてもよい。これによれば、各ユーザ端末で発行される各仮想貨幣データに含まれる仮想貨幣暗号化データのそれぞれが、異なる方法で暗号化されることになるから、仮想貨幣データの信頼性が高くなる。なお、後述するように、各ユーザ端末におけるユーザ端末暗号化手段が所定のタイミングで暗号化の方法を変更するようになっている場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化して仮想貨幣暗号化データとする場合に実行される暗号化の方法を知得できるようになっているか、又はその暗号化の処理と同じ処理か、或いはその暗号化の処理によって生成された仮想貨幣暗号化データを復号化する処理を行えるようになっている。それにより、管理装置は、各ユーザ端末で発行された仮想貨幣データが真正なものか否かについての判定を行えるようになる。これは、仮想貨幣データによる決済の適切さを担保する。
前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっていてもよい。このようなユーザ端末情報処理手段があれば、悪意ある第三者には看破することは極めて困難ではあるけれども規則性のある方法で、ユーザ端末暗号化手段は、暗号化の方法を変更することができるようになる。後述するように、ユーザ端末がユーザ端末解生成手段を有する場合には、管理装置は、各ユーザ端末解生成手段が生成するのと同じ解を生成することのできる管理装置解生成手段を持つことになる。それにより、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化して仮想貨幣暗号化データとする場合に実行される暗号化の方法を知得できるか、又はその暗号化の処理と同じ処理か、或いはその暗号化の処理によって生成された仮想貨幣暗号化データを復号化する処理のいずれかを行えるようになる。
【００１３】
上述のように、本願発明におけるユーザ端末がそれぞれ備えるユーザ端末暗号化手段は、元データを仮想貨幣暗号化データに変換するためにそれが実行する暗号化の方法を変化させる場合がある。
後述するように、管理装置は、決済の処理を行う場合がある。決済の処理は、ユーザ端末で生成され、ユーザ端末から他の装置に渡された仮想貨幣データを、決済を求める当該他の装置から再び送信された管理装置が、その仮想貨幣データによる支払を認める処理である。そして、管理装置が決済を認めるにあたって、管理装置は、ユーザ端末で発行された仮想貨幣データの真正性を確認する。そのために、管理装置は、仮想貨幣暗号化データに含まれる仮想貨幣データを復号化するか、或いはユーザ端末で行われた暗号化の処理と同じ暗号化の処理を、管理装置が有する元データに対して行うことが必要である。その場合、管理装置が受取った仮想貨幣データが、どのユーザ端末で生成されたものか、或いは、管理装置が受取った仮想貨幣データに含まれる仮想貨幣暗号化データが、どのような条件下でユーザ端末暗号化手段によって暗号化されたかを、管理装置が、仮想貨幣データから把握することができたら、それが必須か否かはともかく、少なくとも便利である。
管理装置が受取った仮想貨幣データが、どのユーザ端末で生成されたものかを管理装置が、仮想貨幣データから把握することができるようにするためには、例えば、前記ユーザ端末第２情報処理手段が、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザＩＤを付加して前記仮想貨幣データとするようになっていればよい。
管理装置が受取った仮想貨幣データに含まれる仮想貨幣暗号化データが、どのような条件下でユーザ端末暗号化手段によって暗号化されたかを、管理装置が、仮想貨幣データから把握することができるようにするためには、例えば、前記ユーザ端末第２情報処理手段が、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっていればよい。
【００１４】
本願発明者は、上述の如き仮想貨幣データ発行システムを構成する管理装置をも本願発明の一態様として提案する。その効果は、以上で説明した仮想貨幣データ発行システムによる効果と同じである。
一例となる管理装置は以下のようなものである。
本願発明による管理装置は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する管理装置である。
かかる管理装置と組合せて用いられる前記ユーザ端末における、前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、を備えている。
そして、管理装置における前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、を備えている。
また、前記ユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、を備えている。
【００１５】
本願発明における管理装置は、上述のように、各ユーザ端末が仮想貨幣データを発行するに先立って、各ユーザ端末が仮想貨幣データを発行して良いか否かのいわゆる与信についての判定を行うようになっている。加えて、本願発明における管理装置は、以下のような決済についての判定を行うようになっていても良い。一例となる、決済についての判定を行う管理装置は、以下のようなものである。
かかる管理装置の前記管理装置送受信手段は、前記ネットワークを介して、いずれかの前記ユーザ端末で生成された仮想貨幣データを、その仮想貨幣データを生成した前記ユーザ端末か或いはその仮想貨幣データを生成した前記ユーザ端末から直接或いは間接的にそれを譲り受けた何らかの装置から受付けるようになっているとともに、前記管理装置情報処理手段は、前記ユーザ端末から受付けた前記仮想貨幣データが真正なものである場合に、前記仮想貨幣データの送信元の装置のユーザに対する、前記仮想貨幣データに含まれる仮想貨幣暗号化データに暗号化して含まれる前記金額情報で特定される金額の決済を認める決済手段を備えている。
【００１６】
決済を認めるか否かの判定を行う管理装置は、仮想貨幣データを、仮想貨幣データを生成したユーザ端末を含む何らかの装置から受取る。管理装置の決済手段は、仮想貨幣データに含まれる仮想貨幣暗号化データが真正なものであると認められた場合に（或いはそれにより、仮想貨幣データが真正なものであると認められた場合に）、決済を認める。もちろん重要となるのは、どのような条件が充足された場合に、仮想貨幣データデータが真正なものであると認めるか、という点である。本願発明では、２つのタイプで、かかる判定を行うようにしている。
以下、その２つのタイプについて説明する。
【００１７】
まず、１つ目のタイプの管理装置は、例えば、以下のように構成される。
かかる管理装置の前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化するための管理装置復号化手段を備えており、前記決済手段は、前記管理装置復号化手段で前記仮想貨幣暗号化データを復号化できた場合に、当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであるとして前記決済を認めるようになっている。
１つ目のタイプの管理装置は、管理装置復号化手段を備えており、管理装置復号化手段によって仮想貨幣暗号化データを復号化する。そして、仮想貨幣データを復号化して元データに戻せたことを条件に、仮想貨幣データの真正性の確認が取れたとみなす。この場合、仮想貨幣データの真正性の判定には、仮想貨幣データに含まれる仮想貨幣暗号化データ以外の情報が用いられてもよいが、仮想貨幣暗号化データを復号化できたという事実によって、仮想貨幣データの真正性の証明がなされる。復号化ができるか否かを認証の条件とすることにより、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能となり、ひいてはかかる決済装置と組合せて利用される仮想貨幣データの安全性、信頼性が高くなる。なお、仮想貨幣データに含まれる仮想貨幣暗号化データ以外の情報を、仮想貨幣データの真正性の判定に用いて良いのは、後述する２つ目のタイプの管理装置でも同様である。
【００１８】
上述したように、前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっている場合がある。この場合、前記管理装置復号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記仮想貨幣暗号化データを復号化するようになっている。この場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で１つのみの暗号化の方法をすべて把握しており、且つその管理装置復号化手段は、各ユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを復号化して元データに戻すことができるようになっている。
ところで、もちろんのことであるが、仮想貨幣データは、例えば、ユーザ端末や、上述の他の装置の中に同時に多数が存在する状態となる。したがって、管理装置復号化手段が、管理装置が他の装置から受取った仮想貨幣データを復号化しようとした場合には、原則として、これから復号化しようとする仮想貨幣暗号化データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。
仮に、各ユーザ端末のユーザ端末暗号化手段は、それぞれ異なる方法で暗号化の処理を実行するものの、各ユーザ端末暗号化手段で実行される暗号化の方法が固定された常に同一のものであったとする。この場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で１つのみの暗号化の方法をすべて把握しており、且つその管理装置復号化手段は、各ユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを復号化して元データに戻すことができるようになっている。もっとも、かかる管理装置復号化手段をもってしても、今から復号化を行う仮想貨幣暗号化データがどのユーザ端末で暗号化されたものか判らないのであれば、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法がそれぞれ異なるのであるから、管理装置復号化手段は、その仮想貨幣暗号化データを復号化するためにどのような方法を用いるべきか特定できないから、仮想貨幣暗号化データの復号化を行うのが難しくなる。この課題を解決するのが、ユーザ端末におけるユーザ端末第２情報処理手段で仮想貨幣データに含められることのある上述のユーザＩＤである。仮想貨幣暗号化データと共に仮想貨幣データに含まれているユーザＩＤにより、管理装置は、これから復号化しようとする仮想貨幣暗号化データがどのユーザ端末で暗号化されたのかを把握することができる。それにより、管理装置は、その仮想貨幣暗号化データがどのような方法で暗号化されたかを知ることができるから、仮想貨幣暗号化データの復号化が可能となる。
もっとも、仮想貨幣暗号化データを管理装置がその管理装置復号化手段で復号化する場合において、ユーザＩＤは必須ではない。本願発明における仮想貨幣データ発行システムにおいて設定されている、仮想貨幣データの有効期間が比較的短いと仮定してみる。例えば、仮想貨幣データが発生させられてから数週間以内、或いはもっと短く例えば５分以内しか、仮想貨幣データによる決済が認められないようになっているとする。他方、管理装置は、有効期間を迎えていない仮想貨幣データに含まれている可能性のある仮想貨幣暗号化データが暗号化されたときに、各ユーザ端末のユーザ端末暗号化手段で実行されたすべての暗号化の方法を把握している。その有効期間内にユーザ端末で発行された仮想貨幣データの数にもよるが、管理装置の管理装置復号化手段は、その有効期間内に発生させられた仮想貨幣データに含まれている仮想貨幣暗号化データが暗号化されたときに実行された暗号化の方法のすべてに対応する復号化の方法を、復号化しようとしている１つの仮想貨幣暗号化データに対して総当り的に実行すれば、その仮想貨幣暗号化データに改竄等の不正がない限り、そのうちの１回でそれを復号化することができるはずである。この場合、管理装置からすれば、仮想貨幣データの真正性の確認をすべき、つまり復号化を試みる対象とすべき仮想貨幣暗号化データは、有効期間の分だけ過去に遡った期間中に生成された仮想貨幣暗号化データのみとなるから、その数は有効期間が存在しない場合に比べれば格段に少ない。もちろん当然のことであるが、上述の有効期間が長ければ、管理装置が総当りで行わなければならない復号化の処理の数が増えていくので、有効期間の長さは、その有効期間内に発生させられる仮想貨幣データの数や、復号化の処理を行う管理装置のコンピューティングパワー等を勘案して適切に決定されるべきであろう。更にいえば、本願の仮想貨幣データ発行システムにおいては、仮想貨幣データを各ユーザ端末が発生させるのに先立って、上述した与信の判定を実行するために、管理装置にはユーザ端末から金額情報及びユーザＩＤが送られてくる。したがって、決済を求めて他の装置からある仮想貨幣データが管理装置に送られて来た場合、管理装置は、有効期間が切れていない仮想貨幣データを発行したユーザ端末のそれぞれを、有効期間に対応する過去の所定期間に受取ったユーザＩＤから把握することができる。そのユーザＩＤで特定されるユーザ端末のユーザ端末暗号化手段で実行される暗号化の方法のすべてを、仮想貨幣データに含まれている仮想貨幣暗号化データに対して実行すれば、仮想貨幣暗号化データに改竄等の不正がない限り、それを復号化することができるはずである。
【００１９】
上述したように、前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっている場合がある。この場合、１つ目のタイプの管理装置における前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、当該仮想貨幣暗号化データを暗号化したときの方法に対応した方法で、当該仮想貨幣暗号化データを復号化するようになっている。
各ユーザ端末のユーザ端末暗号化手段が、それぞれ異なる方法で暗号化の処理を実行するとともに、各ユーザ端末暗号化手段で実行される暗号化の方法が所定のタイミングで変更される場合において、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で実行され得る複数或いは多数の暗号化の方法をすべて把握しており、且つその管理装置復号化手段は、各ユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを復号化して元データに戻すことができるようになっている。
管理装置が仮にそのようなものであるとする。しかしながら、上述したように、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法が常に固定された１通りのみであったとしても、管理装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データを管理装置の管理装置復号化手段が復号化しようとする場合には、原則として、これから復号化しようとする仮想貨幣暗号化データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。より具体的には、ユーザ端末暗号化手段で実行される暗号化の方法が１通りのみであったとしても、上述したように、これから復号化しようとする仮想貨幣暗号化データを暗号化したユーザ端末を特定できなければ、管理装置はその仮想貨幣暗号化データを復号化するための方法を特定することができない。また、ユーザ端末暗号化手段が暗号化の方法を所定のタイミングで変えるのであれば、管理装置は、原則として、これから復号化しようとする仮想貨幣暗号化データがどのユーザ端末暗号化手段で暗号化されたかということに加えて、その仮想貨幣暗号化データが、そのユーザ端末のユーザ端末暗号化手段においてどのような方法で暗号化されたかを把握する必要がある。
かかる課題のうち、管理装置がこれから復号化しようとする仮想貨幣暗号化データがどのユーザ端末暗号化手段で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第２情報処理手段で仮想貨幣データに含められることのある上述のユーザＩＤである。また、管理装置がそのユーザ端末のユーザ端末暗号化手段においてどのような方法で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第２情報処理手段で仮想貨幣データに含められることのある上述の暗号化条件データである。管理装置は、ユーザＩＤによって、復号化しようとする仮想貨幣暗号化データを暗号化したユーザ端末を特定することが可能となり、また、暗号化条件データによって、そのユーザ端末のユーザ端末暗号化手段が仮想貨幣暗号化データを暗号化したときに用いられた方法を特定することができる。これにより、管理装置は、仮想貨幣暗号化データが暗号化されたときに用いられた方法を特定することができるので、復号化の方法をも特定することができることになる。つまり、管理装置は、仮想貨幣暗号化データを、その管理装置復号化手段で復号化することができるということになる。
もっとも、ユーザ端末暗号化手段で実行される暗号化の方法が固定された１通りの場合においては、上述したように、仮想貨幣データにユーザＩＤが含まれていなかったとしても、管理装置復号化手段が、仮想貨幣暗号化データに対して総当たり的な復号化の処理を実行することによって、仮想貨幣暗号化データの復号化を行うことが可能であることを説明した。同様に、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法が所定のタイミングで変化するようになっている場合においても、仮想貨幣データにユーザＩＤと暗号化条件データの少なくとも一方が含まれていなかったとしても、管理装置復号化手段が、仮想貨幣暗号化データに対して総当たり的な復号化の処理を実行することによって、仮想貨幣暗号化データの復号化を行うことが可能である。
例えば、仮想貨幣データにユーザＩＤは含まれているが、暗号化条件データが含まれていなかったとする。その場合には、管理装置は、仮想貨幣データに含まれているユーザＩＤによって、その仮想貨幣データに含まれていた仮想貨幣暗号化データがどのユーザ端末で暗号化されたものであるかを把握することができる。その場合、管理装置の管理装置復号化手段は、ユーザＩＤによって特定されるユーザ端末のユーザ端末暗号化手段によって実行され得る複数の暗号化の方法に対応した復号化の方法で、総当り的に、仮想貨幣暗号化データの復号化を試みることによって、仮想貨幣暗号化データの復号化を行うことが可能となる。仮想貨幣データの有効期間が短ければ、管理装置復号化手段が実行すべき総当り的な復号化の処理の数は小さくなる。
例えば、仮想貨幣データに暗号化条件データは含まれているが、ユーザＩＤが含まれていなかったとする。その場合には、ユーザＩＤが無いのであるから、管理装置は、仮想貨幣データに含まれていた仮想貨幣暗号化データがどのユーザ端末で暗号化されたものであるかを把握することができないが、その代わりに仮想貨幣データに含まれている暗号化条件データによって、ユーザ端末暗号化手段で仮想貨幣暗号化データが暗号化されたときに用いられた方法を特定する条件を把握することができる。その場合、管理装置の管理装置復号化手段は、暗号化条件データによって特定される条件下において各ユーザ端末に含まれるユーザ端末暗号化手段によって実行され得る複数の暗号化の方法に対応した復号化の方法で、総当り的に、仮想貨幣暗号化データの復号化を試みることによって、仮想貨幣暗号化データの復号化を行うことが可能となる。この場合においても、仮想貨幣データの有効期間が短ければ、管理装置復号化手段が実行すべき総当り的な復号化の処理の数は小さくなる。また、本願の仮想貨幣データ発行システムにおいては、仮想貨幣データを各ユーザ端末が発生させるのに先立って、上述した与信の判定を実行するために、管理装置にはユーザ端末から金額情報及びユーザＩＤが送られてくる。したがって、決済を求めて他の装置からある仮想貨幣データが管理装置に送られて来た場合、管理装置は、有効期間が切れていない仮想貨幣データを発行したユーザ端末のそれぞれを、有効期間に対応する過去の所定期間に受取ったユーザＩＤから把握することができる。したがって、管理装置が、暗号化条件データで特定される条件によって特定される暗号化の方法に対応した復号化を総当り的に行う場合には、上記ユーザＩＤで特定されるユーザ端末のユーザ端末暗号化手段で実行される暗号化の方法に対応した復号化の方法のみを、仮想貨幣データに含まれている仮想貨幣暗号化データに対して実行すれば良い、ということになる。
例えば、仮想貨幣データに暗号化条件データも、ユーザＩＤもいずれも含まれていなかったとする。その場合には、ユーザＩＤが無いのであるから、管理装置は、仮想貨幣データに含まれていた仮想貨幣暗号化データがどのユーザ端末で暗号化されたものであるかを把握することができないし、暗号化条件データも存在しないのであるから、ユーザ端末暗号化手段で仮想貨幣暗号化データが暗号化されたときに用いられた方法を特定する条件も把握することができない。その場合、管理装置の管理装置復号化手段は、すべてのユーザ端末のユーザ端末暗号化手段において実行され得るすべての暗号化の方法に対応した復号化の方法で、総当り的に、仮想貨幣暗号化データの復号化を試みる。そうすることによって、仮想貨幣暗号化データの復号化を行うことが可能となる。この場合においても、仮想貨幣データの有効期間が短ければ、管理装置復号化手段が実行すべき総当り的な復号化の処理の数は小さくなる。また、管理装置の管理装置復号化手段が総当り的に試みる復号化の方法は、上述したように、その仮想貨幣データが有効期間内となる過去のタイミングに、ユーザＩＤと金額情報とを管理装置に送ってきたユーザ端末のユーザ端末暗号化手段において実行され得るすべての暗号化の方法に対応した復号化の方法のみとすることができる。
【００２０】
前記ユーザ端末情報処理手段は、上述したように、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えている場合がある。この場合、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっている。
ユーザ端末がこのようなものである場合には、管理装置における前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができる管理装置解生成手段を備えている。そして、かかる管理装置における前記管理装置復号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記仮想貨幣暗号化データの復号化の方法を決定するようになっている。
これは、ユーザ端末のユーザ端末暗号化手段で暗号化の方法を所定のタイミングで変化させる場合の一態様と捉えることができる。各ユーザ端末のユーザ端末暗号化手段は暗号化の方法を変化させていくが、ユーザ端末暗号化手段は、同じ条件下で生成されたものが常に同じものとなる、ユーザ端末解生成手段で生成された解を用いて暗号化の方法を変化させる。例えば、ユーザ端末暗号化手段は、暗号化の処理を実行するためのアルゴリズムとして常に同一のアルゴリズムを用いるものとなっているとともに、暗号化の処理を実行するための鍵として上述の解をそのまま、或いは上述の解に対して所定の演算を行ったものを用いることができる。鍵としての解を変化させることにより、ユーザ端末暗号化手段は、暗号化の方法を変化させることが可能となる。もっとも、解は、ユーザ端末暗号化手段が暗号化の処理を実行するために用いるアルゴリズムを変化させるために用いられてもよい。
ユーザ端末が解に基いて暗号化の方法を変化させるようになっている場合には、管理装置は、各ユーザ端末において生成されるのと同じ解を生成できるようになっていれば、各ユーザ端末のユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを、管理装置は復号化することができる。管理装置で、各ユーザ端末において生成されるのと同じ解を生成するためのものが管理装置解生成手段である。
例えば、ユーザ端末解生成手段と、管理装置解生成手段は、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。これにより、離れた場所にある２つの独立した装置におけるユーザ端末解生成手段と、管理装置解生成手段は、同期した解を生成できることになる。これは、インターネットバンキング等の分野で広く実用化されているトークン等で既に実用化されている時間同期と称される同期の方法に程近いものである。
他方、ユーザ端末解生成手段と、管理装置解生成手段で解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。これは、上述の如きトークン等で既に実用化されているイベント同期と称される同期の方法に程近いものである。イベント同期が採用される場合、ユーザ端末解生成手段と、管理装置解生成手段で生成される解は、同じ順番で生成されたもの同士を比較すると同じになるようになっている。例えば、ユーザ端末解生成手段と、管理装置解生成手段は、解をＸとして、Ｘｎ＋１＝ｆ（Ｘｎ）という関数により、次の解を生成するというアルゴリズムにより解を生成するようなものとなっていてもよい。この場合、ユーザ端末解生成手段と、管理装置解生成手段は、直前に作った解を保持しておき、その前に生成した解をすべて削除するようになっていてもよい。つまり、次の解を生成するために必要な解のみをユーザ端末解生成手段と、管理装置解生成手段が保持するようにすることが可能である。この場合、ユーザ端末解生成手段と、管理装置解生成手段は、例えば、４番目の解を生成するのであれば、保持していた３番目の解であるＸ３をＸｎ＋１＝ｆ（Ｘｎ）の式にＸ４＝ｆ（Ｘ３）のように代入することにより、４番目の解を生成する。なお、過去の複数の解を用いて、例えば、Ｘｎ＋１＝ｆ（Ｘｎ）＋ｆ（Ｘｎ−１）の如き数式を用いるのであれば、ユーザ端末解生成手段と、管理装置解生成手段が保持すべき解は、その直前に使われた２つの解となる。このように新しい解を生成するためにユーザ端末解生成手段と、管理装置解生成手段で使用される解は、必ずしも１つとは限らない。そして、この場合における初期解は、２つとなる。このように初期解は必ずしも１つとは限らず、複数である場合がある。
ユーザ端末はそれぞれ初期解を、少なくともユーザ端末が使用される最初の時点では有しており、且つ管理装置は少なくとも管理装置が使用される最初の時点ではすべてのユーザ端末が保持している初期解を有している。それにより、管理装置は、複数或いは多数のユーザ端末で生成されたのと同じ解を生成できることになり、それにより複数或いは多数のユーザ端末で生成された仮想貨幣暗号化データのすべてを、その管理装置復号化手段で復号化できるようになる。
なお、この解自体、或いはこの解を特定するための情報が、上述した暗号化条件データの一例となる。
【００２１】
２つ目のタイプの管理装置は、例えば、以下のように構成される。
かかる管理装置の前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記金額情報を含む、前記ユーザ端末において暗号化されたものと同じ元データを暗号化して確認用暗号化データを生成する管理装置暗号化手段と、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データと、前記管理装置暗号化手段で生成された前記確認用暗号化データとを比較し、両者が一致した場合に当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであると判定する判定手段と、を備えており、前記決済手段は、前記判定手段が、前記仮想貨幣データが真正なものであると判定した場合に、前記決済を認めるようになっている。
２つ目のタイプの管理装置は、管理装置暗号化手段を備えている。管理装置暗号化手段は、ユーザ端末において暗号化されたものと同じ元データを暗号化して確認用暗号化データを生成するようになっている。２つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データを受取った場合、判定手段によって、それに含まれる仮想貨幣暗号化データと、管理装置暗号化手段で生成された確認用暗号化データとを比較し、両者が一致した場合に当該仮想貨幣暗号化データが含まれていた仮想貨幣データが真正なものであると判定する。この管理装置では、前記判定手段が、前記仮想貨幣データが真正なものであると判定した場合に、決済を認めるようになっている。
１つ目のタイプの管理装置では、上述したように、仮想貨幣暗号化データを復号化できたという事実によって、仮想貨幣データの真正性の証明がなされるようになっていた。これに対して２つ目のタイプの管理装置は、上述の他の装置から送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データと同じ仮想貨幣暗号化データを管理装置が持つ元データから生成することができたという事実によって、仮想貨幣データの真正性の証明を行う。なお、管理装置が持つ元データは、それを構成するすべてのデータがユーザ端末から送られて来るようになっていても構わない。或いは、元データのうちの金額情報は上述のようにユーザ端末から管理装置へ送られてくるが、元データのうちの金額情報以外のデータは管理装置内で生成されるか、管理装置がユーザ端末以外から入手するようになっていても良い。
ユーザ端末で生成される仮想貨幣暗号化データと同じ仮想貨幣暗号化データ（確認用暗号化データ）を管理装置でも生成できるか否かを認証の条件とすることにより、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能となり、ひいてはかかる決済装置と組合せて利用される仮想貨幣データの安全性、信頼性が高くなる。
【００２２】
上述したように、２つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、確認用暗号化データ（複数の場合もある）とを比較することによって、仮想貨幣暗号化データと確認用暗号化データ（の少なくとも１つ）が一致するか否かによって、仮想貨幣データの真正性を判定することとしていた。
仮想貨幣データの真正性の確認のために用いられる確認用暗号化データは、管理装置の判定手段で上述の仮想貨幣暗号化データの真正性の判定が行われるより前に生成されれば良いが、その生成時期の代表的なものは２つ存在する。
２つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データを受取った後に、確認用暗号化データを生成する場合がある。かかる管理装置における前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記金額情報を含む前記ユーザ端末において暗号化されたものと同じ元データを記録する第１記録手段を備えているとともに、前記管理装置暗号化手段は、前記管理装置送受信手段で前記仮想貨幣データを受取った場合に、当該仮想貨幣データに含まれる前記仮想貨幣暗号化データの元となったものと同じ元データを前記第１記録手段から読み出してそれを暗号化するようになっている。つまり、この管理装置は、上述した与信の判定のために送られてきた金額情報を用いて生成した元データを、例えば、与信の判定を行うと同時或いはその直後に（つまり、仮想貨幣データを他の装置から受取る時期とは無関係に）第１記録手段に記録しておくとともに、仮想貨幣データの真正性の判定を行うことが必要となったときに、元データを暗号化して確認用暗号化データとするようになっており、その判定手段は、生成された確認用暗号化データと決済を求めて送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データとを比較するのである。
また、２つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データを受取る前に、つまり、仮想貨幣データを他の装置から受取る時期とは無関係に、予め確認用暗号化データを生成しておく場合がある。かかる管理装置における前記管理装置情報処理手段は、前記確認用暗号化データを記録する第２記録手段を備えているとともに、前記判定手段は、前記管理装置送受信手段が前記仮想貨幣データを受取った場合に、前記第２記録手段に記録されている確認用暗号化データと、前記管理装置送受信手段が受取った前記仮想貨幣データに含まれている仮想貨幣暗号化データとを比較し、前記仮想貨幣暗号化データと同じ前記確認用暗号化データが前記第２記録手段に記録されていた場合には、当該仮想貨幣暗号化データに含まれていた前記仮想貨幣データが真正なものであると判定する。つまり、この管理装置は、上述した与信の判定のために送られてきた金額情報を用いて生成した元データを、例えば、与信の判定を行うと同時或いはその直後に暗号化して確認用暗号化データとするとともに、生成したその確認用暗号化データを第２記録手段に記録し、そして、仮想貨幣データの真正性の判定を行うことが必要となったときに、判定手段が第２記録手段から確認用暗号化データと、決済を求めて送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データとを比較するのである。
【００２３】
上述したように、前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっている場合がある。その場合、前記管理装置暗号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記元データを暗号化するようになっている。この場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で１つのみの暗号化の方法をすべて把握しており、且つその管理装置暗号化手段は、各ユーザ端末暗号化手段で暗号化された元データと同じ元データを暗号化して、各ユーザ端末で生成されるのと同じ仮想貨幣暗号化データを生成できるようになっている。
ところで、仮想貨幣データ発行システムにおいて２つ目のタイプの管理装置が使用される場合においても、仮想貨幣データ発行システムにおいて１つ目のタイプの管理装置が用いられる場合と同様に、仮想貨幣データは、例えば、ユーザ端末や、上述の他の装置の中に同時に多数が存在する状態となる。したがって、管理装置が、決済を求めて管理装置に送られて来た仮想貨幣データの真正性を確認するために、その管理装置暗号化手段で管理装置が持つ元データを暗号化しようとする場合には、原則としてこれから暗号化しようとする元データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。これは、第１のタイプの管理装置において生じる、「管理装置復号化手段が、管理装置が他の装置から受取った仮想貨幣データを復号化しようとした場合には、原則として、これから復号化しようとする仮想貨幣暗号化データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。」という課題と、事実上共通する課題である。
仮に、各ユーザ端末のユーザ端末暗号化手段が、そこで実行される暗号化の方法が固定された常に同一のものではあるものの、各ユーザ端末暗号化手段はそれぞれ異なる方法で暗号化の処理を実行するものであったとする。この場合における管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で１つのみの暗号化の方法をすべて把握しており、且つその管理装置暗号化手段は、各ユーザ端末暗号化手段で実行されるのと同じ方法で暗号化の処理を実行することにより、ユーザ端末で暗号化されるのと同じ元データに基いて、ユーザ端末で生成される仮想貨幣暗号化データと同じ確認用暗号化データを生成することができるようになっている。もっとも、かかる管理装置暗号化手段をもってしても、今から暗号化を行う元データがどのユーザ端末で暗号化されたものか判らないのであれば、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法がそれぞれ異なるのであるから、管理装置暗号化手段は、その元データを暗号化するためにどのような方法を用いるべきか特定できないから、元データを正しく暗号化するのが難しくなる。ここで、「元データを正しく暗号化する」というのは、ユーザ端末で暗号化されたのと同じ元データを、ユーザ端末で行われたのと同一の方法で暗号化することにより、ユーザ端末で生成された仮想貨幣暗号化データと、管理装置で生成される確認用暗号化データとが同じものとなるようにする、ということを意味する。ユーザ端末からユーザＩＤ及び金額情報を受け取って例えばすぐに確認用暗号化データを生成して第２記録手段に記録してしまう場合ではその限りではないが、特に、多数の元データを記録する第１記録手段を有する決済装置では、どの元データを管理装置暗号化手段で暗号化する対象として選択するのか、という点も課題となりうる。この課題を解決するのが、ユーザ端末におけるユーザ端末第２情報処理手段で仮想貨幣データに含められることのある上述のユーザＩＤである。仮想貨幣暗号化データと共に仮想貨幣データに含まれているユーザＩＤにより、管理装置は、どの元データを暗号化すれば良いかということと、これから暗号化しようとする元データがどのような方法で暗号化されたかということとの、少なくとも後者を知ることができるから、仮想貨幣暗号化データを正しく暗号化することについて有利になる。
もっとも、元データを管理装置がその管理装置暗号化手段で暗号化する場合において、ユーザＩＤは必須ではない。これも１つ目のタイプの管理装置の場合と同様である。例えば、仮想貨幣データ発行システムにおいて設定されている、仮想貨幣データの有効期間が比較的短ければ、２つ目のタイプの管理装置も、１つ目のタイプの管理装置の場合と同様に、総当たり的なアプローチで元データを暗号化することにより、元データを正しく、言い換えれば、ユーザ端末で生成されるのと同じ仮想貨幣暗号化データを結果として得られるように、暗号化することが可能となる。つまり、管理装置の管理装置暗号化手段は、有効期間を迎えていない仮想貨幣データに含まれている可能性のある仮想貨幣データに含まれる可能性のある仮想貨幣暗号化データの元となった元データが暗号化されたときに実行された可能性のある暗号化の方法をすべて、暗号化しようとしている例えば１つの元データに対して総当り的に実行すれば、そのうちの１回は、元データを正しく暗号化することができるはずである。また、本願の仮想貨幣データ発行システムにおいては、仮想貨幣データを各ユーザ端末が発生させるのに先立って、上述した与信の判定を実行するために、管理装置はユーザ端末から金額情報及びユーザＩＤを受取る。したがって、決済を求めて他の装置からある仮想貨幣データが管理装置に送られて来た場合、管理装置は、有効期間が切れていない仮想貨幣データを発行した可能性のあるユーザ端末を、過去の所定期間にネットワークを介して受取ったユーザＩＤから把握することができる。以上を考慮すれば、管理装置の判定手段は、その有効期間に対応した時期に生成された可能性のある仮想貨幣暗号化データに対応する確認用暗号化データのみを、決済を求めて送られて来た仮想貨幣データに含まれる仮想貨幣暗号化データとの比較の対象とすれば十分である。
【００２４】
上述したように、前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっている場合がある。この場合、２つ目のタイプの管理装置における前記管理装置暗号化手段は、前記元データを暗号化する場合に、当該元データと同じ元データが前記ユーザ端末暗号化手段で暗号化されたときの方法と同じ方法で、当該元データを暗号化するようになっている。
各ユーザ端末のユーザ端末暗号化手段が、それぞれ異なる方法で暗号化の処理を実行するとともに、各ユーザ端末暗号化手段で実行される暗号化の方法が所定のタイミングで変更される場合において、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で実行され得る複数或いは多数の暗号化の方法をすべて把握しており、且つその管理装置暗号化手段は、各ユーザ端末暗号化手段で元データを仮想貨幣暗号化データにするときに実行される暗号化の処理を実行できるようになっており、それによりユーザ端末で元データを暗号化することにより生成される仮想貨幣暗号化データと同じ確認用暗号化データを、ユーザ端末で暗号化されたものと同じ元データから生成することができるようになっている。
管理装置が仮にそのようなものであるとする。しかしながら、２つ目のパターンの管理装置でも、１つ目のパターンの管理装置の場合と同様の問題が生じる。つまり、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法が常に固定された１通りのみであったとしても、管理装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと同じ確認用暗号化データを、その仮想貨幣暗号化データの元となった元データから生成するには、原則としてその元データを暗号化したユーザ端末がどのユーザ端末であるかを特定することが必要であったが、それに加えてユーザ端末暗号化手段での暗号化の方法が所定のタイミングで変更されるのであれば、管理装置は更に、その元データがユーザ端末暗号化手段で暗号化されたときの暗号化の方法を把握することが必要となる。更には、上述したように、どの元データを暗号化すべき対象として選択することが必要な場合もありうる。
かかる課題のうち、管理装置が暗号化しようとする仮想貨幣暗号化データがどのユーザ端末暗号化手段で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第２情報処理手段で仮想貨幣データに含められることのある上述のユーザＩＤである。また、管理装置がそのユーザ端末のユーザ端末暗号化手段においてどのような方法で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第２情報処理手段で仮想貨幣データに含められることのある上述の暗号化条件データである。これら、ユーザＩＤと、暗号化条件データとの使用方法、及び効果は、１つ目のパターンの管理装置と、２つ目のパターンの管理装置とで変わりない。仮想貨幣暗号化データの復号化のためにそれらを用いるか、元データの暗号化のためにそれらを用いるかの違いがあるだけである。例えば、前記ユーザ端末第２情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっていてもよく、この場合における前記管理装置暗号化手段は、前記元データを暗号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記暗号化条件データにより、当該元データの暗号化の方法を決定するようになっていてもよい。
もっとも、１つ目のパターンの管理装置では、総当り的なアプローチを採用することによって、ユーザＩＤと暗号化条件データの少なくとも一方を用いずとも、仮想貨幣暗号化データを復号化することが可能であった。同様に、２つ目のパターンの管理装置でも、ユーザＩＤと暗号化条件データの少なくとも一方を用いずとも、元データを正しく暗号化することが可能である。
【００２５】
前記ユーザ端末情報処理手段は、上述したように、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えている場合がある。この場合、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっている。
ユーザ端末がこのようなものである場合には、管理装置における前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができる管理装置解生成手段を備えており、前記管理装置暗号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記元データの暗号化の方法を決定するようになっている。
これは、ユーザ端末のユーザ端末暗号化手段で暗号化の方法を所定のタイミングで変化させる場合の一態様と捉えることができる。各ユーザ端末のユーザ端末暗号化手段は暗号化の方法を変化させていくが、ユーザ端末暗号化手段は、同じ条件下で生成されたものが常に同じものとなる、ユーザ端末解生成手段で生成された解を用いて暗号化の方法を変化させる。ユーザ端末が解に基いて暗号化の方法を変化させるようになっている場合には、管理装置は、各ユーザ端末において生成されるのと同じ解を生成できるようになっていれば、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化することによって得られた仮想貨幣暗号化データと同じ確認用暗号化データを、ユーザ端末で暗号化された元データと同じ元データから生成することができる。２つ目のパターンの管理装置における管理装置解生成手段における解の生成の方法は、１つ目のパターンで述べたものと同じで良い。また、解の使用方法は、それが仮想貨幣暗号化データの復号化のために用いられるか、元データの暗号化のために用いられるかを除けば、１つ目のパターンの管理装置と２つ目のパターンの管理装置との間で相違はない。
【００２６】
本願発明者は、上述の如き仮想貨幣データ発行システムを構成するユーザ端末で実行される方法をも本願発明の一態様として提案する。その効果は、以上で説明したユーザ端末の効果と同じである。
一例となるユーザ端末で実行される方法は、以下のようなものである。
その方法は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段にて実行される方法である。
この方法は、前記ユーザ端末情報処理手段によって実行される、前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、を含んでいる。
この方法を実行するユーザ端末と組み合される前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、を備えている。
また、この方法は、更に前記ユーザ端末情報処理手段が実行する、前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、を含んでいる。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成するユーザ端末のユーザ端末情報処理手段として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに、前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、を実行させる。
また、かかるコンピュータプログラムによって実現されるユーザ端末情報処理手段を有するユーザ端末と組み合わせて用いられる前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第１情報処理手段と、を備えている。
また、かかるコンピュータプログラムは、更に前記コンピュータに、前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、を実行させる。
【００２７】
本願発明者は、上述の如き仮想貨幣データ発行システムを構成する管理装置で実行される方法をも本願発明の一態様として提案する。その効果は、以上で説明した管理装置の効果と同じである。
一例となる管理装置で実行される方法は、以下のようなものである。
その方法は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段にて実行される方法である。
この方法を実行する管理装置と組み合されるユーザ端末における、前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、を備えている。
そして、この方法は、前記管理装置情報処理手段が実行する、前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付ける過程、前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、を含んでいる。
この方法を実行する管理装置と組み合されるユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、を備えている。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成する管理装置の管理装置情報処理手段として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムである。
かかるコンピュータプログラムによって実現される管理装置情報処理手段を有する管理装置と組み合わせて用いられる前記ユーザ端末における前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザＩＤを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第１情報処理手段、を備えている。
そしてこのコンピュータプログラムは、前記コンピュータに、前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザＩＤを付された前記金額情報を受付ける過程、前記管理装置送受信手段で受付けた前記ユーザＩＤで特定されるユーザが、当該ユーザＩＤが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、を実行させる。
また、かかるコンピュータプログラムによって実現される管理装置情報処理手段を有する管理装置と組み合わせて用いられる前記ユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第２情報処理手段と、を備えている。
【図面の簡単な説明】
【００２８】
【図１】第１実施形態による決済システムの全体構成を示す図。
【図２】図１に示した決済システムに含まれるユーザ端末の外観を示す図。
【図３】図１に示した決済システムに含まれるユーザ端末のハードウェア構成を示す図。
【図４】図１に示した決済システムに含まれるユーザ端末の内部に生成される機能ブロックを示すブロック図。
【図５】図１に示した決済システムに含まれる決済装置のハードウェア構成を示す図。
【図６】図１に示した決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図７】図１に示した決済システムに含まれる決済端末のハードウェア構成を示す図。
【図８】図１に示した決済システムに含まれる決済端末の内部に生成される機能ブロックを示すブロック図。
【図９】図１に示した決済システムで決済が行われるときに実行される処理の流れを示す図。
【図１０】図１に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の一例を示す図。
【図１１】図１に示した決済システムに含まれる決済装置内の信用情報記録部に記録されているデータの一部の内容を観念的に示す図。
【図１２】図１に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の他の例を示す図。
【図１３】変形例１の決済システムに含まれる決済装置の内部に生成される機能ブロックの一例を示すブロック図。
【図１４】変形例２の決済システムに含まれるユーザ端末の内部に生成される機能ブロックを示すブロック図。
【図１５】変形例２の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図１６】変形例２の決済システムに含まれる決済装置の内部に生成される機能ブロックの他の例を示すブロック図。
【図１７】変形例２の決済システムに含まれる決済装置の内部に生成される機能ブロックの他の例を示すブロック図。
【図１８】第２実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図１９】第２実施形態の決済システムで決済が行われるときに実行される処理の流れを示す図。
【図２０】変形例３の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図２１】第３実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【図２２】第３実施形態の決済システムで決済が行われるときに実行される処理の流れを示す図。
【図２３】変形例４の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
【発明を実施するための形態】
【００２９】
以下、本発明の第１〜第３実施形態について説明する。各実施形態、変形例の説明で同じ対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。
また、特に矛盾がない限り、各実施形態と各変形例は互いに組合せることが可能である。
【００３０】
≪第１実施形態≫
図１に、第１実施形態による決済システムの全体構成を概略で示す。
決済システムは、複数のユーザ端末１００−１〜１００−Ｎ（以後、単に、「ユーザ端末１００」と記載する場合もある。）、決済装置２００、及び複数の決済端末３００−１〜３００−ｎ（以後、単に、「決済端末３００」と記載する場合もある。）を含んで構成されている。これらはすべて、ネットワーク４００に接続可能とされている。
ネットワーク４００は、これには限られないが、この実施形態ではインターネットである。
ユーザ端末１００は、本願発明のユーザ端末の一例であり、決済端末３００は、他の装置の一例であり、決済装置２００は本願発明の管理装置の一例にそれぞれ相当する。
これには限られないが、この実施形態では、後述する仮想貨幣データを用いての金銭の支払いは、ユーザ端末１００の管理者（一般的には所有者）から、決済端末３００の管理者（決済端末３００を管理又は所有する者等）に対して行われることを原則とし、場合によっては一のユーザ端末１００の管理者から他のユーザ端末１００の管理者に対して行われる。
【００３１】
通常、ユーザ端末１００は各ユーザの所有物である。ユーザ端末１００は、コンピュータを含んでいる。ユーザ端末１００は、汎用の携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。可搬であり、且つ後述するプログラムをインストールするのに向いているという点を考慮すれば、これらのうち、特に、スマートフォンかタブレットが、ユーザ端末１００として用いるのに好ましい。スマートフォンは例えば、Ａｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰｈｏｎｅである。タブレットの例はＡｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰａｄである。以下、これには限られないが、ユーザ端末１００がスマートフォンであることとして話を進める。
ユーザ端末１００は少なくともデータの送受信をすることが可能であることが必要である。この実施形態におけるユーザ端末１００はスマートフォンであるから、当然にデータの送信と受信の双方が可能である。
【００３２】
次に、ユーザ端末１００の構成を説明する。各ユーザ端末１００−１〜１００−Ｎの構成は、本願発明との関連でいえば同じである。
【００３３】
ユーザ端末１００の外観の一例を図２に示す。
ユーザ端末１００は、ディスプレイ１０１を備えている。ディスプレイ１０１は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ１０１は例えば、液晶ディスプレイである。ユーザ端末１００は、また入力装置１０２を備えている。入力装置１０２は、ユーザが所望の入力をユーザ端末１００に対して行うためのものである。入力装置１０２は、公知或いは周知のものを用いることができる。この実施形態におけるユーザ端末１００の入力装置１０２はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。また、ディスプレイ１０１がタッチパネルである場合、ディスプレイ１０１は入力装置１０２の機能を兼ねることになり、この実施形態ではそうされている。
入力装置１０２から入力されるデータは、いずれもその詳細を追って説明するが、例えば、処理の開始に関する開始情報、仮想貨幣データの金銭的な価値を特定するための情報である金額情報、仮想貨幣データの使用についての支払い情報、仮想貨幣データの譲渡についての譲渡情報、及びユーザＩＤ等である。
【００３４】
ユーザ端末１００のハードウェア構成を、図３に示す。
ハードウェアには、ＣＰＵ（central processing unit）１１１、ＲＯＭ（read only memory）１１２、ＲＡＭ（random access memory）１１３、インターフェイス１１４が含まれており、これらはバス１１６によって相互に接続されている。
ＣＰＵ１１１は、演算を行う演算装置である。ＣＰＵ１１１は、例えば、ＲＯＭ１１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明のユーザ端末としてこのユーザ端末１００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、ユーザ端末１００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのユーザ端末１００へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ１１２は、ＣＰＵ１１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ１１２に記録されたコンピュータプログラムは、これに限られず、ユーザ端末１００がスマートフォンであれば、ユーザ端末をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。ユーザ端末１００は、また、ネットワーク４００を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のｗｅｂブラウザを実装している。
ＲＡＭ１１３は、ＣＰＵ１１１が処理を行うために必要なワーク領域を提供する。ＲＡＭ１１３には後述する仮想貨幣データが記録される場合がある。また、上述のコンピュータプログラムは、ＲＡＭ１１３に記録されている場合もある。
インターフェイス１１４は、バス１１６で接続されたＣＰＵ１１１やＲＡＭ１１３等と外部との間でデータのやり取りを行うものである。インターフェイス１１４には、上述のディスプレイ１０１と、入力装置１０２とが接続されている。入力装置１０２から入力された操作内容に関するデータは、インターフェイス１１４からバス１１６に入力されるようになっている。また、後述する画像データは、インターフェイス１１４から、ディスプレイ１０１に出力されるようになっている。インターフェイス１１４は、また、図示を省略する送受信部に接続されている。  
送受信部は、インターネットであるネットワーク４００を介してのデータの送受信を行うものである。かかる通信は、有線で行われる場合もあるが、ユーザ端末１００がスマートフォンである場合には、かかる通信は通常無線で行われる。それが可能な限り、送受信部の構成は、公知或いは周知のものとすることができる。送受信部がネットワーク４００から受取ったデータ（例えば、後述する許可情報）は、インターフェイス１１４により受取られるようになっており、インターフェイス１１４から送受信部に渡されたデータ（例えば金額情報）は、送受信部によって、ネットワーク４００を介して外部、例えば、決済装置２００に送られるようになっている。
【００３５】
ＣＰＵ１１１がコンピュータプログラムを実行することにより、ユーザ端末１００内部には、図４で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、ユーザ端末１００を本願発明のユーザ端末として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、ユーザ端末１００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
ユーザ端末１００内には、本願発明の機能との関係で、以下のような制御部１２０が生成され、制御部１２０内に、主制御部１２１、表示制御部１２２、データ入出力部１２３、ユーザ端末記録部１２４、暗号化部１２５が生成される。
【００３６】
制御部１２０は、以下に説明するような情報処理を実行する。
主制御部１２１は、制御部１２０内の全体的な制御を行う。例えば、主制御部１２１は、追って詳述するデータ入出力部１２３から受取ったデータに基づいて表示制御部１２２の制御を行う。
主制御部１２１は、データ入出力部１２３から、入力装置１０２から入力された開始情報、金額情報、支払い情報、譲渡情報、及びユーザＩＤを受取る場合があり、それらを受取ったとき、後述するような処理をそれぞれ行うようになっている。例えば、開始情報を受取った場合、主制御部１２１は、金額情報等の仮想貨幣データを生成するために必要なデータの入力をユーザに促すための表示をディスプレイ１０１にさせるための処理を実行すべく表示制御部１２２に指示を送るようになっている。金額情報を受取った場合、主制御部１２１は、それをそのまま、或いはそれに必要に応じて金額情報以外のデータを付加して後述するような元データを生成するようになっている。主制御部１２１は生成した元データを暗号化部１２５に送るようになっている。また、主制御部１２１は金額情報及びユーザＩＤをデータ入出力部１２３に送るようになっている。金額情報及びユーザＩＤは、入出力部１２３から、送受信部、ネットワーク４００を介して決済装置２００へと送られるようになっている。決済装置２００に送られる金額情報及びユーザＩＤには、更に主制御部１２１が生成した元データを特定するために必要となるデータが付加されていても良い。かかるデータの用途については後述する。
主制御部１２１は、追って説明するデータ入出力部１２３から、これも追って説明する許可情報を受取る場合がある。それを受取った場合、主制御部１２１は、元データを暗号化せよとの指示を暗号化部１２５に送るようになっている。かかる指示は上述する元データとともに暗号化部１２５に送られるようになっていてもよく、これには限られないがこの実施形態ではそうされている。
主制御部１２１は、後述するように、暗号化部１２５から仮想貨幣暗号化データを受取る場合がある。これを受取った主制御部１２１は、それをそのまま仮想貨幣データとするか、或いはそれに必要に応じて仮想貨幣暗号化データ以外のデータを付加して仮想貨幣データを生成するようになっている。生成された仮想貨幣データは、ユーザ端末記録部１２４に送られるか、或いは仮想貨幣データに基づく後述する表示をディスプレイ１０１に行わせるための指示を表示制御部１２２に送るようになっている。主制御部１２１は後述するようにユーザ端末記録部１２４から仮想貨幣データを読み出す場合がある。それを読み出した主制御部１２１は仮想貨幣データに基づく表示をディスプレイ１０１に行わせるべく表示制御部１２２に指示を送るようになっており、また場合によってはそれをデータ入出力部１２３に送るようになっている。
表示制御部１２２は、主制御部１２１の制御を受けつつ、ディスプレイ１０１に表示される画像の制御を行う。ディスプレイ１０１には、表示制御部１２２から送られたデータに基づく画像が表示される。主制御部１２１は、表示制御部１２２に対して、ディスプレイ１０１にどのような画像を表示させるべきかという指示を送る。
【００３７】
データ入出力部１２３は、制御部１２０へのデータの入出力を行うものである。具体的には、データ入出力部１２３は、入力装置１０２からの入力を受取るようになっている。入力装置１０２からデータ入出力部１２３へ入力されるのは、例えば、開始情報、金額情報、支払い情報、譲渡情報、及びユーザＩＤである。これらはデータ入出力部１２３から主制御部１２１に送られるようになっている。
また、データ入出力部１２３は、送受信部から、決済装置２００等からネットワーク４００を介して送られて来た許可情報を受取るようになっている。データ入出力部１２３は、受取った許可情報を、主制御部１２１に送るようになっている。
また、データ入出力部１２３は主制御部１２１から、金額情報及びユーザＩＤを受取る場合がある。これを受取ったデータ入出力部１２３は、金額情報及びユーザＩＤを送受信部に送るようになっており、金額情報及びユーザＩＤは送受信部からネットワーク４００を介して決済端末３００へと送られるようになっている。データ入出力部１２３は主制御部１２１から、仮想貨幣データを受取る場合がある。これを受取ったデータ入出力部１２３は、仮想貨幣データを送受信部に送るようになっており、仮想貨幣データは送受信部から例えば他のユーザ端末１００や、決済端末３００へと送られるようになっている。仮想貨幣データの送信先は、後述するように、入力装置１０２からの入力にしたがって、主制御部１２１によって指定される。
【００３８】
ユーザ端末記録部１２４は、上述したように、主制御部１２１が生成した仮想貨幣データを主制御部１２１から受取り、それを記録するようになっている。ハードウェアとして捉えた場合、ユーザ端末記録部１２４は、ＲＡＭ１１３の一部により構成されている。
また、ユーザ端末記録部１２４に記録されている仮想貨幣データは、後述するようなタイミングで主制御部１２１により読み出されることがある。
【００３９】
暗号化部１２５は、上述したように、主制御部１２１から元データを受取る場合がある。暗号化部１２５は、主制御部１２１から元データを受取った場合に、それを暗号化して、仮想貨幣暗号化データに変換する機能を有している。各ユーザ端末１００における暗号化部１２５が実行する暗号化の処理は、異なるものとなるようにされている。暗号化の処理は通常、暗号化のために用いられるアルゴリズム及び鍵によって定義されるから、各ユーザ端末１００で実行される暗号化の処理に用いられるアルゴリズム及び鍵は、少なくともその一方が各ユーザ端末１００毎にユニークなものとされている。
各ユーザ端末１００の暗号化部１２５で実行される暗号化の処理の詳細については、後述するものとする。
暗号化部１２５は、生成した仮想貨幣暗号化データを主制御部１２１へと送るようになっている。
【００４０】
次に、決済装置２００について説明する。なお、これには限られないが、この実施形態における決済装置２００は、各ユーザ端末１００においてある金額に対応する価値を持つ仮想貨幣データを発行して良いか否かについての判定である与信判定と、仮想貨幣データを発行した以外の他の装置（これには限られないがこの実施形態では、ユーザ端末１００又は決済端末３００）から仮想貨幣データが送られてきた場合に、当該仮想貨幣データに基づく決済を行って良いか否かの判定である決済判定と、を実行する機能を有している。与信判定と決済判定については追って詳しく述べる。
決済装置２００は一般的なコンピュータであり、この実施形態ではより詳細には一般的なサーバ装置である。ハードウェア構成としては、従来の決済システムにおける決済装置と同等のもので良い。
【００４１】
決済装置２００のハードウェア構成を、図５に示す。
ハードウェアには、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３、インターフェイス２１４、この実施形態ではＨＤＤ（hard disk drive）２１５である大容量記録媒体が含まれており、これらはバス２１６によって相互に接続されている。
【００４２】
ＣＰＵ２１１は、演算を行う演算装置である。ＣＰＵ２１１は、例えば、ＲＯＭ２１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の決済装置（または、管理装置）としてこの決済装置２００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、決済装置２００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済装置２００へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ２１２は、ＣＰＵ２１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ２１２に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
ＲＡＭ２１３は、ＣＰＵ２１１が処理を行うために必要なワーク領域を提供する。
インターフェイス２１４は、バス２１６で接続されたＣＰＵ２１１やＲＡＭ２１３等と外部との間でデータのやり取りを行うものである。インターフェイス２１４は、少なくとも送受信部に接続されている。送受信部がネットワーク４００から受取ったデータは、インターフェイス２１４により受取られるようになっており、インターフェイス２１４から送受信部にわたされたデータは、送受信部によって、ネットワーク４００を介して外部、例えば、ユーザ端末１００に送られるようになっている。
ＨＤＤ２１５は上述のように大容量記録媒体であり、データを記録する。ＣＰＵ２１１が後述する処理を実行するために必要なコンピュータプログラムやデータの少なくとも一部は、ＲＯＭ２１２でなくＨＤＤ２１５に記録されていてもよいし、その大部分がＨＤＤ２１５に記録されている方が実際的であろう。
【００４３】
ＣＰＵ２１１がコンピュータプログラムを実行することにより、決済装置２００内部には、図６で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済装置２００を本願発明の決済装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済装置２００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
決済装置２００内には、本願発明の機能との関係で、以下のような制御部２２０が生成される。制御部２２０内には、データ入出力部２２１、主制御部２２２、信用情報記録部２２４Ｂ、復号化部２２５、決済判定部２２６が生成される。
【００４４】
データ入出力部２２１は、制御部２２０へのデータの入出力を行うものである。具体的には、データ入出力部２２１は、主制御部２２２から後述する種々のデータを受付けるようになっている。
例えば、データ入出力部２２１は、主制御部２２２から許可情報を受付けるようになっている。受取られた許可情報は、データ入出力部２２１から、送受信部に送られ、ネットワーク４００を介してユーザ端末１００に送られるようになっている。
データ入出力部２２１は、また、ネットワーク４００を介してユーザ端末１００又は決済端末３００から送受信部が受取った後述する種々のデータを送受信部から受取り、受取ったそれらデータを主制御部２２２に送るようになっている。例えば、データ入出力部２２１は、送受信部から仮想貨幣データ、または金額情報を受取る場合があり、それらのいずれかを受取ったデータ入出力部２２１はそれらを主制御部２２２に送るようになっている。
【００４５】
主制御部２２２は、制御部２２０内の全体的な制御を行う。例えば、主制御部２２２は、後述する与信判定の処理を実行するようになっている。また、主制御部２２２は、後述する決済の処理を行うようになっており、また、復号化部２２５等に後述するデータを送ることにより、復号化部２２５に必要な処理を行わせるようになっている。
主制御部２２２は、上述したように、データ入出力部２２１から、金額情報を受取る場合がある。それを受取った主制御部２２２は、与信判定の処理を実行するようになっている。与信判定の処理を実行する場合、主制御部２２２は、信用情報記録部２２４Ｂに記録されているデータを利用してそれを行う。信用情報記録部２２４Ｂには、与信判定を行うための各ユーザについてのデータが記録されている。信用情報記録部２２４Ｂに記録されているデータの内容と、主制御部２２２で行われる与信判定の処理の詳細については追って説明することとする。主制御部２２２は、与信判定の結果、金額情報で特定される金銭的な価値を持つ仮想貨幣データを、その金額情報を送ってきたユーザのユーザ端末１００で生成して良いとの判定を行った場合には、許可情報を生成し、逆に、その金額情報を送ってきたユーザのユーザ端末１００で生成して良いとの判定を行わなかった場合には、許可情報を生成しないようになっている。なお、この実施形態ではこれには限られないが、許可情報を生成しない場合には、主制御部２２２は、ユーザ端末１００で仮想貨幣データの発行を認めないということをその内容とする、事実上の不許可情報を生成するようになっている。いずれにせよ、許可情報又は不許可情報を生成した場合には、主制御部２２２はそれを、データ入出力部２２１へと送るようになっている。なお、主制御部２２２は、与信判定の結果が否定的である場合には、不許可情報を生成せずにそこで処理を中止しても良い。
主制御部２２２は、上述したように、データ入出力部２２１から、仮想貨幣データを受取る場合があり、それを受取った主制御部２２２は仮想貨幣暗号化データを復号化部２２５に送るようになっている。なお、この場合に復号化部２２５に送られるのは、仮想貨幣データに含まれていたデータのうち仮想貨幣暗号化データのみである場合もあるし、仮想貨幣暗号化データ以外のデータも含む例えば仮想貨幣データの全体の場合もある。
主制御部２２２は、また、決済判定部２２６から、後述する最終判定データを受取る場合がある。最終判定データは、後述するように、決済を認めること、或いは決済を認めないことのいずれかを示すデータである。主制御部２２２は、決済を認めることを内容とする後述する肯定的な最終判定データを受取った場合、決済処理を行うようになっている。決済処理は、この実施形態では、仮想貨幣暗号化データを送ってきた決済端末３００等への金銭の支払いを認めるための処理である。主制御部２２２は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部２２２は、誰（どの決済端末３００等の管理者等）への幾らの支払いを最終的に許可したのかという情報を、各決済端末３００毎に図示せぬ記録媒体に記録するようになっている。他方、決済を認めないことを内容とする後述する否定的な最終判定データを受取った場合、主制御部２２２は、決済を認めるための処理を行わない。
【００４６】
復号化部２２５は、上述したように、主制御部２２２から、仮想貨幣データ（又は仮想貨幣暗号化データ）を受取る場合がある。
復号化部２２５は仮想貨幣暗号化データを受取った場合、それを復号化して元データに戻す。復号化の処理の詳細については後述する。復号化されたデータは元データであり、それには、少なくとも金額情報が含まれる。復号化部２２５は、仮想貨幣暗号化データを復号化することができた場合には、元データを決済判定部２２６に送るようになっている。この場合、復号化部２２５から決済判定部２２６に送られる元データには、仮想貨幣データに含まれていた仮想貨幣暗号化データ以外のデータが含まれている場合もある。復号化部２２５から決済判定部２２６に元データが送られたということは、即ち復号化部２２５で仮想貨幣暗号化データを復号化できたという事実を示している。
他方、復号化部２２５は、仮想貨幣暗号化データの復号化を行えなかった場合には、その旨を決済判定部２２６に通知するようになっている。
【００４７】
決済判定部２２６には、上述したように、復号化部２２５から、元データが送られてくる場合がある。これを受取った場合、決済判定部２２６は、決済を認めて良いか否かについての判定である決済判定を行う。その結果、決済判定部２２６は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。最終判定データをどのようにして決済判定部２２６が生成するかについては後述するものとする。
決済判定部２２６にはまた、上述したように、復号化部２２５から、仮想貨幣暗号化データの復号化を行えなかった旨の通知が届く場合がある。その通知を受け取った場合決済判定部２２６は、決済を認めないことを内容として含む最終判定データを生成するようになっている。
いずれにせよ、最終判定データを生成したら、決済判定部２２６はそれを主制御部２２２に対して送るようになっている。
【００４８】
次に、決済端末３００について説明する。
決済端末３００は、クレジットカードを用いた決済システムで用いられていた決済端末と同様の役割を担うものであり、一般的なコンピュータである。例えば、決済端末３００はタブレットにより構成されているものとする。
図２と同様であるからその外観の図示を省略するが、決済端末３００は、図示を省略のタッチパネル式のディスプレイを備えている。結果として、決済端末３００は、ディスプレイと、入力装置を備えることになる。もっとも、これに代えて、決済端末３００は、タッチパネル式でないディスプレイと、テンキー、キーボード、マウス、トラックボール等の公知又は周知の入力装置のうちから必要なものを選択してなる入力装置とを備えていても、換言すれば、ディスプレイと入力装置とを別個のものとして備えていても良い。とりあえず、この実施形態の決済システムはタッチパネル式のディスプレイを備えるものとして以下、話を進める。
また、決済端末３００は図示せぬカメラを備えている。カメラは、外付けでも良いが、タブレットである決済端末３００は、公知のような内蔵のカメラを備えている。
【００４９】
決済端末３００のハードウェア構成を、図７に示す。
ハードウェアには、ＣＰＵ３１１、ＲＯＭ３１２、ＲＡＭ３１３、インターフェイス３１４が含まれており、これらはバス３１６によって相互に接続されている。
ＣＰＵ３１１は、演算を行う演算装置である。ＣＰＵ３１１は、例えば、ＲＯＭ３１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。このコンピュータプログラムは、決済端末３００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済端末３００へのインストールは、メモリカード等の所定の記録媒体を介して行われても良いし、ＬＡＮ或いはインターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ３１２は、ＣＰＵ３１１が後述する処理を実行するために必要な、言い換えれば、このコンピュータを上述した他の装置として機能させるためのコンピュータプログラムやデータを記録している。ＲＯＭ３１２に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
ＲＡＭ３１３は、ＣＰＵ３１１が処理を行うために必要なワーク領域を提供する。
インターフェイス３１４は、バス３１６で接続されたＣＰＵ３１１やＲＡＭ３１３等と外部との間でデータのやり取りを行うものである。インターフェイス３１４は、少なくとも図示を省略の送受信部に接続されている。送受信部はネットワーク４００に対して接続されており、ネットワーク４００を介したデータの送信と受信の双方を行えるようになっている。インターフェイス３１４から送受信部に渡されたデータは、送受信部によって、ネットワーク４００を介して外部、例えば、決済装置２００に送られるようになっている。インターフェイス３１４から出力され送受信部から送信されるデータは、この実施形態との関係では主に仮想貨幣データである。
インターフェイス３１４は、また、タッチパネル式ディスプレイに設けられた入力装置に接続されており、入力装置からの入力を受付けるようになっている。インターフェイス３１４は、タッチパネル式ディスプレイに接続されており、タッチパネル式のディスプレイに後述する画像を表示するためのデータを送るようになっている。入力装置からインターフェイス３１４に入力されるデータは、例えば、決済の開始を指示するデータ、後述する決済端末ＩＤ等である。
インターフェイス３１４は、また、上述するカメラと接続されている。カメラからインターフェイス３１４に入力されるのは、仮想貨幣データを特定するための画像を含む画像データである。若干正確性を欠くが、事実上、インターフェイス３１４には、カメラから仮想貨幣データが入力される。
ハードウェアに大容量記録媒体が含まれて良いこと、それが存在する場合の機能は既に述べたとおりである。
【００５０】
ＣＰＵ３１１がコンピュータプログラムを実行することにより、決済端末３００内部には、図８で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済端末３００を上述の他の装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済端末３００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
決済端末３００内には、本願発明の機能との関係で、以下のような制御部３２０が生成され、制御部３２０内に、主制御部３２１、表示制御部３２２、データ入出力部３２３が生成される。
【００５１】
制御部３２０は、以下に説明するような情報処理を実行する。
主制御部３２１は、制御部３２０内の全体的な制御を行う。例えば、主制御部３２１は、追って詳述するデータ入出力部３２３から受取ったデータに基づいて表示制御部３２２の制御を行う。
主制御部３２１は、追って説明するデータ入出力部３２３から、仮想貨幣データを受取るようになっている。各決済端末３００の主制御部３２１は各決済端末３００毎にユニークな決済端末ＩＤを記録している。主制御部３２１は、受取った仮想貨幣データに決済端末ＩＤのデータを付してデータ入出力部３２３に送るようになっている。
表示制御部３２２は、主制御部３２１の制御を受けつつ、タッチパネル式とされた上述のディスプレイに表示される画像の制御を行う。ディスプレイには、表示制御部３２２から送られたデータに基づく画像が表示される。主制御部３２１は、表示制御部３２２に対して、ディスプレイにどのような画像を表示させるべきかという指示を送る。
【００５２】
データ入出力部３２３は、制御部３２０へのデータの入出力を行うものである。
具体的には、データ入出力部３２３は、入力装置からの入力を受取り、それを主制御部３２１に送るようになっている。入力装置からデータ入出力部３２３へ入力されるデータの例は、決済の開始を指示するデータである。また、上述の決済端末ＩＤが入力される場合もある。また、データ入出力部３２３には、カメラで撮像された仮想貨幣データを含む画像データが入力される場合もある。
また、データ入出力部３２３は、図示を省略の送受信部に対して、データを出力するようになっている。送受信部に対して出力されるデータは、主制御部３２３から送られてきた仮想貨幣データである。この仮想貨幣データには、決済端末ＩＤが付されている。送受信部に対して出力されたデータは、送受信部から決済装置２００に対してネットワーク４００を介して送信される。
【００５３】
次に以上のような決済システムの使用方法、及び動作について図９を参照しながら説明する。
【００５４】
まず、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行うとともに、各決済端末３００において、決済端末ＩＤの設定を行う。
ユーザＩＤは、各ユーザ端末１００を識別するための、各ユーザ端末１００においてユニークなＩＤであり、一般的には英字、数字、記号の羅列である。決済端末ＩＤも同様である。多数のユーザＩＤが重複しないようにするために、各ユーザ端末１００に対するユーザＩＤを決済装置２００（或いはその管理者等）が発行するようにしてもよい。決済端末ＩＤについても同様である。或いは、ユーザ端末１００のハードウェアに出荷時から埋め込まれている個体識別番号をユーザＩＤとして利用することもできる。決済端末ＩＤについても同様である。
各ユーザ装置１００の管理者は、その入力装置１０２を操作することにより当該ユーザ装置１００についてのユーザＩＤの入力を行う。なお、個体識別番号をユーザＩＤとして用いる場合には、かかる入力は不要である。ユーザＩＤのデータは、入力装置１０２から、インターフェイス１１４に送られ、インターフェイス１１４から制御部１２０に送られる。制御部１２０のデータ入出力部１２３はこれを受取り、主制御部１２１に送る。主制御部１２１は、それを保持し、或いは主制御部１２１内に記録してもよい。
他方、主制御部１２１は、ユーザＩＤのデータをデータ入出力部１２３へと送る。ユーザＩＤのデータは、そこから送受信部へと送られ、ネットワーク４００を介して決済装置２００へと送られる。
決済装置２００は、その送受信部でユーザＩＤのデータを受取る。ユーザＩＤのデータは、送受信部からインターフェイス２１４に送られ、インターフェイス２１４から制御部２２０に送られる。制御部２２０のデータ入出力部２２１はこれを受取り、主制御部２２２に送る。主制御部２２２は、それを保持する、或いは主制御部２２２内に記録する。この処理をすべてのユーザ端末１００が行うことにより、主制御部２２２は、すべてのユーザ端末１００のリストを持つことになる。かかるリストは、誰（どのユーザ装置１００の所有者）のために仮想貨幣データを生成するのか、ということを決済装置２００が特定するために用いられる。
各決済端末３００の管理者は、その入力装置を操作することにより当該決済端末３００についての決済端末ＩＤの入力を行う。決済端末ＩＤのデータは、入力装置から、インターフェイス３１４に送られ、インターフェイス３１４から制御部３２０に送られる。制御部３２０のデータ入出力部３２３はこれを受取り、主制御部３２１に送る。主制御部３２１は、それを保持する、或いは主制御部３２１内に記録する。
他方、主制御部３２１は、決済端末ＩＤのデータをデータ入出力部３２３へと送る。決済端末ＩＤのデータは、そこから送受信部へと送られ、ネットワーク４００を介して決済装置２００へと送られる。
決済装置２００は、その送受信部で決済端末ＩＤのデータを受取る。決済端末ＩＤのデータは、送受信部からインターフェイス２１４に送られ、インターフェイス２１４から制御部２２０に送られる。制御部２２０のデータ入出力部２２１はこれを受取り、主制御部２２２に送る。主制御部２２２は、それを保持する、或いは主制御部２２２内に記録する。この処理をすべての決済装置２００が行うことにより、主制御部２２２は、すべての決済端末３００のリストを持つことになる。かかるリストは、誰（どの決済端末３００の管理者）に対しての支払い（決済）を認めるか、ということを決済装置２００が特定するために用いられる。
【００５５】
まず、仮想貨幣データが生成される。
これには限られないが、この実施形態では、仮想貨幣データの生成は、開始情報をユーザが自らのユーザ端末１００に入力することから始まる（Ｓ９１１）。
ユーザが開始情報の入力を行う場合、例えば、ユーザは、ディスプレイ１０１上に表示されている図示を省略のアイコンにタッチすればよい。そうすると、その操作内容により開始情報が生成され、生成された開始情報が、入力装置１０２からインターフェイス１１４、データ入出力部１２３を介して主制御部１２１に送られる。
開始情報を受取ると、主制御部１２１は、表示制御部１２２に対して、ユーザＩＤ等の入力をユーザに促すような画像をディスプレイ１０１に表示せよとの指示を送る。この指示を受付けた表示制御部１２２は、ディスプレイ１０１に、例えば、図１０（Ａ）の如き、ユーザに対して、ユーザＩＤと、ユーザがこれから発行しようとする仮想貨幣データに持たせる金銭的な価値を特定するための金額（例えば、他人に支払を行おうとする該当金額）と、の入力を促す画像を表示する。ユーザは、ディスプレイ１０１上のユーザＩＤと示された部分の右側の矩形の枠内にユーザＩＤを、金額（円）と示された部分の右側の矩形の枠内に上述の金額をそれぞれ入力する（Ｓ９１２）。ユーザが入力したユーザＩＤと金額を特定するための情報である金額情報とについてのデータは、入力装置１０２からインターフェイス１１４を介してデータ入出力部１２３に入力され、主制御部１２１に送られる。ユーザが入力したユーザＩＤと金額情報は、入力中も含めて、主制御部１２１に制御された表示制御部１２２の制御によってディスプレイ１０１に表示されるから、ユーザは、ディスプレイ１０１を確認しながら、ユーザＩＤと金額情報との入力を行うことができる。図１０（Ｂ）に示した例によれば、ユーザは、この決済システムを用いて、２５０００円の支払いを行おうとしている。
ユーザＩＤと金額情報の入力が終わったら、ユーザは、ディスプレイ１０１に表示された「決定」と書かれたボタンをクリックする。
開始情報の入力後に入力すべきデータは、この実施形態では、上述のようにユーザＩＤと金額情報である。もっともユーザＩＤは、ユーザが仮想貨幣データをユーザ端末１００で生成する度に入力する必要はなく、例えば、主制御部１２１に予め記録しておくことにより、仮想貨幣データを生成する度のユーザＩＤの入力を省略することも可能である。また、ユーザＩＤと金額情報とに加えて、更に他の情報をユーザが入力することを必須とすることも可能である。
【００５６】
「決定」と書かれたボタンをユーザがクリックすると、ユーザＩＤと金額情報とが、データ入出力部１２３から主制御部１２１に送られる。
主制御部１２１は、ユーザＩＤと金額情報とを受取ると、それらをデータ入出力部１２３へと送る。ユーザＩＤと金額情報は、送受信部からネットワーク４００を介して、決済装置２００に送られる（Ｓ９１３）。
なお、以後もそうであるが、この実施形態において、ネットワーク４００を介して行われる通信はすべて、暗号化通信であってもよい。かかる暗号化はもちろん、後述する暗号化部１２５で実行される暗号化とは別個のものである。暗号化通信のための暗号化、及び復号化に用いられる技術は公知、或いは周知のものとすることができる。
【００５７】
決済装置２００は、その送受信部でユーザＩＤと金額情報とを受取る（Ｓ９２１）。送受信部はそれらユーザＩＤと金額情報とをデータ入出力部２２１に送り、データ入出力部２２１はそのデータを主制御部２２２に送る。
主制御部２２２は、ユーザＩＤで特定されるユーザ端末１００を所持するユーザが、金額情報で特定される金額の金銭的な価値を持つ仮想貨幣データを生成して良いか否かの判定である与信判定を行う（Ｓ９２２）。後述するように、特に問題なければ、決済装置２００はユーザ端末１００に対して仮想貨幣データの発行を許可する許可情報を送信することになるが、仮想貨幣データは金銭的な価値のあるデータなのであるから、そのような仮想貨幣データをユーザＩＤと金額情報とを送ってきたユーザが発行して良いか否かについて、予め判定を行うのである。かかる与信判定を、仮想貨幣データの発行をユーザ端末１００が行う前に決済装置２００が行うことにより、その後にユーザ端末１００で発行される仮想貨幣データの信用力が向上する。
これには限られないが、この実施形態における主制御部２２２は、与信判定を行う場合、信用情報記録部２２４Ｂに記録されているデータを用いる。これには限られないが、この実施形態における信用情報記録部２２４Ｂには、各ユーザについての入金口座の残高が記録されている。例えば、入金口座は、決済装置２００の管理者等の管理下にあり、各ユーザの入金口座には各ユーザから決済装置２００の管理者等が預かった金銭がプールされている。入金口座は、各ユーザが持つ銀行口座であっても構わない。各ユーザの入金口座は、図１１に示したように、ユーザＩＤと紐付けられている。各ユーザの入金口座の残高は、各ユーザが予め決済装置２００の管理者等に支払った（複数回の場合もある）金額から、後述したようにして信用情報を発生させるために使用された金額を除した金額とされるようになっている。図１１によれば、ユーザＩＤがd2af1apfaであるユーザの入金口座の残高は１０００００円である。ユーザＩＤに紐付けられているこの入金口座の残高を主制御部２２２は、信用情報記録部２２４Ｂから読み出す。  
主制御部２２２は、例えば、金額情報で特定される金額と読み出された入金口座残高との大小を比較することにより与信判定を行う。例えば、金額情報で特定される金額の方がその時点における入金口座の残高よりも小さい場合に、主制御部２２２は与信を認めるようにすることができる。主制御部２２２は、与信を認めた場合には、例えば、その入金口座の残高から金額情報で特定される金額（この実施形態であれば２５０００円）を除して、その除した金額を決済装置２００の管理者等の管理する口座に移す。そうすることにより、決済装置２００の管理者等は、その金額情報で特定される金額の支払を追って行うことができるようになるため、或いは支払の責任を負うことができるようになるため、決済装置２００の管理者が追って必ず支払いを行う責任を追うような仕組みづくりを行うか否かはさておき、その金額情報で特定される価値を有することになる、後述するようにして生成される仮想貨幣データは、その信頼性が極めて高いものとなる。この場合の入金口座に入れられていた金額の金銭、或いはそこから決済装置２００の管理者等の口座に移された金銭は、仮想貨幣データに対するデポジット或いは担保の如き性格を持つことになる。
なお、主制御部２２２が、金額情報で特定される金額の方がその時点における入金口座残高よりも小さい場合に与信を認めるようにするという与信の判定方法はあくまでも一例であり、例えば、金額情報で特定される金額の８割とか５割の金額がその時点における入金口座の残高よりも小さい場合に与信を認めるとか、他のルールを定めることももちろん可能である。例えば、金額情報で特定される金額の８割の金額がその時点における入金口座の残高よりも小さい場合に与信を認めるとした場合には、主制御部２２２はその８割の金額を入金口座の残高から除することもできるし、金額情報で特定される金額そのものを入金口座の残高から除することもできる。また、仮想貨幣データを生成する場合によって（例えば、時期やユーザの別によって）異なるルールを適用することも可能である。
或いは、決済装置２００は、ユーザ端末１００が開始情報を決済装置２００に送った場合に、それを送ってきたユーザ端末１００を操作するユーザに対して開始情報に含めて送信してきた金額情報で特定される金額（或いはその８割とか、５割とかのその金額の一部の金額）の支払いを促すようになっているとともに、その金額をユーザが、例えばユーザ端末１００からのクレジットカードによる支払い（かかるクレジットカードのオンラインによる支払は、公知或いは周知である）により決済装置２００の管理者に支払ったことが確認された場合に、決済装置２００の主制御部２２２がユーザの与信が認められると判定するようになっていても良い。この場合においても、決済装置２００の管理者等の口座には、上述の例の場合と同様に、デポジット或いは担保としての性質を持つ金銭が蓄積されることになる。
かかる与信判定は実際の金銭と紐付けず、クレジットカード会社の会員になるための審査で行われるように、職業、職歴、勤務先、年収、資産状況、年齢、家族構成、持ち家の有無等のより広範な信用にしたがって行われても良い。
いずれにせよ、主制御部２２２は、ユーザの与信が認められた場合には、許可情報を生成する。
主制御部２２２は、生成した許可情報を、データ入出力部２２１に送る。データ入出力部２２１は、許可情報を、送受信部に送り、ネットワーク４００を介してユーザ端末１００に送る（Ｓ９２３）。
【００５８】
ユーザ端末１００は、その送受信部で許可情報を受取る（Ｓ９１４）。送受信部は許可情報をデータ入出力部１２３に送り、データ入出力部１２３はそれを主制御部１２１に送る。
許可情報を受取ると主制御部１２１は、先に受け取っていたユーザＩＤと金額情報とに基いて元データを生成する（Ｓ９１５）。元データには金額情報が含まれる。これには限られないが、この実施形態では、主制御部１２１は、金額情報とユーザＩＤとを単に繋げたものを元データとする。なお、元データには、金額情報が必須であり、ユーザＩＤが含まれていても良いが、更に他の情報が含まれていても良い。例えば、ユーザが開始情報の入力を行った日時についての時刻情報、ユーザが開始情報を入力したときのユーザ端末１００の位置（例えば、スマートフォンであれば標準的に搭載されているＧＰＳ（Global Positioning System）の機能を用いれば、ユーザ端末１００の位置情報を検出することは容易である。）についての位置情報等を元データに含めることが可能である。また、ユーザが設定したパスワードや、性別、電話番号等のユーザの属性に関する情報を元データに含めることもできる。とりあえずこの実施形態では、元データは上述の如きものであるとする。
元データは主制御部１２１から、暗号化部１２５に送られる。なお、元データの生成は、元データの元となるユーザＩＤ及び金額情報を主制御部１２１が受取った状態であればいつでも主制御部１２１は実行しうる。したがって、決済装置２００から送られて来た許可情報を主制御部１２１が受取る前であっても、もっと言えば、ユーザＩＤと金額情報の入力に関するＳ９１２の処理が実行された直後であっても、主制御部１２１は元データの生成に関するＳ９１５の処理を実行しうる。
上述したように、決済装置２００からユーザ端末１００に不許可情報が送られてくる場合がある。この場合には、ユーザ端末１００の主制御部１２１は元データの生成を行わず、仮に不許可情報の入手前に先に元データを生成していたとしても、それを暗号化部１２５に送ることがない。つまり、不許可情報を受取ったユーザ端末１００では、後述するような仮想貨幣暗号化データも仮想貨幣データも生成されることがない。不許可情報には、不許可の理由を示す情報が含まれていても良い。かかる情報に基づく不許可の理由を示す画像がユーザ端末１００のディスプレイ１０１に表示されることにより、ユーザが、例えば自己の入金口座の残高不足等の不許可の理由をディスプレイ１０１を目視することで確認できるようになっていても構わない。
【００５９】
暗号化部１２５は、主制御部１２１から元データを受取ると、元データを暗号化して仮想貨幣暗号化データとする（Ｓ９１６）。
上述したように、各ユーザ端末１００の暗号化部１２５は、それぞれ異なる方法で暗号化の処理を実行するようになっている。とはいえ、これには限られないがこの実施形態における各ユーザ端末１００の暗号化部１２５で実行される暗号化の方法は、固定された１つの方法である。各ユーザ端末１００で異なる暗号化の処理を実行するため、これには限られないがこの実施形態では、各ユーザ端末１００の暗号化部１２５で実行される暗号化の処理に用いられるアルゴリズムは同一とされているものの、暗号化の処理に用いられる鍵が、それぞれ異なるものとされている。
暗号化部１２５は、そのアルゴリズムと鍵を用いて、主制御部１２１から受取った元データを暗号化して、仮想貨幣暗号化データに変換する。
生成された仮想貨幣暗号化データを、暗号化部１２５は主制御部１２１に送る。
【００６０】
主制御部１２１は、かかる仮想貨幣暗号化データに基いて仮想貨幣データを生成する（Ｓ９１７）。
主制御部１２１は、仮想貨幣暗号化データをそのまま仮想貨幣データとする場合もあるが、この実施形態では、仮想貨幣暗号化データに平文のユーザＩＤを付すことで仮想貨幣データとする。つまり、この実施形態では、例えば、その先頭に付された平文のユーザＩＤと、ユーザＩＤの後に繋げられた仮想貨幣暗号化データと、を組合せたものが仮想貨幣データとなる。仮想貨幣データは、ユーザが支払のために用いる金銭的な価値を持つデータであり、仮想貨幣暗号化データはその本体となる。
仮想貨幣データは、そのままデータ入出力部１２３に送られても良いが、一般的には主制御部１２１からユーザ端末記録部１２４に送られ、そこに記録される。
これにて、仮想貨幣データの生成或いは発行が一先ず終了する。
【００６１】
仮想貨幣データが発行されたら、ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末３００に対して、ユーザ端末１００から仮想貨幣データを引き渡す（Ｓ９１８）。かかる仮想貨幣データの引き渡しは、仮想貨幣データがユーザ端末１００で生成された直後に行われても良いし、しばらくの時間、例えば、数日から数ヶ月経ってから行われても良い。かかる仮想貨幣データの引き渡しをいつ行うかはユーザの自由である。
これには限られないがこの実施形態では、仮想貨幣データの引き渡しは、ユーザ端末１００のディスプレイ１０１に、図１２に示されたように表示されている二次元バーコードを、決済端末３００が備えるカメラで撮像することによって行われる。ディスプレイ１０１へ表示された二次元バーコードは、仮想貨幣データを再構築するための情報を含んでいる。かかる二次元バーコードのデータは、仮想貨幣データをユーザ端末記録部１２４から読み出した主制御部１２１が生成する。かかるデータは、主制御部１２１から表示制御部１２２に送られる。二次元バーコードについてのデータを受取った表示制御部１２２は、そのデータに基いてディスプレイ１０１に二次元バーコードの画像を表示させるように、ディスプレイ１０１を制御する。
カメラで撮像された画像のデータは、決済端末３００のカメラからインターフェイス３１４を介して、データ入出力部３２３に送られ、そこから主制御部３２１に送られる。主制御部３２１は、その画像データに写った二次元バーコードから、仮想貨幣暗号化データを生成（再構築）する。これにより、決済端末３００は、ユーザ端末１００から仮想貨幣データを受領する（Ｓ９３１）。
なお、この実施形態では、二次元バーコードの読取りによってユーザ端末１００から決済端末３００へと仮想貨幣データの引き渡しが行われるものとしているが、二次元バーコードはもちろん一次元バーコードその他の識別子によってそれを実現することとしてもよい。更には、そのような識別子の読取りによってユーザ端末１００から決済端末３００へと仮想貨幣データの引き渡しを実現する必要もなく、ブルートゥース（商標）その他の通信によって仮想貨幣データ自体を送信することにより、それを実現してもよい。極端なことを言えばユーザが口頭で決済端末３００の管理者等に伝えることにより、或いは仮想貨幣データをディスプレイ１０１に表示し決済端末３００の管理者等に見せることにより、それを実現しても良い。これらの場合は、例えば入力装置による手入力で決済端末３００の管理者等は、決済端末３００に仮想貨幣データを入力することになろう。
いずれにせよ、主制御部３２１は一時的に、例えば、少なくともその仮想貨幣データによる支払いが終了するまで、仮想貨幣データを記録する。かかる記録は、ハードウェアとしては、ＲＡＭ３１３上に行われる。
ユーザから仮想貨幣データを受領したら、決済端末３００の管理者等は、決済端末３００の入力装置を操作して、仮想貨幣データを決済装置２００に送るための操作を行う。
かかる操作を行うと、入力装置から、データ入出力部３２３を介して主制御部３２１に、その操作内容が送られる。かかる入力がなされると、主制御部３２１は、仮想貨幣データを、データ入出力部３２３に対して送る。データ入出力部３２３は、それらデータを、送受信部に送り、送受信部はそれらデータを、ネットワーク４００を介して決済装置２００に送る（Ｓ９３２）。このとき、決済端末３００は、仮想貨幣データとともに決済端末ＩＤをも決済装置２００に送る。以下の説明の場合でも、決済を受けようとする決済端末３００は仮想貨幣データとともに決済端末ＩＤを決済装置２００に送る。
【００６２】
決済装置２００は、その送受信部で、決済端末ＩＤのデータと仮想貨幣データとを受取る（Ｓ９２４）。決済端末ＩＤの付された仮想貨幣データは、インターフェイス２１４、データ入出力部２２１を介して主制御部２２２に送られる。
それらを受取った主制御部２２２は、決済端末ＩＤのデータと仮想貨幣データとを、復号化部２２５に送る。
復号化部２２５は、仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化する（Ｓ９２５）。
復号化部２２５の処理は、その仮想貨幣暗号化データがあるユーザ端末１００の暗号化部１２５で暗号化されたときに実行された元データに対する変換とは逆の変換である逆変換として行われる。上述したように各ユーザ端末１００の暗号化部１２５は共通のアルゴリズムを用いて暗号化を行うものの、それぞれ異なる鍵を用いて暗号化の変換を行うようになっている。そして、復号化部２２５は、各ユーザ端末１００の暗号化部１２５で暗号化の処理が実行されるときに使用されるアルゴリズムを把握をしており、当該アルゴリズムを用いて復号化の処理を行うようになっている。また、復号化部２２５は、すべてのユーザ端末１００の暗号化部１２５で使用される、それぞれ異なるものとされた鍵をすべて把握しており、その鍵をすべて、その鍵とその鍵が使用される暗号化部１２５を有するユーザ端末１００のユーザＩＤと紐付けた状態で持っている。
各復号化部２２５は、各ユーザ端末１００の暗号化部１２５で暗号化の処理が実行されるときに使用されるアルゴリズムを用いて復号化するのであるから、後はこれから復号化しようとしている仮想貨幣暗号化データが暗号化されたときに用いられた鍵を特定することができれば、或いはその鍵を持っているユーザ端末１００を特定できれば、仮想貨幣暗号化データに改竄等がなければ、理論上、１回の試みで、その仮想貨幣暗号化データを復号化することが可能となるはずである。
上述したように、仮想貨幣データにユーザＩＤが平文の状態で含まれている。復号化部２２５は、これから復号化しようとしている仮想貨幣暗号化データとともに仮想貨幣データに含まれていたユーザＩＤを抽出し、そのユーザＩＤと紐付けられた状態で自らが保持していた鍵を、仮想貨幣暗号化データを復号化するために用いる。それにより、仮想貨幣暗号化データがユーザ端末１００の暗号化部１２５で暗号化されたときに使用されたアルゴリズムと鍵が揃うから、復号化部２２５は、仮想貨幣暗号化データを復号化することができる。これにより、仮想貨幣暗号化データは、平文の元データに戻る。
復号化部２２５は、元データを、仮想貨幣データに平文で含まれていたユーザＩＤ及び決済端末ＩＤのデータとともに決済判定部２２６に送る。なお、この実施形態では、復号化部２２５で仮想貨幣暗号化データを復号化できたという事実により、仮想貨幣暗号化データが、ひいてはそれを含んでいた仮想貨幣データが真正なものであるとの仮の判定或いは事実上の判定を行えたということとなる。
他方、仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部２２５からその旨の情報が決済判定部２２６に送られる。
【００６３】
決済判定部２２６は、元データ、ユーザＩＤ、及び決済端末ＩＤか、または仮想貨幣暗号化データの復号化を行えなかった旨の情報を、復号化部２２５から受取る。
それらのうち、元データ、ユーザＩＤ、及び決済端末ＩＤを受取った場合、決済判定部２２６は、決済判定を実行する（Ｓ９２６）。
上述したようにこの実施形態における元データは、金額情報とユーザＩＤとを組み合わせたものとなっている。他方、決済判定部２２６には、仮想貨幣データに元々含まれていたユーザＩＤも送られてきている。決済判定部２２６は、これら２つのユーザＩＤを比較する。そして、両者が一致した場合には、仮想貨幣暗号化データは真正であると決済判定部２２６は判定する。これは、復号化部２２５で実行された復号化が正しかったということの検証を行うに等しい。
もっとも、仮想貨幣暗号化データが真性であるということの確認は、事実上、復号化部２２５で仮想貨幣暗号化データが復号化できたという事実により行われているのであるから、ここでの仮想貨幣暗号化データの真正性の確認は省略されてもかまわない。
仮想貨幣暗号化データが真正であると決済判定部２２６が判定した場合には、決済判定部２２６は金額情報によって特定されている金額の支払いを認めるという肯定的な情報を示す最終判定データを生成する。
他方、決済判定部２２６が復号化部２２５から受取ったのが仮想貨幣暗号化データの復号化を行えなかった旨の情報であった場合、又は２つのユーザＩＤが一致しなかったために仮想貨幣暗号化データが真正であるとの判定が行われなかった場合には、決済判定部２２６は、金額情報によって特定されている金額の支払いを認めないという否定的な情報を示す最終判定データを生成する。
いずれにせよ、生成された最終判定データは、決済判定部２２６から主制御部２２２に送られる。
【００６４】
主制御部２２２は、最終判定データを受取り次の処理を行う。
最終判定データが肯定的なものであった場合、主制御部２２２は、最終判定データによって特定される金額の決済端末３００の管理者への支払いの処理を実行する。決済処理は、仮想貨幣暗号化データを送ってきた決済端末３００への金銭の支払いを認めるための処理である。この実施形態では、主制御部２２２は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部２２２は、誰（どの決済端末３００の管理者等）への幾らの支払いを最終的に許可したのかという情報を、各決済端末３００毎に区別して、図示せぬ記録媒体に記録するようになっている。これらデータは、例えば、決済端末３００の管理者等が指定した銀行口座が存在する銀行に送られ、その結果、例えば決済装置２００の管理者から（或いは、その仮想貨幣データを使用したユーザの指定した銀行口座等から）決済端末３００の管理者等へと、金額情報で特定された金額の支払いが行われる。
最終判定データが肯定的なものであった場合、主制御部２２２は、決済が行われたこと、及びその金額の情報を少なくとも含むデータである肯定的な判定結果データを生成する。
他方、最終判定データが否定的なものであった場合、主制御部２２２は決済処理を行わない。また、主制御部２２２は、決済が行われなかったという情報を少なくとも含むデータである否定的な判定結果データを生成する。
いずれにせよ、判定結果データは、主制御部２２２から、データ入出力部２２１を介して送受信部に送られ、ネットワーク４００を介して、決済端末３００に送信される（Ｓ９２７）。決済端末３００に対する判定結果データの送信は省略することも可能であるが、通常は行われるであろう。
【００６５】
判定結果データは、決済端末３００の送受信部によって受取られる（Ｓ９３３）。
送受信部によって受取られた判定結果データは、これまでの場合と同様に、主制御部３２１に送られる。
主制御部３２１は、表示制御部３２２に対して、判定結果データに応じた表示をディスプレイに行わせろとの指示を行い、その結果、表示制御部３２２は、ディスプレイに判定結果データに応じた表示を行わせる（Ｓ９３４）。その表示は、図示を省略するが、例えば、判定結果データが肯定的なものであった場合には、決済が認められたこと、及びその金額となり、判定結果データが否定的なものであった場合には、決済が認められなかったことであろう。後者の場合には、判定結果データに決済が認められなかった理由を特定する情報を含めることにより、決済が認められなかった理由がディスプレイ上に表示されるようにした方が良いであろう。
なお、判定結果データの送信をユーザ端末１００に対しても行い、ユーザ端末１００でもそれに基づく画像のディスプレイ１０１での表示を行うようにすることも可能である。
以上で、仮想貨幣データを使用しての、ユーザから決済端末３００の管理者への支払いの処理が終了する。
【００６６】
なお、以上での説明では、自己のユーザ端末１００を用いてユーザが仮想貨幣データにより支払いを行う先である、仮想貨幣データにより金銭的な価値を受取る受領者は、決済端末３００の管理者等であった。しかしながら、あるユーザ端末１００を用いての仮想貨幣データによる支払いの受領者を、他のユーザ端末１００のユーザとすることも可能である。
その場合には、支払いを受けるユーザの所有するユーザ端末１００は、決済端末３００にインストールされたのと同様のコンピュータプログラムをインストールすることにより、決済端末３００が有していたのと同様の機能ブロックを有するものとなっていれば良い。ユーザ端末１００がスマートフォンであれば、コンピュータを含んでいるのであるから、それは可能である。また、決済端末３００はハードウェアとしてカメラを備えていたが、ユーザ端末１００がスマートフォンであれば常識的にカメラを持つのであるから、その条件もユーザ端末１００は満足する。
また、この実施形態では、ユーザ端末１００から決済端末３００への仮想貨幣データの受け渡しはネットワーク４００を介さずに行われるものとなっていた。しかしながら、かかる受け渡しがユーザ端末１００から決済端末３００への仮想貨幣データの受け渡しであるか、ユーザ端末１００間での仮想貨幣データの受け渡しであるかを問わず、かかる受け渡しをネットワーク４００を介しての仮想貨幣データの送受信（場合によっては、仮想貨幣データの二重譲渡を防ぐための決済装置２００を介しての送受信）によって実現しても良い。
また、２つのユーザ端末１００間、ユーザ端末１００と決済端末３００間、或いは２つの決済端末３００間で、決済装置２００での決済の処理を伴わずに単に仮想貨幣データを譲渡するようにすることも可能である。その場合には、例えばユーザ端末１００間での仮想貨幣データの譲渡が行われる場合であれば、譲渡人たるユーザは自らのユーザ端末へ仮想貨幣データを譲渡するための譲渡情報を入力する。譲渡情報には少なくとも、どの仮想貨幣データを、どのユーザに譲渡するか、という内容が含まれる。譲受人たるユーザの指定は例えば、ユーザＩＤによって実現することができる。かかる譲渡を、決済装置２００を通して行うようにすることにより、仮想貨幣データの二重譲渡の問題を防ぐことができる。譲渡情報は、譲渡人たるユーザが操作するユーザ端末１００から、例えば仮想貨幣データとともに、ネットワーク４００を介して決済装置２００に送られる。決済装置２００は、ユーザＩＤで指定されるユーザ端末１００に対して仮想貨幣データを送る。これにより、譲渡人たるユーザのユーザ端末１００から譲受人たるユーザのユーザ端末１００へと仮想貨幣データが譲渡される、或いは移されることになる。仮想貨幣データは、譲受人たるユーザのユーザ端末１００において、その主制御部１２１によって、ユーザ端末記録部１２４に記録されることになる。
【００６７】
＜変形例１＞
変形例１による決済システムは、第１実施形態による決済システムと殆ど同じである。特に、決済端末３００の構成、及びそこで実行される処理は、第１実施形態におけるそれらと変わるところがない。
異なるのは、ユーザ端末１００及び決済装置２００の構成と、それらで実行される処理である。とはいえ、変形例１のユーザ端末１００及び決済装置２００の構成、及びそれらで実行される処理の大半は、第１実施形態の場合と同じである。
変形例１の決済システムと第１実施形態における決済システムとで異なるのは、そこで使用される仮想貨幣データのデータ構造である。変形例１では、仮想貨幣データは、仮想貨幣暗号化データに、平文のユーザＩＤを加えたものであった。他方、変形例１の決済システムで用いられる仮想貨幣データは、仮想貨幣暗号化データそのものであって、平文のユーザＩＤを含まない。
変形例１のユーザ端末１００及び決済装置２００と、第１実施形態におけるユーザ端末１００及び決済装置２００との間には、仮想貨幣データのデータ構造についての上記相違点に基づく相違がある。逆に、それ以外の点については両者の間には特に相違はない。以下、その相違点に着目して変形例１のユーザ端末１００及び決済装置２００について説明する。特に言及しない点は、相違が無い点である。
【００６８】
まず、変形例１のユーザ端末１００について説明する。
第１実施形態のユーザ端末１００における主制御部１２１は、暗号化部１２５から仮想貨幣暗号化データを受取った場合において、受取ったその仮想貨幣暗号化データに対してユーザＩＤを付して仮想貨幣データにするようになっていた。それに対して、変形例１のユーザ端末１００における主制御部１２１は、暗号化部１２５から仮想貨幣暗号化データを受取ったときに、当該仮想貨幣暗号化データに何らの処理も行わず、仮想貨幣暗号化データをそのまま仮想貨幣データとするようになっている。
なお、変形例１においても、各ユーザ端末１００の暗号化部１２５が行う暗号化の処理は、常に固定された１つの方法である。
【００６９】
次に、決済装置２００について説明する。
変形例１の決済装置２００も、第１実施形態の決済装置２００の場合と同様に、例えば、仮想貨幣データをユーザ端末１００から受領した決済端末３００から仮想貨幣データを受付けるようになっている。
かかる仮想貨幣データは、第１実施形態の場合と同様に復号化部２２５に送られるようになっている。復号化部２２５は、仮想貨幣データに含まれるというよりも仮想貨幣データそのものである仮想貨幣暗号化データを復号化するようになっている。仮想貨幣暗号化データを復号化するという点では、変形例１の復号化部２２５と第１実施形態の復号化部２２５には変わりはないが、仮想貨幣暗号化データを復号化するために実行される処理が異なっている。
第１実施形態では、上述した通り、復号化部２２５が仮想貨幣暗号化データを復号化する場合に、復号化の処理を行う際に使用する鍵を、仮想貨幣データに含まれていたユーザＩＤによって特定していた。しかしながら、変形例１では、上述したように、復号化部２２５が主制御部１２１から受取った仮想貨幣データには、ユーザＩＤが含まれていないので、ユーザＩＤを用いての鍵の特定を行うことができない。そこで、ユーザＩＤを用いて復号化の処理のために用いる鍵を特定することにより、１回のみの試みによって、仮想貨幣暗号化データを復号化するという第１実施形態と異なり、変形例１の復号化部２２５は、複数回の試みによって、仮想貨幣暗号化データの復号化を行う。復号化部２２５が復号化に用いることができる鍵の数は、ユーザ端末１００の数と同数であり、有限である。したがって、極端なことを言えば、復号化部２２５は、復号化に用いるべき１つのアルゴリズムと、各ユーザ端末１００で用いられる鍵のすべてとを組合せて復号化の処理を試みれば、それに改竄等がない限り、上述のアルゴリズムと、多数の鍵のうちの１つとの組合せにより、理論上仮想貨幣暗号化データの復号化を行うことができる。そのような総当り的なアプローチにより、変形例１の復号化部２２５は、仮想貨幣暗号化データの復号化を行う。
何回目の試みで仮想貨幣暗号化データを復号化できたかにかかわらず、仮想貨幣暗号化データを復号化できた場合の変形例１における以降の処理は、第１実施形態で、１回の試みで仮想貨幣暗号化データの復号化を行えた場合における以降の処理と同じで良い。もちろん、仮想貨幣暗号化データを復号化できた場合には、そこで仮想貨幣暗号化データの復号化の処理を中止して構わない。逆に仮想貨幣暗号化データの復号化を行えない場合には、復号化部２２５は、ユーザ端末１００の数と同数のすべての鍵を用いて仮想貨幣暗号化データの復号化を試みることとなろう。結果的にどの鍵でも仮想貨幣暗号化データの復号化を行えなかった場合における変形例１における以降の処理は、第１実施形態で１回の試みで仮想貨幣暗号化データの復号化を行えなかった場合における以降の処理と同じで良い。
ユーザ端末１００で使用される可能性のある鍵のすべてを用いて仮想貨幣暗号化データの復号化を行うというこのような総当り的なアプローチを行うにしても、ユーザ端末１００の数が余りに多いと、試みるべき復号化の回数が余りにも多くなり、仮想貨幣暗号化データの復号化に必要となる時間が長くなる。そのような不具合を避けるために、例えば以下のような規則を作ることも可能である。例えば、仮想貨幣暗号化データ、或いは仮想貨幣データの有効期間を制限するのである。
【００７０】
仮想貨幣データに有効期間を定める場合には以下のような手段を採用しうる。
仮想貨幣データに有効期間を定める場合、仮想貨幣データには、仮想貨幣暗号化データに加えて、平文の時刻情報が付される。時刻情報は例えば、ユーザが自己のユーザ端末１００に、Ｓ９１１の開始情報の入力を行った日時を特定する情報である。時刻情報は、開始情報の入力を行った日時を特定する情報とする必要はなく、Ｓ９１２のユーザＩＤと金額情報の入力を行った時刻、或いはＳ９１３のユーザＩＤ及び金額情報の決済装置２００への送信を行った時刻等を特定する情報とすることもできる。これには限られないが、この場合における時刻情報は、Ｓ９１３のユーザＩＤ及び金額情報の決済装置２００への送信を行った時刻を特定する情報であるとする。要するに、例えて言うなら、仮想貨幣データはタイムスタンプを押されたものとなっている。
ユーザ端末１００でそのような仮想貨幣データを生成するには、例えば、ユーザ端末１００における主制御部１２１が、例えば主制御部１２１が備えている時計の機能によって生成される時刻情報を、暗号化部１２５から送られて来た仮想貨幣暗号化データに付すようにすれば良い。
他方、決済装置２００の機能ブロックは、図１３で示されたような過去データ記録部２２４Ａを備えている。過去データ記録部２２４Ａには主制御部２２２が以下のようなデータを記録する。第１実施形態では、ユーザ端末１００は仮想貨幣データの発行の許可を得るために、Ｓ９１３の処理で、決済装置２００に対してユーザＩＤと、金額情報とを送信してきた。第１実施形態における決済装置２００は、そのユーザＩＤと金額情報とを用いて与信判定を行い、ユーザＩＤと金額情報とには他の使い道はなかった。これに対して、変形例１の決済装置２００は、第１実施形態の場合と同様にユーザ端末１００からユーザＩＤと、金額情報とを受取った場合、それを用いて与信判定を行うとともに、受取ったユーザＩＤを仮想貨幣データの有効期間の管理に利用する。
主制御部２２２は、第１実施形態の場合と同様の過程によりユーザ端末１００からユーザＩＤと、金額情報とを受取ると、そのうちのユーザＩＤを過去データ記録部２２４Ａに記録する。決済装置２００には、多数のユーザ端末１００から仮想貨幣データの発行の許可を得るためにユーザ端末１００と金額情報とが送られて来ているから、過去データ記録部２２４Ａには多数のユーザＩＤが記録されることになる。主制御部２２２は、ユーザＩＤを過去データ記録部２２４Ａに記録するときに、そのユーザＩＤを過去データ記録部２２４Ａに記録した日時、或いはそのユーザＩＤを決済装置２００がネットワーク４００を介してユーザ端末１００から受取った日時のデータを、ユーザＩＤに紐付けて書き込む。他方、主制御部２２２は、過去データ記録部２２４Ａに記録されたユーザＩＤが、過去データ記録部２２４Ａに記録されてから所定の時間が経過したら消去するようになっている。例えば、決済装置２００の主制御部２２２は、ユーザＩＤを、そのユーザＩＤ及び金額情報を決済装置２００がユーザ端末１００から受取った日時と紐付けて過去データ記録部２２４Ａに記録するようになっているとともに、過去データ記録部２２４Ａに記録されてから１０分が経過したら消去するようになっているとする。そうすると、過去データ記録部２２４Ａには常に、過去１０分の間に、決済装置２００に対してユーザＩＤ及び金額情報を送って来たユーザ端末１００のユーザＩＤが更新されつつ記録されることになる。
【００７１】
この場合における復号化部２２５は、主制御部２２２から仮想貨幣データを受取ったときに、まず、仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間（通常、この時間は、過去データ記録部２２４Ａに記録されているユーザＩＤが、記録されてから消去されるまでの時間間隔と等しくする。）が経過していないか否かを確認する。その結果、上記所定の時間が経過していなかった場合には、復号化部２２５はその復号化を試みる。他方、上記所定の時間が既に経過していた場合には、復号化部２２５は、その仮想貨幣データは有効期間外のものであるとして、それに含まれる仮想貨幣暗号化データの復号化を試みない。この場合の仮想貨幣暗号化データの扱いは、仮想貨幣暗号化データの復号化を行えなかった場合と同じとする。
仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間が経過していないか否かを確認した結果、上記所定の時間が経過していなかった場合、復号化部２２５は、過去データ記録部２２４Ａから、その時点で過去データ記録部２２４Ａに記録されているユーザＩＤをすべて読み出すとともに、読み出したすべてのユーザＩＤと紐付けて復号化部２２５に記録されている鍵を用いて、仮想貨幣データに含まれていた仮想貨幣暗号化データの復号化を試みる。
このような処理によれば、復号化部２２５が試みる仮想貨幣暗号化データの暗号化の回数は、過去データ記録部２２４Ａから読み出されたユーザＩＤの数と同数となる。これによれば、試みるべき復号化の回数が余りにも多くなり、仮想貨幣暗号化データの復号化に必要となる時間が長くなるという弊害が生じにくい。
結果的に仮想貨幣暗号化データの復号化が行えた場合、行えなかった場合の以降の処理は、既に述べたように、第１実施形態に倣えば良い。
このようにすると、仮想貨幣データ乃至仮想貨幣暗号化データの有効期間は、大雑把にいうと、仮想貨幣データが発行されてから、所定の時間（過去データ記録部２２４Ａに記録されているユーザＩＤが、記録されてから消去されるまでの時間）経過するまでの期間となる。このような仮想貨幣データは、現在使用されているクレジットカードの決済のように、店舗やレストランで即時の支払を行うような場合に応用し易いと思われる。
【００７２】
＜変形例２＞
変形例２による決済システムは、第１実施形態による決済システムと殆ど同じである。特に、決済端末３００の構成、及びそこで実行される処理は、第１実施形態におけるそれらと変わるところがない。
他方、変形例２においては、仮想貨幣データのデータ構造は、第１実施形態とやや異なる。第１実施形態における仮想貨幣データは、仮想貨幣暗号化データとユーザＩＤとを組合せたものであり、仮想貨幣暗号化データは、金額情報とユーザＩＤとを組合せてから暗号化して得られたデータであった。これに対して、変形例２の仮想貨幣データは、第１実施形態の場合と同じ、仮想貨幣暗号化データ、及びユーザＩＤと、第１実施形態の仮想貨幣データには含まれていなかった本願発明における暗号化条件データと、を含んでいる。
また、変形例２におけるユーザ端末１００及び決済装置２００の構成、及びそれらで実施される処理は、第１実施形態におけるそれらと若干異なる。とはいえ、変形例２のユーザ端末１００及び決済装置２００の構成、及びそれらで実行される処理の大半は、第１実施形態の場合と同じである。
【００７３】
第１実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたってユーザ端末１００の暗号化部１２５で実行される暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、この変形例では、各ユーザ端末１００の暗号化部１２５で元データから仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である、というか所定のタイミングで変化する。
したがって、変形例２の決済装置２００の復号化部２２５で実行される復号化の処理も、同一のユーザ端末１００で発行された仮想貨幣データに含まれている仮想貨幣暗号化データを復号化する場合であっても、暗号化の方法の変化に合わせて（或いは同期させて）適切に変化させられるようになっている。より具体的には、決済装置２００の復号化部２２５は、決済端末３００から受取ったある仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化しようとした場合に、その仮想貨幣暗号化データが、複数のユーザ端末１００のどれで発行されたものであるかということに加えて、そのユーザ端末１００の暗号化部１２５で実行され得る複数の暗号化の手法のうちどれを用いて暗号化されたのかを把握することができないと、復号化の処理を行うことができない。これを可能としているのが、変形例２の決済装置２００の第１実施形態における決済装置２００との相違点である。
以下、第１実施形態との相違点に着目しつつ変形例２のユーザ端末１００及び決済装置２００の構成、及びそこで実行される処理について説明する。特に言及しない点は、相違が無い点である。
【００７４】
まず、ユーザ端末１００及びそこで行われる処理について説明する。
上述したように変形例２では、暗号化部１２５で行われる暗号化は、所定のタイミングで変わるものとする。例えば、元データの暗号化を３回行う度に、或いは、決済装置２００が置かれている場所の日付が変わる度に、各ユーザ端末１００の暗号化部１２５で元データを暗号化するために用いられる方法が変化するものとする。これには限られないが、この実施形態では、元データを暗号化して仮想貨幣暗号化データにする処理を、各ユーザ端末１００における暗号化部１２５が行う度に、各ユーザ端末１００は、暗号化の方法を変えるようになっている。したがって、後述するように、決済装置２００の復号化部２２５が各仮想貨幣暗号化データに対して行う復号化の処理も、それに合わせて変化する。
暗号化、復号化の手法を変化させるには、アルゴリズムを変更する、鍵を変更する、それらの双方を変更するという３種類がありいずれも採用可能ではあるが、変形例２でも鍵を変更するものとする。
鍵の変更には、変形例２では鍵生成部１２６が重要な役割を担う。ユーザ端末１００内に生成される機能ブロックを図１４に示す。変形例２のユーザ端末１００における機能ブロックが第１実施形態におけるユーザ端末１００における機能ブロックと異なるのは、変形例２におけるユーザ端末１００の機能ブロックには、第１実施形態におけるユーザ端末１００の機能ブロックには無かった鍵生成部１２６が存在するという点である。
鍵生成部１２６は暗号化部１２５で暗号化の処理が実行されるときに使用される鍵を生成するものである。
【００７５】
次に、変形例２のユーザ端末１００の鍵生成部１２６で実行される鍵の生成の方法、及び鍵を暗号化部１２５に提供するタイミングについて説明する。
鍵生成部１２６が暗号化部１２５に鍵を供給するタイミングは、暗号化部１２５が暗号化の処理を行う直前のタイミングである。
上述したように、暗号化部１２５は、主制御部１２１から元データを受取ると、元データを暗号化する処理を行う。変形例２の暗号化部１２５は、元データを受取ると、元データの暗号化の処理を行うに先立って、鍵生成部１２６に対して鍵の生成を依頼するデータを送る。このデータを受取った鍵生成部１２６は、鍵のデータを生成して、それを暗号化部１２５に送るようになっている。暗号化部１２５は、不変のアルゴリズムと、提供された鍵とを用いて、元データを暗号化することにより、仮想貨幣暗号化データを得る。
【００７６】
鍵生成部１２６は、例えば鍵を以下のようにして生成する。鍵は、以下の説明における「解」として生成され、英字、数字、記号の少なくとも１つの羅列として生成される。解は例えば、ある条件下では常に同じものが生成される、初期解依存性のある擬似乱数列のようなものとすることができる。ある初期解から連続してワンタイムパスワードを生成するという、公知、周知のワンタイムパスワードの発生方法が、その一例となる。
なお、ワンタイムパスワードは、遠隔地にある２つの装置で、共通するパスワードを生成する処理である。遠隔地で共通するパスワードを生成する方法としては、イベント同期と、時間同期と呼ばれる手法がそれぞれ知られている。イベント同期とは、後述する初期解に基いて連続して解を生成する場合において、同じ順番で生成された解は常に同一のものとなるようにする、という順番を要とした解の同期のさせ方である。他方、時間同期は、初期解に基いて同じ日時に生成された解は常に同じになるようにする、という時間を要とした解の同期のさせ方である。変形例２のユーザ端末１００内の鍵生成部１２６と、決済装置２００内の後述する鍵生成部２２７とは、イベント同期或いは時間同期のいずれにより、同じ解を生成することができるようになっている。
以下に説明する例は主に、イベント同期が採用された場合である。
この実施形態では、解を生成するために、ある初期解（２つ以上の場合もある）を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を解が必要となる度に実行する。そうすることにより、上記「値」である解を連続して生成することができる。このような解は、初期解依存性のある擬似乱数となる。
上述の「解」を作るのに使われる関数の例として、以下の（ａ）〜（ｃ）を挙げる。以下の（ａ）〜（ｃ）はいずれも、Ｎ番目の「解」であるＸＮを作るための式である。また、Ｐ、Ｑ、Ｒ、Ｓは自然数である。
（ａ）（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ
（ｂ）（ＸＮ）＝（ＸＮ−１）Ｐ
（ｃ）（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ-3）R（ＸＮ−4）S
（ａ）では、過去の「解」２つを用い、それらをそれぞれＰ乗とＱ乗したものを足し合わせることにより、新しい「解」を生成する。なお、正確には、過去の「値」２つを用い、それらをＰ乗とＱ乗したものを足し合わせると、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい「解」を生成する。
（ｂ）は、過去の「解」１つを用い、それをＰ乗したものの桁数を上述のように整理したものを新しい「解」とするものである。
（ｃ）は、過去の「解」４つを用い、それらをそれぞれＰ乗、Ｑ乗、Ｒ乗、Ｓ乗したものの積を取り、その後上述したように桁数を整理したものを新しい「解」とするものである。
上述の（ａ）〜（ｃ）は解を生成するためのアルゴリズム（暗号化の処理に用いるアルゴリズムとは性格が異なる。）の一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の（ａ）〜（ｃ）を順番に用いる等の変化を加えることも可能である。
このような手法で解を生成することとすれば、ある初期解に基いて１番目に生成される解は常に同じであり、２番目に生成される解も常に同じであり、同様にＮ番目に生成される解も常に同じである。これが初期解依存性ということである。
なお、鍵生成部１２６は、過去に生成した解が幾つかということを記録している。つまり、その直前に生成した解がＮ番目の解であった場合には、その次に生成する解は、Ｎ＋１番目となるが、重複のない連続した解の生成が可能なように過去に生成した解の数を記録しておくのである。
【００７７】
上述のように生成された解を鍵として用いることにより暗号化部１２５は、元データに示されたデータを暗号化して、仮想貨幣暗号化データを生成する。
かかる仮想貨幣暗号化データは、第１実施形態の場合と同様に、主制御部１２１へと送られる。ただし、変形例２の場合には、暗号化部１２５は、仮想貨幣暗号化データのみならず、その仮想貨幣暗号化データが何番目に生成されたものであるか（つまり、その仮想貨幣暗号化データを暗号化するのに使用された鍵が何番目の鍵であるのか）を特定するための数字を主制御部１２１へと送る。かかる数字は、これには限られないが例えば、１から始まる連番とすることができ、この実施形態ではそうされている。つまり、１番目に生成された仮想貨幣暗号化データには、「１」というデータが、２番目に生成された仮想貨幣暗号化データには、「２」というデータが、Ｎ番目に生成された仮想貨幣暗号化データには、「Ｎ」というデータをそれぞれ付して、それらデータを暗号化部１２５は主制御部１２１へと送るようになっている。
主制御部１２１は、仮想貨幣暗号化データに、ユーザＩＤと、上述の数字のデータとを平文の状態で付す。かかる数字のデータは、ある仮想貨幣データがその仮想貨幣データを発行したユーザ端末１００で何番目に発行されたかということを示すユニークな通し番号であり、その性格が法定貨幣の紙幣に記載の記番号に似ているから、これを記番号或いは記番号データと称することにする。つまり、仮想貨幣データは、仮想貨幣暗号化データに、ユーザＩＤ及び記番号を付したものとなっている。
【００７８】
かかる仮想貨幣データの使用方法は第１実施形態の場合と同様であり、ユーザ端末１００から例えば決済端末３００に引渡され、決済端末３００から、決済端末ＩＤとともに決済装置２００に送られる。
仮想貨幣データは、第１実施形態の場合と同様に、決済端末ＩＤとともに主制御部２２２から復号化部２２５へと送られる。
【００７９】
第１実施形態の場合と同様に、決済装置２００の中で、仮想貨幣暗号化データは、主制御部２２２を経て復号化部２２５に送られる。復号化部２２５は第１実施形態の場合と同様に、仮想貨幣暗号化データを復号化する。
しかしながら、そのためには基本的に、その仮想貨幣暗号化データを暗号化したユーザ端末１００の暗号化部１２５で使用された鍵を特定しなければならない。より具体的には、その仮想貨幣暗号化データがどのユーザ端末１００の暗号化部１２５で暗号化されたかと、その暗号化部１２５で何番目の鍵で暗号化されたのかという２つのことを把握しなければ、復号化部２２５は復号化の処理を正しく行うことができない。
ユーザ端末１００では、鍵の変更に鍵生成部１２６が重要な役割を担った。同様に、決済装置２００では、鍵の変更に鍵生成部２２７が重要な役割を担う。決済装置２００内に生成される機能ブロックを図１５に示す。変形例２の決済装置２００における機能ブロックが第１実施形態における決済装置２００における機能ブロックと異なるのは、変形例２における決済装置２００の機能ブロックには、第１実施形態における決済装置２００の機能ブロックには無かった鍵生成部２２７が存在するという点である。
鍵生成部２２７は復号化部２２５で復号化の処理が実行されるときに使用される鍵を生成するものである。
【００８０】
次に、変形例２の決済装置２００の鍵生成部２２７で実行される鍵の生成の方法、及び鍵を暗号化部２２５に提供するタイミングについて説明する。
鍵生成部２２７が復号化部２２５に鍵を供給するタイミングは、復号化部２２５が復号化の処理を行う直前のタイミングである。
上述したように、復号化部２２５は、主制御部２２２から仮想貨幣データを受取ると、仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化する処理を行う。変形例２の暗号化部２２５は、仮想貨幣データを受取ると、仮想貨幣暗号化データの復号化の処理を行うに先立って、鍵生成部２２７に対して鍵の生成を依頼するデータを送る。このデータを受取った鍵生成部２２７は、鍵のデータを生成して、それを復号化部２２５に送るようになっている。復号化部２２５は、不変のアルゴリズムと、提供された鍵とを用いて、仮想貨幣暗号化データを復号化することにより、元データを得る。
【００８１】
ここで、鍵生成部２２７は、各ユーザ端末１００における鍵生成部１２６のそれぞれで生成される鍵と同じ鍵を、生成することができるようになっている。
鍵生成部２２７は、各ユーザ端末１００内の鍵生成部１２６が有している解を生成するためのアルゴリズムと、各ユーザ端末１００内の鍵生成部１２６が有している解を生成するための初期解とを、各ユーザ端末１００のユーザＩＤと紐付けて記録している。したがって、鍵生成部２２７は、各ユーザ端末１００の鍵生成部１２６が生成するのと同じ解を、生成することが可能である。
復号化部２２５は、鍵の生成を鍵生成部２２７に依頼するときに、かかる依頼と一緒に、仮想貨幣データに含まれていたユーザＩＤと、記番号とを鍵生成部２２７に送るようになっている。鍵生成部２２７は、受付けたユーザＩＤと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、各ユーザ端末１００で行われたのと同様に、解を生成する。復号化部２２５が、上述の数式（ａ）〜（ｃ）を用いて幾つ目までの解を連続して生成するかというと、それは「記番号で特定される数字」番目までの解までである。つまり、記番号が２であれば、２番目までの解を、記番号が３であれば３番目までの解を、記番号がＮであれば、Ｎ番目までの解を、復号化部２２５は生成する。復号化部２２５が仮想貨幣暗号化データを復号化するためには、「その仮想貨幣暗号化データがどのユーザ端末１００の暗号化部１２５で暗号化されたかと、その暗号化部１２５で何番目の鍵で暗号化されたのかという２つのことを把握することが必要」と上で説明したが、ユーザＩＤによりその前者が、記番号によりその後者が把握可能となるのである。つまり、変形例２では、記番号情報が、本願発明で言う暗号化条件データとなっており、またユーザＩＤも暗号化条件データを兼ねている。
そして、最後に生成した解を、復号化に用いる解として、鍵生成部２２７は、復号化部２２５に送る。
【００８２】
かかる鍵と、固定のアルゴリズムとを用いて、復号化部２２５は、仮想貨幣暗号化データを復号化する。ここで用いられる解及びアルゴリズムは、その仮想貨幣暗号化データを暗号化した暗号化部１２５で用いられた解及びアルゴリズムと一致しているから、復号化部２２５はその仮想貨幣暗号化データを復号化することができる。
なお、仮想貨幣データに含まれる暗号化条件データは、平文であるとしたが、暗号化された状態となっていても構わない。ただし、暗号化条件データの暗号化を行う場合には、少なくとも各ユーザ端末１００毎に暗号化の手法を同一とするのが現実的である。なぜなら、各仮想貨幣データに含まれる暗号化条件データをそれぞれ異なる手法（例えば、異なる鍵）により暗号化したとするのであれば、各暗号化条件データを復号化するときに、その復号化のための条件（暗号化されたその暗号化条件データを暗号化した場合の暗号化の条件）が必要となるからである。少なくとも各ユーザ端末１００毎に暗号化条件データの暗号化の手法が同一なのであれば、復号化部２２５は、仮想貨幣暗号化データの復号化に先立って、暗号化された暗号化条件データを復号化して平文の暗号化条件データに戻し、その後、上述した場合と同様にその平文の暗号化条件データ（記番号データ）を利用することができる。
仮想貨幣暗号化データの復号化を行えた場合も行えなかった場合も、変形例２における以降の処理は、第１実施形態と変わらない。
【００８３】
なお、変形例２におけるユーザ端末１００における鍵生成部１２６と、決済装置２００における鍵生成部２２７とは、上述したようにいわゆるイベント同期によって同じ解（暗号化部１２５又は復号化部２２５で使用される鍵）を生成することとしていたが、これに限らず時間同期により同じ解を生成するようになっていても構わない。
その例について説明する。
まず、ユーザ端末１００における鍵生成部１２６について説明する。
鍵生成部１２６は、解を生成するときに、イベント同期が採用される場合と同じく、それが所持する初期解を用いる。初期解のデータは、例えば、２０桁の数字と小文字の英字混じりの文字列であるものとする。かかる初期解は、各ユーザ端末１００にユニークなものである。初期解は１つのこともあるが、この実施形態では５つとされる。鍵生成部１２６は、その５つの初期解のすべてを用いて解を生成する。
鍵生成部１２６は、それら初期解に対して演算を行うことにより、その時点、つまり、暗号化部１２５から解の生成の依頼を受けた時点における解を生成する。まず、演算が可能なように、初期解を数字のみに直す。初期解の中に、英字が含まれている場合には、それを２桁の数字に置き換える。置き換えの対象となる数字は、その英字のアルファベット中の順番である。例えば、「ａ」なら「０１」に、「ｂ」なら「０２」に、「ｚ」なら「２６」にそれぞれ置き換える。例えば、初期解が「５ａ６４５８ｐ６５５６ｆｆ４２７２１４９」というものだったとする。この場合、初期解を上述の約束にしたがって数字のみにすると、「５０１６４５８１６６５５６０６０６４２７２１４９」となる。数字のみにした場合の桁数は、初期解に含まれていた英字の数に応じて増えることになる。なお、（、）、！、＆、：等の記号をも解に含めたいのであれば、「（」に「２７」、「）」に「２８」、「！」に「２９」等の適当な数字の割当てを行うようにすればよい。
次に、数字に対して演算を行う。この演算の結果求められるのは、解の元となる数字の列である。その数字の列をＸとすると、Ｘは、その時点における西暦の年、月、日、時、分にしたがって以下のようにして求められる。以下の数式におけるＸ１、Ｘ２、Ｘ3、Ｘ4、Ｘ５はそれぞれ、５つの初期解を数字に直したものである。この実施形態で初期解を５つとしているのは、西暦の年、月、日、時、分という５つの要素にしたがって解を変化させることにしているからである。
Ｘ＝Ｘ１Ｐ＋Ｘ２Ｑ＋Ｘ3Ｒ＋Ｘ4Ｓ＋Ｘ５Ｔ
ここで、Ｐ＝西暦の年の下二桁の数字、Ｑ＝月の数字、Ｒ＝日の数字、Ｓ＝時の数字、Ｔ＝分の数字。このようにすることで、そのときの時刻に応じて異なる数列を得ることができる。なお、Ｐ〜Ｔのすべてにおいて、１を足す過程を加えているのは、Ｐ〜Ｔのすべてがたまたま０になった場合に最終的に得られる解Ｘが５になるが、そのような簡単な数字が頻出することを避けるためである。
なお、例えば、以下のような数式を用いれば、用いる初期解は１つで済む。
Ｘ＝Ｘ１ＰＸ１Ｑ＋Ｘ１ＲＸ１Ｓ＋Ｘ１Ｔ
上述の演算を行った結果、解の元となる数字の列Ｘが得られる。次いで、その数字の列の中の任意の２桁の中に０１〜２６という数字が含まれていたら、先ほどの英字から数字への置き換えの約束事とは逆の約束事にしたがい、それらをａ〜ｚの英字に置き換える。
このようにして得られた数字と小文字の英字混じりの文字列は、２０桁以上の桁数である。それが２０桁以上であるときには、その文字列の例えば前から２０文字を抜き出し、それを解とする。上述のようにして得られた数字と小文字の英字混じりの文字列がちょうど２０桁の場合には、それをそのまま解とする。また、上述のようにして得られた数字と小文字の英字混じりの文字列が２０桁よりも少ない場合には、何らかの決まり事に基いて桁数を増やす。例えば、その文字列の最初の数字又は英字に基いて何らかの数字又は文字を、桁数が２０桁に至るまでに、その文字列中に挿入するようにしてもよい。或いは、上述の数式におけるＰとＴとを入れ替えて演算を行って得られる数字の列に対して数字を英字に置き換える上述の過程を実行することによって新たな数字と小文字の英字混じりの文字列を生成して、それを元の数字と小文字の英字混じりの後に繋げるというような作業を、その桁数が少なくとも２０桁になるまで繰り返して、その前から２０文字を抜き出して解とする、というような方法も採用しうる。
いずれにせよ、これにより、その時点の日時に対応した解が生成される。
他方、時間同期が採用される場合における決済装置２００内の鍵生成部２２７も、各ユーザ端末１００内の鍵生成部１２６で実行される上記と同様の処理を実行できるようになっている。この場合の鍵生成部２２７も、イベント同期を採用する鍵生成部２２７と同様に、各ユーザ端末１００のユーザＩＤと紐付けて各ユーザ端末１００で使用される初期解を記録している。これを用いることにより、鍵生成部１２６で生成されるのと同じ解を、鍵生成部２２７でも生成することができるようになる。
ただし、それが可能とされるためには、これから復号化しようとしている仮想貨幣暗号化データがどのユーザ端末１００で暗号化されたかということと、その仮想貨幣暗号化データがいつ生成された鍵（解）を用いて暗号化されたのかということ、の２つを鍵生成部２２７が把握することが必要となる。そのため、イベント同期が採用される場合には、仮想貨幣データに含められる暗号化条件データとして、記番号に代えて時刻情報を用いることとする。ここで、時刻情報は、ユーザ端末１００の鍵生成部１２６で鍵が生成された日時を特定する情報である。かかる時刻情報は、例えば、ユーザ端末１００の主制御部１２１が、鍵生成部１２６から受取り、仮想貨幣データに含めたものである。
復号化部２２５は、鍵生成部２２７に鍵の生成を依頼するときに、その依頼とともに、仮想貨幣データに含まれていたユーザＩＤと、時刻情報とを鍵生成部２２７に送る。それら２つのデータを受取った鍵生成部２２７は、ユーザＩＤにより、これから復号化しようとしている仮想貨幣暗号化データがどのユーザ端末１００で暗号化されたかということを把握でき、また、時刻情報によりその仮想貨幣暗号化データがいつ生成された鍵（解）を用いて暗号化されたのかということを把握できることになる。
かくして、復号化部２２５は、暗号化部１２５で暗号化の処理を行う際に用いられたアルゴリズム及び鍵のセットと同じアルゴリズム及び鍵のセットを用いて復号化の処理を行うことができることになるから、仮想貨幣暗号化データを復号化することができるのである。
【００８４】
なお、変形例２の場合においても、復号化部２２５で実行される復号化の処理に、変形例１で述べた総当たり的なアプローチを採用することも可能である。その例を以下に述べる。なお、以下で述べる例は、イベント同期が採用された場合とする。
【００８５】
例えば、仮想貨幣データが仮想貨幣暗号化データそのものであり、仮想貨幣データには、ユーザＩＤも記番号情報も含まれていなかったとする。極端なことを言えば、復号化部２２５が受取った仮想貨幣データがそのような仮想貨幣データであったとしても、そのような仮想貨幣データに含まれている仮想貨幣暗号化データ（或いは仮想貨幣データそのものである仮想貨幣暗号化データ）を復号化部２２５は復号化することができる。
それは、イベント同期が採用される場合における復号化部２２５が、上述したように、すべてのユーザ端末１００の暗号化部１２５で暗号化の処理のために使用されるアルゴリズムを把握しており、且つすべてのユーザ端末１００における鍵生成部１２６で生成されることのある鍵の提供をその鍵生成部２２７から受けられるからである。そのような２つの条件が充足されているのであれば、１つのユーザ端末１００で用いられるアルゴリズムに対して、そのユーザ端末１００で用いられることのある鍵のすべて（例えば、常識的な範囲で、有限な個数）を組合せて復号化を試みる、という試みをすべてのユーザ端末１００で使用されるアルゴリズムと使用され得る鍵のすべてについて試みれば、いつかはその仮想貨幣暗号化データは復号化することができるはずである。
もっともこのような仮想貨幣暗号化データの復号化は、理論上は可能であるとはいえ、容易に理解できようが、復号化部２２５が試みるべき復号化の処理の回数が膨大になってしまう。
【００８６】
そのようなことを避けるためには、例えば、以下のような処理が可能である。例えば、ユーザ端末１００で生成される仮想貨幣データを、記番号を含まないものの、仮想貨幣暗号化データとユーザＩＤとを含むものとするのである。このような仮想貨幣データを生成する場合、主制御部１２１は、暗号化部１２５から受取った仮想貨幣暗号化データに、第１実施形態の場合と同様にユーザＩＤのみを付して仮想貨幣データとする。また、この場合における各ユーザ端末１００における暗号化部１２５は、上述の場合と同様に、元データを暗号化して仮想貨幣暗号化データに変換するための暗号化の処理を実行するたびに、鍵生成部１２６から提供される異なる鍵を用いる。
仮想貨幣データがこのようなものである場合においても、決済装置２００は、決済端末３００等からネットワーク４００を介して仮想貨幣データを受付ける。
決済装置２００が受付けた仮想貨幣データは、主制御部２２２から、復号化部２２５へと送られる。
ここで、復号化部２２５は、受取った仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化するために、鍵の生成の依頼を、仮想貨幣データに含まれていたユーザＩＤとともに鍵生成部２２７に送る。仮想貨幣データには記番号は含まれていないから、復号化部２２５は記番号データを鍵生成部２２７に送ることはない。
もっとも、上述したように、鍵生成部２２７は、各ユーザ端末１００内の鍵生成部１２６が有している解を生成するためのアルゴリズムと、各ユーザ端末１００内の鍵生成部１２６が有している解を生成するための初期解とを、各ユーザ端末１００のユーザＩＤと紐付けて記録していることにより、すべてのユーザ端末１００の鍵生成部１２６で生成され得るすべての鍵と同じ鍵を生成し得る。例えば鍵生成部２２７は、復号化部２２５から送られて来たユーザＩＤに対応するユーザ端末１００の鍵生成部１２６で生成され得る鍵を、多数（常識的な範囲で有限な個数、例えば１万個、或いは１０万個）生成し、生成した多数の鍵を復号化部２２５に送るようになっている。他方、復号化部２２５は、受取ったその多数の鍵と固定のアルゴリズムを用いて総当りで復号化を試みることで、そのうちの１つの鍵で復号化を行える。
このような総当り的な復号化の方法があり得る。
もっとも、この方法でも鍵の数は多数となる可能性がある。この方法を採用する場合に鍵生成部２２７で発生させるべき鍵の数は、発生させた鍵の中に、仮想貨幣データに含まれていたユーザＩＤで特定されるユーザ端末１００の鍵生成部１２６で発生させられた、或いは同ユーザ端末１００の暗号化部１２５でその仮想貨幣データに含まれていた仮想貨幣暗号化データを暗号化するために使用された鍵が含まれている蓋然性が略１００％となるだけの数としなければならない。この数が過大になると、上述の復号化の方法は実行するのに時間がかかることになる可能性がある。
【００８７】
そのようなことを防ぐには、例えば、図１６に示したように、機能ブロックの中に、過去データ記録部２２４Ａを設けるという手段を採用することができる。この場合の過去データ記録部２２４Ａには、上述した場合と同様に主制御部２２２がデータを書き込むが、この場合の過去データ記録部２２４Ａに書き込まれるデータは、上述の場合とは異なる次のようなデータである。
変形例２の総当り的なアプローチをその復号化部２２５で採用した決済装置２００は、第１実施形態の場合と同様にユーザ端末１００からユーザＩＤと、金額情報とを受取った場合、各ユーザＩＤ毎に、ユーザＩＤと金額情報とを受取った回数を、過去データ記録部２２４Ａに記録するようになっている。
他方、復号化部２２５から鍵を生成せよとの依頼をユーザＩＤとともに受付けた鍵生成部２２７は、過去データ記録部２２４Ａから、そのユーザＩＤと紐付けられた、決済装置２００にユーザＩＤが送られて来た回数を読み出し、その回数に相当する数の解を生成して、それを復号化部２２５に送るようになっている。つまり、過去データ記録部２２４Ａに記録された各ユーザＩＤに紐付けられた、そのユーザＩＤが決済装置２００に送られて来た回数は、鍵生成部２２７が生成すべき鍵の数の上限の個数を規定するものである。このような規定をかけたとしても、復号化部２２５は仮想貨幣暗号化データの復号化を行うことが可能である。というのは、変形例２の場合であっても、ユーザ端末１００は、仮想貨幣データを発行する場合には、それに先立って決済装置２００にユーザＩＤと、金額情報とを送らなくてはならないのであるから、その後に許可情報を受取ったユーザ端末１００内の鍵生成部１２６が生成した鍵の数が、決済装置２００がユーザＩＤと金額情報とを受取った回数を上回ることはないからである。つまり、ユーザ端末１００の暗号化部１２５で生成された鍵は必ず、決済装置２００の鍵生成部２２７で生成された鍵の中に含まれることになる。
【００８８】
復号化部２２５で総当り的なアプローチによって仮想貨幣暗号化データの復号化を試みる場合において必要な鍵の数を減らすための手法として、変形例２の後半で述べた仮想貨幣データに有効期間を設けるという手法を採用することも可能である。
変形例２で仮想貨幣データに有効期間を利用するための手法について説明する。
変形例２の決済システムで、変形例１で説明したような有効期間を仮想貨幣データに与える場合には、例えば、変形例１の場合と同様の工夫を、ユーザ端末１００及び決済装置２００と、仮想貨幣データに与えることが必要となる。
まず、有効期間を与えられる変形例２の仮想貨幣データには、変形例１の場合と同様に、仮想貨幣暗号化データに加えて、平文の時刻情報が付される。ここでは、変形例１の場合と同様に、仮想貨幣データには、ユーザＩＤと記番号は含まれていないものとする。時刻情報は、変形例１の場合と同様のものとすることができ、Ｓ９１３のユーザＩＤ及び金額情報の決済装置２００への送信を行った時刻を特定する情報であるとする。
ユーザ端末１００でそのような仮想貨幣データを生成する方法は、変形例１の場合と同様でよく、例えば、ユーザ端末１００における主制御部１２１が、暗号化部１２５から送られて来た仮想貨幣暗号化データに時刻情報を付す。
他方、決済装置２００の機能ブロックは、図１７で示されたような過去データ記録部２２４Ａを備えている。もっとも、かかる過去データ記録部２２４Ａに記録される内容は、図１６を用いて変形例２で説明した内容とは異なる。この過去データ記録部２２４Ａには主制御部２２２によって、変形例１で説明した内容が書き込まれる。即ち、過去の所定の時間、例えば過去１０分の間に、決済装置２００に対してユーザＩＤ及び金額情報を送って来たユーザ端末１００のユーザＩＤが過去データ記録部２２４Ａに更新されつつ記録されることになる。その記録の方法は、変形例１で説明した通りで良い。
この場合における変形例２の決済装置２００の復号化部２２５は、変形例１で仮想貨幣データに有効期間を設ける場合と同様に、主制御部２２２から仮想貨幣データを受取ったときに、まず、仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間（通常、この時間は、過去データ記録部２２４Ａに記録されているユーザＩＤが、記録されてから消去されるまでの時間間隔と等しくする。）が経過していないか否かを確認する。その結果、上記所定の時間が経過していなかった場合には、復号化部２２５はその復号化を試みる。他方、上記所定の時間が既に経過していた場合には、復号化部２２５は、その仮想貨幣データは有効期間外のものであるとして、それに含まれる仮想貨幣暗号化データの復号化を試みない。
仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間が経過していないか否かを確認した結果、上記所定の時間が経過していなかった場合、復号化部２２５は、過去データ記録部２２４Ａから、その時点で過去データ記録部２２４Ａに記録されているユーザＩＤをすべて読み出す。変形例１の場合には、ここで復号化部２２５が所持していたユーザＩＤのうち、過去データ記録部２２４Ａから読み出したすべてのユーザＩＤに紐付けられた鍵を用いて復号化部２２５は、仮想貨幣暗号化データの復号化を試みた。しかしながら、変形例２では、鍵は次々に変化するようにされているから、ここで復号化部２２５は鍵の生成を鍵生成部２２７に依頼する。復号化部２２５は、かかる依頼に、過去データ記録部２２４Ａから読み出したすべてのユーザＩＤを送る。
鍵生成部２２７は、これらすべてのユーザＩＤが割当てられたユーザ端末１００の暗号化部１２５でそれぞれ使用され得る鍵、或いはこれらすべてのユーザＩＤが割当てられたユーザ端末１００の鍵生成部１２６でそれぞれ生成され得る鍵を、常識的な数だけ生成して、それら鍵を復号化部２２５に送る。
受取ったこれら鍵のすべてを用いて総当りでの復号化を試みれば、復号化部２２５は、仮想貨幣暗号化データを暗号化することができるはずである。しかもこのときに試みるべき復号化の処理の回数は、ユーザＩＤの絞込を行わなかった場合よりも少なくなる。
【００８９】
ここで、復号化部２２５で試みるべき復号化の処理の回数を更に少なくするために以下のようにしてもよい。
上述したように、過去データ記録部２２４Ａには、過去の所定の時間の間に、決済装置２００に対してユーザＩＤ及び金額情報を送って来たユーザ端末１００のユーザＩＤが更新されつつ記録されたが、この場合には、変形例２における上述の過去データ記録部２２４Ａに記録された通りの内容、即ち各ユーザＩＤに紐付けられた、そのユーザＩＤが決済装置２００に送られて来た回数も記録される。
このような２種類のデータが記録された過去データ記録部２２４Ａを有する決済装置２００では、上述したように復号化部２２５からユーザＩＤとともに鍵の生成の依頼を受けた鍵生成部２２７が、復号化部２２５から受付けたユーザＩＤと紐付けられて過去データ記録部２２４Ａに記録されていた、そのユーザＩＤがユーザ端末１００から決済装置２００に送られてきた回数をも読み出す。そして、鍵生成部２２７は、復号化部２２５から送られて来た各ユーザＩＤのそれぞれについて、そのユーザＩＤで特定されるユーザ端末１００の鍵生成部１２６で生成される鍵を、そのユーザＩＤがユーザ端末１００から決済装置２００に送られてきた回数と同数だけ生成して、それを復号化部２２５に送る。
これによれば、復号化部２２５が鍵生成部２２７から受取る鍵の数は上述の場合よりも更に少なくなるが、それにもかかわらず、復号化部２２５は仮想貨幣暗号化データの復号化を行えるはずである。
【００９０】
≪第２実施形態≫
第２実施形態による決済システムは、第１実施形態による決済システムと殆ど同じである。特に、ユーザ端末１００と、決済端末３００との構成、及びそこで実行される処理は、第１実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第１実施形態と同じである。
主に異なるのは、決済装置２００の構成、及びそこで実行される処理である。とはいえ、第２実施形態の決済装置２００の構成、及びそこで実行される処理の大半は、第１実施形態の場合と同じである。
端的に言うと、第１実施形態の決済装置２００は、決済端末３００等から仮想貨幣データを受取った場合に、それに含まれる仮想貨幣暗号化データの復号化を試み、その仮想貨幣暗号化データを復号化できたという事実により、その仮想貨幣暗号化データ又は仮想貨幣データの真正性を確認するものとなっていたのに対して、第２実施形態の決済装置２００は、決済端末３００等から仮想貨幣データを受取った場合に、その復号化を試みないようになっている。
以下に言及しない点は、第１実施形態と同じである。
【００９１】
上述したように、第２実施形態ではユーザ端末１００、及び決済端末３００の構成、及びそれらが実行する処理は第１実施形態と変わらない。第２実施形態における仮想貨幣データは、第１実施形態の場合と同様に、仮想貨幣暗号化データにユーザＩＤを付したものである。
【００９２】
第２実施形態の決済装置２００の構成、及びそこで実行される処理について説明する。
第２実施形態の決済装置２００のハードウェア的な構成は、第１実施形態と同じである。第２実施形態の決済装置２００の内部には、第１実施形態の場合と同様に機能ブロックが生成される。第２実施形態の決済装置２００の内部に生成される機能ブロックを図１８に示す。第２実施形態の機能ブロックには、第１実施形態のときに存在した復号化部２２５が存在せず、その代わりに暗号化部２２８と、第１記録部２２４Ｃが存在する。
【００９３】
第２実施形態の主制御部２２２も第１実施形態の場合と同様、制御部２２０内の全体的な制御を行う。第１実施形態の場合と同様、第２実施形態における主制御部２２２も、与信判定の処理と決済の処理とを実行するようになっている。
ただし、第１実施形態の場合には、決済装置２００が決済端末３００等から決済を求める仮想貨幣データを受付けたとき、主制御部２２２は、その仮想貨幣データを復号化部２２５に送ることにより復号化部２２５に仮想貨幣データに含まれていた仮想貨幣暗号化データの復号化を行わせたが、第２実施形態の主制御部２２２は、決済装置２００が決済端末３００等から決済を求める仮想貨幣データを受付けたとき、仮想貨幣データ（場合によってはそれに含まれる仮想貨幣暗号化データのみ）を決済判定部２２６に送る他、暗号化部２２８に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザＩＤとともに送るようになっている。
第２実施形態の主制御部２２２が与信判定を行うのは、第１実施形態の場合と同様、主制御部２２２が、データ入出力部２２１から、金額情報を受取った場合である。この場合に主制御部２２２が、信用情報記録部２２４Ｂに記録されているデータを利用するのも第１実施形態と同様である。第２実施形態の信用情報記録部２２４Ｂに記録されているデータも、第１実施形態と変わらない。また、主制御部２２２が与信判定を行った後に行う処理も、第１実施形態と第２実施形態とで変わりがない。
第１実施形態の場合と同様に、第２実施形態の主制御部２２２も、決済判定部２２６から、最終判定データを受取る場合がある。最終判定データを受取った後に主制御部２２２が実行する処理は、最終判定データが肯定的であろうと否定的であろうと、第１実施形態と第２実施形態とで変わりがない。
また、第２実施形態の主制御部２２２は、第１実施形態の主制御部２２２が持たない元データを生成する機能を有している。かかる元データは、ユーザ端末１００が決済装置２００に許可情報の発行を求めて送ってきて、送受信部、データ入出力部２２１を介して主制御部２２２に送られてくる、ユーザＩＤ及び金額情報に基いて生成される。主制御部２２２が生成する元データは、ユーザ端末１００で生成される元データと同じものとなるようになっているが、主制御部２２２において実行される元データの生成の過程がどのようなものであるかは後述することとする。なお、以後において、主制御部２２２で生成される元データを、ユーザ端末１００で生成される元データと区別するために、確認用元データと称することにする。主制御部２２２は、生成した確認用元データを、第１記録部２２４Ｃに記録するようになっている。第１記録部２２４Ｃは、主制御部２２２に書き込まれた多数の確認用元データを記録する記録手段である。
【００９４】
暗号化部２２８は、上述したように、主制御部２２２から、暗号化をせよとの指示をユーザＩＤとともに受取る場合がある。
かかる指示を受取った場合、暗号化部２２８は第１記録部２２４Ｃから確認用元データを読み出して、それを暗号化するようになっている。暗号化部２２８が確認用元データを暗号化することによって生成されるのが、確認用暗号化データである。確認用暗号化データは、ユーザ端末１００の暗号化部１２５で元データを暗号化して生成される仮想貨幣暗号化データと同じものとなるようになっている。
暗号化部２２８が第１記録部２２４Ｃに記録されている多数の確認用元データのうちのどれを読み出すか、また、暗号化部２２８が第１記録部２２４Ｃから読み出した確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部２２８は、生成した確認用暗号化データを決済判定部２２６に送るようになっている。
【００９５】
決済判定部２２６には、上述したように、主制御部２２２から仮想貨幣データ（又はそれに含まれていた仮想貨幣暗号化データ）が、暗号化部２２８から少なくとも１つの確認用暗号化データが、それぞれ送られてくる。これらを受取った場合、決済判定部２２６は、決済を認めて良いか否かについての判定である決済判定を行う。その結果、決済判定部２２６は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。
かかる決済判定の過程は、第１実施形態と第２実施形態とで異なる。第２実施形態の決済判定部２２６が最終判定データをどのようにして生成するかについては後述するものとする。
いずれにせよ、最終判定データを生成したら、決済判定部２２６はそれを主制御部２２２に対して送るようになっている。
【００９６】
次に第２実施形態における決済システムの使用方法、及び動作について図１９を参照しながら説明する。
【００９７】
第２実施形態でも、第１実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行うとともに、各決済端末３００において、決済端末ＩＤの設定を行う。
以後、ユーザ端末１００で実行されるＳ９１１〜Ｓ９１８の処理は、第１実施形態と同一であり、決済端末３００で実行されるＳ９３１〜Ｓ９３４の処理も第１実施形態と同一である。また、決済装置２００で実行されるＳ９２１〜Ｓ９２３までの処理と、Ｓ９２４、Ｓ９２７の処理も第１実施形態と同一である。
以下、それら処理も含めて説明する。
【００９８】
第２実施形態でも、まず、仮想貨幣データが生成される。
第２実施形態でも、第１実施形態の場合と同様に、これには限られないが、仮想貨幣データの生成は、開始情報をユーザが自らのユーザ端末１００に入力することから始まる（Ｓ９１１）。
開始情報は第１実施形態の場合と同様に主制御部１２１に送られる。主制御部１２１は、これを契機に表示制御部１２２を制御する。それによりディスプレイ１０１に、例えば、図１０（Ａ）の如き、ユーザに対して、ユーザＩＤと、金額情報の入力を促す画像を表示する。ユーザは、ユーザＩＤと金額情報とをそれぞれ入力する（Ｓ９１２）。ユーザＩＤと金額情報とについてのデータは、データ入出力部１２３に入力され、主制御部１２１に送られる。
ユーザＩＤと金額情報の入力が終わったら、ユーザは、ディスプレイ１０１に表示された「決定」と書かれたボタンをクリックする。
「決定」と書かれたボタンをユーザがクリックすると、ユーザＩＤと金額情報とが、データ入出力部１２３から主制御部１２１に送られる。ユーザＩＤと金額情報は、送受信部からネットワーク４００を介して、決済装置２００に送られる（Ｓ９１３）。
【００９９】
決済装置２００は、その送受信部でユーザＩＤと金額情報とを受取る（Ｓ９２１）。送受信部はそれらユーザＩＤと金額情報とをデータ入出力部２２１に送り、データ入出力部２２１はそのデータを主制御部２２２に送る。
主制御部２２２は、与信判定を行う（Ｓ９２２）。かかる与信判定の処理は第１実施形態と第２実施形態で変わりがない。主制御部２２２は、与信判定を行う場合、信用情報記録部２２４Ｂに記録されているデータを用いる。
いずれにせよ、主制御部２２２は、ユーザの与信が認められた場合には、許可情報を生成する。許可情報は、ネットワーク４００を介してユーザ端末１００に送られる（Ｓ９２３）。
【０１００】
ユーザ端末１００は、その送受信部で許可情報を受取る（Ｓ９１４）。
許可情報を受取るとユーザ端末１００の主制御部１２１は、先に受け取っていたユーザＩＤと金額情報とに基いて元データを生成する（Ｓ９１５）。この元データは、第１実施形態の場合と同様に暗号化部１２５に送られ、それを受取った暗号化部１２５は、元データを暗号化して仮想貨幣暗号化データとする（Ｓ９１６）。なお、第２実施形態でも、第１実施形態の場合と同様に、各ユーザ端末１００の暗号化部１２５で実行される暗号化の方法は、固定された１つの方法である。また、そして、主制御部１２１は、かかる仮想貨幣暗号化データに基いて仮想貨幣データを生成する（Ｓ９１７）。
このように、ユーザ端末１００では、許可情報を決済装置２００から受取ると、それを契機に仮想貨幣データが生成乃至発行される。他方、第２実施形態では、それと並行して、上述した確認用元データの生成が行われる。
【０１０１】
上述したように、Ｓ９２１で、決済装置２００は、ユーザ端末１００からユーザＩＤ及び金額情報を受取る。ユーザＩＤと金額情報とは、主制御部２２２によって受け取られる。これらに基づき、主制御部２２２は、確認用元データを生成し、それを第１記録部２２４Ｃに記録する（Ｓ９２３Ａ）。ここで、確認用元データは、確認用元データの元となるユーザＩＤ及び金額情報を送って来たユーザ端末１００で、当該ユーザＩＤ及び金額情報に基いて生成された許可情報を受取ったユーザ端末１００の主制御部１２１が生成する元データと同じものとなるようにする。
上述したように、ユーザ端末１００の主制御部１２１が生成する元データは、ユーザＩＤと金額情報とを単に組合せたものである。決済装置２００は、ユーザ端末１００からユーザＩＤ及び金額情報を送られているのであるから、その主制御部２２２は、それらを組合せることにより、ユーザ端末１００で生成される元データと同一の確認用元データを生成することができる。
もっとも、第１実施形態で説明したように、ユーザ端末１００で生成される元データは、ユーザＩＤと金額情報以外の情報、例えば、時刻情報、位置情報、ユーザの属性に関する情報等を元データに含むものである場合もある。そのような場合でも、主制御部２２２で生成される確認用元データはユーザ端末１００で生成される元データと同一でなければならない。例えば、ユーザの属性に関する情報であれば、ユーザがその情報を予め決済装置２００にユーザＩＤと紐付けて登録しておく等しておけば、決済装置２００の主制御部２２２は、確認用元データを生成する場合に改めてその情報の提供をユーザ端末１００から受けなくても、ユーザ端末１００の主制御部１２１で生成される元データと同一の確認用元データを生成することができる。他方、時刻情報は、厳密さを問わなければ、決済装置２００がユーザ端末１００から送られてきたユーザＩＤ及び金額情報を受取った日時を決済装置２００でそのまま流用することが可能である。しかしながら、ユーザが開始情報を入力したときのユーザ端末１００の位置を特定する、ユーザ端末１００のＧＰＳ等で生成される位置情報については、決済装置２００の主制御部２２２は、確認用元データを生成する場合にその情報の提供をユーザ端末１００から受けなければ、ユーザ端末１００の主制御部１２１で生成される元データと同一の確認用元データを生成することができない。したがって、このような場合には、決済装置２００は、ユーザ端末１００から、ユーザ端末１００の主制御部１２１が生成する元データと同じ確認用元データを生成するための情報の提供をユーザ端末１００から受けなければならないこととなる。
なお、この実施形態では、後述するように暗号化部１２５で実行される暗号化の方法が固定された１通りなのであるから、元データがユーザＩＤと金額情報としか含まない場合には、同一のユーザ端末１００で生成される仮想貨幣データに含まれる仮想貨幣暗号化データのうち、仮想貨幣暗号化データの元となった元データに含まれる金額情報が同一のものは、同一のものとなってしまう。これを嫌うのであれば、同一のユーザ端末１００で多数生成される各元データをそれぞれユニークなものとするべきである。例えば、ここまでで述べたどの例によっても構わないが時刻情報を元データに含めるとか、或いは変形例２で述べた記番号を元データに含めれば、暗号化部１２５で実行される暗号化の方法が常に同一であっても、各仮想貨幣暗号化データは異なるものとなる。記番号である数字が上述のようなものであれば、決済装置２００は、同一のユーザ端末１００から許可情報の発行を求めてユーザＩＤ及び金額情報が何回送られてきたかを、各ユーザ端末１００毎に、例えば各ユーザ端末１００のユーザＩＤと紐付けてカウントしていれば、ユーザ端末１００で生成される記番号と同じ記番号を、生成することができる。ただし、決済装置２００が許可情報を生成しなかった場合には、後にユーザ端末１００で仮想貨幣データの生成がされない。そのような場合には、ユーザ端末１００で生成される仮想貨幣データの数と、決済装置２００がそのユーザ端末１００からユーザＩＤ及び金額情報を受取った回数とが異なるものとなり、そうなると、ユーザ端末１００における記番号と、決済装置２００における記番号にずれが生じる。そこで、決済装置２００では、それらを受付けたにも関わらず許可情報を生成しなかったユーザＩＤ及び金額情報については、上述のカウントを行わないようにすればよい。
以上のような取決めがユーザ端末１００と決済装置２００との間で予めなされており、そのような取決めに従った処理がユーザ端末１００と、決済装置２００との間で実行される。なお、ユーザ端末１００から決済装置２００への、ユーザ端末１００の主制御部１２１が生成する元データと同じ確認用元データを決済装置２００の主制御部２２２が生成できるようにするための情報の提供は、ユーザ端末１００から決済装置２００へのユーザＩＤ及び金額情報の送信についてのＳ９１３と同時のタイミングから、決済装置２００で確認用元データが生成される直前のタイミングまでのいずれかのタイミングで行われれば良い。
いずれにせよ、第１記録部２２４Ｃには確認用元データが記録される。第１記録部２２４Ｃに記録される確認用元データは多数であり、それらはそれぞれ、多数のユーザ端末１００でそれぞれ生成される多数の元データと同じものとなる。
【０１０２】
仮想貨幣データが発行されたら、ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末３００に対して、ユーザ端末１００から仮想貨幣データを引き渡す（Ｓ９１８）。
決済端末３００は、ユーザ端末１００から仮想貨幣データを受領する（Ｓ９３１）。
仮想貨幣データは、決済端末ＩＤとともに、決済端末３００からネットワーク４００を介して決済装置２００に送られる（Ｓ９３２）。
【０１０３】
決済装置２００は、その送受信部で、決済端末ＩＤのデータと仮想貨幣データとを受取る（Ｓ９２４）。決済端末ＩＤの付された仮想貨幣データは、第１実施形態と同様に主制御部２２２に送られる。
それらを受取った主制御部２２２は、決済端末ＩＤのデータと仮想貨幣データ（場合によっては、仮想貨幣データに含まれていた仮想貨幣暗号化データ）とを決済判定部２２６へと送り、他方、仮想貨幣データに含まれていたユーザＩＤを暗号化を行えという指示とともに暗号化部２２８へと送る。
【０１０４】
仮想貨幣データに含まれていたユーザＩＤとともに暗号化を行なえという指示を受取った暗号化部２２８は、確認用元データを暗号化する処理を実行して確認用元データから確認用暗号化データを生成する（Ｓ９２５Ａ）。
このとき、暗号化部２２８は、暗号化を行う対象としての確認用元データを第１記録部２２４Ｃから読み出す。確認用元データは、上述のようにユーザＩＤを含んでいる。第１記録部２２４Ｃから読み出される確認用元データは、主制御部２２２から送られてきたユーザＩＤを含んでいる確認用元データである。なお、第１記録部２２４Ｃに、もし暗号化部２２８が主制御部２２２から受取ったユーザＩＤを含む確認用元データが複数存在する場合には、その複数の確認用元データのすべてを暗号化部２２８は読み出す。
そして、暗号化部２２８は、第１記録部２２４Ｃから読み出した確認用元データを、それが１つの場合にはそれを、複数の場合にはそれらのすべてを暗号化する。
この場合における暗号化の処理は、決済を求めて決済端末３００から送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データがユーザ端末１００の暗号化部１２５で暗号化されたときに用いられたのと同じ方法とされる。第１実施形態の復号化部２２５がそうであったように、暗号化部２２８は、すべてのユーザ端末１００の暗号化部１２５で暗号化の処理が実行されるときに共通して用いられる暗号化の処理のためのアルゴリズムを保持している。暗号化部２２８は、また、各ユーザ端末１００の暗号化部１２５で暗号化の処理が実行されるときに各暗号化部１２５でそれぞれ用いられるユニークな鍵を、各ユーザ端末１００のユーザＩＤと紐付けて保持している。暗号化部２２８は、確認用元データの暗号化を行う場合、暗号化の処理のための上述のアルゴリズムと、主制御部２２２から送られてきたユーザＩＤと同じユーザＩＤと紐付けられていた暗号化部２２８が保持していた鍵と、を用いて暗号化の処理を実行する。
その結果、確認用元データは暗号化され、確認用暗号化データに変換されることになる。生成された確認用暗号化データは、それが複数の場合はすべて、暗号化部２２８から決済判定部２２６に送られる。
【０１０５】
決済判定部２２６は、主制御部２２２から仮想貨幣暗号化データ（又はそれに含まれていた仮想貨幣暗号化データ）を、暗号化部２２８から少なくとも１つの確認用暗号化データを、それぞれ受取る。
それらを受取った決済判定部２２６は、決済判定を実行する（Ｓ９２６）。仮想貨幣暗号化データの真正性の判定を行うという目的自体は第１実施形態と変わりないが、第２実施形態で実行されるその判定の方法は、第１実施形態の場合と異なる。
決済判定部２２６は、主制御部２２２から仮想貨幣データを受取った場合にはそれから仮想貨幣暗号化データを取出し、その仮想貨幣暗号化データと、決済判定部２２６から受取った少なくとも１つの確認用暗号化データとを、比較する。その結果、確認用暗号化データのうちの少なくとも１つが仮想貨幣暗号化データと一致した場合には、当該仮想貨幣暗号化データは真正なものであると判定する。逆に、確認用暗号化データのすべてが仮想貨幣暗号化データと一致しなかった場合には、その仮想貨幣暗号化データは真正なものでないと判定する。なお、上述したように決済判定部２２６で確認用暗号化データとの同一性を判定される対象は、仮想貨幣データそのものではなく仮想貨幣暗号化データである。したがって、主制御部２２２から決済判定部２２６に送られるのは仮想貨幣データそのものではなく、仮想貨幣暗号化データであっても構わない。
このような方法で仮想貨幣暗号化データの真正性の判定を行えるのは、次のような理屈による。ユーザ端末１００で生成される仮想貨幣暗号化データは、元データを暗号化部１２５で暗号化することによって生成される。他方、決済装置２００で生成される確認用暗号化データは、確認用元データを暗号化部２２８で暗号化することによって生成される。ここで、元データと確認用元データとは上述したように同じものであり、また、ユーザ端末１００の暗号化部１２５で実行される暗号化の方法と、暗号化部２２８で実行される暗号化の方法とは、上述したように、ユーザＩＤを利用して同じものとなるように制御されている。つまり、同じものから同じ方法で生成された仮想貨幣暗号化データと、確認用暗号化データとは同じものとなるはずである。もっとも、ユーザ端末１００で生成された仮想貨幣データが複数存在する場合もありうる。しかしその場合であっても、決済装置２００の第１記録部２２４Ｃに記録されている確認用元データは、すべてのユーザ端末１００で生成されたすべての仮想貨幣データに暗号化された仮想貨幣暗号化データの形で含まれている元データに対応したものであり、また、暗号化部２２８で暗号化を行うために第１記録部２２４Ｃから読み出された確認用暗号化データは、決済端末３００から送られてきた仮想貨幣データに含まれていたユーザＩＤに対応したユーザ端末１００で発行されたもののすべてなのであるから、第１記録部２２４Ｃから読み出された確認用元データのすべてを暗号化部２２８で正しい方法により暗号化すれば、その結果生成される確認用暗号化データのうちの少なくとも１つは、仮想貨幣暗号化データに改竄等がない限り、仮想貨幣暗号化データと一致するはずである。
要するに、同じデータに基いて同じ暗号化の手法を行うことにより同じデータを得られる、或いは再現できるということは、暗号化されたデータを復号化できたということと同等とみなすことができる。第２実施形態の決済判定部２２６は、このような理屈により、仮想貨幣暗号化データの正当性を判定するのである。このように、第１実施形態では事実上復号化部２２５で行われていた仮想貨幣暗号化データの真正性の判定は、第２実施形態では、決済判定部２２６で実行される。
なお、第１実施形態で行われていたユーザＩＤの一致等による更なる判定の基準を第２実施形態の決済判定でも採用することは自由である。
第２実施形態でも、第１実施形態の場合と同様に、仮想貨幣暗号化データが真正であると決済判定部２２６が判定した場合には、決済判定部２２６は金額情報によって特定されている金額の支払いを認めるという肯定的な情報を示す最終判定データを生成し、そう判定されなかった場合には、決済判定部２２６は、金額情報によって特定されている金額の支払いを認めないという否定的な情報を示す最終判定データを生成する。
いずれにせよ、生成された最終判定データは、決済判定部２２６から主制御部２２２に送られる。
【０１０６】
主制御部２２２は、最終判定データを受取り第１実施形態と同様に決済処理を行う。また、第１実施形態の場合と同様に、決済装置２００では判定結果データを生成し、判定結果データを、ネットワーク４００を介して決済端末３００に送信する（Ｓ９２７）。
【０１０７】
判定結果データは、決済端末３００の送受信部によって受取られる（Ｓ９３３）。その結果、決済端末３００のディスプレイには、判定結果データに応じた表示が行われる（Ｓ９３４）。
以上により第２実施形態による、仮想貨幣データを使用しての、ユーザから決済端末３００の管理者への支払いの処理が終了する。
【０１０８】
なお、以上で説明を省略したが、決済判定部２２６で、確認用暗号化データと同じものであると判定された元データを、第１記録部２２４Ｃから削除することが可能である。これは、決済判定部２２６で、確認用暗号化データと同じものであると判定された元データがどれかということを、決済判定部２２６が主制御部２２２に通知し、更にかかる通知を受けた主制御部２２２が、かかる通知により特定される確認用元データを第１記録部２２４Ｃから削除することにより実現可能である。各仮想貨幣データは、決済装置２００で１度しか決済の対象とならないものであるから、決済の対象となった仮想貨幣データに対応する確認用元データは、二度と使用されることはない。そのような不要となった確認用元データを削除するというのが、上述の処理の目的である。別の言葉で言うと、かかる処理は、一度支払に使用された仮想貨幣データ或いは確認用元データが二重に使用されることを防止するということを目的とする。
【０１０９】
なお、上述の処理では、決済判定部２２６で実行される仮想貨幣暗号化データの真正性の判定では、１つの仮想貨幣暗号化データと、１つ或いは複数の確認用暗号化データの対比が必要であった。これは、変形例１、２で述べた総当り的な復号化の処理と同様の性格を持つものであるが、決済判定部２２６で行われる真正性の判定を、１つの仮想貨幣暗号化データと、１つの確認用暗号化データの一対一の対比により行うことも可能である。
それは、ユーザ端末１００で生成される仮想貨幣データに第２実施形態内で既に述べた記番号を含めることにより実現可能である。この場合の仮想貨幣データは例えば、ユーザＩＤと、記番号と、仮想貨幣暗号化データとを含んだものとする。記番号は、平文であるものとするが、変形例２で述べたように、すべてのユーザ端末１００で同一の方法で暗号化されていてもよい。
このような仮想貨幣データを用いる場合、第１記録部２２４Ｃに記録されるデータは、確認用元データのみではなく、確認用元データと、その確認用元データに対応する記番号を紐付けたものとする。上述したように主制御部２２２は記番号を生成可能なのであるから、主制御部２２２はこのような情報を第１記録部２２４Ｃに記録することができる。
また、このような仮想貨幣データを用いる場合、決済装置２００に決済端末３００等から仮想貨幣データが送られて来た場合、主制御部２２２は、暗号化部２２８に暗号化をせよとの指示とともに、ユーザＩＤのみならず、記番号をも送る。これを受取った暗号化部２２８は、主制御部２２２から受取ったユーザＩＤと同じユーザＩＤを確認用元データの中に含み、且つ主制御部２２２から受取った記番号と紐付けられている確認用元データを、第１記録部２２４Ｃから読み出す。
このような条件を満たす確認用元データは１つだけであるから、結果として暗号化部２２８では、その１つの確認用元データから、１つの確認用暗号化データが生成されることになる。
かかる１つの確認用元データが暗号化部２２８から決済判定部２２６に送られることにより、決済判定部２２６では、仮想貨幣暗号化データの真正性の判定のために、１つの仮想貨幣暗号化データと１つの確認用暗号化データとの対比が行われることとなる。
【０１１０】
＜変形例３＞
第１実施形態と第２実施形態との相違は、つまるところ、第１実施形態では、仮想貨幣暗号化データを復号化できたかということにより仮想貨幣暗号化データの真正性を判定したのに対して、第２実施形態では元データから生成された仮想貨幣暗号化データと同じ確認用暗号化データを、元データと同じ確認用元データからから再現できたかということにより仮想貨幣暗号化データの真正性を判定するようになっている、ということである。
つまり、多少正確性を欠くかもしれないが大雑把に言えば、第２実施形態における決済システムと第１実施形態における決済システムの違いは、第１実施形態における決済装置２００に含まれる復号化部２２５の機能を、第２実施形態における決済装置２００では、暗号化部２２８、第１記録部２２４Ｃ及び決済判定部２２６の機能に置き換えた、ということに尽きる。
そして、第１実施形態では、固定の復号化の方法を実行するようになっていた復号化部２２５は、変形例２で述べたように、ユーザ端末１００の暗号化部１２５でなされる暗号化の方法の所定のタイミングでの変更に対応して（同期させて）、そこで実行される復号化の方法を変更するように変形することが可能であった。同様に、第２実施形態の暗号化部２２８、第１記録部２２４Ｃ及び決済判定部２２６によって実行される復号化の方法も、ユーザ端末１００の暗号化部１２５でなされる暗号化の方法の所定のタイミングでの変更に対応して（同期させて）変更するようにすることが可能である。
変形例３は、そのようなものである。
【０１１１】
変形例３による決済システムは、変形例２による決済システムと殆ど同じである。特に、ユーザ端末１００及び決済端末３００の構成と、そこで実行される処理とは、変形例２におけるそれらと変わるところがない。変形例２の場合と同様に、ユーザ端末１００無いに生成される機能ブロックは、図１４に示されたようなものであり、鍵生成部１２６を含んでいる。
また、変形例３における、仮想貨幣データのデータ構造は、変形例２の場合と同様であり、その仮想貨幣データは、第１実施形態の場合と同じ、仮想貨幣暗号化データ、及びユーザＩＤと、第１実施形態の仮想貨幣データには含まれていなかった本願発明における暗号化条件データと、を含んでいる。暗号化条件データは、これには限られないが変形例２の場合に説明した、記番号或いは記番号データであるものとする。
変形例３における決済システムの変形例２における決済システムとの違いは、上述したように、決済装置２００の違いであって、変形例２における決済装置２００に含まれる復号化部２２５の機能を、変形例３における決済装置２００では、暗号化部２２８、第１記録部２２４Ｃ及び決済判定部２２６の機能に置き換えた、ということである。大雑把にいえば、変形例３の決済システムは、変形例２のユーザ端末１００と、変形例２及び第２実施形態で共通する決済端末３００と、変形例２の決済装置２００及び第２実施形態の決済装置２００とを組合せた決済装置２００と、を組合せたものであると言える。
【０１１２】
以下、主に、変形例２と異なる変形例３の決済システムにおける決済装置２００の構成及びそこで行われる処理について説明する。
【０１１３】
変形例３の決済装置２００のハードウェア的な構成は、変形例２、及び第２実施形態と同じである。変形例３の決済装置２００の内部には、変形例２及び第２実施形態の場合と同様に機能ブロックが生成される。変形例３の決済装置２００内に生成される機能ブロックを図２０に示す。変形例２の機能ブロックのうち、変形例３には復号化部２２５が存在せず、また、変形例３における機能ブロックには、変形例２には存在しなかった、そして第２実施形態には存在していた、暗号化部２２８、及び第１記録部２２４Ｃが存在している。
【０１１４】
変形例３の主制御部２２２も第２実施形態の主制御部２２２の場合と同様、制御部２２０内の全体的な制御を行う。変形例２、第２実施形態の場合と同様、変形例３における主制御部２２２も、与信判定の処理と決済の処理とを実行するようになっている。
変形例３の主制御部２２２は、第２実施形態の場合と同様、決済装置２００が決済端末３００等から決済を求める仮想貨幣データを受付けたとき、仮想貨幣データ（場合によってはそれに含まれる仮想貨幣暗号化データのみ）を決済判定部２２６に送る他、暗号化部２２８に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザＩＤ、及び記番号とともに送るようになっている。
変形例３の主制御部２２２が与信判定を行うのは、変形例２、及び第２実施形態の場合と同様、主制御部２２２が、データ入出力部２２１から、金額情報を受取った場合である。この場合に主制御部２２２が、信用情報記録部２２４Ｂに記録されているデータを利用するのも変形例２、及び第２実施形態と同様である。変形例３の信用情報記録部２２４Ｂに記録されているデータも、変形例２、及び第２実施形態と変わらない。また、主制御部２２２が与信判定を行った後に行う処理も、変形例２、及び第２実施形態の場合と変わりがない。
変形例２、及び第２実施形態の場合と同様に、変形例３の主制御部２２２も、決済判定部２２６から、最終判定データを受取る場合がある。最終判定データを受取った後に主制御部２２２が実行する処理は、最終判定データが肯定的であろうと否定的であろうと、変形例２と変形例３とで変わりがない。
また、変形例３の主制御部２２２は、第２実施形態の場合と同様、確認用元データを生成する機能を有している。確認用元データの構造、及びその生成方法は第２実施形態と同様である。変形例３の主制御部２２２は、第２実施形態の場合と同様に、生成した確認用元データを、第１記録部２２４Ｃに記録するようになっている。ただし、変形例３において、第１記録部２２４Ｃに記録されるのは、第２実施形態の場合と異なり、元データ、及びそれに対応する記番号である。
【０１１５】
暗号化部２２８は、上述したように、主制御部２２２から、暗号化をせよとの指示をユーザＩＤとともに受取る場合がある。
かかる指示を受取った場合、暗号化部２２８は第１記録部２２４Ｃから確認用元データを読み出して、それを暗号化して確認用暗号化データとするようになっている。これ自体は第２実施形態と同じであるが、変形例３では、上述のように暗号化の方法を変更しなければならないので、その点で、暗号化の方法が第２実施形態の場合とは異なる。
暗号化部２２８は、暗号化の処理を変更させる場合に、アルゴリズム、鍵、或いはその双方の変更を行うことができるが、この実施形態ではこれには限られないが、変形例２の場合と同様に鍵を変更するようになっている。暗号化部２２８が暗号化の処理に用いる鍵は、変形例２の場合と同様に鍵生成部２２７から提供される。変形例２における鍵生成部２２７は、復号化部２２５に鍵を提供するものであったが、変形例３における鍵生成部２２７は、暗号化部２２８に鍵を提供するようになっている。鍵生成部２２７が鍵を生成するタイミングは、暗号化部２２８から鍵の生成の依頼を受けたときであるが、そのより具体的なタイミングについては後述することとする。
変形例３の暗号化部２２８が第１記録部２２４Ｃに記録されている多数の確認用元データのうちのどれを読み出すか、また、暗号化部２２８が第１記録部２２４Ｃから読み出した確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部２２８は、生成した確認用暗号化データを決済判定部２２６に送るようになっている。
【０１１６】
決済判定部２２６は、上述したように、決済判定を行う。決済判定部２２６で実行される処理は、第２実施形態と同様である。決済判定部２２６は、第２実施形態の場合と同じように最終判定データを生成し、それを主制御部２２２に対して送るようになっている。
【０１１７】
変形例３の決済システムの使用方法、及び動作について説明する。
変形例３の決済システムで実行される処理のうち、決済端末３００で実行されるＳ９３１〜Ｓ９３４の処理はすべて第２実施形態と同じである。また、変形例３の決済システムで実行される処理のうち、ユーザ端末１００で実行されるＳ９１１〜Ｓ９１８の処理のうちの、元データの暗号化による仮想貨幣暗号化データの生成についてのＳ９１６、及び仮想貨幣データの生成についてのＳ９１７以外の処理はすべて、第２実施形態と同じである。Ｓ９１６の処理で実行される暗号化の処理は、変形例２で行われる暗号化の処理と同様であり、Ｓ９１７の処理で生成される仮想貨幣データには上述したように記番号である暗号化条件データが含まれている、というのが、変形例３と第２実施形態との差分である。
【０１１８】
変形例３の決済システムでも、第２実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行うとともに、各決済端末３００において、決済端末ＩＤの設定を行う。以降の処理は、第２実施形態で実行された、図１９に示した処理に準ずる。
まず、ユーザ端末１００で、Ｓ９１１からＳ９１３の処理が実行され、決済装置２００で、Ｓ９２１〜Ｓ９２３の処理が実行される。変形例３におけるこれら処理はすべて第２実施形態と同じである。
他方、変形例３においては、決済装置２００で、確認用元データの生成及び確認用元データの第１記録部２２４Ｃへの記録（Ｓ９２３Ａ）が実行される。かかる処理は基本的に、第２実施形態の場合と同様である。この後ユーザ端末１００で生成される元データと同じ確認用元データが、第２実施形態の場合と同様にして生成される。生成された確認用元データは、主制御部２２２によって第１記録部２２４Ｃに記録されるが、第１記録部２２４Ｃに記録される確認用元データには、上述したように記番号が付される。かかる記番号は、第１記録部２２４Ｃに記録されるその記番号と紐付けられる確認用元データが、その確認用元データに含まれるユーザＩＤで特定されるユーザ端末１００から何度目に送られてきたか、という回数に対応する連番である。
【０１１９】
そして、ユーザ端末１００では、第２実施形態の場合と同じようにして、Ｓ９１５の処理が実行され、変形例２の場合と同じようにして、Ｓ９１６の元データの暗号化による仮想貨幣暗号化データの生成の処理が実行される。
Ｓ９１６の処理では、第２実施形態の場合と同様に、暗号化部１２５は、鍵生成部１２６に対して鍵の生成を依頼する。そうするとかかる依頼に応じて鍵生成部１２６が生成した鍵が暗号化部１２５に提供されるので、暗号化部１２５は、その鍵と固定のアルゴリズムとを用いて、元データを暗号化する。
その結果得られた仮想貨幣暗号化データは、暗号化部１２５から主制御部１２１に送られ、ユーザＩＤと記番号とが付されて、仮想貨幣データとなる（Ｓ９１７）。
この仮想貨幣データは、ユーザ端末１００から決済端末３００に引き渡される（Ｓ９１８）。そして、決済端末３００で、Ｓ９３１とＳ９３２の処理が実行され、決済装置２００がその仮想貨幣データを決済端末ＩＤとともに決済端末３００から受取る（Ｓ９２４）。
【０１２０】
決済装置２００において、仮想貨幣データは主制御部２２２に送られる。
主制御部２２２は、第２実施形態の場合と同様、その仮想貨幣データ（場合によってはそれに含まれる仮想貨幣暗号化データのみ、以下も同様である。）を決済判定部２２６に送る他、暗号化部２２８に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザＩＤ、及び記番号とともに送る。
かかる指示を受取った暗号化部２２８は、確認用元データを暗号化するべく、暗号化の処理の対象となる確認用元データを第１記録部２２４Ｃから読み出す。読み出される確認用元データは、第１記録部２２４Ｃに記録されている確認用元データのうち、暗号化部２２８が主制御部２２２から受取ったユーザＩＤを含んでおり、且つ暗号化部２２８が主制御部２２２から受取った記番号が付されたものである。かかる確認用元データは、１つだけである。
他方、暗号化部２２８は、鍵生成部２２７に鍵の生成を依頼する。暗号化部２２８は、鍵の生成を鍵生成部２２７に依頼するときに、かかる依頼と一緒に、仮想貨幣データに含まれていたユーザＩＤと、記番号とを鍵生成部２２７に送る。鍵生成部２２７は、受付けたユーザＩＤと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、変形例２の場合と同様に、そのユーザＩＤで特定されるユーザ端末１００で生成されるのと同じ解を生成する。復号化部２２５が、幾つ目までの解を連続して生成するかは、変形例２の場合と同様に、「記番号で特定される数字」番目までの解までである。鍵生成部２２７は、最後に生成した解を、復号化に用いる解として、鍵生成部２２７は、復号化部２２５に送る。なお、ここでは記番号を用いたイベント同期について説明したが、ユーザ端末１００の鍵生成部１２６と、決済装置２００の鍵生成部２２７とで同じ鍵を生成するために、時間同期を採用しても良い。そのためには、記番号ではなく、時刻情報が利用されることになろう。
暗号化部２２８は、第１記録部２２４Ｃから読み出した１つの確認用元データを、鍵生成部２２７から受取った１つの鍵と、固定のアルゴリズムとで暗号化する（Ｓ９２５Ａ）。
【０１２１】
そして、決済判定部２２６は、主制御部２２２から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、暗号化部２２８から受付けた確認用暗号化データとの一致をみることにより、第２実施形態の決済判定部２２６で実行されたのと同様の判定を行う（Ｓ９２６）。
その後、第２実施形態で説明した、決済装置２００で実行されるＳ９２７の処理、及び決済端末３００で実行されるＳ９３３、Ｓ９３４の処理が、変形例３でも実行される。
【０１２２】
なお、変形例３でも、総当り的なアプローチを採用することができる。その場合には、例えば、ユーザ端末１００で生成される仮想貨幣データには記番号が含まれない。
この場合、暗号化部２２８で実行される暗号化の処理の内容が、変形例３で述べた上述の場合と異なるものとなる。暗号化の処理を行えとの指示を主制御部２２２から受取った暗号化部２２８は、かかる指示とともに主制御部２２２からユーザＩＤを受け取っている。
かかる指示を受取った暗号化部１２５は、確認用元データを暗号化するべく、暗号化の処理の対象となる確認用元データを第１記録部２２４Ｃから読み出す。読み出される確認用元データは、第１記録部２２４Ｃに記録されている確認用元データのうち、暗号化部２２８が主制御部２２２から受取ったユーザＩＤを含んでいるものである。かかる確認用元データは、１つだけの場合もあるし複数である場合もある。
他方、暗号化部２２８は、鍵生成部２２７に鍵の生成を依頼する。暗号化部２２８は、鍵の生成を鍵生成部２２７に依頼するときに、かかる依頼と一緒に、仮想貨幣データに含まれていたユーザＩＤを鍵生成部２２７に送る。ここで、鍵生成部２２７は、受付けたユーザＩＤと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、多数の解を生成する。解の数は、それだけの解（鍵）があれば、そのうちのどれかがユーザ端末１００で、仮想貨幣暗号化データを生成する際に使われたものであるという確率が、事実上１００％とみなせるだけの多数である。鍵生成部２２７は、その多数の解（鍵）をすべて暗号化部２２８に送る。なお、ユーザ端末１００の鍵生成部１２６と、決済装置２００の鍵生成部２２７とで同じ鍵を生成するために、イベント同期を採用しても良いし、時間同期を採用しても良いが、鍵の数に着目するのであれば、時間同期の場合必要な鍵の数が膨大になる可能性がある。その場合には、後述するような仮想貨幣データの有効期間を利用することが必要となろう。
暗号化部２２８は、第１記録部２２４Ｃから読み出した１つ以上の確認用元データを、鍵生成部２２７から受取った多数の鍵と、固定のアルゴリズムとで暗号化する。かかる処理は、確認用元データが複数の場合には、各確認用元データのすべてについてそれぞれ実行される。
その結果、暗号化部２２８では、鍵生成部２２７が生成した鍵の数に暗号化部２２８が第１記録部２２４Ｃから読み出した確認用元データの数を乗じた数の、多数の確認用暗号化データが生成される。多数の確認用暗号化データはすべて、暗号化部２２８から決済判定部２２６へと送られる。
そして、決済判定部２２６は、主制御部２２２から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが、暗号化部２２８から受付けた多数の確認用暗号化データのうちの１つと一致するか否かにより、決済判定を行う。仮想貨幣暗号化データが、多数の確認用暗号化データのうちの１つと一致した場合には決済判定の結果は肯定的なものとなり、多数の確認用暗号化データのどれとも一致しなかった場合には決済判定の結果は否定的なものとなる。
なお、この場合にも、暗号化部２２８が実行する暗号化の処理の回数が余りにも多くなり過ぎるようであれば、変形例２で説明した、仮想貨幣データに有効期間を与えるというアプローチを変形例３に応用することが可能である。この場合には、変形例２で説明したのと同様の過去データ記録部２２４Ａを、決済装置２００の機能ブロック内に生成して、それを、タイムスタンプの如き時刻情報が含まれた仮想貨幣データとともに、変形例２で説明したのと同様の方法で利用することとすれば良い。
【０１２３】
≪第３実施形態≫
第３実施形態による決済システムは、第２実施形態による決済システムと殆ど同じである。特に、ユーザ端末１００と、決済端末３００との構成、及びそこで実行される処理は、第２実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第２実施形態と同じである。
主に異なるのは、決済装置２００の構成、及びそこで実行される処理である。とはいえ、第３実施形態の決済装置２００の構成、及びそこで実行される処理の大半は、第２実施形態の場合と同じである。
第２実施形態の決済装置２００と第３実施形態の決済装置２００とは、確認用元データを暗号化して生成された確認用暗号化データを決済判定に用いる、という点では共通する。しかしながら、第２実施形態の決済装置２００では、予め生成しておいた確認用元データを、その確認用元データと同じ元データから生成された仮想貨幣暗号化データを含む仮想貨幣データを決済端末３００等から受取ってから暗号化して確認用暗号化データにするようになっているのに対して、第３実施形態の決済装置２００では、生成した確認用元データを、その確認用元データと同じ元データから生成された仮想貨幣暗号化データを含む仮想貨幣データを決済端末３００等から受取る前に暗号化して確認用暗号化データとするという点で、第２実施形態の決済装置２００と第３実施形態の決済装置２００とは異なる。
【０１２４】
上述したように、第３実施形態ではユーザ端末１００、及び決済端末３００の構成、及びそれらが実行する処理は第１実施形態と変わらない。第３実施形態における仮想貨幣データは、第１実施形態の場合と同様に、仮想貨幣暗号化データにユーザＩＤを付したものである。
【０１２５】
以下、主に、第２実施形態と異なる第３実施形態の決済システムにおける決済装置２００の構成及びそこで行われる処理について説明する。
第３実施形態の決済装置２００のハードウェア的な構成は、第２実施形態と同じである。第３実施形態の決済装置２００の内部には、第２実施形態の場合と同様に機能ブロックが生成される。第３実施形態の決済装置２００の内部に生成される機能ブロックを図２１に示す。第３実施形態の決済装置２００における機能ブロックは、概ね第２実施形態におけるそれらと変わりないが、第２実施形態のときに存在した第１記録部２２４Ｃ５が存在せず、その代わりに第２記録部２２４Ｄが存在する。
【０１２６】
第３実施形態の主制御部２２２も第２実施形態の場合と同様、制御部２２０内の全体的な制御を行う。第２実施形態の場合と同様、第３実施形態における主制御部２２２も、与信判定の処理と決済の処理とを実行するようになっている。
ただし、第２実施形態の場合には、主制御部２２２は、決済装置２００が決済端末３００等から決済を求める仮想貨幣データを受付けた後、仮想貨幣データ（場合によってはそれに含まれる仮想貨幣暗号化データのみ）を決済判定部２２６に送る他、暗号化部２２８に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザＩＤとともに送るようになっていたが、第３実施形態の主制御部２２２は、決済装置２００が決済端末３００等から決済を求める仮想貨幣データを受付けた後に、仮想貨幣データ（場合によってはそれに含まれる仮想貨幣暗号化データのみ）を決済判定部２２６に送るようになっているものの、暗号化部２２８に暗号化をせよとの指示を送ることはない。第３実施形態の主制御部２２２が、暗号化をせよとの指示を暗号化部２２８に送るのは、決済装置２００が決済端末３００等から決済を求める仮想貨幣データを受付けるか否かとは無関係であり、例えば仮想貨幣データを受付ける前、これには限られないがこの実施形態では、主制御部２２２が許可情報を生成した直後のタイミングである。また、第３実施形態における主制御部２２２は、暗号化部２２８に暗号化をせよとの指示を送る場合、かかる指示とともに確認用元データをも暗号化部２２８に送るようになっている。
第３実施形態の主制御部２２２が与信判定を行うのは、第２実施形態の場合と同様、主制御部２２２が、データ入出力部２２１から、金額情報を受取った場合である。この場合に主制御部２２２が、信用情報記録部２２４Ｂに記録されているデータを利用するのも第２実施形態と同様である。第３実施形態の信用情報記録部２２４Ｂに記録されているデータも、第２実施形態と変わらない。また、主制御部２２２が与信判定を行った後に行う処理も、第２実施形態と第３実施形態とで変わりがない。
第２実施形態の場合と同様に、第３実施形態の主制御部２２２も、決済判定部２２６から、最終判定データを受取る場合がある。最終判定データを受取った後に主制御部２２２が実行する処理は、最終判定データが肯定的であろうと否定的であろうと、第２実施形態と第３実施形態とで変わりがない。
また、第３実施形態の主制御部２２２は、第２実施形態の主制御部２２２と同じく確認用元データを生成する機能を有している。第３実施形態の主制御部２２２が有するかかる機能は第２実施形態の場合と同じである。
【０１２７】
暗号化部２２８は、上述したように、主制御部２２２から、確認用元データを受取る場合がある。
かかる指示を受取った場合、暗号化部２２８は主制御部２２２から受取った確認用元データを暗号化するようになっている。暗号化部２２８が確認用元データを暗号化することによって生成されるのが、確認用暗号化データである。確認用暗号化データは、ユーザ端末１００の暗号化部１２５で元データを暗号化して生成される仮想貨幣暗号化データと同じものとなるようになっている。
暗号化部２２８が主制御部２２２から受取った確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部２２８は、生成した確認用暗号化データを第２記録部２２４Ｄに記録するようになっている。第２記録部２２４Ｄには、多数の確認用暗号化データが記録されることになる。
【０１２８】
決済判定部２２６には、上述したように、主制御部２２２から仮想貨幣データ（又はそれに含まれていた仮想貨幣暗号化データ）が送られてくることがある。これを受取った場合、決済判定部２２６は、決済判定を行う。その結果、決済判定部２２６は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。
かかる決済判定の過程は、第２実施形態と第３実施形態とで異なる。第３実施形態の決済判定部２２６が最終判定データをどのようにして生成するかについては後述するものとする。
いずれにせよ、最終判定データを生成したら、決済判定部２２６はそれを主制御部２２２に対して送るようになっている。
【０１２９】
次に第３実施形態における決済システムの使用方法、及び動作について図２２を参照しながら説明する。
【０１３０】
第３実施形態でも、第２実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行うとともに、各決済端末３００において、決済端末ＩＤの設定を行う。
以後、ユーザ端末１００で実行されるＳ９１１〜Ｓ９１８の処理は、第２実施形態と同一であり、決済端末３００で実行されるＳ９３１〜Ｓ９３４の処理も第２実施形態と同一である。また、決済装置２００で実行されるＳ９２１〜Ｓ９２３までの処理と、Ｓ９２４、Ｓ９２７の処理も第２実施形態と同一である。
以下、それら処理も含めて説明する。
【０１３１】
第３実施形態でも、まず、仮想貨幣データが生成される。
第３実施形態でも、第２実施形態の場合と同様に、これには限られないが、仮想貨幣データの生成は、開始情報をユーザが自らのユーザ端末１００に入力することから始まる（Ｓ９１１）。
ディスプレイ１０１の表示にしたがいユーザは、ユーザＩＤと金額情報とをそれぞれ入力する（Ｓ９１２）。次いで、ユーザＩＤと金額情報とが、データ入出力部１２３から主制御部１２１に送られる。ユーザＩＤと金額情報は、送受信部からネットワーク４００を介して、決済装置２００に送られる（Ｓ９１３）。
【０１３２】
決済装置２００は、その送受信部でユーザＩＤと金額情報とを受取る（Ｓ９２１）。送受信部はそれらユーザＩＤと金額情報とをデータ入出力部２２１に送り、データ入出力部２２１はそのデータを主制御部２２２に送る。
主制御部２２２は、与信判定を行う（Ｓ９２２）。かかる与信判定の処理は第２実施形態と第３実施形態で変わりがない。主制御部２２２は、与信判定を行う場合、信用情報記録部２２４Ｂに記録されているデータを用いる。
いずれにせよ、主制御部２２２は、ユーザの与信が認められた場合には、許可情報を生成する。許可情報は、ネットワーク４００を介してユーザ端末１００に送られる（Ｓ９２３）。
【０１３３】
ユーザ端末１００は、その送受信部で許可情報を受取る（Ｓ９１４）。
許可情報を受取るとユーザ端末１００の主制御部１２１は、先に受け取っていたユーザＩＤと金額情報とに基いて元データを生成する（Ｓ９１５）。この元データは、第２実施形態の場合と同様に暗号化部１２５に送られ、それを受取った暗号化部１２５は、元データを暗号化して仮想貨幣暗号化データとする（Ｓ９１６）。なお、第３実施形態でも、第２実施形態の場合と同様に、各ユーザ端末１００の暗号化部１２５で実行される暗号化の方法は、固定された１つの方法である。また、そして、主制御部１２１は、かかる仮想貨幣暗号化データに基いて仮想貨幣データを生成する（Ｓ９１７）。
このように、ユーザ端末１００では、許可情報を決済装置２００から受取ると、それを契機に仮想貨幣データが生成乃至発行される。他方、第３実施形態では、それと並行して、確認用元データの生成（Ｓ９２３Ｂ）と、確認用元データを暗号化することによる確認用暗号化データの生成及び第２記録部２２４Ｄへの記録（Ｓ９２３Ｃ）とが行われる。かかるＳ９２３Ｂと、Ｓ９２３Ｃの処理は、例えば、許可情報の送信についてのＳ９２３の処理の直後に行われる。
【０１３４】
上述したように、Ｓ９２１で、決済装置２００は、ユーザ端末１００からユーザＩＤ及び金額情報を受取る。ユーザＩＤと金額情報とは、主制御部２２２によって受け取られる。これらに基づき、主制御部２２２は、第２実施形態の場合と同じようにして確認用元データを生成する（Ｓ９２３Ｂ）。ここで、確認用元データは、確認用元データの元となるユーザＩＤ及び金額情報を送って来たユーザ端末１００で、当該ユーザＩＤ及び金額情報に基いて生成された許可情報を受取ったユーザ端末１００の主制御部１２１が生成する元データと同じものとなるようにする。
主制御部２２２は、生成した確認用元データを、暗号化をせよとの指示とともに暗号化部２２８へと送る。
【０１３５】
確認用元データとともに暗号化を行なえという指示を受取った暗号化部２２８は、確認用元データを暗号化する処理を実行して確認用元データから確認用暗号化データを生成する（Ｓ９２３Ｃ）。
確認用元データは、上述のようにユーザＩＤを含んでいる。他方、暗号化部２２８は、すべてのユーザ端末１００で使用される鍵を保持している。暗号化部２２８は、そのユーザＩＤで特定されるユーザ端末１００で使用される鍵と、固定の暗号化の処理のためのアルゴリズムを用いて、主制御部２２２から受取った確認用元データを暗号化する。
その結果、確認用元データは暗号化され、確認用暗号化データに変換されることになる。生成された確認用暗号化データを、暗号化部２２８は第２記録部２２４Ｄへと書き込む。
【０１３６】
他方、仮想貨幣データが発行されたら、ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末３００に対して、ユーザ端末１００から仮想貨幣データを引き渡す（Ｓ９１８）。
決済端末３００は、ユーザ端末１００から仮想貨幣データを受領する（Ｓ９３１）。
仮想貨幣データは、決済端末ＩＤとともに、決済端末３００からネットワーク４００を介して決済装置２００に送られる（Ｓ９３２）。
【０１３７】
決済装置２００は、その送受信部で、決済端末ＩＤのデータと仮想貨幣データとを受取る（Ｓ９２４）。決済端末ＩＤの付された仮想貨幣データは、第２実施形態と同様に主制御部２２２に送られる。
それらを受取った主制御部２２２は、決済端末ＩＤのデータと仮想貨幣データ（場合によっては、仮想貨幣データに含まれていた仮想貨幣暗号化データ）とを決済判定部２２６へと送る。
【０１３８】
決済判定部２２６は、主制御部２２２から仮想貨幣暗号化データ（又はそれに含まれていた仮想貨幣暗号化データ）を受取る。
それを受取った決済判定部２２６は、決済判定を実行する（Ｓ９２６）。仮想貨幣暗号化データの真正性の判定を行うという目的自体は第２実施形態と変わりないが、第３実施形態で実行されるその判定の方法は、第２実施形態の場合とやや異なる。
決済判定部２２６は、主制御部２２２から仮想貨幣データを受取った場合にはそれから仮想貨幣暗号化データを取出し、その仮想貨幣暗号化データと、第２記録部２２４Ｄに記録されている多数の確認用暗号化データと比較する。多数の確認用暗号化データの少なくとも１つと仮想貨幣暗号化データが一致した場合には、当該仮想貨幣暗号化データは真正なものであると判定する。逆に、確認用暗号化データのすべてが仮想貨幣暗号化データと一致しなかった場合には、その仮想貨幣暗号化データは真正なものでないと判定する。
このような方法で仮想貨幣暗号化データの真正性の判定を行えるのは、第２実施形態の場合と同様の理由による。繰り返しになるが、第２実施形態と第３実施形態とで異なるのは確認用元データを暗号化して確認用暗号化データにするタイミングのみであるから、確認用暗号化データを用いて仮想貨幣暗号化データの真正性の判定を行える第２実施形態で既に説明した理由により第３実施形態でも仮想貨幣暗号化データの真正性の判定が可能なのである。
第２実施形態の場合と同様にして生成された最終判定データは、決済判定部２２６から主制御部２２２に送られる。
【０１３９】
主制御部２２２は、最終判定データを受取り第２実施形態と同様に決済処理を行う。また、第２実施形態の場合と同様に、決済装置２００では判定結果データを生成し、判定結果データを、ネットワーク４００を介して決済端末３００に送信する（Ｓ９２７）。
【０１４０】
判定結果データは、決済端末３００の送受信部によって受取られる（Ｓ９３３）。その結果、決済端末３００のディスプレイには、判定結果データに応じた表示が行われる（Ｓ９３４）。
以上により第３実施形態による、仮想貨幣データを使用しての、ユーザから決済端末３００の管理者への支払いの処理が終了する。
【０１４１】
なお、以上の説明では、仮想貨幣データにはユーザＩＤが含まれているものとしていたが、かかるユーザＩＤは決済判定の実行に関するＳ９２６で使用されていない。つまり、第３実施形態ではユーザＩＤは、機能していない浮いた状態となっているので、実際のところ第３実施形態では仮想貨幣データはユーザＩＤを含んでいなくても構わない。
もっとも仮想貨幣データに含まれているユーザＩＤを以下のようにして利用することもできる。その場合、第２記録部２２４Ｄに記録されるデータを若干変える。上述したように第２記録部２２４Ｄには、暗号化部２２８で生成された確認用暗号化データが多数記録されている。ユーザＩＤを利用する場合には、暗号化部２２８は、第２記録部２２４Ｄに、確認用暗号化データと紐付けて、その確認用暗号化データの元となった確認用元データに含まれていたユーザＩＤを記録するようになっていれば良い。こうすることで、第２記録部２２４Ｄに記録された確認用暗号化データは、ユーザＩＤ毎にタグ付けされた状態となる。
そして、決済判定部２２６が主制御部２２２から受取った仮想貨幣データに含まれていた仮想貨幣暗号化データと同一の確認用暗号化データを第２記録部２２４Ｄの中から探すときに、決済判定部２２６が、当該仮想貨幣データに含まれていたユーザＩＤと同一のユーザＩＤにタグ付けられている確認用暗号化データのみを、仮想貨幣暗号化データと同一の確認用暗号化データを探す対象とするようにする。第３実施形態はそもそもが、既に述べた総当り的なアプローチを実行するものとなっているが、このようにすることにより、総当り的な同一性の判定を行う対象を減らすことができる。
第３実施形態でも、第２実施形態の場合と同様に、使用済みの、つまり仮想貨幣暗号化データと一致した確認用暗号化データを第２記録部２２４Ｄから削除するようにすることが可能である。
【０１４２】
＜変形例４＞
変形例４と第３実施形態の関係は、変形例３と第２実施形態の関係と同じである。つまり、変形例４では、変形例３の場合と同様に、ユーザ端末１００の暗号化部１２５で実行される暗号化の方法も、決済装置２００の暗号化部２２８で実行される暗号化の方法も、変化するものとされる。
【０１４３】
変形例４は、上述の点を除けば、第３実施形態と同じである。決済端末３００は、その構成、及びそこで実行される処理のすべてが第３実施形態と同じでよく、変形例４ではそうされている。ユーザ端末１００は、変形例３のユーザ端末１００と、その構成、及びそこで実行される処理のすべてを同じくする。
以下、主に、第３実施形態と異なる変形例４の決済システムにおける決済装置２００の構成及びそこで行われる処理について説明する。
【０１４４】
変形例４の決済装置２００のハードウェア的な構成は、第３実施形態と同じである。変形例４の決済装置２００の内部には、第３実施形態の場合と殆ど同じ機能ブロックが生成されるが、鍵生成部２２７が存在する点でのみ第３実施形態の場合と異なる。
【０１４５】
変形例４の主制御部２２２も第３実施形態の主制御部２２２の場合と同様、制御部２２０内の全体的な制御を行う。第３実施形態の場合と同様、変形例４における主制御部２２２も、与信判定の処理と決済の処理とを実行するようになっている。与信判定の処理と、決済の処理は、第３実施形態の場合と同じである。信用情報記録部２２４Ｂに記録されるデータ、及びそのデータが与信判定に用いられることも第３実施形態と同じである。
変形例４の主制御部２２２は、第３実施形態の場合と同様、確認用元データを生成する機能を有している。確認用元データの構造、及びその生成方法は第３実施形態と同様である。変形例４の主制御部２２２は、第３実施形態の場合と同様に、生成した確認用元データを、暗号化を行えという指示とともに暗号化部１２５へと送るようになっている。
【０１４６】
暗号化部２２８は、上述したように、主制御部２２２から、暗号化をせよとの指示を確認用元データとともに受取る場合がある。
かかる指示を受取った場合、暗号化部２２８は、主制御部２２２から受取った確認用元データを暗号化して確認用暗号化データとするようになっている。これ自体は第３実施形態と同じであるが、変形例４では、上述のように暗号化の方法を変更しなければならないので、その点で、暗号化の方法が第３実施形態の場合とは異なる。
暗号化部２２８は、暗号化の処理を変更させる場合に、アルゴリズム、鍵、或いはその双方の変更を行うことができるが、この実施形態ではこれには限られないが、変形例３の場合と同様に鍵を変更するようになっている。暗号化部２２８が暗号化の処理に用いる鍵は、変形例３の場合と同様に鍵生成部２２７から提供される。鍵生成部２２７が鍵を生成するタイミングは、暗号化部２２８から鍵の生成の依頼を受けたときであり、変形例３のときと変わらない。
変形例４の暗号化部２２８が確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部２２８は、生成した確認用暗号化データを、第３実施形態の場合と同様に第２記録部２２４Ｄに書き込むようになっている。
【０１４７】
決済判定部２２６は、上述したように、決済判定を行う。決済判定部２２６で実行される処理は、第３実施形態と同様である。決済判定部２２６は、第３実施形態の場合と同じように最終判定データを生成し、それを主制御部２２２に対して送るようになっている。
【０１４８】
変形例４の決済システムの使用方法、及び動作について説明する。
変形例４の決済システムで実行される処理は、基本的に図２２に示したとおりである。異なるのは、ユーザ端末１００におけるＳ９１６の処理の詳細と、決済装置２００におけるＳ９２３Ｃの処理の詳細である。どちらも、暗号化の方法が変化するという点で、第３実施形態と異なっている。
【０１４９】
変形例４の決済システムでも、第３実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行うとともに、各決済端末３００において、決済端末ＩＤの設定を行う。
まず、ユーザ端末１００で、Ｓ９１１からＳ９１３の処理が実行され、決済装置で、Ｓ９２１〜Ｓ９２３の処理が実行される。変形例４におけるこれら処理はすべて第３実施形態と同じである。
【０１５０】
ユーザ端末１００は、その送受信部で許可情報を受取る（Ｓ９１４）。
そこから、ユーザ端末１００では、Ｓ９１４〜９１７の処理が実行されて、仮想貨幣データが生成、或いは発行される。これら過程は、変形例３で述べたユーザ端末１００で実行される各処理と同一である。
このように、ユーザ端末１００では、許可情報を決済装置２００から受取ると、それを契機に仮想貨幣データが生成乃至発行される。他方、変形例４では、第３実施形態と同様に、それと並行して、確認用元データの生成（Ｓ９２３Ｂ）と、確認用元データを暗号化することによる確認用暗号化データの生成及び第２記録部２２４Ｄへの記録（Ｓ９２３Ｃ）とが行われる。かかるＳ９２３Ｂと、Ｓ９２３Ｃの処理は、第３実施形態の場合と同様に、例えば、許可情報の送信についてのＳ９２３の処理の直後に行われる。
【０１５１】
上述したように、Ｓ９２１で、決済装置２００は、ユーザ端末１００からユーザＩＤ及び金額情報を受取る。第３実施形態の場合と同様に、これらに基づき、主制御部２２２は、確認用元データを生成する（Ｓ９２３Ｂ）。
主制御部２２２は、生成した確認用元データを、暗号化をせよとの指示とともに暗号化部２２８へと送る。
【０１５２】
確認用元データとともに暗号化を行なえという指示を受取った暗号化部２２８は、確認用元データを暗号化する処理を実行して確認用元データから確認用暗号化データを生成する（Ｓ９２３Ｃ）。
暗号化部２２８は、確認用元データを暗号化するための鍵を入手すべく、鍵の生成を鍵生成部２２７に依頼する。そのとき、暗号化部２２８は、確認用元データに含まれていたユーザＩＤを、鍵の生成の依頼とともに鍵生成部２２７に送る。
鍵生成部２２７は、変形例３の場合と同様に、受付けたユーザＩＤと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、そのユーザＩＤで特定されるユーザ端末１００で生成されるのと同じ解を生成する。ここで、鍵生成部２２７が、幾つ目までの解を連続して生成するかは、「直前に生成された解の次の解」までの解までである。ユーザ端末１００で生成される解と、決済端末３００で生成される解とは、同じ順番で生成されたもの同士を比較すれば同じものとなるように同期させられているから、決済端末３００の鍵生成部２２７は、ユーザ端末１００の鍵生成部１２６と同じ鍵を生成することができる。なお、同じ鍵を生成することができるのはイベント同期でも、時間同期でも同様であるから、鍵生成部１２６及び鍵生成部２２７は、ここで説明したが如きイベント同期ではなく、時間同期によって鍵を同期させて生成するようになっていても良い。
鍵生成部２２７は、最後に生成した解を、復号化に用いる解として、鍵生成部２２７は、暗号化部２２８に送る。
暗号化部２２８は、鍵生成部２２７から受取った鍵と、固定の暗号化の処理のためのアルゴリズムを用いて、主制御部２２２から受取った確認用元データを暗号化する。
その結果、確認用元データは暗号化され、確認用暗号化データに変換されることになる。生成された確認用暗号化データを、暗号化部２２８は第２記録部２２４Ｄへと書き込む。
【０１５３】
以降の決済装置２００と、決済端末３００で行われる処理は、第３実施形態とすべて同じである。
【０１５４】
なお、以上の説明では、仮想貨幣データにはユーザＩＤが含まれているものとしていたが、第３実施形態の場合と同様の理由で、仮想貨幣データはユーザＩＤを含んでいなくても構わない。もっとも変形例４でも、仮想貨幣データに含まれているユーザＩＤを第３実施形態の場合と同様の目的、態様で、利用可能である。
変形例４でも、第３実施形態の場合と同様に、使用済みの確認用暗号化データを第２記録部２２４Ｄから削除するようにすることが可能である。
【符号の説明】
【０１５５】
１００  ユーザ端末  
１０１  ディスプレイ
１０２  入力装置
１２０  制御部
１２１  主制御部
１２２  表示制御部
１２３  データ入出力部
１２４  ユーザ端末記録部
１２５  暗号化部
１２６  鍵生成部
２００  決済装置
２２０  制御部
２２１  データ入出力部
２２２  主制御部
２２４Ａ  過去データ記録部
２２４Ｂ  信用情報記録部
２２４Ｃ  第１記録部
２２４Ｄ  第２記録部
２２５  復号化部
２２６  決済判定部
２２７  鍵生成部
３００  決済端末
３２０  制御部
３２１  主制御部
３２２  表示制御部
３２３  データ入出力部
４００  ネットワーク
【図１】
2019032667.tif 000003
【図２】
2019032667.tif 000004
【図３】
2019032667.tif 000005
【図４】
2019032667.tif 000006
【図５】
2019032667.tif 000007
【図６】
2019032667.tif 000008
【図７】
2019032667.tif 000009
【図８】
2019032667.tif 000010
【図９】
2019032667.tif 000011
【図１０】
2019032667.tif 000012
【図１１】
2019032667.tif 000013
【図１２】
2019032667.tif 000014
【図１３】
2019032667.tif 000015
【図１４】
2019032667.tif 000016
【図１５】
2019032667.tif 000017
【図１６】
2019032667.tif 000018
【図１７】
2019032667.tif 000019
【図１８】
2019032667.tif 000020
【図１９】
2019032667.tif 000021
【図２０】
2019032667.tif 000022
【図２１】
2019032667.tif 000023
【図２２】
2019032667.tif 000024
【図２３】
2019032667.tif 000025