WO2018212262A1 - データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム - Google Patents

データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム Download PDF

Info

Publication number
WO2018212262A1
WO2018212262A1 PCT/JP2018/019030 JP2018019030W WO2018212262A1 WO 2018212262 A1 WO2018212262 A1 WO 2018212262A1 JP 2018019030 W JP2018019030 W JP 2018019030W WO 2018212262 A1 WO2018212262 A1 WO 2018212262A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
information
payment
virtual currency
virtual
Prior art date
Application number
PCT/JP2018/019030
Other languages
English (en)
French (fr)
Inventor
中村 貴利
Original Assignee
株式会社エヌティーアイ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社エヌティーアイ filed Critical 株式会社エヌティーアイ
Priority to US16/613,229 priority Critical patent/US12002019B2/en
Priority to EP18803225.4A priority patent/EP3627420A4/en
Publication of WO2018212262A1 publication Critical patent/WO2018212262A1/ja
Priority to PH12019502811A priority patent/PH12019502811A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Definitions

  • the present invention relates to virtual money.
  • Bitcoin is generally established as follows.
  • Bitcoin is first generated as follows. A person who has the right to generate bitcoins is limited to an administrator who manages nodes to be described later. Node managers participate in certain games played on the Internet. The game is repeated, and the manager of the node that has won the game can obtain a predetermined amount of bit coins each time the game is won.
  • Bitcoin generated in this way is, for example, “payment” from the administrator of the node who obtained it to third parties including those other than the administrator of the node, in the same way as general money. It will be transferred to do so, and as a result it will be circulated.
  • B has a bit coin of 600
  • C has a bit coin of 200
  • D has It turns out that the bit coin is 100.
  • Bitcoin with such a mechanism is interesting in that in the transfer of Bitcoin between A and D in the above example, some data as the main body of Bitcoin is transferred from the transferor to the transferee. Absent. In spite of this, it is a clever part of the Bitcoin system that, as long as there is a transaction record, the balance of Bitcoin that A to D currently has can be specified. Again, in the Bitcoin mechanism, there is no data corresponding to the coin's substance, even though it uses a naming that reminds me of a tangible object called “coin”. It should be noted that the phenomenon that the node manager in the Bitcoin mechanism wins the game and obtains the Bitcoin can occur even after the transaction has progressed to some extent, for example, at the time point after Table 3.
  • each participant who participates in the bit coin mechanism does not have data corresponding to the bit coin owned by the participant.
  • each participant's wallet is empty, but all past transaction records exist so that they can be viewed, and the bitcoin balance at that time is thus identified from the viewing records.
  • the mechanism is based on mutual understanding or joint illusion that the bit coins of each participant should be like this. For that reason, in order for all participants to believe in the joint illusion, it is necessary to ensure that the transaction record is valid or cannot be altered.
  • Bitcoin is secured by blockchain and the technology or idea of proof of work. Bitcoin transaction records are structured such that new transaction records are linked to previous transaction records. By continuously linking new transaction record data (blocks) to past transaction records, the transaction record data is a chain of blocks.
  • a block chain This is called a block chain.
  • the value obtained by encrypting the previous block (more precisely, the hash value created from the data of the previous block) is added to the new block. Added.
  • blockchain data is recorded on a server called a node, which exists in large numbers on the Internet. The block chain data recorded in each node is the same.
  • the manager of the node is a participant in a certain kind of game described above.
  • the only person who can add a new transaction record block to the past transaction record is the above-mentioned game winner.
  • the block chain recorded in each node cannot be altered by the hash value, or the hash value changes when the alteration is made, so that it has been detected that the alteration has been made. ing. Even if some of the block chains recorded in each node are tampered in the same way, including hash values, so that the tampering of past block data is not detected (for example, recorded in many nodes).
  • the mechanism of Bitcoin is as described above, but the present inventor has a big question that bitcoin is called crypto currency if it is called virtual currency.
  • the encryption technology is only used for the purpose of guaranteeing the legitimacy of transaction records. That is, when a new block is added to the block chain, the hash value of the previous block is taken.
  • Bitcoin may function as a currency, but is not monetary, and the use of cryptography is extremely limited.
  • Bitcoin may be referred to as cryptocurrency, etc., because it is a way to give the user an “image” that is safe because it uses cryptography.
  • encryption technology is used only very limitedly in Bitcoin.
  • digital cash or e-cache a virtual currency that uses data instead of money that is exchanged when users exchange values between users. It was.
  • the encryption technology used in such a virtual currency is that data for authentication indicating that the data is genuine data is encrypted and attached to data having a monetary value. It was just that.
  • the present invention has a monetary value when used in combination with a payment apparatus that accepts payment when a predetermined condition is satisfied when it is received from a predetermined apparatus via a network. It is a data structure of virtual money data which is data of virtual money.
  • the data structure of the virtual money data includes issuer information including at least information on the issuer of the virtual money data, amount information that is information for specifying monetary value, and information on conditions for permitting payment by virtual money.
  • Virtual currency encrypted data which is data obtained by encrypting the payment condition information by a predetermined encryption method. Virtual money data having such a data structure is used in combination with a payment apparatus that determines whether or not payment is permitted.
  • the virtual money data having the data structure as described above may of course be required to satisfy other conditions, but the payment device accepts payment when the following conditions are satisfied. It can be.
  • the virtual currency realized by the virtual currency data of the present application has virtual currency data exchanged when exchanging value, and therefore, it is not only necessary to record a large amount of transaction record data.
  • Virtual currency data is, so to speak, highly secure because it encrypts the body of its monetary value.
  • encryption” in the present invention means that the data is converted so that it cannot be read (not understood) without special knowledge even if the third party looks at the data, and only conversion that can be decrypted.
  • the case of irreversible conversion is also included, as in the case of taking a hash value.
  • the settlement conditions specified by the settlement condition information encrypted and included in the data structure of the virtual money data in the present invention may be any. Limit the value transferor or assignee, limit the location of the value transferor or transferee, limit when the value can be transferred, limit the number of times the same person can transfer value within a certain period of time An example is given.
  • the payment condition information in the data structure of the virtual money data in the present invention may include recipient information that is information for specifying a person who can receive payment. Since it becomes possible to limit the persons who can be paid by using virtual money data having such a data structure, even if such virtual money data is stolen by a malicious third party, the third party receives it.
  • the settlement condition information may include time information that is information for specifying a time when payment is permitted. Since it becomes possible to limit the time when payment can be received by virtual currency data having such a data structure, even if such virtual currency data is stolen by a malicious third party, it can be received. If the time limit has passed, a malicious third party can be prevented from receiving the monetary value. In addition, when the payment date is set as the deadline, it is possible to urgently settle the virtual money data or to promote the use of the virtual money data.
  • the settlement condition information may be information for changing the amount specified by the amount information.
  • the amount specified by the amount information can be changed with the passage of time by the payment condition information. Specifically, with the payment condition information, it is possible to gradually reduce the amount specified by the amount information over time, or to gradually reduce the amount specified by the amount information. Those who have virtual currency data including virtual currency encrypted data including data obtained by encrypting such settlement condition information are prompted to use virtual currency data. Of course, the amount specified by the amount information may be increased or increased or decreased. Thereby, the consumption behavior of the user (s) having such virtual money data can be changed according to the virtual money data so as to delay the payment using the virtual money data, for example, so as to accelerate the payment using the virtual money data. You can be guided to concentrate payments at certain times or to avoid certain times.
  • the payment was made by the same person at a certain time or received by the same person by the transferor or assignee of the value when the payment was made, depending on the place where the payment is made
  • the amount specified by the amount information can be changed depending on the number of times. Also by these, it becomes possible to induce the consumption behavior of the user (s).
  • the issuer information encrypted and included in the data structure of the virtual money data in the present invention may include information other than the issuer.
  • the issuer information includes, in addition to the issuer information that is information specifying the issuer of the virtual money data, the virtual money data issued by a person who has the authority to guarantee the authenticity of the virtual money data.
  • Authentication information which is information for guaranteeing authenticity, serial number information which is information unique to each virtual money data for distinguishing the virtual money data from other virtual money data, and the virtual money data issued It may further include at least one of timing information that is information for specifying timing.
  • the data structure of the virtual money data according to the present invention further includes encryption condition information that is information for specifying a condition when the issuer information, the amount information, and the settlement condition information are encrypted. It may be a thing. This is useful for virtual currency data that is combined with the first and third types of payment devices described below, particularly the payment devices described later. It should be noted that the encryption condition information may or may not be encrypted.
  • the data structure of the virtual money data according to the present invention may be further attached in a state where at least a part of the issuer information, the money amount information, and the settlement condition information is not encrypted. As described above, the issuer information, the money amount information, and the payment condition information are encrypted virtual currency encrypted data in the present invention.
  • the virtual money data having the data structure of the virtual money data described above may be recorded on a recording medium.
  • the recording medium is not limited to a portable recording medium, and may be a recording medium built in a predetermined device.
  • the recording medium built in the predetermined device is, for example, a random access memory (RAM) or a hard disk drive (HDD).
  • the predetermined device includes the recording medium as described above, and further includes terminal device receiving means for receiving data via the network, and the virtual money data is received by the terminal device receiving means. It may be a receiving device that has been recorded on the recording medium since then.
  • the predetermined device also includes a first transmission unit that incorporates the recording medium as described above and transmits data via the network, and the virtual money data is transmitted by the transmission unit. It may be a transmission device adapted to be transmitted to the settlement device via a network.
  • the first type of settlement apparatus is a publisher information including at least information of a virtual money data issuer, monetary value information for specifying monetary value, and conditions for permitting payment by virtual money.
  • Virtual currency data that is virtual currency data having monetary value, including virtual currency encrypted data that is data obtained by encrypting settlement condition information that is information by a predetermined encryption method, and
  • a settlement apparatus receiving means for receiving from the apparatus via a network; a decryption means for decrypting the virtual currency encrypted data received by the settlement apparatus receiving means; and a decryption means for decrypting the virtual currency encrypted data.
  • a payment condition determination unit that determines whether a condition specified by the payment condition information obtained by the payment condition information is satisfied, and the payment condition determination unit; When it is determined that the condition specified by the settlement condition information is satisfied, the amount specified by the amount information obtained by decrypting the virtual currency encrypted data by the decryption means A payment device that accepts payment.
  • the virtual money data used in combination with the first type of settlement apparatus is virtual money data having the data structure of virtual money data in the present invention, but the virtual money encrypted data included therein can be decrypted. It is limited to the one encrypted.
  • the first settlement apparatus decrypts the virtual currency encryption data included therein.
  • the payment apparatus accepts the payment of the amount specified by the amount information on condition that the condition specified by the payment condition information included in the decrypted virtual currency encrypted data is satisfied. It has become.
  • the authenticity of the virtual money data may be authenticated by the issuer information, but is proved by the fact that the virtual money encrypted data could be decrypted in the first place.
  • By setting whether or not decryption is possible as an authentication condition it becomes possible to increase the accuracy of confirmation of the authenticity of virtual currency data executed by such a settlement apparatus, and as a result, settlement performed by such a settlement apparatus.
  • the security of the virtual money data used with the device is increased.
  • the issuer information may be used for confirming the validity of the virtual currency encrypted data as in the second and third types of settlement apparatuses described later.
  • the first type of settlement apparatus includes a decryption unit, and decrypts the virtual currency encrypted data by the decryption unit. Needless to say, a large number of virtual money data exist on the network, on the above-mentioned recording medium, or in the above-mentioned predetermined device at the same time. If both the encryption method, for example, the key and the algorithm are always the same, the decryption means of the settlement apparatus can always decrypt the virtual currency encrypted data with the combination of the one kind of key and algorithm.
  • the decryption means must grasp how the virtual currency encrypted data to be decrypted is encrypted. It is the above-described encryption condition information that makes this possible.
  • the settlement apparatus is provided with means for grasping the condition when the virtual currency encrypted data is encrypted from the encryption condition information attached to the virtual currency encrypted data to be decrypted by the decryption means.
  • the decryption means can know the condition when the virtual currency encrypted data is encrypted.
  • the encryption condition information may or may not be encrypted. Encryption condition information that is not encrypted can be used as it is. On the other hand, if it is encrypted, the encryption condition information cannot be used unless it is decrypted. Even if each virtual currency encrypted data is encrypted under different conditions, if the conditions for encrypting the encryption condition information are always the same, a predetermined means of the settlement apparatus, such as a decryption means, may be used. It is possible to decrypt the encrypted encryption condition data.
  • the encryption condition information may be the above-described key or algorithm itself used when encrypting the virtual currency encrypted data, or the above-described key or algorithm used when encrypting the virtual currency encrypted data. Information for identifying something may be used. For example, when encrypting virtual currency data, when encrypting the first virtual currency data, the first key, when encrypting the second virtual currency data, the second key Assume that encryption is performed with different keys that are sequentially changed, such as a third key when encrypting the third virtual currency data. These keys are assumed to be pseudo-random numbers generated continuously by the following mathematical formula, for example.
  • the Nth pseudorandom number is grasped as the condition when the virtual currency encrypted data is encrypted.
  • means can be reproduced at any time the N-th pseudo-random number from X 0.
  • the decryption means can decrypt the virtual currency encrypted data using the pseudo random number as a key.
  • the initial value X 0 is concealed, the virtual money data remains is if the plaintext (numerical value indicating whether it is the ordinal number of the pseudo-random number) encryption condition information included in the virtual money data Even if it is included, the malicious third party who obtained the virtual currency data cannot grasp the conditions when the virtual currency encryption data was encrypted from the encryption condition information.
  • X N f (X N-1 ) ( XN is the Nth pseudo random number, and the pseudo random number is a number, a character, a symbol, or a list of two or more of them)
  • the inventor of the present application also proposes a method executed by the above-described first type of settlement apparatus as one aspect of the present invention. The effect is equal to the effect of the first settlement apparatus. For example, it is as follows.
  • the method is a settlement method executed by a settlement apparatus that can receive data via a network and has a computer that performs data processing. And the settlement method is executed by the computer, issuer information including at least information of the issuer of virtual money data, amount information which is information for specifying monetary value, conditions for permitting payment by virtual money Request for settlement of virtual currency data, which is virtual currency data having a monetary value, including virtual currency encryption data, which is data obtained by encrypting settlement condition information, which is information about the data, using a predetermined encryption method
  • a settlement apparatus receiving process for receiving from a predetermined apparatus via a network; a decryption process for decrypting the virtual currency encrypted data received in the settlement apparatus reception process; and the virtual currency encrypted data in the decryption process.
  • a settlement condition determination process for determining whether a condition specified by the settlement condition information obtained by decryption is satisfied, and The amount information obtained by decrypting the virtual currency encrypted data in the decryption process when it is determined in the settlement condition determination process that the condition specified by the settlement condition information is satisfied And a payment process that allows payment of the amount specified in (1).
  • the inventor of the present application also proposes, for example, a computer program for causing a general-purpose computer to function as the first type of settlement apparatus described above. For example, it is as follows.
  • the computer program is a computer program that allows a computer that can receive data via a network and that performs data processing to function as a settlement apparatus.
  • the computer program provides the computer with issuer information including at least information on the issuer of virtual money data, amount information that is information for specifying monetary value, and conditions for permitting payment by virtual money.
  • Predetermined virtual currency data that is virtual currency data having monetary value, including virtual currency encrypted data that is data obtained by encrypting the settlement condition information that is the information of Payment device receiving means received from the device over the network, decryption means for decrypting the virtual currency encrypted data received by the payment device reception means, and decrypting the virtual currency encrypted data by the decryption means
  • a settlement condition judging hand for judging whether or not a condition specified by the settlement condition information obtained by converting to Obtained by decrypting the virtual currency encrypted data by the decryption means when the settlement condition determination means determines that the condition specified by the settlement condition information is satisfied. It is a computer program for functioning as a payment means that allows payment of an amount specified by the amount information.
  • the second type of settlement device is the issuer information including at least the information of the issuer of the virtual money data, the amount information that is information for specifying the monetary value, and the conditions for permitting the payment by the virtual money.
  • Virtual currency data that is virtual currency data having monetary value including virtual currency encrypted data that is data obtained by encrypting settlement condition information that is information by a predetermined encryption method, and Payment apparatus receiving means for receiving from the apparatus via a network, copy data recording means for recording copy virtual currency encrypted data that is the same data as the virtual currency encrypted data, and the payment apparatus receiving means for receiving the payment data By comparing the virtual currency encrypted data and the copy virtual currency encrypted data, it is determined whether or not they match.
  • the settlement apparatus includes a settlement unit that permits settlement of the amount specified by the amount information.
  • the virtual money data used in combination with the second type of settlement apparatus is virtual money data having the data structure of virtual money data in the present invention, but the virtual money encrypted data included therein can be decrypted. It is not restricted to what was encrypted.
  • the second settlement apparatus records the copy virtual currency encrypted data that is the same data as the virtual currency encrypted data included in a large number of virtual currency data scheduled to be sent to the settlement apparatus.
  • a copy data recording means is provided.
  • the settlement apparatus compares the virtual currency encryption data included therein with the copy virtual currency encryption data recorded in the copy data recording means. As a result, it is determined whether one of the copy virtual currency encrypted data recorded in the copy data recording means matches the virtual currency encrypted data included in the received virtual currency data, and the virtual currency data If the virtual currency encrypted data matches one of the copy virtual currency encrypted data, it is determined that the virtual currency encrypted data is authentic by the issuer information included in the virtual currency data, and is specified by the settlement condition information.
  • the payment apparatus allows the payment of the data of the amount specified by the amount information.
  • whether or not the virtual currency encrypted data can be decrypted is determined to determine whether or not the virtual currency data including the virtual currency encrypted data is authentic.
  • the virtual currency data is authentic by comparing with the copy virtual currency encryption data prepared by copying the virtual currency encryption data in advance. It can be said that it is determined whether or not. Therefore, the accuracy of the authenticity confirmation of the virtual money data executed by the settlement apparatus can be increased to the same extent as in the case of the first settlement apparatus even in the second settlement apparatus. It is possible to increase the safety of virtual currency data used together with a settlement apparatus executed by such a settlement apparatus.
  • the second settlement apparatus determines whether or not the settlement conditions specified by the settlement condition information are satisfied.
  • payment condition information is required for this purpose.
  • the settlement condition information may be recorded in the copy data recording means in association with each copy virtual currency encrypted data including the same, or the copy virtual currency encrypted data or the virtual currency encrypted data is decrypted. By doing so, it may be obtained each time.
  • the issuer information may be recorded in, for example, copy data recording means in association with each copy virtual currency encrypted data included in the copy data recording means, or copy virtual currency encrypted data or virtual currency encryption By decrypting the data, it can be obtained each time, so that the issuer information can be used to check the authenticity of the virtual currency data.
  • the inventor of the present application also proposes a method executed by the above-mentioned second type of settlement apparatus as one aspect of the present invention.
  • the effect is equal to the effect of the second settlement apparatus.
  • the method is a payment method executed by a payment apparatus that can receive data via a network, has a recording medium, and has a computer that performs data processing.
  • issuer information including at least information of the issuer of virtual money data, amount information which is information for specifying monetary value, conditions for permitting payment by virtual money Request for settlement of virtual currency data, which is virtual currency data having a monetary value, including virtual currency encryption data, which is data obtained by encrypting settlement condition information, which is information about the data, using a predetermined encryption method
  • a settlement apparatus receiving process for receiving from a predetermined apparatus via a network, a copy data recording process for recording copy virtual currency encrypted data, which is the same data as the virtual currency encrypted data, on the recording medium; and the settlement apparatus receiving process The virtual currency encrypted data received in step 1 is compared with the copy virtual currency encrypted data recorded on the recording medium.
  • a second authentication process for determining whether or not the virtual currency data sent from the predetermined device is authentic, if both match, In the payment condition determination process for determining whether the condition specified by the payment condition information is satisfied, and in the second authentication process, the virtual money data sent from the predetermined device is authentic. And a settlement process for allowing settlement of the amount specified by the amount information when it is determined in the settlement condition determination step that the condition specified by the settlement condition information is satisfied. It is out.
  • the inventor of the present application also proposes, for example, a computer program for causing a general-purpose computer to function as the above-described second type of settlement apparatus. For example, it is as follows.
  • the computer program is a computer program that allows a computer that can receive data via a network and that performs data processing to function as a settlement apparatus. Then, the computer program provides the computer with issuer information including at least information on the issuer of virtual money data, amount information that is information for specifying monetary value, and conditions for permitting payment by virtual money.
  • issuer information including at least information on the issuer of virtual money data, amount information that is information for specifying monetary value, and conditions for permitting payment by virtual money.
  • Predetermined virtual currency data that is virtual currency data having monetary value, including virtual currency encrypted data that is data obtained by encrypting the settlement condition information that is the information of Received by the settlement apparatus receiving means received from the apparatus, copy data recording means for recording copy virtual currency encrypted data that is the same data as the virtual currency encrypted data, and received by the settlement apparatus receiving means If the virtual currency encrypted data and the copy virtual currency encrypted data are compared, do they match?
  • the second authentication means for determining that the virtual money data sent from the predetermined device is authentic, and the condition specified by the settlement condition information
  • the payment condition determination means for determining whether the virtual currency data sent from the predetermined device is authentic and the payment condition determination means
  • the computer program functions as a payment unit that allows payment of the amount specified by the amount information.
  • the third type of settlement device is the issuer information including at least the information of the issuer of the virtual money data, the amount information that is information for specifying the monetary value, and the conditions for permitting the payment by the virtual money.
  • Virtual currency data that is virtual currency data having monetary value including virtual currency encrypted data that is data obtained by encrypting settlement condition information that is information by a predetermined encryption method, and
  • the payment device receiving means for receiving from the device via the network and the issuer information, the amount information, and the payment condition information included in the encrypted state in one virtual currency encrypted data are associated with each other.
  • the plaintext information recording means recorded in the state, and the issuer information, the amount information, and the settlement condition information recorded in the plaintext information recording means, And encrypting means using the same encryption method as the predetermined encryption method used when encrypting the money amount information and the settlement condition information into the virtual currency encrypted data, and Encrypting the virtual currency encrypted data received by the settlement apparatus receiving means, and the issuer information, the amount information, and the settlement condition information recorded in the plaintext information recording means by the encryption means. It is determined whether or not they match by comparing with the data obtained by the above, and if they match, the virtual money data sent from the predetermined device is authentic.
  • a third authentication unit for determining, a settlement condition determining unit for determining whether a condition specified by the settlement condition information recorded in the plaintext information recording unit is satisfied, and a third authentication unit
  • the payment condition determination means determines that the condition specified by the payment condition information is satisfied
  • a settlement unit that permits settlement of the amount specified by the amount information.
  • the virtual money data used in combination with the third type of settlement apparatus is virtual money data having the data structure of virtual money data in the present invention, but the virtual money encrypted data included therein can be decrypted. It is not restricted to what was encrypted.
  • the third settlement apparatus is the issuer information and amount used when generating virtual currency encrypted data included in a large number of virtual currency data scheduled to be sent to the settlement apparatus.
  • Plain text information recording means is provided for recording information and settlement condition information in a state of being linked to each other.
  • the settlement apparatus When receiving the virtual currency data, the settlement apparatus generates data by encrypting the issuer information, the amount information, and the settlement condition information associated with each other recorded in the plaintext information recording unit. . If the data matches the virtual currency encrypted data included in the received virtual currency data, it is determined that the virtual currency data is authentic.
  • the settlement apparatus allows settlement of data of the amount specified by the amount information, provided that the virtual money data is determined to be authentic and the condition specified by the settlement condition information is satisfied. It has become.
  • the first settlement apparatus whether or not the virtual currency encrypted data can be decrypted is determined to determine whether or not the virtual currency data including the virtual currency encrypted data is authentic.
  • the third payment apparatus instead of the above, the same data as the virtual currency encrypted data can be re-created by encrypting the issuer information, the money amount information, and the payment condition information. Therefore, it is determined whether or not the virtual money data is authentic. Accordingly, even in the third settlement apparatus, it is possible to increase the accuracy of confirmation of the authenticity of the virtual currency data executed by the settlement apparatus as much as in the case of the first settlement apparatus. It is possible to increase the safety of virtual currency data used together with a settlement apparatus executed by such a settlement apparatus.
  • the third type of payment apparatus includes an encryption unit, and encrypts the issuer information, the amount information, and the payment condition information recorded in the plaintext information recording unit by the encryption unit. Needless to say, a large number of virtual money data exist on the network, on the above-mentioned recording medium, or in the above-mentioned predetermined device at the same time. If both the encryption method, for example, the key and the algorithm are always the same, the encryption unit of the settlement apparatus uses the issuer information, the amount information, and the settlement condition information recorded in the plaintext information recording unit as part 1 If encryption is performed using a combination of types of keys and algorithms, the data obtained by the encryption is not limited to the virtual currency encrypted data and virtual currency encrypted data included in the virtual currency data sent to the settlement apparatus.
  • At least one of the virtual currency encrypted data included in a large number of virtual currency data may be encrypted by a method different from other virtual currency encrypted data.
  • the method of encrypting the issuer information, money amount information, and settlement condition information by the encryption means is the same as the method used when encrypting the virtual currency encrypted data to be compared with it. Otherwise, the data obtained by encrypting the issuer information, amount information, and settlement condition information recorded in the plaintext information recording means is included in the virtual money data sent to the settlement apparatus. Does not match the virtual currency encryption data.
  • the settlement apparatus must grasp how the virtual currency encrypted data included in the transmitted virtual currency data is encrypted. It is the above-described encryption condition information that makes this possible.
  • the contents and usage of the data may be the same as those described in the first settlement apparatus.
  • the inventor of the present application also proposes a method executed by the above third type of settlement apparatus as one aspect of the present invention.
  • the effect is equal to the effect of the third settlement apparatus.
  • the method is a settlement method executed by a settlement apparatus that can receive data via a network and has a computer that performs data processing.
  • issuer information including at least information of the issuer of virtual money data, amount information which is information for specifying monetary value, conditions for permitting payment by virtual money Request for settlement of virtual currency data, which is virtual currency data having a monetary value, including virtual currency encryption data, which is data obtained by encrypting settlement condition information, which is information about the data, using a predetermined encryption method
  • a payment device reception process received from a predetermined device via a network, and the issuer information, the money amount information, and the payment condition information included in an encrypted state in one virtual currency encrypted data are linked to each other.
  • a plaintext information recording process for recording on the recording medium in the attached state, the issuer information recorded in the plaintext information recording process, the amount information, and The same encryption method as the predetermined encryption method used when the issuer information, the amount information, and the payment condition information are encrypted into the virtual currency encrypted data.
  • a settlement condition judgment for judging whether the condition specified by the third settlement process for judging that the monetary data is authentic and the settlement condition information recorded in the plaintext information recording process is satisfied.
  • the inventor of the present application also proposes, as one aspect of the present invention, a computer program for causing a general-purpose computer to function as the third type of settlement apparatus described above. For example, it is as follows.
  • the computer program is a computer program that allows a computer that can receive data via a network and that performs data processing to function as a settlement apparatus.
  • the computer program provides the computer with issuer information including at least information on the issuer of virtual money data, amount information that is information for specifying monetary value, and conditions for permitting payment by virtual money.
  • issuer information including at least information on the issuer of virtual money data, amount information that is information for specifying monetary value, and conditions for permitting payment by virtual money.
  • Predetermined virtual currency data that is virtual currency data having monetary value, including virtual currency encrypted data that is data obtained by encrypting the settlement condition information that is the information of
  • the payment device receiving means for receiving the data from the device of the device, and the issuer information, the amount information, and the payment condition information included in an encrypted state in one virtual currency encrypted data are linked to each other.
  • Plaintext information recording means recorded in the state, the issuer information recorded in the plaintext information recording means, the amount information, and The same encryption method as the predetermined encryption method used when encrypting the issuer information, the money amount information, and the payment condition information into the virtual currency encrypted data.
  • Payment condition for determining whether the condition specified by the payment condition information recorded in the plaintext information recording means and the third authentication means for determining that the monetary data is authentic is satisfied is satisfied
  • Determining means and the third authenticating means determine that the virtual money data sent from the predetermined device is authentic, and the payment condition determining means specifies the payment condition information.
  • the computer program causes the payment unit to function as a settlement unit that allows settlement of the amount specified by the amount information.
  • the inventor of the present application also proposes a virtual money data generating device for generating virtual money data having a data structure of virtual money data according to the present invention as one aspect of the present invention.
  • the effect by this is equal to the effect demonstrated by the data structure of the virtual money data by this invention.
  • the virtual money data generation device as an example includes issuer information including at least information of the issuer of virtual money data, amount information that is information for specifying monetary value, and conditions for permitting payment by virtual money.
  • Issuer information including at least information of the issuer of virtual money data, amount information that is information for specifying monetary value, and payment condition information that is information about conditions for allowing payment by virtual money
  • a currency generating / encrypting means for generating virtual currency encrypted data which is data obtained by encrypting the issuer information, the money amount information, and the settlement condition information, by encrypting by an encryption method;
  • the virtual currency data generation device that can generate virtual currency data that is virtual currency data having a monetary value, including the virtual currency encryption data, is already in the present invention. It may be integrated with one of the settlement apparatuses described.
  • the inventor of the present application also proposes, as one aspect of the present invention, a method executed by the virtual money data generation device described so far.
  • An example of the method is a method executed by a virtual money data generation apparatus that includes a computer and is capable of generating virtual money data that is data of virtual money having a monetary value.
  • Issuer information including at least information of the issuer of the virtual money data in the computer, amount information which is information for specifying monetary value, and settlement conditions which are information about conditions for allowing payment by virtual money
  • a process for generating virtual currency encrypted data which is data obtained by encrypting the issuer information, the money amount information, and the settlement condition information, by encrypting the information by a predetermined encryption method.
  • the inventor of the present application also proposes, as an aspect of the present invention, a computer program for causing a general-purpose computer to function as the above-described virtual money data generation device.
  • a computer program for causing a computer to function as a virtual money data generation device that can generate virtual money data that is data of virtual money having a monetary value.
  • the computer program provides the computer with issuer information including at least information on the issuer of virtual money data, amount information that is information for specifying monetary value, and conditions for permitting payment by virtual money.
  • virtual currency encrypted data that is data obtained by encrypting the issuer information, the amount information, and the payment condition information is generated.
  • the computer can generate virtual currency data, which is virtual currency data having a monetary value, including the virtual currency encryption data.
  • the figure which shows the whole structure of the payment system by 1st Embodiment. The figure which shows the external appearance of the user terminal contained in the payment system shown in FIG.
  • the figure which shows the hardware constitutions of the user terminal contained in the payment system shown in FIG. The block diagram which shows the functional block produced
  • generated inside the payment apparatus contained in the payment system shown in FIG. The figure which shows the hardware constitutions of the payment terminal contained in the payment system shown in FIG.
  • the figure which shows the flow of the process performed when payment is performed with the payment system shown in FIG. The figure which shows an example of the image displayed on the display of the user terminal contained in the payment system shown in FIG.
  • the figure which shows notionally the content of a part of the data currently recorded on the basic data recording part in the payment apparatus contained in the payment system shown in FIG. (A)
  • FIG. 1 The figure which shows the further another example of the image displayed on the display of the user terminal contained in the payment system shown in FIG.
  • FIG. 1 The block diagram which shows the functional block produced
  • FIG. 1 The figure which shows the further another example of the image displayed on the display of the user terminal contained in the payment system shown in FIG.
  • FIG. 2nd Embodiment The block diagram which shows the functional block produced
  • FIG. 1 schematically shows the overall configuration of the payment system according to the first embodiment.
  • the payment system includes a plurality of user terminals 100-1 to 100-N (hereinafter simply referred to as “user terminal 100”), a payment apparatus 200, and payment terminals 300-1 to 300-n (hereinafter referred to as “user terminal 100”). It may be simply described as “settlement terminal 300”). All of these can be connected to the network 400.
  • Network 400 is the Internet in this embodiment, although not limited thereto.
  • the user terminal 100 is an example of a receiving device of the present invention
  • the payment terminal 300 is an example of a transmitting device of the present invention
  • the payment device 200 corresponds to an example of a payment device of the present invention.
  • the payment of money using virtual currency data is performed by the administrator (owner) of the user terminal 100 from the administrator (the payment terminal 300) of the payment terminal 300. In principle, it is performed from a manager of one user terminal 100 to a manager of another user terminal 100.
  • the user terminal 100 is the property of each user.
  • the user terminal 100 includes a computer.
  • the user terminal 100 is a mobile phone, a smartphone, a tablet, a notebook computer, a desktop computer, or the like.
  • a smartphone or a tablet is particularly preferable for use as the user terminal 100 in consideration of being portable and suitable for installing a program described later.
  • the smartphone is, for example, an iPhone that is manufactured and sold by Apple Japan LLC.
  • An example of a tablet is an iPad manufactured and sold by Apple Japan LLC.
  • a talk is advanced as a user terminal is a smart phone.
  • the user terminal 100 needs to be capable of receiving at least data, but may be capable of transmitting data. Since the user terminal 100 in this embodiment is a smartphone, it is naturally possible to receive and transmit data.
  • the configurations of the user terminals 100-1 to 100-N are the same in relation to the present invention.
  • the user terminal 100 includes a display 101.
  • the display 101 is for displaying a still image or a moving image, and a known or known one can be used.
  • the display 101 is a liquid crystal display, for example.
  • the user terminal 100 also includes an input device 102.
  • the input device 102 is for a user to make a desired input to the user terminal 100.
  • a known or well-known input device 102 can be used.
  • the input device 102 of the user terminal 100 in this embodiment is a button type, but is not limited to this, and a numeric keypad, a keyboard, a trackball, a mouse, or the like can also be used.
  • the display 101 When the display 101 is a touch panel, the display 101 also functions as the input device 102, and this is the case in this embodiment.
  • the data input from the input device 102 will be described in detail later. For example, generation request information for a virtual money data generation request, payment information for use of virtual money data, and transfer of virtual money data Transfer information and user ID.
  • the hardware configuration of the user terminal 100 is shown in FIG.
  • the hardware includes a central processing unit (CPU) 111, a read only memory (ROM) 112, a random access memory (RAM) 113, and an interface 114, which are interconnected by a bus 116.
  • the CPU 111 is an arithmetic device that performs arithmetic operations. For example, the CPU 111 executes a process described later by executing a computer program recorded in the ROM 112.
  • the computer program here includes at least a computer program for causing the user terminal 100 to function as the receiving device of the present invention. This computer program may be preinstalled in the user terminal 100 or may be installed afterwards.
  • the installation of the computer program to the user terminal 100 may be performed via a predetermined recording medium (not shown) such as a memory card, or may be performed via a network such as the Internet.
  • the ROM 112 records computer programs and data necessary for the CPU 111 to execute processing to be described later.
  • the computer program recorded in the ROM 112 is not limited to this, and if the user terminal 100 is a smartphone, for example, a computer program or data for executing a call or an e-mail necessary for the user terminal to function as a smartphone. Is recorded.
  • the user terminal 100 is also capable of browsing a home page based on data received via the network 400, and a known web browser is implemented to enable this.
  • the RAM 113 provides a work area necessary for the CPU 111 to perform processing.
  • the interface 114 exchanges data between the CPU 111 and the RAM 113 connected via the bus 116 and the outside.
  • the display 114 and the input device 102 are connected to the interface 114.
  • the operation content input from the input device 102 is input to the bus 116 from the interface 114, and image data to be described later is output to the display 101 from the interface 114.
  • the interface 114 is also connected to a transmission / reception unit (not shown).
  • the transmission / reception unit transmits / receives data via the network 400 which is the Internet. Such communication may be performed by wire, but when the user terminal 100 is a smartphone, such communication is normally performed wirelessly.
  • the configuration of the transmission / reception unit may be known or well-known.
  • Data (for example, virtual money data) received by the transmission / reception unit from the network 400 is received by the interface 114, and data (for example, virtual currency data) passed from the interface 114 to the transmission / reception unit is received by the transmission / reception unit.
  • the data is sent to the outside, for example, the settlement apparatus 200 via the network 400.
  • a functional block as shown in FIG. 4 is generated in the user terminal 100.
  • the following functional blocks may be generated by the functions of the above-described computer program for causing the user terminal 100 to function as the user terminal of the present invention, but are installed in the above-described computer program and the user terminal 100. It may also be generated in cooperation with another OS or other computer program.
  • the following control unit 120 is generated in relation to the function of the present invention, and in the control unit 120, the main control unit 121, the display control unit 122, the data input / output unit 123, the user A terminal recording unit 124 is generated.
  • the control unit 120 performs information processing as described below.
  • the main control unit 121 performs overall control within the control unit 120.
  • the main control unit 121 controls the display control unit 122 based on data received from the data input / output unit 123, which will be described in detail later.
  • the main control unit 121 may receive virtual currency data that will be described later from the data input / output unit 123 that will be described later.
  • the main control unit 121 sends it to the user terminal recording unit user terminal recording unit 124 or the display control unit 122.
  • the main control unit 121 may read out virtual currency data from the user terminal recording unit 124 as will be described later.
  • the main control unit 121 that has read it sends an instruction to the display control unit 122 to perform display based on virtual currency data, and in some cases, sends it to the data input / output unit 123. Yes.
  • the main control unit 121 may receive the above-described generation request information, payment information, or transfer information input from the input device 102 from the data input / output unit 123. When these are received, the following processing is performed. Each is to be done. For example, when the generation request information is received, the main control unit 121 adds necessary information to the data input / output unit 123 and sends it to the data input / output unit 123 from the data input / output unit 123 via the transmission / reception unit and the network 400. Is sent to the settlement apparatus 200.
  • the display control unit 122 controls the image displayed on the display 101 while being controlled by the main control unit 121. An image based on the data sent from the display control unit 122 is displayed on the display 101.
  • the main control unit 121 sends an instruction as to what image should be displayed on the display 101 to the display control unit 122.
  • the data input / output unit 123 inputs / outputs data to / from the control unit 120. Specifically, the data input / output unit 123 receives an input from the input device 102. What is input from the input device 102 to the data input / output unit 123 is, for example, generation request information, payment information, or transfer information. These are sent from the data input / output unit 123 to the main control unit 121.
  • the data input / output unit 123 receives virtual currency data sent from the transmission / reception unit via the network 400 from the settlement apparatus 200 or the like.
  • the data input / output unit 123 is configured to send the received virtual currency data to the main control unit 121. Further, the data input / output unit 123 may receive virtual currency data from the main control unit 121.
  • the data input / output unit 123 that has received the data sends virtual money data to the transmission / reception unit, and the virtual money data is sent from the transmission / reception unit to the settlement apparatus 200, for example.
  • the transmission destination of the virtual money data is designated by the main control unit 121 in accordance with an input from the input device 102, as will be described later.
  • the user terminal recording unit 124 receives virtual currency data from the main control unit 121 and records it.
  • the user terminal recording unit 124 is configured by a part of the RAM 113.
  • the virtual money data recorded in the user terminal recording unit 124 may be read by the main control unit 121 at a timing as described later.
  • the settlement apparatus 200 is a general computer, and in this embodiment, is a general server apparatus in more detail.
  • the hardware configuration may be the same as the settlement apparatus in the conventional settlement system.
  • the hardware configuration of the payment apparatus 200 is shown in FIG.
  • the hardware includes a CPU 211, a ROM 212, a RAM 213, an interface 214, and a large-capacity recording medium that is an HDD (hard disk drive) 215 in this embodiment, and these are mutually connected by a bus 216.
  • the CPU 211 is an arithmetic device that performs arithmetic operations. For example, the CPU 211 executes processing described later by executing a computer program recorded in the ROM 212.
  • the computer program here includes at least a computer program for causing the settlement apparatus 200 to function as the settlement apparatus of the present invention. This computer program may be preinstalled in the settlement apparatus 200 or may be installed afterwards. The computer program may be installed in the payment apparatus 200 via a predetermined recording medium such as a memory card or via a network such as the Internet.
  • the ROM 212 records computer programs and data necessary for the CPU 211 to execute processing to be described later.
  • the computer program recorded in the ROM 212 is not limited to this, and other necessary computer programs may be recorded.
  • the RAM 213 provides a work area necessary for the CPU 211 to perform processing.
  • the interface 214 exchanges data between the CPU 211, RAM 213, and the like connected via the bus 216 and the outside.
  • the interface 214 is connected to at least the transmission / reception unit. Data received by the transmission / reception unit from the network 400 is received by the interface 214, and data passed from the interface 214 to the transmission / reception unit is transmitted to the outside via the network 400 by the transmission / reception unit, for example, the user terminal 100. To be sent to.
  • the HDD 215 is a large-capacity recording medium as described above, and records data.
  • At least a part of the computer program and data necessary for the CPU 211 to execute processing to be described later may be recorded on the HDD 215 instead of the ROM 212, and it is more practical that most of the computer program and data is recorded on the HDD 215. I will.
  • a functional block as shown in FIG. 6 is generated in the settlement apparatus 200.
  • the following functional blocks may be generated by the functions of the above-described computer program for causing the settlement apparatus 200 to function as the settlement apparatus of the present invention, but are installed in the above-described computer program and the settlement apparatus 200. It may also be generated in cooperation with another OS or other computer program.
  • the following control unit 220 is generated in relation to the function of the present invention.
  • a data input / output unit 221, a main control unit 222, a virtual currency data generation unit 223, a basic data recording unit 224, a decryption unit 225, and a settlement determination unit 226 are generated.
  • the data input / output unit 221 inputs / outputs data to / from the control unit 220. Specifically, the data input / output unit 221 receives various data described later from the main control unit 222. For example, the data input / output unit 221 receives virtual money data from the main control unit 222. The received virtual currency data is sent from the data input / output unit 221 to the transmission / reception unit and sent to the user apparatus 100 via the network 400. The data input / output unit 221 also receives various data (described later) received by the transmission / reception unit from the user terminal 100 or the payment terminal 300 via the network 400 from the transmission / reception unit, and sends the received data to the main control unit 222. It has become. For example, the data input / output unit 221 may receive virtual currency data and generation request information from the transmission / reception unit, and the data input / output unit 221 that has received any of them sends them to the main control unit 222. Yes.
  • the main control unit 222 performs overall control within the control unit 220.
  • the main control unit 222 is configured to perform settlement processing described later, and sends necessary data to the virtual currency data generation unit 223, the decryption unit 225, and the like to perform necessary processing. It has become.
  • the main control unit 222 may receive virtual currency data from the data input / output unit 221, and the main control unit 222 that has received the virtual currency data sends the virtual currency data to the decryption unit 225. Yes. In this case, only the virtual currency encrypted data among the data included in the virtual currency data may be sent to the decryption unit 225.
  • the main control unit 222 may receive the generation request information from the data input / output unit 221, and the main control unit 222 that has received it sends it to the virtual money data generation unit 223. ing.
  • the main control unit 222 may also receive final determination data, which will be described later, from the settlement determination unit 226.
  • the final determination data is data indicating whether the settlement is permitted or the settlement is not permitted.
  • the main control unit 222 performs a settlement process when receiving a positive final determination data, which will be described later, with the content of allowing the settlement.
  • the payment process is a process for allowing payment of money to the payment terminal 300 that has sent the virtual currency encrypted data.
  • the main control unit 222 holds data indicating what kind of payment has been made.
  • the main control unit 222 records information about who (however, the administrator of the payment terminal 300, etc.) the payment is finally permitted on a recording medium (not shown) for each payment terminal 300. It has become. On the other hand, when receiving a negative final determination data, which will be described later, indicating that payment is not permitted, the main control unit 222 does not perform processing for allowing payment.
  • the virtual money data generation unit 223 may receive the generation request information from the main control unit 222. When the generation request information is received, the virtual money data generation unit 223 generates virtual money data.
  • the virtual money data generation unit 223 includes an encryption unit 223A and a combining unit 223B. Details of how the virtual money data generation unit 223 generates virtual money data will be described later.
  • the virtual money data generation unit 223 uses data recorded in the basic data recording unit 224 when generating virtual money data.
  • the virtual money data generation unit 223 reads and uses necessary data among the data recorded in the basic data recording unit 224 when generating virtual money data.
  • the virtual money data generation unit 223 sends the generated virtual money data to the main control unit 222. In the basic data recording unit 224, data necessary for generating virtual money data is recorded. Details of the data recorded in the basic data recording unit 224 will be described later.
  • the decryption unit 225 may receive virtual currency data (or virtual currency encryption data) from the main control unit 222 in some cases. When the decryption unit 225 receives the virtual currency encrypted data, it decrypts it. Details of the decoding process will be described later.
  • the decrypted data includes issuer information, amount information, and settlement condition information, all of which will be described in detail later. If the decryption unit 225 can decrypt the virtual currency encrypted data, the decryption unit 225 sends at least the amount information and the settlement condition information among the issuer information, the amount information, and the settlement condition information to the settlement determination unit 226. To send. On the other hand, when the decryption unit 225 cannot decrypt the virtual currency encrypted data, the decryption unit 225 notifies the settlement determination unit 226 to that effect.
  • the settlement determination unit 226 performs a final determination that is a determination as to whether or not the settlement is permitted. As a result, the settlement determination unit 226 generates final determination data that is data including the content of either allowing the settlement or not allowing the settlement. As will be described later, the settlement determination unit 226 may use the data recorded in the basic data recording unit 224 when performing such a determination. How the final determination data is generated by the payment determination unit 226 will be described later.
  • the settlement determination unit 226 may receive a notification from the decryption unit 225 that the virtual currency encrypted data could not be decrypted. When the notification is received, the settlement determination unit 226 generates final determination data including the content that the settlement is not permitted. In any case, once the final determination data is generated, the settlement determination unit 226 sends it to the main control unit 222.
  • the payment terminal 300 plays the same role as the payment terminal used in the payment system using a credit card, and is a general computer. For example, it is assumed that the payment terminal 300 is configured by a tablet. Since it is the same as that in FIG. 2, its external appearance is not shown, but the payment terminal 300 includes a touch panel display that is not shown. As a result, the payment terminal 300 includes a display and an input device. However, instead of this, the payment terminal 300 includes a display that is not a touch panel type and an input device that selects a necessary one from known or well-known input devices such as a numeric keypad, a keyboard, a mouse, and a trackball.
  • the payment terminal 300 includes a camera (not shown).
  • the camera may be externally attached, but the payment terminal 300 which is a tablet includes a known built-in camera.
  • the hardware configuration of the payment terminal 300 is shown in FIG.
  • the hardware includes a CPU 311, a ROM 312, a RAM 313, and an interface 314, which are connected to each other by a bus 316.
  • the CPU 311 is an arithmetic device that performs arithmetic operations.
  • the CPU 311 executes a computer program recorded in the ROM 312 to execute processing to be described later.
  • This computer program may be preinstalled in the payment terminal 300 or may be installed afterwards.
  • the computer program may be installed on the payment terminal 300 via a predetermined recording medium such as a memory card or via a network such as a LAN or the Internet.
  • the ROM 312 records a computer program and data necessary for the CPU 311 to execute processing to be described later, in other words, for causing the computer to function as a transmission device according to the present invention.
  • the computer program recorded in the ROM 312 is not limited to this, and other necessary computer programs may be recorded.
  • the RAM 313 provides a work area necessary for the CPU 311 to perform processing.
  • the interface 314 exchanges data between the CPU 311 and the RAM 313 connected via the bus 316 and the outside.
  • the interface 314 is connected to at least a transmission / reception unit (not shown).
  • the transmission / reception unit may be connected to the network 400, and at least can transmit data via the network 400. In this embodiment, both transmission and reception of data via the network 400 are possible. Can be done.
  • Data transmitted from the interface 314 to the transmission / reception unit is sent to the outside, for example, the settlement apparatus 200 via the network 400 by the transmission / reception unit.
  • Data output from the interface 314 and transmitted from the transmission / reception unit is mainly virtual currency data in relation to this embodiment.
  • the interface 314 is also connected to an input device provided on the touch panel display, and receives an input from the input device.
  • the interface 314 is connected to a touch panel display, and transmits data for displaying an image to be described later on the touch panel display.
  • Data input from the input device to the interface 314 is, for example, data instructing the start of payment, a payment terminal ID described later, and the like.
  • the interface 314 is also connected to the above-described camera.
  • image data including an image for specifying virtual money data.
  • Virtual currency data is input to the interface 314 from the camera, although it is somewhat inaccurate.
  • a large-capacity recording medium may be included in the hardware, and the function when it exists, are as described above.
  • the following functional blocks are generated in the payment terminal 300.
  • the following functional blocks may be generated by the functions of the above-described computer program for causing the payment terminal 300 to function as the payment terminal of the present invention, but are installed in the above-described computer program and the payment terminal 300. It may also be generated in cooperation with another OS or other computer program.
  • the following control unit 320 is generated in the payment terminal 300 in relation to the function of the present invention, and the main control unit 321, the display control unit 322, and the data input / output unit 323 are generated in the control unit 320. Is done.
  • the control unit 320 performs information processing as described below.
  • the main control unit 321 performs overall control within the control unit 320.
  • the main control unit 321 controls the display control unit 322 based on data received from the data input / output unit 323 described in detail later.
  • the main control unit 321 receives virtual money data from a data input / output unit 323 which will be described later.
  • the main control unit 321 of each payment terminal 300 records a unique payment terminal ID for each payment terminal 300.
  • the main control unit 321 attaches payment terminal ID data to the received virtual money data and sends it to the data input / output unit 323.
  • the display control unit 322 controls an image displayed on the above-described display that is a touch panel type while receiving control of the main control unit 321. An image based on the data sent from the display control unit 322 is displayed on the display.
  • the main control unit 321 sends an instruction as to what image should be displayed on the display to the display control unit 322.
  • the data input / output unit 323 inputs / outputs data to / from the control unit 320. Specifically, the data input / output unit 323 receives an input from the input device and sends it to the main control unit 321. An example of data input from the input device to the data input / output unit 323 is data instructing the start of settlement. In addition, the payment terminal ID described above may be input.
  • the data input / output unit 323 may receive image data including virtual currency data captured by a camera.
  • the data input / output unit 323 outputs data to a transmission / reception unit (not shown). Data output to the transmission / reception unit is virtual money data sent from the main control unit 323. A payment terminal ID is attached to the virtual money data. Data output to the transmission / reception unit is transmitted from the transmission / reception unit to the settlement apparatus 200 via the network 400.
  • a user ID is set in each user terminal 100 and a payment terminal ID is set in each payment terminal 300.
  • the user ID is an ID unique to each user terminal 100 for identifying each user terminal 100, and is generally a list of letters, numbers, and symbols. The same applies to the payment terminal ID.
  • the payment apparatus 200 may issue a user ID for each user terminal 100. The same applies to the payment terminal ID.
  • an individual identification number embedded in the hardware of the user terminal 100 from the time of shipment can be used as the user ID.
  • the administrator of each user device 100 inputs a user ID for the user device 100 by operating the input device.
  • the user ID data is sent from the input device to the interface 114 and sent from the interface 114 to the control unit 120.
  • the data input / output unit 123 of the control unit 120 receives this and sends it to the main control unit 121.
  • the main control unit 121 holds it or records it in the main control unit 121.
  • the main control unit 121 sends user ID data to the data input / output unit 123.
  • the user ID data is sent from there to the transmission / reception unit, and then sent to the settlement apparatus 200 via the network 400.
  • the settlement apparatus 200 receives the user ID data at its transmission / reception unit.
  • the user ID data is sent from the transmission / reception unit to the interface 214 and from the interface 214 to the control unit 220.
  • the data input / output unit 221 of the control unit 220 receives this and sends it to the main control unit 222.
  • the main control unit 222 holds it or records it in the main control unit 222.
  • the main control unit 222 has a list of all the user terminals 100. Such a list is used by the settlement apparatus 200 to specify who (who owns the user apparatus 100) the virtual currency data is to be generated.
  • the administrator of each payment terminal 300 inputs the payment terminal ID for the payment terminal 300 by operating the input device.
  • the payment terminal ID data is sent from the input device to the interface 314 and sent from the interface 314 to the control unit 320.
  • the data input / output unit 323 of the control unit 320 receives this and sends it to the main control unit 321.
  • the main control unit 321 holds it or records it in the main control unit 321.
  • the main control unit 321 sends the payment terminal ID data to the data input / output unit 323.
  • Data of the payment terminal ID is sent from there to the transmission / reception unit, and is sent to the payment device 200 via the network 400.
  • Payment device 200 receives payment terminal ID data at its transmitting / receiving unit. Data of the payment terminal ID is sent from the transmission / reception unit to the interface 214 and from the interface 214 to the control unit 220.
  • the data input / output unit 221 of the control unit 220 receives this and sends it to the main control unit 222.
  • the main control unit 222 holds it or records it in the main control unit 222.
  • the main control unit 222 has a list of all the payment terminals 300. This list is used by the settlement apparatus 200 to identify who (to whom the settlement terminal 300 administrator) payment (settlement) is permitted.
  • virtual money data is generated.
  • generation of virtual money data starts from the point where the user starts generation of generation request information (S911).
  • the user may touch an icon (not shown) displayed on the display 101.
  • the operation content is sent from the input device 102 to the main control unit 121 via the interface 114 and the data input / output unit 123, and the generation of the generation request information is disclosed.
  • the generation request information is generated when the user operates the input device 102 of the user terminal 100.
  • the generation request information includes at least a user ID and an amount that the user intends to use for payment.
  • the main control unit 121 sends an instruction to the display control unit 122 to display on the display 101 an image that prompts the user to input a user ID or the like.
  • the display control unit 122 displays, on the display 101, an image that prompts the user to input the user ID and the amount that the user is willing to pay, as shown in FIG. indicate.
  • the user inputs the user ID on the right side of the portion indicated as the user ID and the amount of money to be paid by the user on the right side of the portion indicated as the amount (yen) (S912).
  • Data on the user ID input by the user and the amount information that is information for specifying the amount are input from the input device 102 to the data input / output unit 123 via the interface 114 and sent to the main control unit 121. Since the user ID and the amount information input by the user are displayed on the display 101 under the control of the display control unit 122 controlled by the main control unit 121, including during the input, the user confirms the display 101 while The user ID and amount information can be input. According to the example shown in FIG. 10B, the user is going to make a payment of 25,000 yen using this payment system. When the input of the user ID and the money amount information is completed, the user clicks a button labeled “OK” displayed on the display 101.
  • the main control unit 121 collects the user ID and the money amount information as generation request information.
  • the generation request information may include other information.
  • the user tries to limit the settlement period to a predetermined period (for example, payment by the data is made only within half a year after the virtual currency data is issued). If you do not want to do this, or specify the date and time when the virtual currency data can be used at the beginning and end), the settlement period is limited to a predetermined period by entering that fact.
  • Data (time information) indicating that the person who receives the payment is not limited to a specific person (for example, a specific chain store, the head office and all branches of a corporation operating a specific banking business, a certain shopping mall (It is also possible to target multiple people, such as stores that open stores))
  • Data indicating that the person who receives payment is restricted to a specific person The user , Which is to be input from the input device 102.
  • These data are used when payment condition information described later is generated by the payment apparatus 200.
  • These data are input from the input device 102 to the data input / output unit 123 via the interface 114 and transferred from the data input / output unit 123 to the main control unit 121, similarly to the user ID data.
  • the main control unit 121 When these data are input, the main control unit 121 adds the data to the user ID and the payment terminal ID as the generation request information.
  • the generation request information is sent from the main control unit 121 to the data input / output unit 123, and is sent from the data input / output unit 123 to the transmission / reception unit.
  • the generation request information is sent from the transmission / reception unit to the settlement apparatus 200 via the network 400 (S913).
  • all communications performed via the network 400 may be encrypted communications.
  • the technique used for encryption and decryption in this case can be known or known.
  • the settlement apparatus 200 receives the data of the generation request information at the transmission / reception unit (S921).
  • the transmission / reception unit sends data of the generation request information to the data input / output unit 221, and the data input / output unit 221 sends the data to the main control unit 222.
  • the main control unit 222 in this embodiment performs a credit determination, which is a determination as to whether or not virtual money data may be generated for the user terminal 100 specified by the user ID. Perform (S922). Such determination may be performed in the same manner as a procedure generally called credit determination. As will be described later, if there is no particular problem, the settlement apparatus 200 issues virtual money data to the user terminal 100.
  • the main control unit 222 can communicate with a deposit account database for each user in which the balance of the deposit amount from each user is recorded in association with the user ID of each user, and the balance is generated by the user. If it is larger than the amount specified by the amount information transmitted by being included in the request information, it may be determined that the credit of the user is permitted.
  • the main control unit 222 can communicate with each bank having a bank account designated by each user, and the balance of the bank account designated by the user is specified by the amount information transmitted by the user included in the generation request information.
  • the payment apparatus 200 transmits the money amount information included in the generation request information to the user who operates the user terminal 100 that has sent it.
  • the main control unit 222 of the settlement apparatus 200 may determine that the user's credit is permitted.
  • the amount specified by the amount information transmitted by the user included in the generation request information is a predetermined credit frame depending on the user's occupation, annual income, home ownership, etc.
  • the main control unit 222 may determine that the credit of the user is permitted. In any case, when the credit of the user is accepted, the main control unit 222 displays the amount information included in the generation request information sent by the user and the settlement condition information if it exists. Data necessary for generation is sent to the virtual currency data generation unit 223.
  • the virtual money data generation unit 223 that has received the money amount information or the like generates virtual money data (S923).
  • the virtual money data includes at least encrypted issuer information, money amount information, and settlement condition information. Further, as described above, the virtual money data generation unit 223 uses data recorded in the basic data recording unit 224 when generating virtual money data.
  • data recorded in the basic data recording unit 224 is information that can be issuer information and settlement condition information.
  • the issuer information may include data not recorded in the basic data recording unit 224, and the same applies to the settlement condition information.
  • the issuer information is generally information indicating the circumstances of issue including the issuer of virtual money data.
  • the information that can be the issuer information is, for example, issuer information, which is information for specifying the payment device 200 that is the issuer of the virtual money data, and is, for example, the IP address of the payment device 200.
  • issuer information is the IP address of the user terminal 100.
  • Another example of information that can be issuer information is a person who has the authority to guarantee the authenticity of virtual money data, for example, authentication information that is information that guarantees the authenticity of virtual money data issued by a government agency. It is.
  • serial number information that is unique to each virtual currency data for distinguishing virtual currency data from other virtual currency data.
  • Other information may be included in the issuer information, and data that is not recorded in the basic data recording unit 224 may be included as will be described later.
  • what is essential is only information for specifying the issuer of virtual money data (in this embodiment, it is assumed that it is the settlement apparatus 200).
  • information other than the authentication information and the serial number information may be recorded in the basic data recording unit 224 as information that can be the issuer information. It supplements about the above-mentioned serial number information.
  • the serial number information is information about the serial number.
  • each virtual currency data may include serial number information in an encrypted state.
  • the serial number information is, for example, a serial number of a multi-digit number starting from 1 (for example, 1000 digits) written in hexadecimal format, like the serial number printed on banknotes issued by the Japanese government. is there. What is recorded in the basic data recording unit 224 as the serial number information is the serial number information next to the serial number information that has been included in the virtual currency data issued immediately before. The serial number information is rewritten as described later.
  • the settlement condition information is information that becomes a condition for allowing the settlement apparatus 200 that has received the virtual money data to accept the settlement as will be described later.
  • the payment conditions determined by the payment condition information may be determined by the user terminal 100 or the payment device 200.
  • Payment condition information determined by the payment apparatus 200 is recorded in the basic data recording unit 224. What is recorded in the basic data recording unit 224 as information that can be settlement condition information is, for example, recipient information and time information as described above.
  • the settlement condition information set on the settlement apparatus 200 side is difficult for the user to use the virtual currency data for payment, so it becomes difficult for the user to use the virtual currency data. It would be important to set correct payment condition information.
  • the settlement condition information may also be information for changing the amount specified by the amount information.
  • the settlement condition information can be information such that the amount specified by the amount information is gradually reduced with time, or the amount specified by the amount information is gradually reduced.
  • Amount information is also for payments within a specified period, for example, to recipients belonging to a certain store, a corporate group, recipients having an address in a certain region, in other words, recipients having a certain attribute,
  • the amount of information specified by the amount information can be increased by 10%.
  • the last example allows a user to use virtual currency data like a coupon.
  • the basic data recording unit 224 also records data required when the settlement apparatus 200 performs settlement determination described later. Since this data is used by the settlement determination unit 226 rather than by the virtual money data generation unit 223, it is not necessarily recorded in the basic data recording unit 224 as much as possible.
  • the payment terminal ID for each payment terminal 300 is recorded as shown in FIG.
  • the virtual money data generating unit 223 that has received the money amount information reads the information that can be the issuer information and the settlement condition information recorded in the basic data recording unit 224 when generating the virtual money data. And although it does not necessarily have to be this order, the data (FIG. 12 (A)) which combined issuer information, money amount information, and settlement condition information are generated.
  • the issuer information in this embodiment includes, but is not limited to, information for specifying the settlement apparatus 200 that is the issuer of virtual money data, authentication information, serial number information, and timing information.
  • the virtual money data generation unit 223 reads the serial number information, it overwrites the serial number information recorded in the basic data recording unit 224 with “+1”. As a result, the serial number information is always kept up-to-date.
  • the timing information indicates the time at which the virtual money data generating unit 223 generates the virtual money data (for example, the time at which the virtual money data generating unit 223 receives the money amount information) in units of seconds, for example.
  • the virtual money data generation unit 223 always receives date and time information from a clock (not shown) included in the settlement apparatus 200.
  • the amount information in this embodiment is information specifying the amount of 25,000 yen as described above. Of course, the amount is not limited to 25000 yen, and the unit of the amount is not limited to yen. Furthermore, the monetary unit need not be the same as the legal currency.
  • the payment condition information in this embodiment is included in the generation request information sent from the user terminal 100, and the payment condition information sent from the main control unit 222 to the virtual money data generation unit 223.
  • the data shown in FIG. 12A is encrypted by the encryption unit 223A in the virtual currency data generation unit 223 and converted into virtual currency encryption data.
  • the encryption method may be known or known, but in this embodiment, it is necessary to be able to perform decryption by at least an appropriate method.
  • virtual money data is generated one after another by a large number of requests from a large number of users.
  • the encrypted portion of the data structure is shaded.
  • the encryption method executed in the process of generating virtual money data is the same when generating any virtual money data.
  • the encryption method is the same regardless of which virtual currency data is generated.
  • serial number information and timing information on the premise that the data is changed are included in the data to be encrypted. In particular, there is no same serial number information. Therefore, there is no same virtual currency encrypted data as two.
  • the virtual currency encryption data is an alphabet, a number, a symbol, or a combination of two or more thereof, and is a list of characters having a certain number of characters (or 1000 digits) or more (or the number of digits).
  • the encryption unit 223A When the encryption unit 223A generates virtual currency encrypted data, the virtual currency encrypted data is sent to the combining unit 223B.
  • the combining unit 223B uses the virtual currency cryptography to determine predetermined ones of the issuer information, the money amount information, and the settlement condition information included in the virtual currency encryption data by being encrypted in the virtual currency encryption data.
  • Virtual currency data is obtained by combining the above-described plaintext data with virtual currency encryption data.
  • the information added to the virtual currency encrypted data may be part or all of the issuer information, amount information, and settlement condition information.
  • the serial number information, amount information, and recipient It shall be information.
  • the serial number information in plain text, the amount information, and the recipient information are grasped not only by the payment apparatus 200 but also by the user terminal 100 or the payment terminal 300 without any special processing ( Because it is readable, it can be read and understood).
  • the malicious third party can also read the plaintext data, but all the contents of the data included encrypted in the virtual currency encrypted data Misuse of virtual currency data is difficult.
  • a malicious third party makes a payment to the payment apparatus 200 via the payment terminal 300 as described below under conditions contrary to the payment condition information encrypted and attached to the virtual currency encrypted data. If requested, the malicious third party may leave a history of requesting payment under wrong conditions, depending on the specifications of the payment device 200 or the payment terminal 300. These histories provide a powerful material for identifying malicious third parties, and are a powerful deterrent against attempts by malicious third parties to misuse virtual currency data.
  • the generated virtual money data is sent from the virtual money data generation unit 223 to the main control unit 222.
  • the main control unit 222 attaches an instruction to return it to the user terminal 100 specified by the user terminal ID attached to the generation request information that is an application for generating the virtual money data, and Money data is sent to the data input / output unit 221.
  • the virtual money data is further sent to the transmission / reception unit, and is sent to the user terminal 100 specified by the user terminal ID via the network 400 (S924).
  • the transmission / reception unit of the user terminal 100 receives the sent virtual currency data (S914).
  • the received virtual money data is sent from the data input / output unit 123 to the main control unit 121.
  • the virtual money data can be used, that is, the user who owns the user terminal 100 can make a payment to the third party using the virtual money data.
  • the user performs an operation for saving the virtual currency data using the input device 102.
  • the operation content to that effect is sent from the input device 102 to the main control unit 121 via the interface and the data input / output unit 123.
  • the virtual money data is sent from the main control unit 121 to the user terminal recording unit 124 and recorded in the user terminal recording unit 124 that is a part of the RAM 113 when viewed as hardware.
  • the same user can store a plurality of virtual currency data in his / her user terminal 100.
  • a plurality of virtual money data is recorded in the user terminal recording unit 124.
  • the user can use the virtual currency data stored in the user terminal 100 for payment at any time.
  • the user wants to use the virtual currency data
  • the user operates the input device 102 of the user terminal 100 to input to that effect.
  • Such an input is input to the main control unit 121 via the interface 114 and the data input / output unit 123.
  • the main control unit 121 reads, for example, all the virtual money data from the user terminal recording unit 124, and based on the data, displays the image as shown in FIG. Send instructions to display. As shown in FIG.
  • a plurality of virtual money data is displayed on the display 101 so that one of them can be selected.
  • Each display including the amount of money surrounded by a square frame corresponds to virtual currency data.
  • the virtual currency data data includes encrypted virtual currency encryption data and plaintext serial number information, amount information, and recipient information. Since the user terminal 100 can read plaintext information, the user terminal 100 can display information based on information described in plaintext as an image corresponding to each virtual currency data on the display 101. . In this embodiment, although not limited to this, the amount specified by the amount information and information about the recipient who can receive payment based on the recipient information are displayed on the display 101. ing. The virtual money data that is not displayed based on the recipient information has no restrictions on the recipient.
  • the image displayed on the display 101 can include all of the data described in plain text. For example, serial number information may be included.
  • the user operates the input device 102 that is also used as the display 101 to select virtual currency data used for payment. Such input is input to the main control unit 121 as described above. Then, the display on the display 101 is switched as shown in FIG. Under the control of the main control unit 121, the display control unit 122 displays on the display 101 a display corresponding to the virtual currency data, and more specifically, a display obtained by converting the virtual currency data into a two-dimensional barcode. is there.
  • the information included in the two-dimensional barcode needs to correspond to the virtual currency encrypted data at least, but in this embodiment, it corresponds to the entire virtual currency encrypted data.
  • Delivery of virtual money data is performed by capturing an image of a two-dimensional barcode displayed on the display 101 of the user terminal 100 with a camera provided in the payment terminal 300. Data of the captured image is sent from the camera of the payment terminal 300 to the data input / output unit 323 via the interface 314 and then sent to the main control unit 321.
  • the main control unit 321 generates virtual currency encrypted data from the two-dimensional barcode reflected in the image data. Thereby, virtual money data is delivered from the user terminal 100 to the payment terminal 300 (S931).
  • virtual currency data is transferred from the user terminal 100 to the payment terminal 300 by reading a two-dimensional barcode.
  • the two-dimensional barcode is a one-dimensional barcode or other identifier. It is good also as realizing it.
  • Bluetooth trademark
  • the virtual currency data is displayed on the display 101 and shown to the administrator of the payment terminal 300, etc. good.
  • an administrator of the payment terminal 300 or the like manually inputs virtual currency data to the payment terminal 300 by an input device.
  • the main control unit 321 temporarily records virtual money data, for example, at least until payment by the virtual money data is completed. Such recording is performed on the RAM 313 as hardware.
  • the payment terminal 300 can read serial number information, money amount information, and recipient information described in plain text in the virtual money data. Accordingly, the main control unit 321 can cause the display control unit 322 to display information such as that shown in FIG. 14 specified by the information on the display. For example, by displaying the amount specified by the amount information, the administrator of the payment terminal 300 or the like will be able to confirm the amount that payment is about to be made, and the information specified by the recipient information You will know if you are the person who can receive the payment.
  • the administrator of the settlement terminal 300 may receive provision of other virtual currency data from the user. If the virtual money data received from the user is appropriate, the administrator of the payment terminal 300 operates the input device of the payment terminal 300 to perform an operation for sending the virtual money data to the payment device 200. Do. When such an operation is performed, the operation content is sent from the input device to the main control unit 321 via the data input / output unit 323. When such an input is made, the main control unit 321 sends data with a settlement terminal ID attached to the virtual currency data to the data input / output unit 323. The data input / output unit 323 sends the data to the transmission / reception unit, and the transmission / reception unit sends the data to the settlement apparatus 200 via the network 400 (S932). At this time, at least the virtual currency encrypted data needs to be sent to the settlement apparatus 200 together with the settlement terminal ID. In this embodiment, the entire virtual currency data is sent to the settlement apparatus 200 together with the settlement terminal ID.
  • the settlement apparatus 200 receives the data of the settlement terminal ID and the virtual money data at the transmitting / receiving unit (S925). These data are sent to the main control unit 222 via the interface 214 and the data input / output unit 221. The main control unit 222 that has received them sends the payment terminal ID data and the virtual money data to the decryption unit 225. At this time, at least the virtual currency encrypted data needs to be sent to the decryption unit 225 together with the settlement terminal ID. In this embodiment, the entire virtual currency data is sent to the decryption unit 225 together with the settlement terminal ID. . The decryption unit 225 decrypts the virtual currency encrypted data (S926).
  • the decryption process performed by the decryption unit 225 also corresponds to the encryption process. The same processing is performed.
  • the decryption unit 225 sends the issuer information, the money amount information, and the payment condition information to the payment determination unit 226 together with the payment terminal ID data.
  • the virtual currency encrypted data could be decrypted by the decryption unit 225
  • the virtual currency encrypted data, and hence the virtual currency data that included it is authentic. This means that a temporary determination has been made. If the virtual currency encrypted data cannot be decrypted, the decryption unit 225 sends information to that effect to the settlement determination unit 226.
  • the settlement determination unit 226 receives from the decryption unit 225 the issuer information, the money amount information, the settlement condition information, and the settlement terminal ID, or information indicating that the virtual currency encrypted data could not be decrypted. Among them, when the issuer information, the money amount information, the payment condition information, and the payment terminal ID are received, the payment determination unit 226 performs final determination (S927). When executing the final determination, the settlement determination unit 226 reads necessary data from the basic data recording unit 224. As described above, the issuer information includes information for specifying the settlement apparatus 200 that is the issuer of virtual money data. Since the same data is recorded in the basic data recording unit 224, the settlement determination unit 226 reads the data from the basic data recording unit 224 and compares the two.
  • the settlement determination unit 226 determines that the virtual currency encrypted data is authentic.
  • the issuer information is a person who has the authority to guarantee the authenticity of virtual money data, for example, authentication information that is information that guarantees the authenticity of virtual money data issued by a government agency. May be included. If such data is used for authentication, authentication data also exists in the basic data recording unit 224, so that the payment determination unit 226 reads the data from the basic data recording unit 224 and compares the data for authentication. If they match, the settlement determination unit 226 determines that the virtual currency encrypted data is authentic. Similarly, the serial number information, timing information, money amount information, information included in the settlement condition information, etc. may be used for determining the authenticity of the virtual currency encrypted data.
  • the payment determination unit 226 determines whether or not the condition specified by the payment condition information is satisfied. However, the confirmation that the virtual currency encrypted data is authentic is actually performed by the fact that the virtual currency encrypted data could be decrypted by the decryption unit 225. Confirmation of the authenticity of the currency encryption data may be omitted. For example, the determination as to whether or not the condition specified by the settlement condition information is satisfied is performed as follows. As described above, the payment condition information may include recipient information. Recipient information is information for limiting who can receive payment according to the attributes of the recipient or the address of the recipient.
  • the payment determination unit 226 reads information about the attribute associated with the payment terminal ID received from the decryption unit 225 from the basic data recording unit 224, and the attribute, etc., associated with the payment terminal ID is It is determined whether or not a condition of a person who can receive payment specified by the recipient information included in the settlement condition information is satisfied. When such a condition is satisfied, the payment determination unit 226 temporarily determines that the condition specified by the payment condition information is satisfied.
  • the payment condition information may include time information.
  • the time information is information for specifying a time when payment from the user to the administrator of the payment terminal 300 is permitted. The time information may be described by an absolute date and time, such as from 0:00 on July 1, 2017 to 0:00 on July 30, 2017, depending on the date and time.
  • the payment determination unit 226 accepts information related to the date and time from a clock (not shown) included in the payment apparatus 200, and whether the determination time satisfies the condition specified by the time information. It may be determined whether or not. When such a condition is satisfied, the payment determination unit 226 temporarily determines that the condition specified by the payment condition information is satisfied.
  • the timing information is generated when the virtual currency data is generated, such as within 3 months from the generation of the virtual currency data, or payment is allowed only for 10 days from one week after the virtual currency data is generated. May be determined relative to the standard.
  • the settlement determination unit 226 is required to include the timing information in the decrypted issuer information, but it is based on the generation time of the virtual money data specified by the timing information. As described above, it may be determined whether or not the above-described conditions are satisfied. When such a condition is satisfied, the payment determination unit 226 temporarily determines that the condition specified by the payment condition information is satisfied. In the case where the settlement condition information is information that changes the amount specified by the amount information, it is determined whether the condition specified by the settlement condition information is satisfied by the same method. Note that the payment condition information is not limited to the above. For example, payment is permitted only when the weather on a certain day is sunny, and payment is only made when a specific soccer team wins a specific game.
  • an event that is determined after virtual currency data is issued from the settlement apparatus 200 such as payment is permitted only when an average stock price in a certain stock market exceeds a certain price
  • the payment apparatus 200 searches for information necessary for determining whether or not the payment condition information is satisfied from an external apparatus via the network 400, and sends the information to the payment determination unit 226. What is necessary is just to make it supply.
  • the payment determination unit 226 determines that the payment condition information (all of them, if any) is satisfied, the payment determination unit 226 accepts payment of the amount specified by the amount information. The final determination data indicating the positive information is generated.
  • the amount that is allowed to be paid here is the amount after the change.
  • the settlement determination unit 226 receives from the decryption unit 225 information indicating that the virtual currency encrypted data could not be decrypted, it is determined that the virtual currency encrypted data is authentic. Otherwise, if the payment determination unit 226 does not determine that the payment condition information (all of them, if any) is satisfied, the payment of the amount specified by the amount information is not permitted. Final determination data indicating negative information is generated. In any case, the generated final determination data is sent from the settlement determination unit 226 to the main control unit 222.
  • the main control unit 222 receives the final determination data and performs the following processing.
  • the main control unit 222 executes a process of paying the administrator of the payment terminal 300 for the amount specified by the final determination data.
  • the payment process is a process for allowing payment of money to the payment terminal 300 that has sent the virtual currency encrypted data.
  • the main control unit 222 holds data indicating what kind of payment has been made.
  • the main control unit 222 records information about who (however, the administrator of the payment terminal 300, etc.) the payment is finally permitted on a recording medium (not shown) for each payment terminal 300. It has become.
  • the determination result data is received by the transmission / reception unit of the payment terminal 300 (S933).
  • the determination result data received by the transmission / reception unit is sent to the main control unit 321 as in the previous cases.
  • the main control unit 321 instructs the display control unit 322 to display on the display according to the determination result data.
  • the display control unit 322 causes the display to display according to the determination result data (S934).
  • the display is omitted, for example, if the determination result data is affirmative, the settlement is accepted and the amount is determined, and the determination result data is negative. In some cases, the settlement would not have been accepted.
  • the determination result data can also be transmitted to the user terminal 100, and the user terminal 100 can display an image on the display 101 based on the determination result data. The payment process from the user to the administrator of the payment terminal 300 using the virtual currency data is thus completed.
  • the recipient of payment using virtual currency data using a certain user terminal 100 is only the administrator of the payment terminal 300 or the like.
  • a recipient of payment using virtual currency data using a certain user terminal 100 can be a user of another user terminal 100.
  • the user terminal 100 owned by the user who receives the payment installs the same computer program as that installed in the payment terminal 300, so that the same functional block as the payment terminal 300 has. What is necessary is just to have it.
  • the user terminal 100 is a smartphone, it is possible because it includes a computer.
  • the payment terminal 300 includes a camera as hardware, but if the user terminal 100 is a smartphone, the user terminal 100 satisfies the conditions because the user terminal 100 has a camera.
  • the payment determination unit 226 determines that the payment condition information is sufficient, the payment determination unit 226 needs to record it in association with the user ID of each user terminal 100 within a range necessary for the payment determination unit 226 to determine the sufficiency of the payment condition information. Let's go.
  • virtual currency data is transferred from the user terminal 100 to the payment terminal 300 without going through the network 400.
  • the delivery is performed via the network 400. You may implement
  • the settlement apparatus 200 has both the function of issuing virtual currency data and sending it to the outside, and the function of receiving virtual currency data and determining whether payment is possible. It is also possible to separate the money data issuing device and the virtual money data settlement device. In that case, both the former and the latter can be the same as the settlement apparatus 200 already described as the hardware configuration, and the former is necessary until the virtual money data is sent to the user terminal 100 regarding the functional block.
  • the function block having the function can be included in the latter, and the function block having the function necessary after that can be included in the latter.
  • the payment system according to the first modification is almost the same as the payment system according to the first embodiment.
  • the configuration of the user terminal 100 and the payment terminal 300 and the processing executed there are no different from those in the first embodiment.
  • the data structure of the virtual money data is the same as that in the first embodiment.
  • the configuration of the settlement apparatus 200 and the processing executed there is different. Nevertheless, the configuration of the settlement apparatus 200 of the first modification and most of the processing executed there are the same as those in the first embodiment.
  • the encryption method used by the encryption unit 223A to generate the virtual currency encrypted data included in each of a large number of virtual currency data is the same as all the methods for generating virtual currency encrypted data.
  • this modification there are a plurality of encryption methods executed to obtain virtual currency encryption data. Then, when the decryption unit 225 tries to decrypt a certain virtual currency encrypted data, the decryption unit 225 knows which of the plurality of encryption methods is used to encrypt the virtual currency encrypted data. Otherwise, the decryption process cannot be performed. What makes this possible is the difference between the settlement apparatus 200 of the first modification and the settlement apparatus 200 in the first embodiment.
  • the encryption performed by the encryption unit 223A is different for each virtual currency encrypted data. Therefore, the decryption processing performed by the decryption unit 225 for each virtual currency encrypted data is also different.
  • a control unit 220 that is a functional block is generated by executing a computer program. As shown in FIG.
  • the functional blocks generated in the control unit 200 in the first modification are substantially the same as those in the first embodiment, and the functions carried by the same functional blocks are the same as those in the encryption unit 223A and decryption Except for the portion 225, the configuration is the same as in the first embodiment.
  • the functional block generated in the control unit 200 in the first modification includes a key generation unit 227, which is different from the first embodiment in that respect.
  • the key generation unit 227 generates a key used for encryption or decryption, and provides the key to the encryption unit 223A and the decryption unit 225. A key generation method and timing for providing the key to the encryption unit 223A and the decryption unit 225 will be described.
  • the timing at which the key generation unit 227 supplies the key to the encryption unit 223A is the timing at which the encryption unit 223A performs the encryption process.
  • the key generation unit 227 when the plaintext data including the data shown in FIG. 12A, that is, the issuer information, the money amount information, and the payment condition information is generated, the key generation unit 227 generates the encryption unit 223A. Send data to request to generate a key. Upon receiving it, the key generation unit 227 generates a key and sends the generated key data to the encryption unit 223A.
  • the encryption unit 223A obtains virtual currency encrypted data by encrypting the data shown in FIG. 12A using an invariant algorithm and the provided key. For example, the key generation unit 227 generates a key as follows.
  • the key is generated as a “solution” in the following description, and is generated as an enumeration of at least one of letters, numbers, and symbols.
  • the solution can be, for example, a pseudo-random number sequence having an initial value dependency that is always generated under a certain condition.
  • An example is a well-known and well-known one-time password generation method in which one-time passwords are continuously generated from a certain initial value.
  • a solution is used in which a new solution is sequentially formed by using a certain initial value (may be two or more) and substituting a past solution into a predetermined function. Run as needed. By doing so, the solution which is said "value" can be produced
  • Such a solution is a pseudo-random number having an initial value dependency.
  • the following (a) to (c) are given as examples of functions used to create the above “solution”.
  • Each of the following (a) to (c) is an expression for creating X N which is the Nth “solution”.
  • P, Q, R, and S are natural numbers.
  • (A) (X N ) (X N ⁇ 1 ) P + (X N ⁇ 2 ) Q
  • (B) (X N ) (X N ⁇ 1 ) P
  • C) (X N ) (X N-1 ) P (X N-2 ) Q (X N-3 ) R (X N-4 ) S
  • two past “solutions” are used, and a new “solution” is generated by adding the P power and Q power respectively.
  • a new “solution” is generated by extracting the number of digits, extracting the appropriate number of digits from the end, or extracting the appropriate number of digits from the appropriate part of the value.
  • B is a new “solution” that uses one past “solution” and arranges the number of digits of the previous “solution” to the P power as described above.
  • C uses the past four “solutions”, takes the products of those raised to the P, Q, R, and S powers respectively, and then rearranges the number of digits as described above. ".
  • the above-mentioned (a) to (c) are examples of an algorithm for generating a solution, and changes are made to the algorithm when generating the solution, for example, the above-mentioned (a) to (c) are used in order. It is also possible to add changes. If a solution is generated by such a method, the first solution generated based on a certain initial value is always the same, the second solution generated is always the same, and similarly the Nth The solution generated in is always the same. This is the initial value dependency.
  • the encryption unit 223A encrypts the data shown in FIG. 12A to generate virtual currency encrypted data.
  • the coupling unit 232B adds virtual plaintext data to the virtual currency encryption data to generate virtual currency data.
  • the virtual money data is sent from the settlement apparatus 200 to the user terminal 100 as in the case of the first embodiment.
  • the method of using the virtual money data is the same as in the first embodiment, and is delivered from the user terminal 100 to the payment terminal 300 and sent from the payment terminal 300 to the payment device 200 together with the payment terminal ID.
  • the virtual money data is sent from the main control unit 222 to the decryption unit 225 together with the settlement terminal ID as in the case of the first embodiment.
  • the decryption unit 225 decrypts the virtual currency encrypted data.
  • the decryption unit 225 needs to obtain the key used when the encryption unit 223A encrypts the virtual currency encrypted data. Therefore, the decryption unit 225 that has received the virtual money data sends data requesting the key generation unit 227 to generate key data. And the decoding part 225 attaches
  • the serial number information of this embodiment is a serial number of multiple digits starting from 1 expressed in hexadecimal.
  • the number specified by the serial number information indicates what order the key used when encrypting the virtual currency encrypted data to be decrypted is generated. ing. Therefore, the key generation unit 227 continuously performs calculations to obtain the number th solution specified by the serial number information using the above-described mathematical expressions (a) to (c). As a result, the key generation unit 227 can generate the same solution as the same key used when encrypting the virtual currency encrypted data to which the serial number information is attached. Then, the key generation unit 227 sends the key that is the generated solution to the decryption unit 225. As a result, the decryption unit 225 can perform the decryption process using the same key used when the encryption unit 223A encrypts the virtual currency encrypted data.
  • the serial number information also serves as the encryption condition information referred to in the present invention.
  • the encryption condition information included in the virtual money data may be plain text or may be in an encrypted state.
  • the main control unit 222 decrypts the encryption condition information. If the encryption method and the decryption method are the same, it is naturally possible for the same main control unit 222 to perform the encryption and decryption.
  • the serial number information is also used as the encryption condition information, and if it is necessary to leave the serial number information in plain text, It is necessary to prepare other encryption condition information. Then, it is possible to keep the serial number information included in the virtual money data as plain text and to encrypt the encryption condition information included in the virtual money data. Subsequent processing is the same as in the first embodiment.
  • the serial number information is used as the encryption condition information in the present invention. That is, the serial number information that is a part of the issuer information is also used as the encryption condition information. Instead of this, for example, the serial number information is not used as the encryption condition information (in this case, the serial number information need not be a serial number) and is different from the serial number information.
  • Information can be included in the virtual currency data in plain text or encrypted.
  • the data is serial number data indicating what number the key used in generating the virtual currency encrypted data is generated by the key generation unit 227.
  • the combining unit 223B adds the key itself used when the encryption unit 223A performs the encryption process to the virtual currency encrypted data encrypted by the key, It can also be included in virtual currency data.
  • the virtual money encryption data is decrypted by a malicious third party.
  • the algorithm used for encryption / decryption is known to the third party, the malicious third party cannot decrypt the virtual currency encrypted data, so that a temporary security can be maintained.
  • the encryption condition information is the key itself, the decryption unit 225 can perform decryption using the key. Therefore, the decryption unit 225 receives the key from the key generation unit 227 when performing the decryption process. There is no need to receive the offer. Note that the encryption condition information does not depend on the above.
  • the solution is determined by the date and time when the above-mentioned solution is generated.
  • the key generation unit 227 uses an algorithm that can always reproduce the solution later by designating a certain date and time.
  • the encryption condition information may be information specifying the date and time when the solution used by the encryption unit 223A was generated by the key generation unit 227. If the decryption unit 225 notifies the key generation unit 227 of the date and time, the key generation unit 227 can generate the same solution as the key used for the encryption by the encryption unit 223A. The key generation unit 227 can receive the same key as the key used by the encryption unit 223A for encryption.
  • the payment system according to the second embodiment is almost the same as the payment system according to the first embodiment.
  • the data structure of the virtual money data is basically the same as that in the first embodiment.
  • the virtual currency data used in the settlement system according to the second embodiment also includes virtual currency encrypted data that is encrypted data as in the first embodiment. However, as will be described later, such virtual currency data is included.
  • the encryption process performed on the currency encrypted data need not be such that it can be decrypted.
  • the encryption processing for obtaining the virtual currency encrypted data performed on the data shown in FIG. 12A can be conversion such as taking a hash value.
  • the difference between the second embodiment and the first embodiment is the configuration of the settlement apparatus 200 and the processing executed there. Nevertheless, the configuration of the settlement apparatus 200 of the second embodiment and most of the processes executed there are the same as in the case of the first embodiment.
  • a control unit 220 that is a functional block is generated by executing a computer program.
  • the functional blocks generated in the control unit 200 in the second embodiment are substantially the same as those in the first embodiment, and the functions carried by the same functional blocks are the virtual money data generating unit. Except for a part of the functions of H.223, it is the same as the case of the first embodiment.
  • the functional block generated in the control unit 200 in the second embodiment does not include the decryption unit 225 in the first embodiment, and instead, the second authentication that was not in the first embodiment.
  • the virtual money data generation unit 223 will be described.
  • the function of the virtual money data generation unit 223 of the second embodiment and the processing performed there are almost the same as those of the first embodiment.
  • the virtual money data generation unit 223 includes an encryption unit 223A and a combining unit 223B as in the case of the first embodiment.
  • the function of the coupling unit 223B and the processing performed there are the same as those in the first embodiment.
  • the function of the encryption unit 223A of the second embodiment and the processing performed there are basically the same as those of the first embodiment, but the encryption processing performed by the encryption unit 223A of the second embodiment is However, it may be one that can be decoded later, or it may not be one that can be decoded.
  • the encryption unit 223A encrypts the data shown in FIG. 12A to generate virtual currency encrypted data.
  • the virtual currency encrypted data is sent to the combining unit 223B, and the data described in the first embodiment in plain text is added thereto by the combining unit 223B. It becomes monetary data.
  • the virtual money data generation unit 223 of the first embodiment sends virtual money data to the main control unit 222 in order for the payment apparatus 200 to perform processing for sending virtual money data from the payment apparatus 200 to the user terminal 100.
  • the virtual money data generation unit 223 of the second embodiment also sends virtual money data to the virtual money data recording unit 228A.
  • the virtual currency data generation unit 223 issues not only the virtual currency data but also the plaintext that is the data shown in FIG. 12A that is the source of the virtual currency encryption data included in the virtual currency data.
  • Person information, money amount information, and settlement condition information are also sent to the virtual money data recording unit 228A.
  • the sent virtual currency data and the plaintext issuer information, the amount information, and the settlement condition information that are the sources of the virtual currency encryption data included in the virtual currency data are sent to each other. Recorded in the associated state. Since this process is repeatedly performed, the virtual currency data recording unit 228A normally has the virtual currency data and plaintext issuer information, monetary information, and settlement that is the source of the virtual currency encryption data included therein.
  • a set of data with the condition information is recorded in a plurality of sets.
  • the virtual money data sent to the main control unit 222 is sent from the settlement apparatus 200 to the user terminal 100 as in the case of the first embodiment.
  • the method of using the virtual money data is the same as in the first embodiment, and is delivered from the user terminal 100 to the payment terminal 300 and sent from the payment terminal 300 to the payment device 200 together with the payment terminal ID.
  • the virtual money data is sent from the main control unit 222 to the second authentication unit 228 together with the settlement terminal ID as in the case of the first embodiment.
  • the second authentication unit 228 confirms whether the received virtual currency data is authentic, or more specifically, whether the virtual currency encrypted data included in the received virtual currency data is authentic. It has a function. In this first embodiment, this point has been confirmed by the fact that the virtual currency encrypted data can be decrypted by the decryption unit 225. However, the second authentication unit 228 uses a different method. Confirm with. The second authentication unit 228 that has received the virtual currency data from the main control unit 222 searches the data recorded in the virtual currency data recording unit 228A, and the same virtual currency data as the virtual currency data received from the main control unit 222 is obtained.
  • the number of characters (number of digits) of the virtual money data is set in order to avoid duplication in the virtual money data generated by a large number of requests from a large number of user terminals 100. It is preferable to take appropriate measures such as increasing the size.
  • the data read from the second authentication unit 228 is, for example, paid to the administrator of the settlement terminal 300 using the corresponding virtual money data. It is desirable to delete from the virtual currency data recording unit 228A after the process is completed.
  • the second authentication unit 228 determines that the virtual currency data received from the main control unit 222 is authentic, the second authentication unit 228 is associated with the same virtual currency data as the virtual currency data received from the main control unit 222.
  • the issuer information, money amount information, and settlement condition information recorded in the virtual currency data recording unit 228A in the state are read. In this state, the second authentication unit 228 has issuer information, amount information, and settlement condition information.
  • issuer information, money amount information, and settlement condition information are the data that the second authentication unit 228 uses when encrypting the virtual currency encrypted data included in the virtual currency data received from the main control unit 222. It is. That is, the state in which the second authentication unit 228 has the issuer information, the amount information, and the settlement condition is included in the virtual money data received from the main control unit 222 by the decryption unit 225 in the first embodiment. This is the same as when the virtual currency encrypted data is decrypted. That is, all subsequent processes can be the same as in the first embodiment, and in the second embodiment.
  • the decryption unit 225 sends the issuer information, the money amount information, and the payment condition information, all of which have been returned to plaintext, together with the payment terminal ID data to the payment determination unit 226. Then, the second authentication unit 228 sends the issuer information, the amount information, and the payment condition information, all of which are plain text, to the payment determination unit 226 together with the data of the payment terminal ID.
  • the decryption unit 225 sends information to that effect to the settlement determination unit 226.
  • the decryption in the first embodiment cannot be performed.
  • Information indicating that the same virtual currency data does not exist in the virtual currency data recording unit 228A and having the same meaning as the information indicating that the information has been received is sent to the settlement determination unit 226. The subsequent description is omitted.
  • the second authentication unit 228 determines whether or not the same virtual currency data as the virtual currency data sent from the main control unit 222 exists in the virtual currency data recording unit 228A.
  • the authenticity of the virtual currency encrypted data of the virtual currency data sent from the main control unit 222 is determined. However, this determination can be made only with the virtual currency encrypted data, without depending on the entire virtual currency data. Therefore, the main control unit 222 may send only the virtual currency encrypted data, not the entire virtual currency data, to the second authentication unit 228 together with the settlement terminal ID.
  • the virtual currency data generation unit 223 records the virtual currency data recording unit 228A in association with the plaintext issuer information, the money amount information, and the settlement condition information, not the virtual currency data. It becomes.
  • the second authentication unit 228 determines whether or not the same virtual currency encrypted data as the virtual currency encrypted data sent from the main control unit 222 exists in the virtual currency data recording unit 228A. The authenticity of the virtual currency encrypted data out of the virtual currency data sent from is determined.
  • the payment system according to the third embodiment is almost the same as the payment system according to the first embodiment.
  • the configuration of the user terminal 100 and the payment terminal 300 and the processing executed there are no different from those in the first embodiment.
  • the data structure of the virtual money data is basically the same as that in the first embodiment.
  • the virtual currency data used in the settlement system according to the third embodiment also includes virtual currency encrypted data that is encrypted data as in the case of the first embodiment.
  • this virtual currency data Unlike the case of the first embodiment, the encryption process performed on the currency encrypted data need not be such that it can be decrypted. For example, the encryption processing for obtaining the virtual currency encrypted data performed on the data shown in FIG.
  • a control unit 220 that is a functional block is generated by executing a computer program.
  • the functional blocks generated in the control unit 200 in the third embodiment are substantially the same as those in the first embodiment, and the functions carried by the same functional blocks are the virtual money data generating unit. Except for a part of the functions of H.223, it is the same as the case of the first embodiment.
  • the functional block generated in the control unit 200 in the third embodiment does not include the decryption unit 225 in the first embodiment, and instead, the third authentication that was not in the first embodiment.
  • the virtual money data generation unit 223 includes an encryption unit 223A and a combining unit 223B as in the case of the first embodiment.
  • the function of the coupling unit 223B and the processing performed there are the same as those in the first embodiment.
  • the virtual money data generation unit 223 first generates data having issuer information, money amount information, and settlement condition information having a data structure as shown in FIG.
  • the data is encrypted by the encryption unit 223A and converted to virtual currency encrypted data.
  • the function of the encryption unit 223A of the third embodiment and the processing performed there are basically the same as those of the first embodiment, but the encryption processing performed by the encryption unit 223A of the third embodiment is However, it may be one that can be decoded later, or it may not be one that can be decoded.
  • the virtual currency encrypted data is sent to the combining unit 223B, and the data described in the first embodiment in plain text is added thereto by the combining unit 223B. It becomes data.
  • the virtual money data generation unit 223 of the first embodiment sends virtual money data to the main control unit 222 in order for the payment apparatus 200 to perform processing for sending virtual money data from the payment apparatus 200 to the user terminal 100. The same applies to the third embodiment.
  • the data shown in FIG. 12A is sent from the virtual currency data generation unit 223 to the plaintext data recording unit 229A and recorded in the plaintext data recording unit 229A. Since such processing is repeatedly performed, normally, a large number of pieces of issuer information, money amount information, and settlement condition information data associated with each other are recorded in the plaintext data recording unit 229A.
  • the virtual money data sent to the main control unit 222 is sent from the settlement apparatus 200 to the user terminal 100 as in the case of the first embodiment.
  • the method of using the virtual money data is the same as in the first embodiment, and is delivered from the user terminal 100 to the payment terminal 300 and sent from the payment terminal 300 to the payment device 200 together with the payment terminal ID.
  • the virtual money data is sent from the main control unit 222 to the third authentication unit 229 together with the settlement terminal ID as in the case of the first embodiment.
  • the third authenticating unit 229 confirms whether the received virtual currency data is authentic, or more specifically, whether the virtual currency encrypted data included in the received virtual currency data is authentic. It has a function. In this first embodiment, this point has been confirmed by the fact that the virtual currency encrypted data can be decrypted by the decryption unit 225. However, the third authentication unit 229 uses a different method. Confirm with.
  • the 3rd authentication part 229 which received virtual money data from the main control part 222 first extracts the serial number information contained in the plain money in the virtual money data.
  • the issuer information including the serial number information is searched from the data recorded in the plaintext data recording unit 229A and such issuer information is found, the issuer information and the amount associated therewith Information and settlement condition information are read from the plaintext data recording unit 229A. If the serial number information included in the virtual money data received from the main control unit 222 cannot be found from the data recorded in the plaintext data recording unit 229A, the main control unit 222 may provide information such as issuer information. Do not read. When the issuer information and the like are read, the third authentication unit 229 sends the plaintext issuer information, the amount information, and the settlement condition information read from the plaintext data recording unit 229A to the virtual currency data generation unit 223, The encryption unit 223A is requested to encrypt it.
  • the encryption unit 223A encrypts it and converts it into virtual currency encrypted data.
  • the virtual currency encrypted data newly created by the virtual currency data generation unit 223 is sent from the virtual currency data generation unit 223 to the third authentication unit 229.
  • the third authentication unit 229 newly adds the virtual currency encrypted data included in the virtual currency data sent from the main control unit 222 and the virtual currency data generation unit 223 in response to a request from the third authentication unit 229.
  • the generated virtual currency encrypted data is compared.
  • the third authentication unit 229 determines that the virtual currency encrypted data received from the main control unit 222 is authentic when the two match, and when the two do not match, It is determined that the virtual currency encrypted data received from the main control unit 222 is not authentic.
  • the third authentication unit 229 also selects the main authentication unit 229. It is determined that the virtual currency encrypted data received from the control unit 222 is not authentic. As in the case of the first embodiment, also in the third embodiment, the encryption performed by the encryption unit 223A is always performed by the same method.
  • the two virtual currency encrypted data are The authenticity of the virtual currency encrypted data included in the virtual currency data sent from the main control unit 222 can be determined depending on whether or not they match.
  • the information read from the third authentication unit 229 is: For example, it is desirable to delete the data from the plaintext data recording unit 229A after the payment to the administrator of the payment terminal 300 using the corresponding virtual money data is completed. If the third authentication unit 229 determines that the virtual currency data received from the main control unit 222 is authentic, the third authentication unit 229 associates the virtual currency data already read from the plaintext data recording unit 229A with each other. The issued issuer information, money amount information, and settlement condition information are obtained.
  • the issuer information, the money amount information, and the settlement condition information are the data that the third authentication unit 229 generates when the virtual currency encrypted data included in the virtual currency data received from the main control unit 222 is encrypted. It is. That is, the state in which the third authentication unit 229 has the issuer information, the money amount information, and the settlement condition is included in the virtual currency data received by the decryption unit 225 from the main control unit 222 in the first embodiment. This is the same as when the virtual currency encrypted data is decrypted. That is, as in the case of the second embodiment, all subsequent processes can be the same as those in the first embodiment, and in the third embodiment.
  • the third authentication unit 229 includes issuer information, money amount information, and payment condition information, all of which are plaintext, together with payment terminal ID data, a payment determination unit 226. Send to.
  • the virtual currency encrypted data cannot be decrypted, information indicating that fact is sent from the decryption unit 225 to the settlement determination unit 226.
  • the decryption in the first embodiment can be performed.
  • the information indicating that the virtual currency encrypted data included in the virtual currency data sent from the main control unit 222 has the same meaning as the information indicating that the virtual currency encrypted data is not authentic is the settlement determination. To be sent to the unit 226. The subsequent description is omitted.
  • the same issuer information and amount as the issuer information, amount information, and settlement condition information that is the source of the virtual currency encrypted data included in the virtual money data provided to the user terminal 100 is the same issuer information and amount as the issuer information, amount information, and settlement condition information that is the source of the virtual currency encrypted data included in the virtual money data provided to the user terminal 100.
  • the virtual currency encrypted data obtained by re-encrypting the information and the payment condition information and the re-encryption is identical to the virtual currency encrypted data included in the virtual currency data provided to the user terminal 100
  • the authenticity of the virtual currency encrypted data included in the virtual currency data provided to the user terminal 100 is determined. In order to make this possible, authenticity is determined from among the mutually associated issuer information, money amount information, and payment condition information recorded in the plaintext data recording unit 229A of the payment terminal 300.
  • the virtual currency encrypted data included in the virtual currency data sent from the settlement terminal 300 needs to be determined.
  • the serial number information is made clear, but it is not always necessary to realize it by the serial number information.
  • Information is included in each virtual currency data, and the identification information is recorded in the plaintext data recording unit 229A in a state of being associated with issuer information, money amount information, and settlement condition information associated with each other.
  • identification information can be used as a search query.
  • ⁇ Modification 2> The payment system according to the second modification is almost the same as the payment system according to the third embodiment. And the relationship between the payment system of the modification 2 and the payment system of 3rd Embodiment is the same as the relationship between the payment system of the modification 1 and the payment system of 1st Embodiment.
  • the encryption method used by the encryption unit 223A to generate the virtual currency encrypted data included in each of a large number of virtual currency data is the same as all the methods for generating virtual currency encrypted data. In the case.
  • the first modification there are a plurality of encryption methods executed to obtain virtual currency encrypted data.
  • the encryption method used by the encryption unit 223A to generate virtual currency encrypted data included in each of a large number of virtual currency data is to generate virtual currency encrypted data. It was the same in all cases.
  • the encryption unit 223A in the modification 2 performs the re-encryption of the issuer information, the amount information, and the condition information recorded in the plaintext data recording unit 229A, which will be described later, as in the case of the modification 1.
  • the decryption is performed. Cannot be processed.
  • the same key generation unit 227 as that of the settlement apparatus 200 of the first modification is also provided in the settlement apparatus 200 of the second modification (FIG. 18).
  • the encryption unit 223A converts the virtual currency encrypted data included in the virtual currency data provided to the user terminal 100 into the issuer information, the money amount information, and the settlement condition shown in FIG.
  • the third authentication unit 229 determines the authenticity of the virtual currency encrypted data included in the virtual currency data sent from the payment terminal 300 to the payment device 200.
  • the virtual currency encrypted data to be used is created by encrypting the data including the issuer information, the money amount information, and the settlement condition information provided from the third authentication unit 229, the key necessary for the encryption is stored. The provision is received from the key generation unit 227.
  • the serial number information may be used as the encryption condition information as in the first modification.
  • information other than the serial number information can be used as the encryption condition information.
  • the encryption condition information may be plaintext or encrypted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

安全性の高い仮想貨幣データのデータ構造を提案する。 所定の装置からネットワークを介して送られたそれを受け取った場合であり、且つ所定の条件が充足された場合に決済を認める決済装置と組合せて用いられる仮想貨幣データは、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む。

Description

データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム
 本発明は、仮想貨幣に関する。
 近年、フィンテック関連の様々な提案がなされており、その一部は既に実用化され始めている。
 その中に仮想通貨と称されるものがある。例えば、ナカモトサトシなる人物の論文に発してインターネット上に構築されたシステムによって実現された、ビットコイン(商標)も仮想通貨と一般に称されている。他方、ビットコインは、暗号通貨或いは暗号貨幣とも称されることがある。
 まず、ビットコインの仕組みについて説明する。ビットコインは、概ね以下のような仕組みで成立している。
 ビットコインは、まず、以下のようにして発生させられる。
 ビットコインを発生させる権利を有する者は、後述するノードを管理する管理者に限られる。ノードの管理者は、インターネット上で行われるある種のゲームに参加する。ゲームは繰返し行われ、ゲームに勝ったノードの管理者は、ゲームに勝つ都度、所定の量のビットコインを得ることができるようになっている。
 このようにして発生させられたビットコインは、一般的な貨幣と同様に、それを得たノードの管理者から、ノードの管理者以外の者を含む第三者に、例えば、「支払い」を行うために譲渡され、結果として点々と流布されることになる。
 ところで、ビットコインに限られないが、仮想通貨、或いは仮想貨幣の分野では、二重譲渡をどのようにして防止するのかというのが、大変重要な問題となる。有体物である一般的な貨幣は、譲渡者から譲受者に譲渡されると譲渡者の手の中から消えるため、譲渡者が譲受者に貨幣を譲渡した後に、同じ貨幣を更に別の譲受者に譲渡することは原則的に不可能である。しかしながら、仮想通貨は複製が容易であり、且つ譲渡者が譲受者に仮想通貨を譲渡したとしても譲渡者が所有していたデータとしての仮想通貨を消滅させないことが可能であるから、同じ仮想通貨を、複数人に譲渡することは極めて容易である。同じ仮想通貨が複数人に譲渡されることを防止できなければ、そのような仮想通貨は通貨として何らの信用も得られない。
 かかる二重譲渡の問題をビットコインは、すべての取引記録を保存するという方法で、解決することとしている。取引記録は、例えば以下のようなものである。簡単のために、ビットコインの仕組みへの参加者が、A~Dの4人のみであり、且つノードの管理者は、A、Bの2人のみであるとする。ノードの管理者たるAは、上述のゲームに勝利して1000の、Bは、上述のゲームに勝利して500のビットコインを得たとする。
 この状態では、A~Dがそれぞれ持つビットコインは以下のように記述される。
[表1]
A  +1000
B   +500
C    0
D    0
 次いで、AはCに100の、BはDに200のビットコインを支払ったとする。
 この状態では、A~Dがそれぞれ持つビットコインは以下のように記述される。
[表2]
A  +1000 -200(to C)
B   +500 -100(to D)
C    0 +100(from A)
D    0 +200(from B)
 次いで、AはBに300の、DはCに100のビットコインを支払ったとする。
 この状態では、A~Dがそれぞれ持つビットコインは以下のように記述される。
[表3]
A  +1000 -200(to C)  -300(to B)
B   +500 -100(to D)  +300(from A)
C    0 +100(from A) +100(from D)
D    0 +200(from B) -100(to C)
 上記、表1から表3に記載の記録のすべてが取引記録である。上述の取引記録によれば、表3の時点において、Aの持つビットコインは+1000-100-300=600、同様にBの持つビットコインは600、Cの持つビットコインは、200、Dの持つビットコインは、100であるということがわかる。
 このような仕組みを持つビットコインは、興味深いことに、上述の例でいうA~D間におけるビットコインの譲渡において、譲渡者から譲受者にビットコインの本体となる何らかのデータを引渡すということを行わない。それにも関わらず、取引記録さえ存在すれば、A~Dが現在持つビットコインの残高を特定することができる、というのがビットコインの仕組みの巧妙なところである。繰り返すが、ビットコインの仕組みにおいては、「コイン」という有体物を想起させるネーミングを使いながらも、コインの実体に相当するデータは存在しない。
 なお、ビットコインの仕組みにおけるノードの管理者がゲームに勝利してビットコインを得るという現象は、取引がある程度進んだ後の例えば、表3以降の時点であってでも生じうる。
 上述のように、ビットコインの仕組みにおいては、ビットコインの仕組みに参加する各参加者は、自分が所有するビットコインに相当するデータを持たない。つまり、各参加者の財布は空なのであるが、過去のすべての取引記録が閲覧可能に存在しており、且つその時点におけるビットコインの残高は閲覧記録からこのように特定されるのであるから、各参加者が持つビットコインはきっとこうであるはずである、というお互いの理解、或いは共同幻想によってその仕組が成り立っている。
 それだけに、その共同幻想を参加者の皆が信じられるようにするためには、取引記録が正当である、或いは取引記録の改竄が不可能である、という保証が必要である。
 それをビットコインは、ブロックチェーンと、プルーフ・オブ・ワークいう技術乃至思想によって担保している。ビットコインの取引記録は、それ以前の取引記録に新たな取引記録を連ねていく、という構造となっている。過去の取引記録に新たな取引記録のデータ(ブロック)を連続して連ねていくことにより、取引記録のデータは、ブロックを鎖のように連ねたものとなる。これがブロックチェーンと呼ばれる。ブロックチェーンに付加される新たなブロックが生成される場合、それ以前のブロックを暗号化することによって得られた値(正確には、過去のブロックのデータから作ったハッシュ値)が新たなブロックに付加される。それにより、ブロックチェーンに新たなブロックが付加された時点よりも後においては、過去のブロックに対して改竄を行うとハッシュ値に変化が生じてその改竄が発覚することとなるので、それ以前に作られた過去のブロックに対するデータの改竄を行うことが事実上不可能となる。
 また、ブロックチェーンのデータは、インターネット上に多数存在する、ノードと呼ばれるサーバに記録される。各ノードに記録されるブロックチェーンのデータは同じものである。ノードの管理者は上述のように、上述したある種のゲームの参加者である。そして、新たな取引記録のブロックを過去の取引記録に対して付加できる者は、上述のゲームの勝者のみである。つまり、ノードに新たなブロックを追加できる者を1人のみに限定することにより、ブロックのデータの適正なることを確保している。
 以上のような仕組みにより、各ノードに記録されたブロックチェーンは、ハッシュ値により改竄ができない、或いは改竄がなされた場合にはハッシュ値が変化するため、改竄がなされたことが発覚するようになっている。また、各ノードに記録されたブロックチェーンのうちの幾つかが、過去のブロックのデータの改竄が発覚しないようにハッシュ値も含めて同じように改竄されたとしても(例えば、多数のノードに記録されたブロックチェーンのうちの幾つかについて、同じ改竄がなされたとしても)、多数のノードに記録されたブロックチェーンのうちの改竄されていないものの方が多数を占めているのであればそちらを真とすることにより、過去のブロックのデータのハッシュ値も含めた改竄も無力となるようにすることができ、実際ビットコインではこのような多数決の理論を最小している。上述のようにノードの管理者は、ゲームに勝つことにより報酬としてビットコインを得ることができる。それをモチベーションとしてノードの管理者達は、自らのコンピュータのコンピューティングパワーを向上させる。悪意のある第三者がノードに記録されたブロックチェーンのうちの過半数を改ざんするには、ノードの管理者達が持つ多数のコンピュータのコンピューティングパワーの合計の少なくとも半分以上のコンピューティングパワーを持つコンピュータを用意することが必要となる。そのようなコンピューティングパワーを持つコンピュータを準備することは事実上不可能であるという前提を、ビットコインの仕組みに参加する者は信用している。かかる信用、或いは信頼関係により、ブロックチェーンの、ひいては取引記録の正当性が保証され、ビットコインにある種の信用が与えられている。
 ビットコインの仕組みは上述のごときものであるが、仮想通貨と呼ぶならまだしも、ビットコインが暗号貨幣と称されることに、本願発明者は大きな疑問を抱いている。
 というのは、ビットコインの仕組みにおいては、暗号技術は、取引記録の正当性を保証するという目的で使用されているのみであるからである。上述のブロックチェーンに新たなブロックを追加するときにそれ以前のブロックのハッシュ値をとる、というのがそれである。
 しかも、ビットコインは、上述したように、価値の譲渡に際して、価値の譲渡人から譲受人に引渡されるデータが存在しない。これは、通貨を機能させるにあたって、価値の譲渡をその譲渡により媒介する有体物たる貨幣(札、硬貨)を用いないと同様である。
 つまり、ビットコインは、通貨として機能するかもしれないが、貨幣性は無いし、また、暗号の利用も極めて限定的である。貨幣性がないことによる問題は、過去の取引記録のすべてを記録しておくことが必要であるということであり、これはその大きなデータ量を記録することに壮大な手間、無駄が生じる。実際ビットコインで記録されているブロックチェーンのデータ量は既に膨大であり、それを記録する、しかも多数のノードで同じブロックチェーンのデータを記録することにより、凄まじい無駄が生じている。他方、貨幣の代わりとなるデータをユーザ間で流通させようとすると、そのデータの安全性が問題となる。
 そのような観点から、極めて漠然としてではあるが、仮想通貨を成立させるには暗号技術を活用すべきというアイデアは存在しており、暗号技術の適切な利用によって安全な仮想通貨、もっと言えば仮想貨幣を成立させられる可能性がある。ビットコインが暗号通貨などと称されることがあるのは、暗号を用いているから安全であるという「イメージ」をユーザに与えるための方便であろう。
 しかし、上述の如くビットコインでは、暗号技術は極めて限定的にしか使われていない。
 また、デジキャッシュ又はeキャッシュと称された、価値をユーザ間でやり取りする場合にやり取りされる、貨幣代わりのデータを利用した仮想通貨も過去に存在しており、これにも暗号技術が使われていた。しかしながら、かかる仮想通貨で使用されていた暗号技術は、そのデータが真正なデータであるということを示す認証用のデータが暗号化されたものが、金銭的な価値を有するデータに付されていたというだけのものであった。
 本願発明は、真の意味で暗号貨幣として成立する、データである仮想貨幣を提供することをその課題とする。
 かかる課題を解決するため、本願発明者は、以下に説明する発明を提案する。
 本願発明は、所定の装置からネットワークを介して送られたそれを受けった場合であり、且つ所定の条件が充足された場合に決済を認める決済装置と組合せて用いられる、金銭的価値を有する仮想貨幣のデータである仮想貨幣データのデータ構造である。
 かかる仮想貨幣データのデータ構造は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む。
 かかるデータ構造を有する仮想貨幣データは、決済を認めるか否かを決定する決済装置と組合せて利用される。決済装置は、後述するように、3つのタイプがあるが、いずれも暗号技術を利用したものである。上述の如きデータ構造を有する仮想貨幣データは、もちろん他の条件が充足されることが必要とされても構わないが、以下のような条件が充足された場合に、決済装置が決済を認めるものとすることができる。後述するように、本願の仮想貨幣データによって実現される仮想貨幣は、価値の交換に際して交換される仮想貨幣データが存在するものであるから膨大な取引記録のデータの記録が不要となるのみならず、仮想貨幣データは、いわば、その金銭的な価値の本体を暗号化するものであるから、その安全性が高い。
 なお、本願発明における「暗号化」という文言は、第三者がそのデータを見ても特別な知識なしでは読めない(理解できない)ようにそのデータを変換することを言い、復号化できる変換のみでなく、ハッシュ値をとる場合のように、不可逆に変換する場合をも含む。
 本願発明における仮想貨幣データのデータ構造に暗号化して含まれる決済条件情報によって特定される決済の条件はどのようなものであっても良い。価値の譲渡人又は譲受人を制限する、価値の譲渡人又は譲受人がいる場所を制限する、価値の譲渡をできる時期を制限する、一定期間内に同一人が価値の譲渡をできる回数を制限する等がその例として挙げられる。
 例えば、本願発明における仮想貨幣データのデータ構造における前記決済条件情報は、支払いを受けられる者を特定するための情報である受領者情報を含んでもよい。かかるデータ構造を有する仮想貨幣データにより支払いを受けられる者を限定することが可能になるから、仮にそのような仮想貨幣データが悪意ある第三者に盗まれたとしても、当該第三者が受領者情報で特定される者ではないので、悪意ある第三者が金銭的価値の受取を行えないようにすることができる。
 また、前記決済条件情報は、支払いを認められる時期を特定するための情報である時期情報を含んでも良い。かかるデータ構造を有する仮想貨幣データにより支払いを受けられる時期を制限することが可能になるから、仮にそのような仮想貨幣データが悪意ある第三者に盗まれたとしても、それが支払いを受けられる期限を経過しているのであれば、悪意ある第三者が金銭的価値の受取を行えないようにすることができる。また、支払い時期を期限とした場合には、仮想貨幣データによる決済を急がす、或いは仮想貨幣データの使用を促すことができるようになる。
 前記決済条件情報は、前記金額情報によって特定される金額を変化させる情報であってもよい。
 例えば、決済条件情報により、時間の経過とともに金額情報によって特定される金額を変化させるようにすることができる。具体的には、決済条件情報により、時間の経過とともに金額情報によって特定される金額を漸減させる、或いは金額情報によって特定される金額を段階的に減らすようにすることが可能であるが、それにより、かかる決済条件情報を暗号化したデータを含む仮想貨幣暗号化データを含む仮想貨幣データを持つ者は、仮想貨幣データの使用を促がされることとなる。もちろん、金額情報によって特定される金額は、増加するようにしても良いし、増減するようにしてもよい。これにより、かかる仮想貨幣データを持つユーザ(達)の消費行動を、例えば、仮想貨幣データを用いた支払いを急がせるように、仮想貨幣データを用いた支払いを遅らせるように、仮想貨幣データによる支払いをある時期に集中させる或いはある時期を避けさせるように、誘導できるようになる。
 また、決済条件情報により、その支払が行われる場所によって、その支払いが行われる場合の価値の譲渡人又は譲受人によって、ある時期に同一人によって支払が行われた或いは同一人が支払いを受けた回数等によって、金額情報によって特定される金額を変化させるようにすることができる。これらによっても、ユーザ(達)の消費行動を誘導できるようになる。
 本願発明における仮想貨幣データのデータ構造に暗号化して含まれる発行者情報には発行者以外の情報が含まれていても良い。例えば、前記発行者情報は、前記仮想貨幣データの発行者を特定する情報である発行人情報に加えて、前記仮想貨幣データの真正さを保証する権限を持つ者が発行した前記仮想貨幣データの真正さを保証する情報である認証用情報、前記仮想貨幣データを他の前記仮想貨幣データから区別するための各仮想貨幣データにユニークな情報である記番号情報、前記仮想貨幣データの発行されたタイミングを特定する情報であるタイミング情報、の少なくとも一つを更に含んでいてもよい。
 本願発明による仮想貨幣データのデータ構造は、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化したときの条件を特定するための情報である暗号化条件情報が、更に付されたものであってもよい。これは、後述する決済装置で、特に後述する1つ目、及び3つ目のタイプの決済装置と組合せられる仮想貨幣データで有用である。なお、暗号化条件情報は、暗号化されていても良いし、そうでなくても良い。
 本願発明による仮想貨幣データのデータ構造は、前記発行者情報、前記金額情報、及び前記決済条件情報の少なくとも一部が、暗号化されていない状態で更に付されていてもよい。上述したように、発行者情報、金額情報、及び決済条件情報は、本願発明では、暗号化された仮想貨幣暗号化データとされている。これにより仮想貨幣データの安全性を高めることが可能となるものの、価値の譲渡人と譲受人のうち特に価値の譲受人が、自分がどのような条件で幾らの金額の支払いを受けられるのかわからない、ということも生じうる。発行者情報、金額情報、及び決済条件情報の少なくとも一部を、可読の平文のデータとしておくことにより、例えば後述する受信装置や送信装置で復号化の処理を行わずとも読取れるようにしておくことにより、そのような不便を解消できることになる。
 以上で説明した仮想貨幣データのデータ構造を有する仮想貨幣データは、もちろん、記録媒体に記録されていても良い。記録媒体は、可搬の記録媒体に限らず、所定の機器に内蔵された記録媒体であってもよい。所定の機器に内蔵された記録媒体は、例えば、RAM(random access memory)、HDD(hard disk drive)である。
 所定の機器は、上述の如き前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの受信を行う端末装置受信手段を備えており、前記仮想貨幣データは、前記端末装置受信手段により受信されてから前記記録媒体に記録されたものである、受信装置であってもよい。
 所定の機器は、また、上述の如き前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの送信を行う第1送信手段を備えており、前記仮想貨幣データは、前記送信手段により前記ネットワークを介して前記決済装置に送信されるようになっている、送信装置であってもよい。
 次いで、3つのタイプの決済装置について説明する。
 1つ目のタイプの決済装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、を備えている決済装置である。
 1つ目のタイプの決済装置と組合せて用いられる仮想貨幣データは、本願発明における仮想貨幣データのデータ構造を有する仮想貨幣データであるが、それに含まれる仮想貨幣暗号化データは、復号化できるように暗号化されたものに限られる。1つ目の決済装置は、仮想貨幣データを受取ったときに、それに含まれる仮想貨幣暗号化データを復号化する。そして、復号化された仮想貨幣暗号化データに含まれていた決済条件情報により特定される条件が充足されていることを条件に、金額情報で特定される金額の決済を決済装置が認めるようになっている。この場合、仮想貨幣データの真正性は、発行者情報によって認証されてもよいが、そもそも仮想貨幣暗号化データを復号化できたという事実によって証明される。復号化ができるか否かを認証の条件とすることにより、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能となり、ひいてはかかる決済装置で実行される決済装置とともに利用される仮想貨幣データの安全性が高くなる。なお、発行者情報を仮想貨幣暗号化データの正当性の確認に用いて良いのは、後述する2つ目、3つ目のタイプの決済装置でも同様である。
 1つ目のタイプの決済装置は、復号化手段を備えており、復号化手段によって仮想貨幣暗号化データを復号化する。ところで、もちろんのことであるが、仮想貨幣データは、例えば、ネットワーク上に、上述の記録媒体上に、或いは、上述の所定の機器の中に同時に多数が存在する状態となる。暗号化の手法、例えば鍵及びアルゴリズムの双方が常に同一であれば、決済装置の復号化手段は仮想貨幣暗号化データをその1種類の鍵及びアルゴリズムの組合せで常に復号化することができる。ただし、仮想貨幣データの安全性を高めるのであれば、多数の仮想貨幣データに含まれる仮想貨幣暗号化データの少なくとも1つを、できればすべての仮想貨幣暗号化データを、他の仮想貨幣暗号化データとは異なる手法で暗号化したものとするのが好ましいのは自明である。しかしながらそのような技術を採用した場合には、復号化手段は、復号化しようとする仮想貨幣暗号化データがどのような手法で暗号化されたのかを把握しなければならない。それを可能とするのが、上述の暗号化条件情報である。
 復号化手段が復号化しようとする仮想貨幣暗号化データに付されている暗号化条件情報から、その仮想貨幣暗号化データが暗号化されたときの条件を把握する手段を決済装置が備えていれば、復号化手段は、その仮想貨幣暗号化データが暗号化されたときの条件を知ることができるから、仮に仮想貨幣暗号化データのそれぞれが異なる条件下で暗号化されていたとしても仮想貨幣暗号化データを復号化するのに不都合は生じない。暗号化条件情報は、上述したように、暗号化されていても、そうでなくてもよい。暗号化されていない暗号化条件情報はそのまま用いることができる。他方、暗号化されているのであれば暗号化条件情報は復号化されなければ用いることができない。仮にそれぞれの仮想貨幣暗号化データが異なる条件で暗号化されるにしても、暗号化条件情報を暗号化するための条件を常に同一としておけば、決済装置の所定の手段、例えば復号化手段で暗号化された暗号化条件データを復号化することは可能である。
 暗号化条件情報は、仮想貨幣暗号化データを暗号化するときに用いられた上述の鍵やアルゴリズムそのものでも良いし、仮想貨幣暗号化データを暗号化するときに用いられた上述の鍵やアルゴリズムが何かを特定するための情報であってもよい。例えば、仮想貨幣データを暗号化する場合に、1つ目の仮想貨幣データを暗号化する場合には1つ目の鍵、2つ目の仮想貨幣データを暗号化する場合には2つ目の鍵、3つ目の仮想貨幣データを暗号化する場合には3つ目の鍵…、といったように順次変更される異なる鍵で暗号化が行われるとする。そして、それらの鍵が例えば、以下のような数式によって連続して生成される擬似乱数であるとする。そうすると、N番目の擬似乱数は、初期値Xが当初から特定されていればN番目の擬似乱数は常に同じになるから、その仮想貨幣暗号化データが暗号化されたときの条件を把握する手段は、そのN番目の擬似乱数をXからいつでも再現することができる。それにより、その擬似乱数を鍵として用いて復号化手段は仮想貨幣暗号化データを復号化することができる。ここで、初期値Xが秘匿されているのであれば、仮想貨幣データに含まれる暗号化条件情報(それが何番目の擬似乱数であるかを示す数値)が仮に平文のまま仮想貨幣データに含まれていても、仮想貨幣データを入手した悪意ある第三者が、その暗号化条件情報からその仮想貨幣暗号化データが暗号化されたときの条件を把握することはできない。なお、仮想貨幣データには、上述したように、発行者情報、金額情報、及び決済条件情報の少なくとも一部が、暗号化されていない状態で更に付されている場合があるが、これらデータの例えば一部が、暗号化条件情報を兼ねていても構わない。
 X=f(XN-1
(Xは、N番目の擬似乱数であり、擬似乱数は、数字、文字、記号或いはそれらのうちの2種類以上の羅列である。)
 本願発明者は、上述の1つ目のタイプの決済装置で実行される方法をも本願発明の一態様として提案する。その効果は、1つ目の決済装置による効果と等しい。それは例えば、以下のようなものである。
 その方法は、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法である。
 そしてその決済方法は、前記コンピュータが実行する、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、前記決済装置受信過程で受取った前記仮想貨幣暗号化データを復号化する復号化過程と、前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済過程と、を含んでいる。
 本願発明者は、上述の1つ目のタイプの決済装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
 そのコンピュータプログラムは、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムである。
 そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、として機能させるためのコンピュータプログラムである。
 2つ目のタイプの決済装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第2認証手段と、前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第2認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、を備えている決済装置である。
 2つ目のタイプの決済装置と組合せて用いられる仮想貨幣データは、本願発明における仮想貨幣データのデータ構造を有する仮想貨幣データであるが、それに含まれる仮想貨幣暗号化データは、復号化できるように暗号化されたものに限られない。2つ目の決済装置は、決済装置に送られてくることが予定されている多数の仮想貨幣データに含まれている仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録したコピーデータ記録手段を備えている。この決済装置は、仮想貨幣データを受取ったときに、それに含まれる仮想貨幣暗号化データを、コピーデータ記録手段に記録されているコピー仮想貨幣暗号化データと比較する。その結果、コピーデータ記録手段に記録されていたコピー仮想貨幣暗号化データの1つと受取った仮想貨幣データに含まれていた仮想貨幣暗号化データとが一致するか否かを判定し、仮想貨幣データとコピー仮想貨幣暗号化データの1つとが一致した場合、仮想貨幣データに含まれていた発行者情報により仮想貨幣暗号化データが真正なものであると判定され、且つ決済条件情報により特定される条件が充足されていることを条件に、金額情報で特定される金額のデータの決済を決済装置が決済を認めるようになっている。要するに、1つ目の決済装置では、仮想貨幣暗号化データが復号化できるかということを当該仮想貨幣暗号化データを含んでいた仮想貨幣データが真正なものであるか否かを判定するための条件としていたが、2つ目の決済装置では、その代わりに仮想貨幣暗号化データをコピーしたコピー仮想貨幣暗号化データを予め準備しておき、それとの比較により仮想貨幣データが真正なものであるか否かを判定するようにしたものといえる。したがって、2つ目の決済装置でも、1つ目の決済装置の場合と同程度に、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能であり、ひいてはかかる決済装置で実行される決済装置とともに利用される仮想貨幣データの安全性を高くすることが可能である。
 2つ目の決済装置は、上述したように、決済条件情報によって特定される決済条件が充足されているか否かを判定するようになっている。そのために当然に、決済条件情報が必要となる。決済条件情報は例えば、コピーデータ記録手段に、それが含まれる各コピー仮想貨幣暗号化データと紐付けて記録されていても良いし、コピー仮想貨幣暗号化データか仮想貨幣暗号化データを復号化することにより、都度得られるようになっていても良い。同様に、発行者情報も、例えば、コピーデータ記録手段に、それが含まれる各コピー仮想貨幣暗号化データと紐付けて記録されていても良いし、コピー仮想貨幣暗号化データか仮想貨幣暗号化データを復号化することにより、都度得られるようにすることができ、そうすることにより発行者情報を、仮想貨幣データの真正性を確認するために利用することが可能となる。
 本願発明者は、上述の2つ目のタイプの決済装置で実行される方法をも本願発明の一態様として提案する。その効果は、2つ目の決済装置による効果と等しい。それは例えば、以下のようなものである。
 その方法は、ネットワークを介してデータの受信を行うことができ、記録媒体を有し、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法である。
 そしてその決済方法は、前記コンピュータが実行する、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを前記記録媒体に記録するコピーデータ記録過程と、前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記記録媒体に記録された前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第2認証過程と、前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、前記第2認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、を含んでいる。
 本願発明者は、上述の2つ目のタイプの決済装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
 そのコンピュータプログラムは、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムである。
 そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第2認証手段と、前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第2認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、として機能させるためのコンピュータプログラムである。
 3つ目のタイプの決済装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、1つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第3認証手段と、前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第3認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、を備えている決済装置である。
 3つ目のタイプの決済装置と組合せて用いられる仮想貨幣データは、本願発明における仮想貨幣データのデータ構造を有する仮想貨幣データであるが、それに含まれる仮想貨幣暗号化データは、復号化できるように暗号化されたものに限られない。3つ目の決済装置は、決済装置に送られてくることが予定されている多数の仮想貨幣データに含まれている仮想貨幣暗号化データを生成するときに用いられた、発行者情報、金額情報、及び決済条件情報を互いに紐付けた状態で記録している平文情報記録手段を備えている。この決済装置は、仮想貨幣データを受取ったときに、上述の平文情報記録手段に記録されていた互いに紐付けられた発行者情報、金額情報、及び決済条件情報を暗号化して、データを生成する。そして、そのデータが、受取った仮想貨幣データに含まれていた仮想貨幣暗号化データと一致すれば、その仮想貨幣データが真正なものであると判定する。決済装置は、仮想貨幣データが真正なものであると判定され、且つ決済条件情報により特定される条件が充足されていることを条件に、金額情報で特定される金額のデータの決済を認めるようになっている。要するに、1つ目の決済装置では、仮想貨幣暗号化データが復号化できるかということを当該仮想貨幣暗号化データを含んでいた仮想貨幣データが真正なものであるか否かを判定するための条件としていたが、3つ目の決済装置では、その代わりに、仮想貨幣暗号化データと同じデータを、発行者情報、金額情報、及び決済条件情報を暗号化することにより再度作れるか否か、ということにより、仮想貨幣データが真正なものであるか否かを判定するようにしている。したがって、3つ目の決済装置でも、1つ目の決済装置の場合と同程度に、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能であり、ひいてはかかる決済装置で実行される決済装置とともに利用される仮想貨幣データの安全性を高くすることが可能である。
 3つ目のタイプの決済装置は、暗号化手段を備えており、暗号化手段によって平文情報記録手段に記録されていた発行者情報、金額情報、及び決済条件情報を暗号化する。ところで、もちろんのことであるが、仮想貨幣データは、例えば、ネットワーク上に、上述の記録媒体上に、或いは、上述の所定の機器の中に同時に多数が存在する状態となる。暗号化の手法、例えば鍵及びアルゴリズムの双方が常に同一であれば、決済装置の暗号化手段は、平文情報記録手段に記録されていた発行者情報、金額情報、及び決済条件情報を、その1種類の鍵及びアルゴリズムの組合せで暗号化すれば、それにより得られたデータは、決済装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、仮想貨幣暗号化データに特に改竄等がなされていなければ一致する。他方、多数の仮想貨幣データに含まれる仮想貨幣暗号化データの少なくとも1つを、できればすべての仮想貨幣暗号化データを、他の仮想貨幣暗号化データとは異なる手法で暗号化する場合がありうる。そのような場合には、暗号化手段で発行者情報、金額情報、及び決済条件情報を暗号化する手法が、それと比較される仮想貨幣暗号化データを暗号化したときに用いられた手法と一致しなければ、平文情報記録手段に記録されていた発行者情報、金額情報、及び決済条件情報を暗号化することにより得られたデータは、決済装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと一致しない。つまり、決済装置は、送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが、どのような手法で暗号化されたのかを把握しなければならない。それを可能とするのが、上述の暗号化条件情報である。そのデータの内容、用い方は、1つ目の決済装置において説明したものと同様で良い。
 本願発明者は、上述の3つ目のタイプの決済装置で実行される方法をも本願発明の一態様として提案する。その効果は、3つ目の決済装置による効果と等しい。それは例えば、以下のようなものである。
 その方法は、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法である。
 そしてその決済方法は、前記コンピュータが実行する、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、1つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で前記記録媒体に記録する平文情報記録過程と、前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化過程と、前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記暗号化過程で前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第3認証過程と、前記平文情報記録過程で記録された前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第3認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、を含んでいる。
 本願発明者は、上述の3つ目のタイプの決済装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
 そのコンピュータプログラムは、ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムである。
 そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、1つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第3認証手段と、前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、前記第3認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、として機能させるためのコンピュータプログラムである。
 本願発明者は、また、本願発明による仮想貨幣データのデータ構造を有する仮想貨幣データを生成するための仮想貨幣データ生成装置をも、本願発明の一態様として提案する。これによる効果は、本願発明による仮想貨幣データのデータ構造で説明した効果に等しい。
 一例となる仮想貨幣データ生成装置は、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置である。
 仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、上述の仮想貨幣データ生成装置は、本願発明における既に説明した決済装置の1つと一体となっていてもよい。
 本願発明者は、ここまでに説明した仮想貨幣データ生成装置で実行される方法をも本願発明の一態様として提案する。その効果は、上記仮想貨幣データ生成装置による効果と等しい。
 一例となるその方法は、コンピュータを含み、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置で実行される方法であって、前記コンピュータに、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成させる過程、を含んでいることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成する、方法である。
 本願発明者は、上述の仮想貨幣データ生成装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
 それは、コンピュータを、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置として機能させるためのコンピュータプログラムである。
 そして、そのコンピュータプログラムは、前記コンピュータを、仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、として機能させることにより、前記コンピュータに、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成させることができるようになっている、コンピュータプログラムである。
第1実施形態による決済システムの全体構成を示す図。 図1に示した決済システムに含まれるユーザ端末の外観を示す図。 図1に示した決済システムに含まれるユーザ端末のハードウェア構成を示す図。 図1に示した決済システムに含まれるユーザ端末の内部に生成される機能ブロックを示すブロック図。 図1に示した決済システムに含まれる決済装置のハードウェア構成を示す図。 図1に示した決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 図1に示した決済システムに含まれる決済端末のハードウェア構成を示す図。 図1に示した決済システムに含まれる決済端末の内部に生成される機能ブロックを示すブロック図。 図1に示した決済システムで決済が行われるときに実行される処理の流れを示す図。 図1に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の一例を示す図。 図1に示した決済システムに含まれる決済装置内の基本データ記録部に記録されているデータの一部の内容を観念的に示す図。 (A)図1に示した決済システムで使用される仮想貨幣データに含まれる仮想貨幣暗号化データの元になる平文のデータのデータ構造を観念的に示す図、(B)図1に示した決済システムで使用される仮想貨幣データのデータ構造を観念的に示す図。 図1に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の他の例を示す図。 図1に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の更に他の例を示す図。 変形例1の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 第2実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 第3実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 変形例2の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
 以下、本発明の第1~第3実施形態について説明する。各実施形態、変形例の説明で同じ対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。
≪第1実施形態≫
 図1に、第1実施形態による決済システムの全体構成を概略で示す。
 決済システムは、複数のユーザ端末100-1~100-N(以後、単に、「ユーザ端末100」と記載する場合もある。)、決済装置200及び決済端末300-1~300-n(以後、単に、「決済端末300」と記載する場合もある。)を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
 ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
 ユーザ端末100は、本願発明の受信装置の一例であり、決済端末300は、本願発明の送信装置の一例であり、決済装置200は本願発明の決済装置の一例にそれぞれ相当する。
 これには限られないが、この実施形態では、後述する仮想貨幣データを用いての金銭の支払いは、ユーザ端末100の管理者(所有者)から、決済端末300の管理者(決済端末300を管理又は所有する者等)に対して行われることを原則とし、場合によっては一のユーザ端末100の管理者から他のユーザ端末100の管理者に対して行われる。
 通常、ユーザ端末100は各ユーザの所有物である。ユーザ端末100は、コンピュータを含んでいる。ユーザ端末100は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。可搬であり、且つ後述するプログラムをインストールするのに向いているという点を考慮すれば、これらのうち、特に、スマートフォンかタブレットが、ユーザ端末100として用いるのに好ましい。スマートフォンは例えば、Apple Japan合同会社が製造、販売を行うiPhoneである。タブレットの例はApple Japan合同会社が製造、販売を行うiPadである。以下、これには限られないが、ユーザ端末がスマートフォンであることとして話を進める。
 ユーザ端末100は少なくともデータの受信をすることが可能であることが必要であるが、データの送信をもできるものであっても良い。この実施形態におけるユーザ端末100はスマートフォンであるから、当然にデータの受信と送信の双方が可能である。
 次に、ユーザ端末100の構成を説明する。各ユーザ端末100-1~100-Nの構成は、本願発明との関連でいえば同じである。
 ユーザ端末100の外観の一例を図2に示す。
 ユーザ端末100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。ユーザ端末100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をユーザ端末100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるユーザ端末100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
 入力装置102から入力されるデータは、いずれもその詳細を追って説明するが、例えば、仮想貨幣データの生成依頼についての生成依頼情報、仮想貨幣データの使用についての支払い情報、仮想貨幣データの譲渡についての譲渡情報、及びユーザIDである。
 ユーザ端末100のハードウェア構成を、図3に示す。
 ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インターフェイス114が含まれており、これらはバス116によって相互に接続されている。
 CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の受信装置としてこのユーザ端末100を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、ユーザ端末100にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのユーザ端末100へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
 ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM112に記録されたコンピュータプログラムは、これに限られず、ユーザ端末100がスマートフォンであれば、ユーザ端末をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。ユーザ端末100は、また、ネットワーク400を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のwebブラウザを実装している。
 RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。RAM113には後述する仮想貨幣データが記録される場合がある。
 インターフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インターフェイス114には、上述のディスプレイ101と、入力装置102とが接続されている。入力装置102から入力された操作内容は、インターフェイス114からバス116に入力されるようになっているとともに、後述する画像データは、インターフェイス114から、ディスプレイ101に出力されるようになっている。インターフェイス114は、また、図示を省略する送受信部に接続されている。 
 送受信部は、インターネットであるネットワーク400を介してのデータの送受信を行うものである。かかる通信は、有線で行われる場合もあるが、ユーザ端末100がスマートフォンである場合には、かかる通信は通常無線で行われる。それが可能な限り、送受信部の構成は、公知或いは周知のものとすることができる。送受信部がネットワーク400から受取ったデータ(例えば仮想貨幣データ)は、インターフェイス114により受取られるようになっており、インターフェイス114から送受信部に渡されたデータ(例えば仮想貨幣データ)は、送受信部によって、ネットワーク400を介して外部、例えば、決済装置200に送られるようになっている。
 CPU111がコンピュータプログラムを実行することにより、ユーザ端末100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、ユーザ端末100を本願発明のユーザ端末として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、ユーザ端末100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
 ユーザ端末100内には、本願発明の機能との関係で、以下のような制御部120が生成され、制御部120内に、主制御部121、表示制御部122、データ入出力部123、ユーザ端末記録部124が生成される。
 制御部120は、以下に説明するような情報処理を実行する。
 主制御部121は、制御部120内の全体的な制御を行う。例えば、主制御部121は、追って詳述するデータ入出力部123から受取ったデータに基づいて表示制御部122の制御を行う。
 主制御部121は、追って説明するデータ入出力部123から、これも追って説明する仮想貨幣データを受取る場合がある。それを受取った場合、主制御部121は、それをユーザ端末記録部ユーザ端末記録部124又は表示制御部122に送るようになっている。主制御部121は後述するようにユーザ端末記録部124から仮想貨幣データを読み出す場合がある。それを読み出した主制御部121は仮想貨幣データに基づく表示を行わせるべく表示制御部122に指示を送るようになっており、また場合によってはそれをデータ入出力部123に送るようになっている。
 主制御部121は、データ入出力部123から、入力装置102から入力された上述の生成依頼情報、支払い情報、又は譲渡情報を受取る場合があり、それらを受取ったとき、後述するような処理をそれぞれ行うようになっている。例えば、生成依頼情報を受取った場合、主制御部121は、それに必要な情報を付加して、データ入出力部123へそれを送り、データ入出力部123から送受信部、ネットワーク400を介してそれを決済装置200に送るようになっている。
 表示制御部122は、主制御部121の制御を受けつつ、ディスプレイ101に表示される画像の制御を行う。ディスプレイ101には、表示制御部122から送られたデータに基づく画像が表示される。主制御部121は、表示制御部122に対して、ディスプレイ101にどのような画像を表示させるべきかという指示を送る。
 データ入出力部123は、制御部120へのデータの入出力を行うものである。具体的には、データ入出力部123は、入力装置102からの入力を受取るようになっている。入力装置102からデータ入出力部123へ入力されるのは、例えば、生成依頼情報、支払い情報、又は譲渡情報である。これらはデータ入出力部123から主制御部121に送られるようになっている。
 また、データ入出力部123は、送受信部から、決済装置200等からネットワーク400を介して送られて来た仮想貨幣データを受取るようになっている。データ入出力部123は、受取った仮想貨幣データを、主制御部121に送るようになっている。
 また、データ入出力部123は主制御部121から、仮想貨幣データを受取る場合がある。これを受取ったデータ入出力部123は、仮想貨幣データを送受信部に送るようになっており、仮想貨幣データは送受信部から例えば決済装置200に送られるようになっている。仮想貨幣データの送信先は、後述するように、入力装置102からの入力にしたがって、主制御部121によって指定される。
 ユーザ端末記録部124は、上述したように、主制御部121がデータ入出力部123から仮想貨幣データを受取った場合、主制御部121から仮想貨幣データを受取りそれを記録するようになっている。ハードウェアとして捉えた場合、ユーザ端末記録部124は、RAM113の一部により構成されている。
 また、ユーザ端末記録部124に記録されている仮想貨幣データは、後述するようなタイミングで主制御部121により読み出されることがある。
 次に、決済装置200について説明する。なお、これには限られないが、この実施形態における決済装置200は、本願でいう仮想貨幣データ生成装置をも兼ねている。
 決済装置200は一般的なコンピュータであり、この実施形態ではより詳細には一般的なサーバ装置である。ハードウェア構成としては、従来の決済システムにおける決済装置と同等のもので良い。
 決済装置200のハードウェア構成を、図5に示す。
 ハードウェアには、CPU211、ROM212、RAM213、インターフェイス214、この実施形態ではHDD(hard disk drive)215である大容量記録媒体が含まれており、これらはバス216によって相互に接続されている。
 CPU211は、演算を行う演算装置である。CPU211は、例えば、ROM212に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の決済装置としてこの決済装置200を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、決済装置200にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済装置200へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
 ROM212は、CPU211が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM212に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
 RAM213は、CPU211が処理を行うために必要なワーク領域を提供する。
 インターフェイス214は、バス216で接続されたCPU211やRAM213等と外部との間でデータのやり取りを行うものである。インターフェイス214は、少なくとも送受信部に接続されている。送受信部がネットワーク400から受取ったデータは、インターフェイス214により受取られるようになっており、インターフェイス214から送受信部にわたされたデータは、送受信部によって、ネットワーク400を介して外部、例えば、ユーザ端末100に送られるようになっている。
 HDD215は上述のように大容量記録媒体であり、データを記録する。CPU211が後述する処理を実行するために必要なコンピュータプログラムやデータの少なくとも一部は、ROM212でなくHDD215に記録されていてもよいし、その大部分がHDD215に記録されている方が実際的であろう。
 CPU211がコンピュータプログラムを実行することにより、決済装置200内部には、図6で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済装置200を本願発明の決済装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済装置200にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
 決済装置200内には、本願発明の機能との関係で、以下のような制御部220が生成される。制御部220内には、データ入出力部221、主制御部222、仮想貨幣データ生成部223、基本データ記録部224、復号化部225、決済判定部226が生成される。
 データ入出力部221は、制御部220へのデータの入出力を行うものである。具体的には、データ入出力部221は、主制御部222から後述する種々のデータを受付けるようになっている。
 例えば、データ入出力部221は、主制御部222から仮想貨幣データを受付けるようになっている。受取られた仮想貨幣データは、データ入出力部221から、送受信部に送られ、ネットワーク400を介してユーザ装置100に送られるようになっている。
 データ入出力部221は、また、ネットワーク400を介してユーザ端末100又は決済端末300から送受信部が受取った後述する種々のデータを送受信部から受取り、受取ったそれらデータを主制御部222に送るようになっている。例えば、データ入出力部221は、送受信部から仮想貨幣データ及び生成依頼情報を受取る場合があり、それらのいずれかを受取ったデータ入出力部221はそれらを主制御部222に送るようになっている。
 主制御部222は、制御部220内の全体的な制御を行う。例えば、後述する決済の処理を主制御部222は行うようになっており、また、仮想貨幣データ生成部223、復号化部225等に後述するデータを送ることにより、必要な処理を行わせるようになっている。
 主制御部222は、上述したように、データ入出力部221から、仮想貨幣データを受取る場合があり、それを受取った主制御部222は仮想貨幣データを復号化部225に送るようになっている。なお、この場合に復号化部225に送られるのは、仮想貨幣データに含まれていたデータのうち仮想貨幣暗号化データのみであっても良い。
 主制御部222は、上述したように、データ入出力部221から、生成依頼情報を受取る場合があり、それを受取った主制御部222は、それを仮想貨幣データ生成部223に送るようになっている。
 主制御部222は、また、決済判定部226から、後述する最終判定データを受取る場合がある。最終判定データは、後述するように、決済を認めること、或いは決済を認めないことのいずれかを示すデータである。主制御部222は、決済を認めることを内容とする後述する肯定的な最終判定データを受取った場合、決済処理を行うようになっている。決済処理は、この実施形態では、仮想貨幣暗号化データを送ってきた決済端末300への金銭の支払いを認めるための処理である。主制御部222は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部222は、誰(どの決済端末300の管理者等)への幾らの支払いを最終的に許可したのかという情報を、各決済端末300毎に図示せぬ記録媒体に記録するようになっている。
 他方、決済を認めないことを内容とする後述する否定的な最終判定データを受取った場合、主制御部222は、決済を認めるための処理を行わない。
 仮想貨幣データ生成部223は、上述したように、主制御部222から生成依頼情報を受取る場合がある。生成依頼情報を受取った場合、仮想貨幣データ生成部223は、仮想貨幣データを生成する。仮想貨幣データ生成部223には、暗号化部223Aと、結合部223Bとが含まれている。仮想貨幣データ生成部223がどのようにして仮想貨幣データを生成するかについての詳細については後述する。
 仮想貨幣データ生成部223は、仮想貨幣データを生成するにあたり、基本データ記録部224に記録されているデータを使用する。仮想貨幣データ生成部223は、仮想貨幣データを生成するにあたり基本データ記録部224に記録されているデータのうち必要なものを読み出し利用する。
 生成した仮想貨幣データを、仮想貨幣データ生成部223は、主制御部222に送るようになっている。
 基本データ記録部224には、仮想貨幣データを生成する場合に必要なデータが記録されている。基本データ記録部224に記録されているデータの詳細については追って述べる。
 復号化部225は、上述したように、主制御部222から、仮想貨幣データ(又は仮想貨幣暗号化データ)を受取る場合がある。
 復号化部225は仮想貨幣暗号化データを受取った場合、それを復号化する。復号化の処理の詳細については後述する。復号化されたデータには、それらのすべての詳細については後述するものとするが、発行者情報、金額情報、決済条件情報が含まれる。復号化部225は、仮想貨幣暗号化データを復号化することができた場合には、発行者情報、金額情報、決済条件情報のうちの少なくとも金額情報と決済条件情報とを決済判定部226に送るようになっている。
 他方、復号化部225は、仮想貨幣暗号化データの復号化を行えなかった場合には、その旨を決済判定部226に通知するようになっている。
 決済判定部226には、上述したように、復号化部225から、発行者情報、金額情報、決済条件情報のうちの少なくとも金額情報と決済条件情報とが送られてくる場合がある。これらを受取った場合、決済判定部226は、決済を認めて良いか否かについての判定である最終判定を行う。その結果、決済判定部226は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。決済判定部226は、後述のように、基本データ記録部224に記録されていたデータをかかる判定を行う場合に利用する場合がある。最終判定データをどのようにして決済判定部226が生成するかについては後述するものとする。
 決済判定部226にはまた、上述したように、復号化部225から、仮想貨幣暗号化データの復号化を行えなかった旨の通知が届く場合がある。その通知を受け取った場合決済判定部226は、決済を認めないことを内容として含む最終判定データを生成するようになっている。
 いずれにせよ、最終判定データを生成したら、決済判定部226はそれを主制御部222に対して送るようになっている。
 次に、決済端末300について説明する。
 決済端末300は、クレジットカードを用いた決済システムで用いられていた決済端末と同様の役割を担うものであり、一般的なコンピュータである。例えば、決済端末300はタブレットにより構成されているものとする。
 図2と同様であるからその外観の図示を省略するが、決済端末300は、図示を省略のタッチパネル式のディスプレイを備えている。結果として、決済端末300は、ディスプレイと、入力装置を備えることになる。もっとも、これに代えて、決済端末300は、タッチパネル式でないディスプレイと、テンキー、キーボード、マウス、トラックボール等の公知又は周知の入力装置のうちから必要なものを選択してなる入力装置とを備えていても、換言すれば、ディスプレイと入力装置とを別個のものとして備えていても良い。とりあえず、この実施形態の決済システムはタッチパネル式のディスプレイを備えるものとして以下、話を進める。
 また、決済端末300は図示せぬカメラを備えている。カメラは、外付けでも良いが、タブレットである決済端末300は、公知のような内蔵のカメラを備えている。
 決済端末300のハードウェア構成を、図7に示す。
 ハードウェアには、CPU311、ROM312、RAM313、インターフェイス314が含まれており、これらはバス316によって相互に接続されている。
 CPU311は、演算を行う演算装置である。CPU311は、例えば、ROM312に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。このコンピュータプログラムは、決済端末300にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済端末300へのインストールは、メモリカード等の所定の記録媒体を介して行われても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。
 ROM312は、CPU311が後述する処理を実行するために必要な、言い換えれば、このコンピュータを本願発明における送信装置として機能させるためのコンピュータプログラムやデータを記録している。ROM312に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
 RAM313は、CPU311が処理を行うために必要なワーク領域を提供する。
 インターフェイス314は、バス316で接続されたCPU311やRAM313等と外部との間でデータのやり取りを行うものである。インターフェイス314は、少なくとも図示を省略の送受信部に接続されている。送受信部はネットワーク400に対して接続されており、少なくともネットワーク400を介したデータの送信を行えるようになっていればよいが、この実施形態ではネットワーク400を介してのデータの送信と受信の双方を行えるようになっている。インターフェイス314から送受信部にわたされたデータは、送受信部によって、ネットワーク400を介して外部、例えば、決済装置200に送られるようになっている。インターフェイス314から出力され送受信部から送信されるデータは、この実施形態との関係では主に仮想貨幣データである。
 インターフェイス314は、また、タッチパネル式ディスプレイに設けられた入力装置に接続されており、入力装置からの入力を受付けるようになっている。インターフェイス314は、タッチパネル式ディスプレイに接続されており、タッチパネル式のディスプレイに後述する画像を表示するためのデータを送るようになっている。入力装置からインターフェイス314に入力されるデータは、例えば、決済の開始を指示するデータ、後述する決済端末ID等である。
 インターフェイス314は、また、上述するカメラと接続されている。カメラからインターフェイス314に入力されるのは、仮想貨幣データを特定するための画像を含む画像データである。若干正確性を欠くが、事実上、インターフェイス314には、カメラから仮想貨幣データが入力される。
 ハードウェアに大容量記録媒体が含まれて良いこと、それが存在する場合の機能は既に述べたとおりである。
 CPU311がコンピュータプログラムを実行することにより、決済端末300内部には、図8で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済端末300を本願発明の決済端末として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済端末300にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
 決済端末300内には、本願発明の機能との関係で、以下のような制御部320が生成され、制御部320内に、主制御部321、表示制御部322、データ入出力部323が生成される。
 制御部320は、以下に説明するような情報処理を実行する。
 主制御部321は、制御部320内の全体的な制御を行う。例えば、主制御部321は、追って詳述するデータ入出力部323から受取ったデータに基づいて表示制御部322の制御を行う。
 主制御部321は、追って説明するデータ入出力部323から、仮想貨幣データを受取るようになっている。各決済端末300の主制御部321は各決済端末300毎にユニークな決済端末IDを記録している。主制御部321は、受取った仮想貨幣データに決済端末IDのデータを付してデータ入出力部323に送るようになっている。
 表示制御部322は、主制御部321の制御を受けつつ、タッチパネル式とされた上述のディスプレイに表示される画像の制御を行う。ディスプレイには、表示制御部322から送られたデータに基づく画像が表示される。主制御部321は、表示制御部322に対して、ディスプレイにどのような画像を表示させるべきかという指示を送る。
 データ入出力部323は、制御部320へのデータの入出力を行うものである。
 具体的には、データ入出力部323は、入力装置からの入力を受取り、それを主制御部321に送るようになっている。入力装置からデータ入出力部323へ入力されるデータの例は、決済の開始を指示するデータがある。また、上述の決済端末IDが入力される場合もある。また、データ入出力部323には、カメラで撮像された仮想貨幣データを含む画像データが入力される場合もある。
 また、データ入出力部323は、図示を省略の送受信部に対して、データを出力するようになっている。送受信部に対して出力されるデータは、主制御部323から送られてきた仮想貨幣データである。この仮想貨幣データには、決済端末IDが付されている。送受信部に対して出力されたデータは、送受信部から決済装置200に対してネットワーク400を介して送信される。
 次に以上のような決済システムの使用方法、及び動作について図9を参照しながら説明する。
 まず、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行うとともに、各決済端末300において、決済端末IDの設定を行う。
 ユーザIDは、各ユーザ端末100を識別するための、各ユーザ端末100においてユニークなIDであり、一般的には英字、数字、記号の羅列である。決済端末IDも同様である。多数のユーザIDが重複しないようにするために、各ユーザ端末100に対するユーザIDを決済装置200が発行するようにしてもよい。決済端末IDについても同様である。或いは、ユーザ端末100のハードウェアに出荷時から埋め込まれている個体識別番号をユーザIDとして利用することもできる。決済端末IDについても同様である。
 各ユーザ装置100の管理者は、その入力装置を操作することにより当該ユーザ装置100についてのユーザIDの入力を行う。なお、個体識別番号をユーザIDとして用いる場合には、かかる入力は不要である。ユーザIDのデータは、入力装置から、インターフェイス114に送られ、インターフェイス114から制御部120に送られる。制御部120のデータ入出力部123はこれを受取り、主制御部121に送る。主制御部121は、それを保持する、或いは主制御部121内に記録する。
 他方、主制御部121は、ユーザIDのデータをデータ入出力部123へと送る。ユーザIDのデータは、そこから送受信部へと送られ、ネットワーク400を介して決済装置200へと送られる。
 決済装置200は、その送受信部でユーザIDのデータを受取る。ユーザIDのデータは、送受信部からインターフェイス214に送られ、インターフェイス214から制御部220に送られる。制御部220のデータ入出力部221はこれを受取り、主制御部222に送る。主制御部222は、それを保持する、或いは主制御部222内に記録する。この処理をすべてのユーザ端末100が行うことにより、主制御部222は、すべてのユーザ端末100のリストを持つことになる。かかるリストは、誰(どのユーザ装置100の所有者)のために仮想貨幣データを生成するのか、ということを決済装置200が特定するために用いられる。
 各決済端末300の管理者は、その入力装置を操作することにより当該決済端末300についての決済端末IDの入力を行う。決済端末IDのデータは、入力装置から、インターフェイス314に送られ、インターフェイス314から制御部320に送られる。制御部320のデータ入出力部323はこれを受取り、主制御部321に送る。主制御部321は、それを保持する、或いは主制御部321内に記録する。
 他方、主制御部321は、決済端末IDのデータをデータ入出力部323へと送る。決済端末IDのデータは、そこから送受信部へと送られ、ネットワーク400を介して決済装置200へと送られる。
 決済装置200は、その送受信部で決済端末IDのデータを受取る。決済端末IDのデータは、送受信部からインターフェイス214に送られ、インターフェイス214から制御部220に送られる。制御部220のデータ入出力部221はこれを受取り、主制御部222に送る。主制御部222は、それを保持する、或いは主制御部222内に記録する。この処理をすべての決済装置200が行うことにより、主制御部222は、すべての決済端末300のリストを持つことになる。かかるリストは、誰(どの決済端末300の管理者)に対しての支払い(決済)を認めるか、ということを決済装置200が特定するために用いられる。
 まず、仮想貨幣データが生成される。
 これには限られないが、この実施形態では、仮想貨幣データの生成は、生成依頼情報の生成をユーザが開始するところから始まる(S911)。
 生成依頼情報の生成を開始するには、例えば、ユーザは、ディスプレイ101上に表示されている図示を省略のアイコンにタッチすればよい。そうすると、その操作内容が入力装置102からインターフェイス114、データ入出力部123を介して主制御部121に送られ、生成依頼情報の生成が開示される。
 生成依頼情報は、ユーザがユーザ端末100の入力装置102を操作することによって生成する。生成依頼情報には、ユーザIDと、ユーザが支払いに用いようとする金額が少なくとも含まれる。
 生成依頼情報の生成が開始されると、主制御部121は、表示制御部122に対して、ユーザID等の入力をユーザに促すような画像をディスプレイ101に表示せよとの指示を送る。この指示を受付けた表示制御部122は、ディスプレイ101に、例えば、図10(A)の如き、ユーザに対して、ユーザIDと、ユーザが支払いを行おうとする金額と、の入力を促す画像を表示する。ユーザは、ユーザIDと示された部分の右側にユーザIDを、金額(円)と示された部分の右側に自分が支払おうとする金額をそれぞれ入力する(S912)。ユーザが入力したユーザIDと金額を特定するための情報である金額情報とについてのデータは、入力装置102からインターフェイス114を介してデータ入出力部123に入力され、主制御部121に送られる。ユーザが入力したユーザIDと金額情報は、入力中も含めて、主制御部121に制御された表示制御部122の制御によってディスプレイ101に表示されるから、ユーザは、ディスプレイ101を確認しながら、ユーザIDと金額情報との入力を行うことができる。図10(B)に示した例によれば、ユーザは、この決済システムを用いて、25000円の支払いを行おうとしている。
 ユーザIDと金額情報の入力が終わったら、ユーザは、ディスプレイ101に表示された「決定」と書かれたボタンをクリックする。
 「決定」と書かれたボタンをユーザがクリックすると、ユーザIDと金額情報とが、データ入出力部123から主制御部121に送られる。主制御部121は、ユーザIDと金額情報とをまとめて生成依頼情報とする。
 なお、生成依頼情報には、他の情報が含まれていても良い。これには限られないがこの実施形態では、例えば、ユーザが、決済の期間を所定の期間に制限しようとする(例えば、仮想貨幣データが発行されてから、半年以内にしかそのデータによる支払いができないようにする、或いは、仮想貨幣データの使用可能な年月日を、その始期と終期で指定する)場合には、その旨の入力を行うことで、決済の期間を所定の期間に制限することを示すデータ(時期情報)を、支払いを受ける者を特定の者(1人とは限らない。例えば、特定のチェーン店や、特定の銀行業を営む法人の本店及び全支店、あるショッピングモールに出店している店舗等の複数の者を対象とすることも可能である)に制限しようとする場合には、支払いを受ける者を特定の者に制限することを示すデータ(受領者情報)を、ユーザは、入力装置102から入力できるようになっている。これらデータは、決済装置200で後述する決済条件情報が生成される場合に利用される。これらデータは、ユーザIDのデータ等と同様に、入力装置102からインターフェイス114を経てデータ入出力部123に入力され、データ入出力部123から主制御部121に渡される。これらデータが入力された場合には、主制御部121は、ユーザID及び決済端末IDに、それらデータをも加えて生成依頼情報とする。
 生成依頼情報は主制御部121からデータ入出力部123に送られ、データ入出力部123から送受信部に送られる。生成依頼情報は、送受信部からネットワーク400を介して、決済装置200に送られる(S913)。
 なお、以後もそうであるが、この実施形態において、ネットワーク400を介して行われる通信はすべて、暗号化通信であってもよい。この場合の暗号化、及び復号化に用いられる技術は公知、或いは周知のものとすることができる。
 決済装置200は、その送受信部で生成依頼情報のデータを受付ける(S921)。送受信部は生成依頼情報のデータをデータ入出力部221に送り、データ入出力部221はそのデータを主制御部222に送る。
 必ずしもこの限りではないが、この実施形態における主制御部222は、ここで、ユーザIDで特定されるユーザ端末100に対して仮想貨幣データを生成して良いか否かの判定である与信判定を行う(S922)。かかる判定は、一般に与信判定と称される手続と同様に行えば良い。後述するように、特に問題なければ、決済装置200はユーザ端末100に対して仮想貨幣データを発行することになるが、仮想貨幣データは金銭的な価値のあるデータなのであるから、そのようなデータを生成依頼情報を送ってきたユーザに発行して良いか否かの判定を行うのである。
 例えば、主制御部222は、各ユーザからの入金額の残高を各ユーザのユーザIDと紐付けて記録した各ユーザ用の入金口座のデータベースと通信可能となっており、その残高がユーザが生成依頼情報に含めて送信してきた金額情報で特定される金額よりも大きければユーザの与信が認められると判定するようになっていても良い。主制御部222は、各ユーザが指定した銀行口座を有する銀行のそれぞれと通信可能となっており、ユーザが指定した銀行口座の残高がユーザが生成依頼情報に含めて送信してきた金額情報で特定される金額よりも大きければユーザの与信が認められると判定するようになっていても良い。或いは、決済装置200は、ユーザ端末100が生成依頼情報を決済装置200に送った場合に、それを送ってきたユーザ端末100を操作するユーザに対して生成依頼情報に含めて送信してきた金額情報で特定される金額の支払いを促すようになっているとともに、その金額をユーザが、例えばユーザ端末100からのクレジットカードによる支払いにより決済装置200の管理者に支払ったことが確認された場合に、決済装置200の主制御部222がユーザの与信が認められると判定するようになっていても良い。或いは、クレジットカードによる支払いにおける与信判定と同様に、ユーザが生成依頼情報に含めて送信してきた金額情報で特定される金額が、ユーザの職業、年収、持ち家の有無等によって予め定められた与信枠内である場合に、主制御部222がユーザの与信が認められると判定するようになっていても良い。
 いずれにせよ、主制御部222は、ユーザの与信が認められた場合には、ユーザが送ってきた生成依頼情報に含まれていた金額情報と、存在しているのであれば、決済条件情報を生成するために必要となるデータとを仮想貨幣データ生成部223に送る。
 金額情報等を受取った仮想貨幣データ生成部223は、仮想貨幣データを生成する(S923)。
 仮想貨幣データには、発行者情報、金額情報、決済条件情報を暗号化したものが少なくとも含まれる。また、上述したように、仮想貨幣データ生成部223は、仮想貨幣データを生成するにあたり、基本データ記録部224に記録されているデータを利用する。仮想貨幣データの生成方法を説明するために、まず、基本データ記録部224に記録されているデータについて説明する。
 この実施形態における基本データ記録部224に記録されているデータは、発行者情報、及び決済条件情報となり得る情報である。なお、後述するように、発行者情報には、基本データ記録部224に記録されていないデータが含まれても構わず、決済条件情報でもそれは同様である。
 発行者情報は、概ね、仮想貨幣データの発行者を含む発行の経緯を示す情報である。発行者情報となり得る情報は例えば、発行人情報であり、仮想貨幣データの発行者たる決済装置200を特定するための情報であり、これは例えば、決済装置200のIPアドレスである。なお、生成依頼情報の発信者を発行人とすることも可能であり、その場合には、発行人情報は、ユーザ端末100のIPアドレスとなる。発行者情報となり得る情報の他の例は、仮想貨幣データの真正さを保証する権限を持つ者である、例えば、政府機関が発行した仮想貨幣データの真正さを保証する情報である認証用情報である。発行者情報となり得る情報の更に他の例は、仮想貨幣データを他の仮想貨幣データから区別するための各仮想貨幣データにユニークな情報である記番号情報である。発行者情報に他の情報が含まれていても良いし、後述するように、基本データ記録部224に記録されていないデータが含まれても構わない。これらのうち必須なのは、仮想貨幣データの発行者(この実施形態では、それは決済装置200であるものとする。)を特定するための情報のみである。また、認証用情報、記番号情報以外の情報が発行者情報となり得る情報として基本データ記録部224に記録されていても構わない。
 上述の記番号情報について補足する。記番号情報は、記番号についての情報である。例えば、日本国の政府(或いは日本銀行)が発行する紙幣には、数字とアルファベットの羅列である記番号が記録されている。それと同様に、過去に発行された仮想貨幣データと新たに発行される仮想貨幣データとを区別させるために、各仮想貨幣データには記番号情報が暗号化された状態で含まれることがある。記番号情報は、日本国の政府が発行する紙幣に印刷された記番号と同様に、例えば、16進法で表記された、1から始まる多数桁(例えば、1000桁)の連番の番号である。記番号情報として基本データ記録部224に記録されているのは、その直前に発行された仮想貨幣データに含まれることになった記番号情報の次の記番号情報である。記番号情報は、後述するようにして、書換えられる。
 決済条件情報は、追って説明するようにして仮想貨幣データを受取った決済装置200が決済を認めるための条件となる情報である。決済条件情報によって決定される決済の条件は、ユーザ端末100によって決定される場合もあるし、決済装置200によって決定される場合もある。決済装置200によって決定される決済条件情報が、基本データ記録部224に記録されている。
 決済条件情報となり得る情報として基本データ記録部224に記録されているのは、例えば、上述の如き、受領者情報や時期情報である。もっとも、決済装置200側で設定する決済条件情報は、ユーザが支払いに仮想貨幣データを使用することの障害となるものであると仮想貨幣データの使用がし難くなるので、ユーザの利益となるような決済条件情報を設定することが重要であろう。決済条件情報は、また、金額情報によって特定される金額を変化させる情報であっても良い。具体的には、決済条件情報は、時間の経過とともに金額情報によって特定される金額を漸減させる、或いは金額情報によって特定される金額を段階的に減らすようにするといった情報とすることができる。金額情報は、また、ある店舗、ある法人グループに属する受領者、ある地域に住所を持つ受領者等、言い換えればある属性を有する受領者に対する、例えばこの指定期間内における支払いの場合であれば、金額情報によって特定される金額が10%増す、といった情報とすることが可能である。最後の例は、ユーザが、仮想貨幣データをクーポンのように利用することを可能とする。
 基本データ記録部224には、また、決済装置200が後述する決済の判定を行うときに必要とされるデータも記録されている。このデータは、仮想貨幣データ生成部223でというよりもむしろ、決済判定部226で使用されるものであるので、それが可能な限り、必ずしも基本データ記録部224に記録されている必要はない。これには限られないが、この実施形態では、各決済端末300についての決済端末IDと、各決済端末300が存在する位置(例えばその緯度と経度)と、各決済端末300の属性(どの法人グループに含まれるか、どのショッピングモールに入居しているか等)が、図11に示されたようにして記録されている。
 金額情報等を受取った仮想貨幣データ生成部223は、仮想貨幣データを生成するにあたって、基本データ記録部224に記録されていた、発行者情報、及び決済条件情報となり得る情報を読み出す。そして、必ずしもこの順序でなければならないわけではないが、発行者情報、金額情報、決済条件情報が結合されたデータ(図12(A))を生成する。
 この実施形態における発行者情報には、これには限られないが、仮想貨幣データの発行者たる決済装置200を特定するための情報、認証用情報、記番号情報、及びタイミング情報が含まれる。仮想貨幣データ生成部223は、記番号情報を読み出すと、基本データ記録部224に記録されていた記番号情報を「+1」して上書きする。これにより、記番号情報は常に最新の状態に保たれる。また、タイミング情報は、仮想貨幣データ生成部223がかかる仮想貨幣データを生成した時刻(例えば、金額情報等を仮想貨幣データ生成部223が受取った時刻)を例えば秒単位で示すものである。これを可能とするため、仮想貨幣データ生成部223は、決済装置200が備える図外の時計から、日時、及び時刻に関する情報を常に受け取っている。
 この実施形態における金額情報は、上述のように25000円という金額を特定する情報である。もちろん、金額は25000円には限られず、また、金額の単位は円には限られない。更にいえば、金額の単位は、法定通貨と同じである必要はない。
 この実施形態における決済条件情報は、ユーザ端末100から送られて来た生成依頼情報に含まれていたものであり、主制御部222から仮想貨幣データ生成部223に送られてきた、決済条件情報を生成するために必要となるデータと、基本データ記録部224に記録されていた決済条件情報を生成するために必要となるデータとにより特定される種々の条件である。
 そして、図12(A)に示されたデータは、仮想貨幣データ生成部223内の暗号化部223Aによって暗号化され、仮想貨幣暗号化データに変換される。暗号化の手法は、公知、或いは周知のもので構わないが、この実施形態では、少なくとも適正な手法によって復号化を行えるようなものとする必要がある。
 仮想貨幣データ生成部223では、多数のユーザからの多数の要求によって仮想貨幣データが次々と生成されることになる。なお、説明のため、データ構造のうち暗号化された部分に網掛けを行うものとする。これには限られないが、この実施形態では、仮想貨幣データの生成の過程で実行される暗号化の手法は、どの仮想貨幣データを生成する場合も同じであるものとする。この実施形態では、暗号化に用いられるアルゴリズム及び鍵を不変とすることにより、どの仮想貨幣データを生成する場合でも暗号化の手法が同一となるようにしている。
 ところで、上述したように、この実施形態においては、暗号化の対象となるデータの中に変化することを前提とした記番号情報とタイミング情報とが含まれている。特に記番号情報は2つとして同じものが無い。したがって、仮想貨幣暗号化データにも2つとして同じものは存在しないことになる。仮想貨幣暗号化データは、英字、数字、記号或いはこれらの2つ以上の組合せであって、ある程度(例えば、1000桁)以上の文字数(或いは桁数)の文字等の羅列となる。
 暗号化部223Aが仮想貨幣暗号化データを生成すると、仮想貨幣暗号化データは結合部223Bへ送られる。結合部223Bは、仮想貨幣暗号化データに、当該仮想貨幣暗号化データに暗号化されて含まれている発行者情報、金額情報、及び決済条件情報のうち予め定められたものを、仮想貨幣暗号化データに平文のまま結合する。仮想貨幣暗号化データに平文の上記データが結合されたものが仮想貨幣データである。仮想貨幣暗号化データに付加される情報は、発行者情報、金額情報、及び決済条件情報のうちの一部でも全部でも良いが、この実施形態では、記番号情報と、金額情報と、受領者情報とであるものとする。平文のままの記番号情報と、金額情報と、受領者情報とは、決済装置200だけでなく、ユーザ端末100でも、決済端末300でも、特別な処理を施すことなく、その内容を把握する(可読であるから読取ってその内容を理解する)ことが可能なものとなっている。悪意ある第三者が仮想貨幣データを入手した場合、当該悪意ある第三者も、平文のかかるデータを読取り可能であるものの、仮想貨幣暗号化データに暗号化して含まれているデータの内容すべてを把握できないため、仮想貨幣データの悪用は難しい。例えば、仮想貨幣暗号化データに暗号化して付されている決済条件情報に反する条件下で、悪意の第三者が、後述のようにして決済端末300を介して決済装置200に対して決済を求めた場合、当該悪意の第三者は決済装置200或いは決済端末300の仕様にもよるが、それらに、誤った条件下で決済を求めたという履歴を残しかねないことになる。それら履歴は、悪意の第三者を特定するための強力な材料となるものであり、悪意の第三者が仮想貨幣データの悪用を試みることに対する強力な抑止力となる。
 生成された、仮想貨幣データは、仮想貨幣データ生成部223から主制御部222に送られる。主制御部222は、その仮想貨幣データを生成することの申し込みであった生成依頼情報に付されていたユーザ端末IDによって特定されるユーザ端末100にそれを返送せよという指示を付して、仮想貨幣データをデータ入出力部221へ送る。仮想貨幣データは、更に送受信部に送られ、ネットワーク400を介して、ユーザ端末IDによって特定されるユーザ端末100へと送られる(S924)。
 ユーザ端末100の送受信部は、送られてきた仮想貨幣データを受取る(S914)。受取られた仮想貨幣データは、データ入出力部123から、主制御部121に送られる。
 この状態で、仮想貨幣データは使用できる、つまり、そのユーザ端末100の所有者たるユーザが第三者に対してその仮想貨幣データを用いて支払いを行える状態となる。ユーザは、その仮想貨幣データを保存するための操作を入力装置102によって行う。そうすると、その旨の操作内容が入力装置102から、インターフェイス、データ入出力部123を介して主制御部121に対して送られる。仮想貨幣データは、主制御部121からユーザ端末記録部124に送られて、ハードウェアとして見ればRAM113の一部であるユーザ端末記録部124に記録される。同じユーザが自らのユーザ端末100に複数の仮想貨幣データを保存することももちろん可能である。その場合には、複数の仮想貨幣データが、ユーザ端末記録部124に記録されることになる。
 ユーザは、ユーザ端末100に保存された仮想貨幣データをいつでも支払いのために使用することができる。ユーザが仮想貨幣データを使用したいと思ったときは、ユーザはユーザ端末100の入力装置102を操作して、その旨の入力を行う。かかる入力は、インターフェイス114、データ入出力部123を介して主制御部121に入力される。その入力を受けた主制御部121は、ユーザ端末記録部124から仮想貨幣データを例えばすべて読み出し、そのデータに基いて、表示制御部122に対して、図13に示したような画像をディスプレイに表示せよとの指示を送る。
 図13に示したように、ディスプレイ101には、複数の仮想貨幣データが、それらのうちの1つを選択可能に表示される。四角の枠で囲まれた金額を含む表示の一つ一つがそれぞれ、仮想貨幣データに対応している。仮想貨幣データのデータは上述のように、暗号化された仮想貨幣暗号化データと、それぞれ平文の記番号情報、金額情報、及び受領者情報が記録されている。平文の情報をユーザ端末100は読むことができるので、ユーザ端末100は、そのディスプレイ101に、各仮想貨幣データに対応する画像として、平文で記載されている情報に基づく情報を表示することができる。この実施形態では、これには限られないが、金額情報によって特定される金額と、受領者情報に基づく支払いを受けることが可能な受領者についての情報とがディスプレイ101に表示されるようになっている。受領者情報に基づく表示がない仮想貨幣データは、支払いを受ける者についての制限がないものとなっている。なお、ディスプレイ101に表示される画像には、平文で記載されたデータのすべてを含めることが可能であり、例えば、記番号情報が含まれていても構わない。
 ユーザは、ディスプレイ101が兼ねる入力装置102を操作して、支払いに用いる仮想貨幣データを選択する。かかる入力は、既述のようにして主制御部121に入力される。そうすると、ディスプレイ101の表示は、図14に示したように切り替わる。主制御部121の制御下で、表示制御部122がディスプレイ101に表示するのは、仮想貨幣データに対応した表示であり、より詳細には、仮想貨幣データを二次元バーコードに変換した表示である。かかる二次元バーコードに含まれる情報は最低でも、仮想貨幣暗号化データに対応したものである必要があるが、この実施形態では、仮想貨幣暗号化データの全体に対応したものとされる。
 ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末300に対して、ユーザ端末100から仮想貨幣データを引き渡す(S915)。
 仮想貨幣データの引き渡しは、ユーザ端末100のディスプレイ101に表示されている二次元バーコードを、決済端末300が備えるカメラで撮像することによって行われる。撮像された画像のデータは、決済端末300のカメラからインターフェイス314を介して、データ入出力部323に送られ、そこから主制御部321に送られる。主制御部321は、その画像データに写った二次元バーコードから、仮想貨幣暗号化データを生成する。これにより、ユーザ端末100から決済端末300に仮想貨幣データが引渡される(S931)。
 なお、この実施形態では、二次元バーコードの読取りによってユーザ端末100から決済端末300へと仮想貨幣データの引き渡しが行われるものとしているが、二次元バーコードはもちろん一次元バーコードその他の識別子によってそれを実現することとしてもよい。更には、そのような識別子の読取りによってユーザ端末100から決済端末300へと仮想貨幣データの引き渡しを実現する必要もなく、ブルートゥース(商標)その他の通信によって、それを実現してもよい。極端なことを言えばユーザが口頭で決済端末300の管理者等に伝えることにより、或いは仮想貨幣データをディスプレイ101に表示し決済端末300の管理者等に見せることにより、それを実現しても良い。これらの場合は、例えば入力装置による手入力で決済端末300の管理者等は、決済端末300に仮想貨幣データを入力することになろう。
 いずれにせよ、主制御部321は一時的に、例えば、少なくともその仮想貨幣データによる支払いが終了するまで、仮想貨幣データを記録する。かかる記録は、ハードウェアとしては、RAM313上に行われる。上述したように、仮想貨幣データのうち、平文で記述されている記番号情報、金額情報、受領者情報を決済端末300は読むことができる。したがって、主制御部321は、その表示制御部322に対し、それら情報によって特定される図14に示された如き情報を、そのディスプレイに表示させることが可能である。例えば、金額情報によって特定される金額を表示させることにより、決済端末300の管理者等は、支払いが行われようとしている金額を確認することができるであろうし、受領者情報によって特定される情報によって、自分がその支払を受けることのできる者であるか知ることができるであろう。その支払が不適切であれば、決済端末300の管理者等は、ユーザから他の仮想貨幣データの提供を受ければ良い。
 ユーザから受取った仮想貨幣データが適切なものであるのであれば、決済端末300の管理者等は、決済端末300の入力装置を操作して、仮想貨幣データを決済装置200に送るための操作を行う。
 かかる操作を行うと、入力装置から、データ入出力部323を介して主制御部321に、その操作内容が送られる。かかる入力がなされると、主制御部321は、仮想貨幣データに対して決済端末IDを付したデータを、データ入出力部323に対して送る。データ入出力部323は、それらデータを、送受信部に送り、送受信部はそれらデータを、ネットワーク400を介して決済装置200に送る(S932)。このとき、決済端末IDとともに、少なくとも仮想貨幣暗号化データが決済装置200に送られる必要があるが、この実施形態では、決済端末IDとともに、仮想貨幣データの全体が決済装置200に送られる。
 決済装置200は、その送受信部で、決済端末IDのデータと仮想貨幣データとを受取る(S925)。これらデータは、インターフェイス214、データ入出力部221を介して主制御部222に送られる。
 それらを受取った主制御部222は、決済端末IDのデータと仮想貨幣データとを、復号化部225に送る。このとき、決済端末IDとともに、少なくとも仮想貨幣暗号化データが復号化部225に送られる必要があるが、この実施形態では、決済端末IDとともに、仮想貨幣データの全体が復号化部225に送られる。
 復号化部225は、仮想貨幣暗号化データを復号化する(S926)。上述したように、暗号化部223Aで行われる暗号化の処理は、すべての仮想貨幣暗号化データについて同一であるので、復号化部225が行う復号化の処理も、上記暗号化の処理に対応した同一の処理として行われる。仮想貨幣暗号化データが復号化されることにより、暗号化されていた発行者情報、金額情報、及び決済条件情報が平文に戻る。それら、復号化部225は、発行者情報、金額情報、及び決済条件情報を、決済端末IDのデータとともに決済判定部226に送る。
 なお、この実施形態では、復号化部225で仮想貨幣暗号化データを復号化できたという事実により、仮想貨幣暗号化データが、ひいてはそれを含んでいた仮想貨幣データが真正なものであるとの仮の判定を行えたということとなる。仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部225からその旨の情報が決済判定部226に送られる。
 決済判定部226は、発行者情報、金額情報、決済条件情報、及び決済端末IDか、または仮想貨幣暗号化データの復号化を行えなかった旨の情報を、復号化部225から受取る。
 それらのうち、発行者情報、金額情報、決済条件情報、及び決済端末IDを受取った場合、決済判定部226は、最終判定を実行する(S927)。最終判定を実行する場合、決済判定部226は、基本データ記録部224から必要なデータを読み出す。
 上述のように、発行者情報には、仮想貨幣データの発行者たる決済装置200を特定するための情報が含まれている。同じデータが、基本データ記録部224には記録されているから、そのデータを決済判定部226は基本データ記録部224から読み出し、両者を比較する。両者が一致した場合には、仮想貨幣暗号化データは真正であると決済判定部226は判定する。
 上述のように、発行者情報には、仮想貨幣データの真正さを保証する権限を持つ者である、例えば、政府機関が発行した仮想貨幣データの真正さを保証する情報である認証用情報が含まれている場合がある。かかるデータを認証に用いるのであれば、基本データ記録部224にも認証用データが存在するから、そのデータを決済判定部226は基本データ記録部224から読み出し、両認証用データ同士を比較する。両者が一致した場合には、仮想貨幣暗号化データは真正であると決済判定部226は判定する。
 同様に、記番号情報、タイミング情報、金額情報、決済条件情報に含まれる情報等をも仮想貨幣暗号化データの真正性の判定に用いても良いが、このような仮想貨幣暗号化データの真正性の判定によって仮想貨幣データが真正であると判定できたのであれば次に、決済条件情報によって特定された条件が充足されているか否か、についての判定を決済判定部226は行う。もっとも、仮想貨幣暗号化データが真性であるということの確認は、事実上、復号化部225で仮想貨幣暗号化データが復号化できたという事実により行われているのであるから、ここでの仮想貨幣暗号化データの真正性の確認は省略されてもかまわない。
 決済条件情報によって特定された条件が充足されているか否か、についての判定は、例えば、次のように行われる。
 決済条件情報には上述するように、受領者情報が含まれている場合がある。受領者情報は、その受領者が有する属性、或いは受領者の住所によって、支払いを受けられる者を制限するための情報である。決済判定部226は、復号化部225から受け取っていた決済端末IDに紐付けられた属性等についての情報を基本データ記録部224から読み出し、その決済端末IDに紐付けられていた属性等が、決済条件情報に含まれていた受領者情報によって特定される支払いを受けられる者の条件を充足するか判定する。かかる条件が充足された場合には、決済判定部226は、決済条件情報によって特定された条件が充足されていると仮に判定する。
 決済条件情報には上述するように、時期情報が含まれている場合がある。時期情報は、ユーザから決済端末300の管理者への支払いを認められる時期を特定するための情報である。時期情報は、日付、時刻等により、例えば、2017年7月1日0時0分から2017年7月30日0時0分までといった絶対的な日時によって記述されている場合がある。そのような場合、決済判定部226は、決済装置200が備える図外の時計から、日時、及び時刻に関する情報を受け付け、その判定を行う時点が、時期情報によって特定される条件を充足しているか否か判定すれば良い。かかる条件が充足された場合には、決済判定部226は、決済条件情報によって特定された条件が充足されていると仮に判定する。他方、時期情報は、仮想貨幣データが生成されてから3ヶ月以内とか、仮想貨幣データが生成されてから1週間後から10日間の間だけ支払いが認められるといったように、仮想貨幣データの生成時を基準として相対的に決定されている場合がある。そのような場合には、決済判定部226は、復号化された発行者情報にタイミング情報が含まれていることが条件となるが、そのタイミング情報により特定される仮想貨幣データの生成時を基準として、上述の条件が充足されるか否か判定すれば良い。かかる条件が充足された場合には、決済判定部226は、決済条件情報によって特定された条件が充足されていると仮に判定する。
 決済条件情報は、また、金額情報によって特定される金額を変化させる情報である場合においても、同様の方法によって、決済条件情報によって特定された条件が充足されているか否かを判定する。
 なお、決済条件情報は、上記のようなものに限らず、例えば、ある場所におけるその日の天候が晴れの場合にのみ支払いが認められる、特定のサッカーチームが特定の試合に勝った場合にのみ支払いが認められる、ある株式市場における平均の株価がある価格以上となった場合にのみ支払いが認められるといった、場合によっては仮想貨幣データが決済装置200から発行された後に決定されるような事象を、決済条件情報とすることも可能である。そのような場合には、決済装置200は決済条件情報が満足されているか否か判定するために必要な情報を、ネットワーク400を介して、外部の装置から探し出し、その情報を決済判定部226に供給するようにすれば良い。
 いずれにせよ、決済条件情報(複数の場合、それらのすべて)が充足されていると決済判定部226が判定した場合には、決済判定部226は金額情報によって特定されている金額の支払いを認めるという肯定的な情報を示す最終判定データを生成する。なお、決済条件情報が、金額情報によって特定される金額を変化させる情報である場合には、ここで支払いが認められる金額は、変化させられた後の金額である。
 他方、決済判定部226が復号化部225から受取ったのが仮想貨幣暗号化データの復号化を行えなかった旨の情報であった場合、仮想貨幣暗号化データが真正であるとの判定が行われなかった場合、決済条件情報(複数の場合、それらのすべて)が充足されていると決済判定部226が判定しなかった場合には、金額情報によって特定されている金額の支払いを認めないという否定的な情報を示す最終判定データを生成する。
 いずれにせよ、生成された最終判定データは、決済判定部226から主制御部222に送られる。
 主制御部222は、最終判定データを受取り次の処理を行う。
 最終判定データが肯定的なものであった場合、主制御部222は、最終判定データによって特定される金額の決済端末300の管理者への支払いの処理を実行する。決済処理は、仮想貨幣暗号化データを送ってきた決済端末300への金銭の支払いを認めるための処理である。この実施形態では、主制御部222は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部222は、誰(どの決済端末300の管理者等)への幾らの支払いを最終的に許可したのかという情報を、各決済端末300毎に図示せぬ記録媒体に記録するようになっている。これらデータは、例えば、決済端末300の管理者が指定した銀行口座が存在する銀行に送られ、その結果、例えば決済装置200の管理者から(或いは、その仮想貨幣データを使用したユーザの指定した銀行口座等から)決済端末300の管理者へと支払いが行われる。
 最終判定データが肯定的なものであった場合、主制御部222は、決済が行われたこと、及びその金額の情報を少なくとも含むデータである肯定的判な定結果データを生成する。
 他方、最終判定データが否定的なものであった場合、主制御部222は決済処理を行わない。また、主制御部222は、決済が行われなかったという情報を少なくとも含むデータである否定的な判定結果データを生成する。
 いずれにせよ、判定結果データは、主制御部222から、データ入出力部221を介して送受信部に送られ、ネットワーク400を介して、決済端末300に送信される(S928)。
 判定結果データは、決済端末300の送受信部によって受取られる(S933)。
 送受信部によって受取られた判定結果データは、これまでの場合と同様に、主制御部321に送られる。
 主制御部321は、表示制御部322に対して、判定結果データに応じた表示をディスプレイに行わせろとの指示を行い。その結果、表示制御部322は、ディスプレイに判定結果データに応じた表示を行わせる(S934)。その表示は、図示を省略するが、例えば、判定結果データが肯定的なものであった場合には、決済が認められたこと、及びその金額となり、判定結果データが否定的なものであった場合には、決済が認められなかったことであろう。後者の場合には、判定結果データに決済が認められなかった理由を特定する情報を含めることにより、決済が認められなかった理由がディスプレイ上に表示されるようにした方が良いであろう。
 なお、判定結果データの送信をユーザ端末100に対しても行い、ユーザ端末100でもそれに基づく画像のディスプレイ101での表示を行うようにすることも可能である。
 以上で、仮想貨幣データを使用しての、ユーザから決済端末300の管理者への支払いの処理が終了する。
 なお、以上での説明では、あるユーザ端末100を用いての仮想貨幣データによる支払いの受領者は、決済端末300の管理者等のみであった。しかしながら、あるユーザ端末100を用いての仮想貨幣データによる支払いの受領者を、他のユーザ端末100のユーザとすることも可能である。
 その場合には、支払いを受けるユーザの所有するユーザ端末100は、決済端末300にインストールされたのと同様のコンピュータプログラムをインストールすることにより、決済端末300が有していたのと同様の機能ブロックを有するものとなっていれば良い。ユーザ端末100がスマートフォンであれば、コンピュータを含んでいるのであるから、それは可能である。また、決済端末300はハードウェアとしてカメラを備えていたが、ユーザ端末100がスマートフォンであれば常識的にカメラを持つのであるから、その条件もユーザ端末100は満足する。その場合、決済装置200の基本データ記録部224には、各決済端末300の決済端末IDと紐付けて記録されていた種々のデータと同等のデータが、各ユーザへの支払いが可能か否かを決済判定部226が判定する際に決済条件情報の充足性を決済判定部226が判定する際に必要な範囲で、各ユーザ端末100のユーザIDと紐付けて記録されることが必要となろう。
 また、この実施形態では、ユーザ端末100から決済端末300への仮想貨幣データの受け渡しはネットワーク400を介さずに行われるものとなっていた。しかしながら、かかる受け渡しがユーザ端末100から決済端末300への仮想貨幣データの受け渡しであるか、ユーザ端末100間での仮想貨幣データの受け渡しであるかを問わず、かかる受け渡しをネットワーク400を介しての仮想貨幣データの送受信(場合によっては、仮想貨幣データの二重譲渡を防ぐための決済装置200を介しての送受信)によって実現しても良い。
 なお、この実施形態では、決済装置200は、仮想貨幣データを発行して外部に送る機能と、仮想貨幣データを受取り決済の可否を判定する機能とを併せ持っていたが、それら機能をそれぞれ持つ仮想貨幣データ発行装置と、仮想貨幣データの決済装置とに分離することも可能である。
 その場合、前者、後者とも、ハードウェア構成としては既に説明した決済装置200と同じものとすることがき、機能ブロックに関しては、前者は、仮想貨幣データをユーザ端末100に送るまでに必要であった機能を有する機能ブロックを、後者は、それ以降に必要であった機能を有する機能ブロックを、それぞれ有するものとすることができる。
<変形例1>
 変形例1による決済システムは、第1実施形態による決済システムと殆ど同じである。特に、ユーザ端末100と、決済端末300との構成、及びそこで実行される処理は、第1実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第1実施形態と同じである。
 異なるのは、決済装置200の構成、及びそこで実行される処理である。とはいえ、変形例1の決済装置200の構成、及びそこで実行される処理の大半は、第1実施形態の場合と同じである。
 第1実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたって暗号化部223Aが用いる暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、この変形例では、仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である。
 そうすると、復号化部225は、ある仮想貨幣暗号化データを復号化しようとした場合に、その仮想貨幣暗号化データが複数の暗号化の手法のうちどれを用いて暗号化されたのかを知ることができないと、復号化の処理を行うことができない。これを可能としているのが、変形例1の決済装置200の第1実施形態における決済装置200との相違点である。
 これには限られないが、この実施形態では、暗号化部223Aで行われる暗号化は、各仮想貨幣暗号化データ毎にすべて異なるものとする。したがって、復号化部225が各仮想貨幣暗号化データに対して行う復号化の処理も、すべて異なるものとなる。暗号化、復号化の手法を変化させるには、アルゴリズムを変更する、鍵を変更する、それらの双方を変更するという3種類がありいずれも採用可能ではあるが、この実施形態では鍵を変更するものとする。
 変形例1の決済装置200でも、第1実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部220が生成される。図15に示したように、変形例1における制御部200内に生成される機能ブロックは第1実施形態の場合と略同じであり、同一の機能ブロックが担う機能は暗号化部223Aと復号化部225とを除けば、第1実施形態の場合と同じである。変形例1における制御部200内に生成される機能ブロックには鍵生成部227が含まれており、その点で第1実施形態と異なる。
 鍵生成部227は暗号化又は復号化に使用される鍵を生成するものであり、鍵を暗号化部223Aと復号化部225とに提供するものとなっている。鍵の生成の方法、及び鍵を暗号化部223Aと復号化部225とに提供するタイミングについて説明する。
 鍵生成部227が暗号化部223Aに鍵を供給するタイミングは、暗号化部223Aが暗号化の処理を行うタイミングである。上述したように、図12(A)に示されたデータ、つまり、発行者情報、金額情報、決済条件情報とからなる平文のデータが生成されると、鍵生成部227は、暗号化部223Aに鍵を生成することを依頼するためのデータを送信する。それを受取ると、鍵生成部227は鍵を生成し、生成した鍵のデータを暗号化部223Aに送る。暗号化部223Aは、不変のアルゴリズムと、提供された鍵とを用いて、図12(A)に示されたデータを暗号化することにより、仮想貨幣暗号化データを得る。
 鍵生成部227は、例えば鍵を以下のようにして生成する。鍵は、以下の説明における「解」として生成され、英字、数字、記号の少なくとも1つの羅列として生成される。解は例えば、ある条件下では常に同じものが生成される、初期値依存性のある擬似乱数列のようなものとすることができる。ある初期値から連続してワンタイムパスワードを生成するという、公知、周知のワンタイムパスワードの発生方法が、その一例となる。
 この実施形態では、解を生成するために、ある初期値(2つ以上の場合もある)を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を解が必要となる度に実行する。そうすることにより、上記「値」である解を連続して生成することができる。このような解は、初期値依存性のある擬似乱数となる。
 上述の「解」を作るのに使われる関数の例として、以下の(a)~(c)を挙げる。以下の(a)~(c)はいずれも、N番目の「解」であるXを作るための式である。また、P、Q、R、Sは自然数である。
(a)(X)=(XN-1+(XN-2
(b)(X)=(XN-1
(c)(X)=(XN-1(XN-2(XN-3R(XN-4S
 (a)は、過去の「解」2つを用い、それらをそれぞれP乗とQ乗したものを足し合わせることにより、新しい「解」を生成する。なお、正確には、過去の「値」2つを用い、それらをP乗とQ乗したものを足し合わせると、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい「解」を生成する。
 (b)は、過去の「解」1つを用い、それをP乗したものの桁数を上述のよう に整理したものを新しい「解」とするものである。
 (c)は、過去の「解」4つを用い、それらをそれぞれP乗、Q乗、R乗、S乗したものの積を取り、その後上述したように桁数を整理したものを新しい「解」とするものである。
 上述の(a)~(c)は解を生成するためのアルゴリズムの一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の(a)~(c)を順番に用いる等の変化を加えることも可能である。
 このような手法で解を生成することとすれば、ある初期値に基いて1番目に生成される解は常に同じであり、2番目に生成される解も常に同じであり、同様にN番目に生成される解も常に同じである。これが初期値依存性ということである。
 上述のように生成された解を鍵として用いることにより暗号化部223Aは、図12(A)に示されたデータを暗号化して、仮想貨幣暗号化データを生成する。そして、第1実施形態の場合と同様に、結合部232Bが、仮想貨幣暗号化データに対して平文の幾つかのデータを付加することによって仮想貨幣データが生成される。
 かかる仮想貨幣データは、第1実施形態の場合と同様に、決済装置200からユーザ端末100に送られる。
 かかる仮想貨幣データの使用方法は第1実施形態の場合と同様であり、ユーザ端末100から決済端末300に引渡され、決済端末300から、決済端末IDとともに決済装置200に送られる。
 仮想貨幣データは、第1実施形態の場合と同様に、決済端末IDとともに主制御部222から復号化部225へと送られる。
 ここで、第1実施形態の場合と同様に、復号化部225は仮想貨幣暗号化データを復号化する。しかしながら、そのためには暗号化部223Aがその仮想貨幣暗号化データを暗号化するときに用いた鍵を復号化部225が入手する必要がある。そこで、仮想貨幣データを受取った復号化部225は、鍵生成部227に対して鍵のデータの生成を依頼するデータを送る。そして、復号化部225は、そのデータに、仮想貨幣データに平文の状態で含まれていた記番号情報を付す。
 上述したように、この実施形態の記番号情報は、16進法で表記された、1から始まる多数桁の連番の番号である。つまり、かかる記番号情報により特定される数字は、復号化しようとする仮想貨幣暗号化データを暗号化したときに使用された鍵が、何番目に生成された鍵であるか、ということを示している。そこで、鍵生成部227は、上述の数式(a)~(c)を用いて、記番号情報で特定される数字番目の解を求めるべく連続して演算を行う。その結果、鍵生成部227は、その記番号情報が付されていた仮想貨幣暗号化データを暗号化したときに用いたものと同じ鍵と同一の解を生成することができる。そして、鍵生成部227は生成した解である鍵を、復号化部225に対して送る。
 これにより、復号化部225は、暗号化部223Aが仮想貨幣暗号化データを暗号化したときに用いたものと同じ鍵を用いて復号化の処理を行えることになる。つまり、変形例1では、記番号情報が、本願発明で言う暗号化条件情報を兼ねている。
 なお、仮想貨幣データに含まれる暗号化条件情報は、平文のままでも良いし、暗号化された状態となっていても構わない。ただし、暗号化条件情報の暗号化を行う場合には、すべての仮想貨幣データに含まれる暗号化条件情報について、その暗号化の手法を同一とするのが現実的である。なぜなら、各仮想貨幣データに含まれる暗号化条件情報をそれぞれ異なる手法(例えば、異なる鍵)により暗号化したとするのであれば、各暗号化条件情報を復号化するときに、その復号化のための条件(暗号化されたその暗号化条件情報を暗号化した場合の暗号化の条件)が必要となるからである。これには限られないが、決済装置200では、仮想貨幣データを生成して、発行する際に、その主制御部222が、暗号化条件情報の暗号化を行い、また決済を行う場合、その主制御部222が暗号化条件情報の復号化を行う。暗号化の手法、復号化の手法が同一であれば、かかる暗号化、復号化を同一の主制御部222が行うことは当然に可能である。なお、変形例1では、記番号情報が暗号化条件情報を兼ねることとされており、記番号情報を平文のままにすることが必要なのであれば、この後述べるように、記番号情報とは他の暗号化条件情報を準備する必要がある。そうすれば、仮想貨幣データに含まれる記番号情報を平文のままとするとともに、仮想貨幣データに含まれる暗号化条件情報を暗号化することが可能となる。
 以降の処理は、第1実施形態と変わらない。
 なお、変形例1では記番号情報を本願発明でいう暗号化条件情報として利用することとしていた。つまり、発行者情報の一部である記番号情報を、暗号化条件情報としても利用することとしている。
 これに代えて、例えば、記番号情報を、暗号化条件情報として使用しない(その場合には、記番号情報を連番とする必要がなくなる。)ようにするとともに、記番号情報とは別の情報を仮想貨幣データに平文の状態で、或いは暗号化した状態で含めることが可能である。そのデータは、その仮想貨幣暗号化データを生成するときに用いられた鍵が、鍵生成部227で何番目に生成された鍵であるかを示す連番の数字のデータである。
 また、暗号化条件情報として、結合部223Bが、暗号化部223Aが暗号化の処理を行うときに使用した鍵そのものを、その鍵によって暗号化された仮想貨幣暗号化データに付加することによって、仮想貨幣データに含めることも可能である。このような仮想貨幣データには、それに含まれる仮想貨幣暗号化データを復号化するために用いることのできる鍵が添付されているから、悪意の第三者により仮想貨幣暗号化データを復号化されるおそれがある。しかしながら、暗号化、復号化に用いられるアルゴリズムが第三者に知られない限り、悪意の第三者は仮想貨幣暗号化データを復号化することができないため、一応の安全性は維持できる。暗号化条件情報を鍵そのものとした場合、復号化部225は、その鍵を用いて復号化を行うことができるので、復号化部225は復号化の処理を行うに際して鍵生成部227から鍵の提供を受ける必要はない。
 なお、暗号化条件情報は、上述のものによらない。例えば、上述の解が生成されたときの日時によって解が決定される、換言すれば、ある日時を指定すれば後からでも必ずその解を再現できるようなアルゴリズムを、鍵生成部227が解の生成のために用いるのであれば、暗号化条件情報は、暗号化部223Aで使用された解が鍵生成部227で生成された日時を特定する情報とすることができる。復号化部225がその日時を鍵生成部227に通知すれば、鍵生成部227は、暗号化部223Aが暗号化に用いた鍵と同じ解を生成することができるので、復号化部225は、暗号化部223Aが暗号化に用いた鍵と同じ鍵の提供を鍵生成部227から受けられることになる。
≪第2実施形態≫
 第2実施形態による決済システムは、第1実施形態による決済システムと殆ど同じである。特に、ユーザ端末100と、決済端末300との構成、及びそこで実行される処理は、第1実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第1実施形態と基本的には同じである。第2実施形態による決済システムで用いられる仮想貨幣データも第1実施形態の場合と同様に暗号化されたデータである仮想貨幣暗号化データを含んでいるが、ただし、後述するように、かかる仮想貨幣暗号化データに対して行われている暗号化の処理は、第1実施形態の場合と異なり復号化を行えるようなものである必要はない。例えば、図12(A)に示されたデータに対して行われる、仮想貨幣暗号化データを得るための暗号化の処理は、ハッシュ値をとる等の変換とすることができる。
 第2実施形態と第1実施形態とで異なるのは、決済装置200の構成、及びそこで実行される処理である。とはいえ、第2実施形態の決済装置200の構成、及びそこで実行される処理の大半は、第1実施形態の場合と同じである。
 第2実施形態の決済装置200でも、第1実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部220が生成される。図16に示したように、第2実施形態における制御部200内に生成される機能ブロックは第1実施形態の場合と略同じであり、同一の機能ブロックが担う機能は、仮想貨幣データ生成部223の一部の機能を除けば、第1実施形態の場合と同じである。また、第2実施形態における制御部200内に生成される機能ブロックには、第1実施形態にあった復号化部225が存在せず、その代わりに第1実施形態には無かった第2認証部228及び仮想貨幣データ記録部228Aが存在する。この点が第1実施形態と第2実施形態との大きな相違点である。
 第2実施形態の決済装置200における仮想貨幣データ生成部223、第2認証部228、及び仮想貨幣データ記録部228Aの機能、及び前2者が実行する処理について説明する。
 まず、仮想貨幣データ生成部223についてである。第2実施形態の仮想貨幣データ生成部223の機能、及びそこで行われる処理については、第1実施形態と殆ど変わらない。仮想貨幣データ生成部223は、第1実施形態の場合と同様に暗号化部223Aと結合部223Bとを有している。結合部223Bの機能、そこで行われる処理は第1実施形態の場合と同一である。
 第2実施形態の暗号化部223Aの機能、及びそこで行われる処理は、基本的に第1実施形態の場合と同じであるが、第2実施形態の暗号化部223Aが行う暗号化の処理は、後に復号化が可能なものであっても良いし、復号化が可能なものでなくても良い。
 第1実施形態の場合と同様に、図12(A)に示したデータを、暗号化部223Aは暗号化して、仮想貨幣暗号化データを生成する。第1実施形態の場合と同様に、かかる仮想貨幣暗号化データは、結合部223Bに送られ、結合部223Bによってそれに対して平文の第1実施形態で説明したデータが付加されることによって、仮想貨幣データとなる。第1実施形態の仮想貨幣データ生成部223は、仮想貨幣データを決済装置200からユーザ端末100に送る処理を決済装置200が行うために、主制御部222に対して仮想貨幣データを送ったが、第2実施形態の仮想貨幣データ生成部223は、それとともに、仮想貨幣データを仮想貨幣データ記録部228Aにも送るようになっている。この実施形態では、仮想貨幣データ生成部223は、仮想貨幣データだけでなく、それに含まれている仮想貨幣暗号化データの元となった図12(A)に示されたデータである平文の発行者情報、金額情報、及び決済条件情報をも、仮想貨幣データ記録部228Aに送るようになっている。
 仮想貨幣データ記録部228Aには、送られてきた仮想貨幣データと、それに含まれている仮想貨幣暗号化データの元となった平文の発行者情報、金額情報、及び決済条件情報とが、互いに対応付けた状態で記録される。かかる処理は繰り返し行われるので、通常、仮想貨幣データ記録部228Aには、仮想貨幣データと、それに含まれている仮想貨幣暗号化データの元となった平文の発行者情報、金額情報、及び決済条件情報との一組となったデータが、複数組記録された状態となる。
 主制御部222に送られた仮想貨幣データは、第1実施形態の場合と同様に、決済装置200からユーザ端末100に送られる。
 かかる仮想貨幣データの使用方法は第1実施形態の場合と同様であり、ユーザ端末100から決済端末300に引渡され、決済端末300から、決済端末IDとともに決済装置200に送られる。
 仮想貨幣データは、第1実施形態の場合と同様に、決済端末IDとともに主制御部222から第2認証部228へと送られる。
 第2認証部228は、受取った仮想貨幣データが真正なものであるか、もっと言えば、受取った仮想貨幣データに含まれた仮想貨幣暗号化データが真正なものかということについての確認を行う機能を有している。この点についての確認は、第1実施形態では事実上、復号化部225で仮想貨幣暗号化データが復号化できたという事実により行われていたが、第2認証部228は、それとは異なる方法でその確認を行う。
 主制御部222から仮想貨幣データを受取った第2認証部228は、仮想貨幣データ記録部228A内に記録されたデータを検索し、主制御部222から受取った仮想貨幣データと同じ仮想貨幣データが仮想貨幣データ記録部228Aに記録されていた場合には、主制御部222から受取った仮想貨幣暗号化データが真正なものであると判定し、主制御部222から受取った仮想貨幣データと同じ仮想貨幣データが仮想貨幣データ記録部228Aに記録されていなかった場合には、主制御部222から受取った仮想貨幣暗号化データが真正なものでないと判定する。かかる判定方法を用いる場合、多数のユーザ端末100からの多数の求めによって多数生成される仮想貨幣データの中に重複するものが無いようにするために、例えば仮想貨幣データの文字数(桁数)を大きくする等の適当な工夫を行うことが好ましい。また、仮想貨幣データ記録部228Aに記録されていた仮想貨幣データのうち、第2認証部228から読み出されたものは、例えばそれに対応する仮想貨幣データによる決済端末300の管理者等への支払いが終了した後に、仮想貨幣データ記録部228Aから消去するのが望ましい。
 第2認証部228は、主制御部222から受取った仮想貨幣データが真正なものであると判定した場合には、主制御部222から受取った仮想貨幣データと同じ仮想貨幣データに紐付けられた状態で仮想貨幣データ記録部228Aに記録されていた発行者情報、金額情報、及び決済条件情報を読み出す。この状態で、第2認証部228は、発行者情報、金額情報、及び決済条件情報を持つことになった。これら発行者情報、金額情報、及び決済条件情報は、第2認証部228が主制御部222から受取った仮想貨幣データに含まれる仮想貨幣暗号化データを暗号化する際にその元となったデータである。つまり、第2認証部228が、発行者情報、金額情報、及び決済条件を持ったこの状態は、第1実施形態において復号化部225が主制御部222から受取った仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化した状態と同じである。
 つまり、以後の処理はすべて第1実施形態と同じとすることができ、第2実施形態ではそうしている。第1実施形態では、復号化部225は、いずれも平文に戻った発行者情報、金額情報、及び決済条件情報を、決済端末IDのデータとともに決済判定部226に送ったが、第2実施形態では、第2認証部228は、いずれも平文である発行者情報、金額情報、及び決済条件情報を、決済端末IDのデータとともに決済判定部226に送る。他方、第1実施形態では、仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部225からその旨の情報が決済判定部226に送られたが、第2実施形態では、第2認証部228に主制御部222から送られてきた仮想貨幣データと同一の仮想貨幣データが仮想貨幣データ記録部228Aに存在しなかった場合には、第1実施形態における復号化を行えなかった旨の情報と同様の意味を持つ、同一の仮想貨幣データが仮想貨幣データ記録部228Aに存在しなかった旨の情報が決済判定部226に送られることになる。
 以後の説明は省略する。
 なお、第2実施形態の説明では、第2認証部228は、主制御部222から送られてきた仮想貨幣データと同一の仮想貨幣データが仮想貨幣データ記録部228Aに存在するか否かにより、主制御部222から送られてきた仮想貨幣データのうちの仮想貨幣暗号化データの真正性の判定を行うこととしていた。
 しかしながら、かかる判定の対象は、仮想貨幣データの全体によらずとも、仮想貨幣暗号化データのみによって行うことも可能である。したがって、主制御部222が第2認証部228に決済端末IDとともに送るのは、仮想貨幣データの全体ではなく仮想貨幣暗号化データのみでもよい。その場合、仮想貨幣データ記録部228Aに仮想貨幣データ生成部223が、平文の発行者情報、金額情報、及び決済条件情報と紐付けて記録するのは、仮想貨幣データではなく仮想貨幣暗号化データとなる。そして、第2認証部228は、主制御部222から送られてきた仮想貨幣暗号化データと同一の仮想貨幣暗号化データが仮想貨幣データ記録部228Aに存在するか否かにより、主制御部222から送られてきた仮想貨幣データのうちの仮想貨幣暗号化データの真正性の判定を行うことになる。
≪第3実施形態≫
 第3実施形態による決済システムは、第1実施形態による決済システムと殆ど同じである。特に、ユーザ端末100と、決済端末300との構成、及びそこで実行される処理は、第1実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第1実施形態と基本的には同じである。第3実施形態による決済システムで用いられる仮想貨幣データも第1実施形態の場合と同様に暗号化されたデータである仮想貨幣暗号化データを含んでいるが、ただし、後述するように、かかる仮想貨幣暗号化データに対して行われている暗号化の処理は、第1実施形態の場合と異なり復号化を行えるようなものである必要はない。例えば、図12(A)に示されたデータに対して行われる、仮想貨幣暗号化データを得るための暗号化の処理は、第2実施形態の場合と同様に、ハッシュ値をとる等の変換とすることができる。
 第3実施形態と第1実施形態とで異なるのは、決済装置200の構成、及びそこで実行される処理である。とはいえ、第3実施形態の決済装置200の構成、及びそこで実行される処理の大半は、第1実施形態の場合と同じである。
 第3実施形態の決済装置200でも、第1実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部220が生成される。図17に示したように、第3実施形態における制御部200内に生成される機能ブロックは第1実施形態の場合と略同じであり、同一の機能ブロックが担う機能は、仮想貨幣データ生成部223の一部の機能を除けば、第1実施形態の場合と同じである。また、第3実施形態における制御部200内に生成される機能ブロックには、第1実施形態にあった復号化部225が存在せず、その代わりに第1実施形態には無かった第3認証部229、及び平文データ記録部229Aが存在する。 
 第3実施形態の決済装置200における仮想貨幣データ生成部223、第3認証部229、及び平文データ記録部229Aの機能、及び前2者が実行する処理について説明する。
 まず、仮想貨幣データ生成部223についてである。第3実施形態の仮想貨幣データ生成部223の機能、及びそこで行われる処理については、第1実施形態と殆ど変わらない。仮想貨幣データ生成部223は、第1実施形態の場合と同様に暗号化部223Aと結合部223Bとを有している。結合部223Bの機能、そこで行われる処理は第1実施形態の場合と同一である。
 第1実施形態では、仮想貨幣データ生成部223は、まず、図12(A)に示された如きデータ構造を持つ、発行者情報、金額情報、及び決済条件情報を有するデータを生成する。第1実施形態でもそうであったように、かかるデータは、暗号化部223Aで暗号化され仮想貨幣暗号化データに変わる。第3実施形態の暗号化部223Aの機能、及びそこで行われる処理は、基本的に第1実施形態の場合と同じであるが、第3実施形態の暗号化部223Aが行う暗号化の処理は、後に復号化が可能なものであっても良いし、復号化が可能なものでなくても良い。第1実施形態の場合と同様に、仮想貨幣暗号化データは、結合部223Bに送られ、結合部223Bによってそれに対して平文の第1実施形態で説明したデータが付加されることによって、仮想貨幣データとなる。第1実施形態の仮想貨幣データ生成部223は、仮想貨幣データを決済装置200からユーザ端末100に送る処理を決済装置200が行うために、主制御部222に対して仮想貨幣データを送ったが、第3実施形態でも同様である。
 他方、第3実施形態では、図12(A)に示したデータは、仮想貨幣データ生成部223から平文データ記録部229Aに送られ、平文データ記録部229Aに記録される。かかる処理は繰り返し行われるので、通常、平文データ記録部229Aには、互いに紐付けられた状態の発行者情報、金額情報、及び決済条件情報のデータが、多数記録された状態となる。
 主制御部222に送られた仮想貨幣データは、第1実施形態の場合と同様に、決済装置200からユーザ端末100に送られる。
 かかる仮想貨幣データの使用方法は第1実施形態の場合と同様であり、ユーザ端末100から決済端末300に引渡され、決済端末300から、決済端末IDとともに決済装置200に送られる。
 仮想貨幣データは、第1実施形態の場合と同様に、決済端末IDとともに主制御部222から第3認証部229へと送られる。
 第3認証部229は、受取った仮想貨幣データが真正なものであるか、もっと言えば、受取った仮想貨幣データに含まれた仮想貨幣暗号化データが真正なものかということについての確認を行う機能を有している。この点についての確認は、第1実施形態では事実上、復号化部225で仮想貨幣暗号化データが復号化できたという事実により行われていたが、第3認証部229は、それとは異なる方法でその確認を行う。
 主制御部222から仮想貨幣データを受取った第3認証部229は、まず、その仮想貨幣データの中に平文で含まれている記番号情報を抽出する。そして、その記番号情報を含む発行者情報を平文データ記録部229Aに記録されたデータの中から検索し、そのような発行者情報を発見したら、その発行者情報と、それに紐付けられた金額情報及び決済条件情報とを平文データ記録部229Aから読み出すようになっている。
 主制御部222から受取った仮想貨幣データに含まれていた記番号情報を平文データ記録部229Aに記録されたデータの中から発見できなかった場合には、主制御部222は発行者情報等の読み出しを行わない。
 発行者情報等を読み出した場合には、第3認証部229は、平文データ記録部229Aから読み出した平文の発行者情報、金額情報、及び決済条件情報を、仮想貨幣データ生成部223に送り、それを暗号化するように暗号化部223Aに依頼する。暗号化部223Aは、それを暗号化して、仮想貨幣暗号化データに変える。仮想貨幣データ生成部223で新たに作られた仮想貨幣暗号化データは、仮想貨幣データ生成部223から第3認証部229に送られる。
 そして、第3認証部229は、主制御部222から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、仮想貨幣データ生成部223で第3認証部229の求めにより新たに生成された仮想貨幣暗号化データとを比較する。第3認証部229は、その結果、両者が一致した場合には、主制御部222から受取った仮想貨幣暗号化データが真正なものであると判定し、両者が一致しなかった場合には、主制御部222から受取った仮想貨幣暗号化データが真正なものでないと判定する。なお、主制御部222から受取った仮想貨幣データに含まれていた記番号情報を平文データ記録部229Aに記録されたデータの中から発見できなかった場合にも、第3認証部229は、主制御部222から受取った仮想貨幣暗号化データが真正なものでないと判定する。第1実施形態の場合と同様に、第3実施形態でも、暗号化部223Aが行う暗号化は、常に同じ手法で実行されるものとする。とすれば、主制御部222から送られてきた仮想貨幣暗号化データに対して悪意の第三者による改竄等がなければ、主制御部222から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、仮想貨幣データ生成部223で第3認証部229の求めにより新たに生成された仮想貨幣暗号化データとは一致するはずであるから、それら2つの仮想貨幣暗号化データが一致するか否かによって、主制御部222から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データの真正性の判定を行えるのである。なお、かかる判定を行う場合、平文データ記録部229Aに記録されていた互いに紐付けられた発行者情報、金額情報、及び決済条件情報のうち、第3認証部229から読み出されたものは、例えばそれに対応する仮想貨幣データによる決済端末300の管理者等への支払いが終了した後に、平文データ記録部229Aから消去するのが望ましい。
 第3認証部229は、主制御部222から受取った仮想貨幣データが真正なものであると判定した場合には、第3認証部229は、平文データ記録部229Aから既に読み出していた互いに紐付けられた発行者情報、金額情報、及び決済条件情報を持っている状態となる。これら発行者情報、金額情報、及び決済条件情報は、第3認証部229が主制御部222から受取った仮想貨幣データに含まれる仮想貨幣暗号化データを暗号化する際にその元となったデータである。つまり、第3認証部229が、発行者情報、金額情報、及び決済条件を持ったこの状態は、第1実施形態において復号化部225が主制御部222から受取った仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化した状態と同じである。
 つまり、第2実施形態の場合と同様、以後の処理はすべて第1実施形態と同じとすることができ、第3実施形態ではそうしている。第1実施形態の場合と同様、第3実施形態では、第3認証部229は、いずれも平文である発行者情報、金額情報、及び決済条件情報を、決済端末IDのデータとともに決済判定部226に送る。他方、第1実施形態では、仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部225からその旨の情報が決済判定部226に送られたが、第3実施形態では、第3認証部229に主制御部222から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが真正なものでないと判定された場合には、第1実施形態における復号化を行えなかった旨の情報と同様の意味を持つ、主制御部222から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが真正なものでないと判定されたという旨の情報が決済判定部226に送られることになる。
 以後の説明は省略する。
 なお、第3実施形態では、ユーザ端末100に提供される仮想貨幣データに含まれる仮想貨幣暗号化データの元となった発行者情報、金額情報、及び決済条件情報と同一の発行者情報、金額情報、及び決済条件情報を再度暗号化し、その再度の暗号化によって得られた仮想貨幣暗号化データが、ユーザ端末100に提供される仮想貨幣データに含まれる仮想貨幣暗号化データと一致するか否かによって、ユーザ端末100に提供される仮想貨幣データに含まれる仮想貨幣暗号化データの真正性を判定するものとなっていた。
 それを可能とするため、決済端末300の平文データ記録部229Aに多数記録されている互いに紐付けられた発行者情報、金額情報、及び決済条件情報の中から、真正性の判断の対象となっている、決済端末300から送られてきた仮想貨幣データに含まれている仮想貨幣暗号化データを決定できるようになっている必要がある。上述の例では、記番号情報をクリエとすることによってそれを可能としているが、必ずしも記番号情報によってそれを実現する必要はない。発行者情報、金額情報、及び決済条件情報の組、或いはそれらを暗号化して得られるものであり、仮想貨幣データに含めてユーザ端末100に提供される仮想貨幣暗号化データと一対一対応する識別情報を各仮想貨幣データに含めるとともに、その識別情報を平文データ記録部229Aに、互いに紐付けられた発行者情報、金額情報、及び決済条件情報と紐付けた状態で記録しておくことで、かかる識別情報を検索のクリエとして利用することができる。
<変形例2>
 変形例2の決済システムは、第3実施形態の決済システムと殆ど同一である。そして、変形例2の決済システムと、第3実施形態の決済システムとの関係は、変形例1の決済システムと、第1実施形態の決済システムとの関係に同じである。
 第1実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたって暗号化部223Aが用いる暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、変形例1では、仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である。
 同様に、第3実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたって暗号化部223Aが用いる暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、変形例2では、仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である。
 そうすると、変形例2における暗号化部223Aは、変形例1の場合と同様に、追って述べる、平文データ記録部229Aに記録されていた発行者情報、金額情報、及び条件情報の再度の暗号化を行う場合に、第3認証部229が真正性の判定をしようとしている仮想貨幣暗号化データが複数の暗号化の手法のうちどれを用いて暗号化されたのかを知ることができないと、復号化の処理を行うことができない。これを可能とするため、変形例1の決済装置200の場合と同様の鍵生成部227を、変形例2の決済装置200も備えている(図18)。
 変形例2では、暗号化部223Aは、ユーザ端末100に提供される仮想貨幣データに含まれる仮想貨幣暗号化データを、図12(A)に示される、発行者情報、金額情報、及び決済条件情報からなるデータを暗号化して作る場合においても、決済端末300から決済装置200に送られてきた仮想貨幣データに含まれる仮想貨幣暗号化データの真正性を第3認証部229が判定するために使用する仮想貨幣暗号化データを、第3認証部229から提供された発行者情報、金額情報、及び決済条件情報からなるデータを暗号化して作る場合においても、暗号化のために必要な鍵の提供を、鍵生成部227から受けるようになっている。
 両者の場合に使用される鍵を鍵生成部227が生成できるようにするためには、例えば、変形例1の場合と同様に記番号情報を暗号化条件情報として利用すれば良い。或いは、変形例1で説明したように、記番号情報以外の情報を、暗号化条件情報として用いることも可能である。暗号化条件情報が平文でも暗号化されていても良いことも、変形例1で述べた通りである。

Claims (23)

  1.  所定の装置からネットワークを介して送られたそれを受けった場合であり、且つ所定の条件が充足された場合に決済を認める決済装置と組合せて用いられる、金銭的価値を有する仮想貨幣のデータである仮想貨幣データのデータ構造であって、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、
     金銭的価値を特定するための情報である金額情報、
     仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、
     を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、
     仮想貨幣データのデータ構造。
  2.  前記決済条件情報は、
     支払いを受けられる者を特定するための情報である受領者情報を含む、
     請求項1記載の仮想貨幣データのデータ構造。
  3.  前記決済条件情報は、
     支払いを認められる時期を特定するための情報である時期情報を含む、
     請求項1記載の仮想貨幣データのデータ構造。
  4.  前記決済条件情報は、
     前記金額情報によって特定される金額を変化させる情報である、
     請求項1記載の仮想貨幣データのデータ構造。
  5.  前記発行者情報は、
     前記仮想貨幣データの発行者を特定する情報である発行人情報に加え、
     前記仮想貨幣データの真正さを保証する権限を持つ者が発行した前記仮想貨幣データの真正さを保証する情報である認証用情報、
     前記仮想貨幣データを他の前記仮想貨幣データから区別するための各仮想貨幣データにユニークな情報である記番号情報、
     前記仮想貨幣データの発行されたタイミングを特定する情報であるタイミング情報、
     の少なくとも一つを更に含んでいる、
     請求項1記載の仮想貨幣データのデータ構造。
  6.  前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化したときの条件を特定するための情報である暗号化条件情報が、更に付されている、
     請求項1記載の仮想貨幣データのデータ構造。
  7.  前記発行者情報、前記金額情報、及び前記決済条件情報の少なくとも一部が、暗号化されていない状態で更に付されている、
     請求項1記載の仮想貨幣データのデータ構造。
  8.  請求項1から7のいずれかに記載の仮想貨幣データのデータ構造を有する仮想貨幣データを記録している、
     記録媒体。
  9.  請求項8記載の前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの受信を行う端末装置受信手段を備えており、
     前記仮想貨幣データは、前記端末装置受信手段により受信されてから前記記録媒体に記録されたものである、
     受信装置。
  10.  請求項8記載の前記記録媒体を内蔵しているとともに、前記ネットワークを介してデータの送信を行う第1送信手段を備えており、
     前記仮想貨幣データは、前記送信手段により前記ネットワークを介して前記決済装置に送信されるようになっている、
     送信装置。
  11.  仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
     前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、
     前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
     前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、
     を備えている決済装置。
  12.  仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
     前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、
     前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第2認証手段と、
     前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
     前記第2認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
     を備えている決済装置。
  13.  仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
     1つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、
     前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、
     前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第3認証手段と、
     前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
     前記第3認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
     を備えている決済装置。
  14.  ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法であって、
     前記コンピュータが実行する、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、
     前記決済装置受信過程で受取った前記仮想貨幣暗号化データを復号化する復号化過程と、
     前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、
     前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化過程で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済過程と、
     を含んでいる決済方法。
  15.  ネットワークを介してデータの受信を行うことができ、記録媒体を有し、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法であって、
     前記コンピュータが実行する、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、
     前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを前記記録媒体に記録するコピーデータ記録過程と、
     前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記記録媒体に記録された前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第2認証過程と、
     前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定過程と、
     前記第2認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、
     を含んでいる決済方法。
  16.  ネットワークを介してデータの受信を行うことができ、記録媒体を有し、且つデータ処理を行うコンピュータを有している、決済装置で実行される決済方法であって、
     前記コンピュータが実行する、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信過程と、
     1つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で前記記録媒体に記録する平文情報記録過程と、
     前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化過程と、
     前記決済装置受信過程で受取った前記仮想貨幣暗号化データと、前記暗号化過程で前記平文情報記録過程で記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第3認証過程と、
     前記平文情報記録過程で記録された前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
     前記第3認証過程で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定過程で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済過程と、
     を含んでいる決済方法。
  17.  ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムであって、
     前記コンピュータを、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
     前記決済装置受信手段で受取った前記仮想貨幣暗号化データを復号化する復号化手段と、
     前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
     前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記復号化手段で前記仮想貨幣暗号化データを復号化することにより得られた前記金額情報で特定される金額の決済を認める決済手段と、
     として機能させるためのコンピュータプログラム。
  18.  ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムであって、
     前記コンピュータを、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
     前記仮想貨幣暗号化データと同じデータであるコピー仮想貨幣暗号化データを記録しているコピーデータ記録手段と、
     前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記コピー仮想貨幣暗号化データとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第2認証手段と、
     前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
     前記第2認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
     として機能させるためのコンピュータプログラム。
  19.  ネットワークを介してデータの受信を行うことができ、且つデータ処理を行うコンピュータを、決済装置として機能させるためのコンピュータプログラムであって、
     前記コンピュータを、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化したデータである仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを、決済を求める所定の装置からネットワークを介して受取る決済装置受信手段と、
     1つの仮想貨幣暗号化データの中に暗号化した状態で含まれる前記発行者情報、前記金額情報、及び前記決済条件情報を、互いに紐付けた状態で記録している平文情報記録手段と、
     前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を、前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化して前記仮想貨幣暗号化データとしたときに用いられた前記所定の暗号化の手法と同じ暗号化の手法により暗号化する、暗号化手段と、
     前記決済装置受信手段で受取った前記仮想貨幣暗号化データと、前記暗号化手段で前記平文情報記録手段に記録された前記発行者情報、前記金額情報、及び前記決済条件情報を暗号化することによって得られたデータとを比較することで両者が一致するか否かを判定し、両者が一致する場合には、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定する第3認証手段と、
     前記平文情報記録手段に記録されていた前記決済条件情報により特定される条件が充足されているかを判定する決済条件判定手段と、
     前記第3認証手段で、前記所定の装置から送られてきた前記仮想貨幣データが真正なものであると判定され、且つ前記決済条件判定手段で、前記決済条件情報により特定される条件が充足されていると判定された場合に、前記金額情報で特定される金額の決済を認める決済手段と、
     として機能させるためのコンピュータプログラム。
  20.  仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、
     を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、
     仮想貨幣データ生成装置。
  21.  仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、
     を備えていることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっており、
     請求項11~請求項13のいずれかに記載の決済装置と一体となっている、
     仮想貨幣データ生成装置。
  22.  コンピュータを含み、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置で実行される方法であって、
     前記コンピュータに、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成させる過程、
     を含んでいることにより、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成する、
     方法。
  23.  コンピュータを、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成することができるようになっている、仮想貨幣データ生成装置として機能させるためのコンピュータプログラムであって、
     前記コンピュータを、
     仮想貨幣データの発行者の情報を少なくとも含む発行者情報、金銭的価値を特定するための情報である金額情報、仮想貨幣による支払いを認めるための条件についての情報である決済条件情報、を所定の暗号化の手法により暗号化することにより、前記発行者情報、前記金額情報、前記決済条件情報を暗号化したデータである仮想貨幣暗号化データを生成する貨幣生成暗号化手段、
     として機能させることにより、
     前記コンピュータに、前記仮想貨幣暗号化データを含む、金銭的価値を有する仮想貨幣のデータである仮想貨幣データを生成させることができるようになっている、
     コンピュータプログラム。
PCT/JP2018/019030 2017-05-17 2018-05-17 データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム WO2018212262A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/613,229 US12002019B2 (en) 2017-05-17 2018-05-17 Data structure, transmission device, receiving device, settlement device, method, and computer program
EP18803225.4A EP3627420A4 (en) 2017-05-17 2018-05-17 DATA STRUCTURE, TRANSMISSION DEVICE, RECEPTION DEVICE, PAYMENT DEVICE, PROCESS AND COMPUTER PROGRAM
PH12019502811A PH12019502811A1 (en) 2017-05-17 2019-12-12 Data structure, transmission device, receiving device, settlement device, method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-098099 2017-05-17
JP2017098099A JP7174977B2 (ja) 2017-05-17 2017-05-17 決済装置、方法、コンピュータプログラム

Publications (1)

Publication Number Publication Date
WO2018212262A1 true WO2018212262A1 (ja) 2018-11-22

Family

ID=64274459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/019030 WO2018212262A1 (ja) 2017-05-17 2018-05-17 データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム

Country Status (4)

Country Link
EP (1) EP3627420A4 (ja)
JP (1) JP7174977B2 (ja)
PH (1) PH12019502811A1 (ja)
WO (1) WO2018212262A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123771A (ja) * 2000-10-17 2002-04-26 Jcb:Kk Icカード、および該icカードへの電子マネーチャージ方法
JP2003335085A (ja) * 2002-05-22 2003-11-25 National Printing Bureau 多数の微小記号文字から成る微小記号文字群が印刷された証券印刷物
JP2010186417A (ja) * 2009-02-13 2010-08-26 Toshiba Tec Corp 商品販売データ処理装置およびその制御プログラム
JP2015225370A (ja) * 2014-05-26 2015-12-14 株式会社芳和システムデザイン 認証システム、認証方法、プログラム
JP2015228167A (ja) * 2014-06-02 2015-12-17 株式会社野村総合研究所 クーポン管理システムおよびクーポン管理プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954808A (ja) * 1995-08-18 1997-02-25 Fujitsu Ltd オンライン決済システム、電子小切手の発行システム及び検査システム
JP3388566B2 (ja) * 1996-08-30 2003-03-24 日本電信電話株式会社 利用許可証付き電子小切手方法および装置
JPH1166190A (ja) * 1997-06-10 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> 電子的交換券を用いて金銭的価値を有する電子的情報を得るための電子的交換券方法及びこれに用いられる装置と記録媒体
JP2002183633A (ja) * 2000-12-13 2002-06-28 Sony Corp 情報記録媒体、情報処理装置および情報処理方法、プログラム記録媒体、並びに情報処理システム
JP2007066136A (ja) * 2005-09-01 2007-03-15 Nec Fielding Ltd ネットワーク決済システム、ネットワーク決済方法、及びネットワーク決済プログラム
US20130268438A1 (en) * 2011-09-29 2013-10-10 Monetaris, Llc Virtual Currency Payment Network
US11055710B2 (en) * 2013-05-02 2021-07-06 Visa International Service Association Systems and methods for verifying and processing transactions using virtual currency
US9704143B2 (en) * 2014-05-16 2017-07-11 Goldman Sachs & Co. LLC Cryptographic currency for securities settlement
US10504178B2 (en) * 2015-11-04 2019-12-10 Chicago Mercantile Exchange Inc. System for physically delivering virtual currencies

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123771A (ja) * 2000-10-17 2002-04-26 Jcb:Kk Icカード、および該icカードへの電子マネーチャージ方法
JP2003335085A (ja) * 2002-05-22 2003-11-25 National Printing Bureau 多数の微小記号文字から成る微小記号文字群が印刷された証券印刷物
JP2010186417A (ja) * 2009-02-13 2010-08-26 Toshiba Tec Corp 商品販売データ処理装置およびその制御プログラム
JP2015225370A (ja) * 2014-05-26 2015-12-14 株式会社芳和システムデザイン 認証システム、認証方法、プログラム
JP2015228167A (ja) * 2014-06-02 2015-12-17 株式会社野村総合研究所 クーポン管理システムおよびクーポン管理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3627420A4 *

Also Published As

Publication number Publication date
EP3627420A1 (en) 2020-03-25
US20200279233A1 (en) 2020-09-03
JP7174977B2 (ja) 2022-11-18
PH12019502811A1 (en) 2020-10-19
JP2018195059A (ja) 2018-12-06
EP3627420A4 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
CN105453483B (zh) 用于基于图像的密钥导出的方法和装置
US20160125403A1 (en) Offline virtual currency transaction
US20170324711A1 (en) Method for establishing, securing and transferring computer readable information using peer-to-peer public and private key cryptography
US20140136418A1 (en) System and method for application security
JP7367939B2 (ja) データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム
CN101388095A (zh) 用于执行委托交易的方法和装置
KR20170096940A (ko) 암호화된 전자 게임 티켓
AU2012240481B2 (en) Method and system to confirm ownership of digital goods
CN101335754A (zh) 一种利用远程服务器进行信息验证的方法
US20200311717A1 (en) Data structure, transmission device, reception device, settlement device, method, and computer program
Rosenbaum Grokking bitcoin
Shah et al. Understanding the blockchain technology beyond bitcoin
WO2018212262A1 (ja) データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム
Ashiqul Islam et al. An Online E-Cash Scheme with Digital Signature Authentication Cryptosystem
US12002019B2 (en) Data structure, transmission device, receiving device, settlement device, method, and computer program
JP7005000B2 (ja) 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム
JP3959240B2 (ja) 情報処理装置、データ送受信システム、データ送受信方法およびデータ送受信プログラム
CN201690605U (zh) 一种基于智能移动终端的安全系统
JP2018069710A (ja) 金券
WO2018079708A2 (ja) 送受信システム、送信装置、受信装置、方法、コンピュータプログラム
KR20240013487A (ko) 전자상품권을 이용한 상품 거래 시스템
WO2019222313A1 (en) System for payment of a centrally minted digital coin
KR20230111034A (ko) 검증 가능한 디지털메시지 예약전송방법 및 시스템
CN115374449A (zh) 一种基于区块链技术的知识产权认证方法
JP2020043465A (ja) 仮想通貨を用いた仮想通貨取引システムに用いられる、コンピュータを機能させるプログラムが記録させたコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18803225

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018803225

Country of ref document: EP

Effective date: 20191217