FIELD OF THE DISCLOSURE

The present disclosure relates to a method for issuing at least one specific electronic voucher by at least one specific issuer; and more particularly, to the method of determining validities of issuing data and registering a function value in a public blockchain network, and the server using the same.

BACKGROUND OF THE DISCLOSURE

A voucher, including a coupon or a gift certificate, is a certificate or financial instrument where the number or monetary amount for goods or services is written. It is issued for the purpose of publicity and promotion of products or services, and generally refers to a discount ticket that can be redeemed for a financial discount or rebate when a person who previously bought a certain product purchases the certain product again, or refers to a coupon that can be exchanged with a prize when a person buys one or more products worth more than a certain amount.

Recently, various vouchers for plays, movies and books in addition to vouchers for purchases at a restaurant or at a department store have seen common use, and electronic coupons are also common as the Internet becomes popular.

However, electronic vouchers such as mobile coupons, gift coupons, or discount coupons mostly adopt a barcode or a registration number which are transferred as images in SMS messages, and as a result, data of such a type may be vulnerable to forgery and illegal copying. Also, there is a problem of duplicate issuance of a same coupon caused by a system malfunction, rendering the coupon invalid.

SUMMARY OF THE DISCLOSURE

It is an object of the present disclosure to solve all the aforementioned problems.

It is another object of the present disclosure to provide a method of registering an electronic voucher in a blockchain network to prevent forgery and illegal copying, and a server using the same.

It is still another object of the present disclosure to provide a method of securing information on activities including usage of the electronic voucher, and preventing forgery and illegal copying thereof, by using specific functions and a cryptography, and the server using the same.

It is still yet another object of the present disclosure to provide a method of preventing duplicate issuance of a same electronic voucher, by registering the electronic voucher in the blockchain network, and the server using the same.

In accordance with one aspect of the present disclosure, there is provided a method for issuing at least one specific electronic voucher by at least one specific issuer, including steps of: (a) a server, if (i) specific issuing data, (ii) a public key of the specific issuer, and (iii) a signature value of the specific issuer generated by signing a voucher function value of the specific issuing data or a value including the voucher function value with a private key of the specific issuer, are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific issuing data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer; and (b) the server, if each of the validities is confirmed, performing or supporting another device to perform processes of (b-1) registering in a public blockchain network a first function value of (i) the specific issuing data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and (b-2) acquiring a first transaction ID representing a location of the first function value on the public blockchain network.

As one example, at the step of (b), the server performs or supports another device to perform processes of registering in a private blockchain network a voucher-issuing transaction including (i) the specific issuing data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and providing a PrivTxid representing a location of the voucher-issuing transaction on the private blockchain network to the specific issuer.

As one example, at the step of (a), the server performs or supports another device to perform a process of comparing (i) a function value generated by applying a specific function to the specific issuing data, and (ii) a value generated by applying the public key of the specific issuer to the signature value of the specific issuer, to thereby determine whether the specific issuing data is valid.

As one example, the specific issuing data includes at least one of (i) information on a type of the specific electronic voucher, (ii) a public key of a specific user who is a buyer of the specific electronic voucher, (iii) issuance value information of the specific electronic voucher, (iv) unique ID information of the specific issuer, and (v) information on an expiration date of the specific electronic voucher.

As one example, the unique ID information includes a function value of the public key of the specific issuer or a value including the function value of the public key of the specific issuer.

As one example, at the step of (a), the server determines or supports another device to determine whether the signature value of the specific issuer is valid, by using the public key of the specific issuer registered by the specific issuer.

As one example, the method, before the step of (a), further comprises steps of: (a01) the server, if a request for registration of the specific issuer with the public key of the specific issuer is acquired, performing or supporting another device to perform processes of determining whether the specific issuer is valid, and transmitting a random nonce to the specific issuer who is determined as valid; and (a02) the server, if a signature value of the random nonce generated by signing the random nonce with the private key of the specific issuer is acquired, performing or supporting another device to perform processes of (i) verifying whether the signature value of the random nonce is legitimately signed, by using the public key of the specific issuer, (ii) registering a second function value of (ii-1) the random nonce, (ii-2) the signature value of the random nonce, and (ii-3) the public key of the specific issuer, in the public blockchain network, and (iii) acquiring a second transaction ID representing a location of the second function value on the public blockchain network.

As one example, at the step of (a02), the server performs or supports another device to perform processes of registering in a private blockchain network an issuer-registering transaction including (i) the random nonce, (ii) the signature value of the random nonce, and (iii) the public key of the specific issuer, and providing a PrivTxid representing a location of the issuer-registering transaction on the private blockchain network to the specific issuer.

As one example, at the step of (a01), the server determines or supports another device to determine whether the specific issuer is valid, by using a certificate based on a public key infrastructure or by using information on an identification of the specific issuer.

In accordance with another aspect of the present disclosure, there is provided a method for using at least one specific electronic voucher by at least one specific user, including steps of: (a) a server, if (i) specific usage data including a PrivTxid corresponding to the specific electronic voucher with partly unused amount beforehand, (ii) a public key of the specific user, and (iii) a signature value of the specific user generated by signing a voucher function value of the specific usage data or a value including the voucher function value with a private key of the specific user, are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific usage data, (ii) the public key of the specific user, and (iii) the signature value of the specific user; and (b) the server, if each of the validities is confirmed, performing or supporting another device to perform processes of (b-1) registering in a public blockchain network a first function value of (i) the specific usage data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and (b-2) acquiring a first transaction ID representing a location of the first function value on the public blockchain network.

As one example, at the step of (b), the server performs or supports another device to perform processes of registering in a private blockchain network a voucher-using transaction including (i) the specific usage data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and providing a PrivTxid representing a location of the voucher-using transaction on the private blockchain network to the specific user.

As one example, the specific usage data further includes at least one of (i) information on a type of the specific electronic voucher, (ii) a public key of a specific seller who is a receiver of the specific electronic voucher, (iii) usage value information, to be used currently, among value information on the specific electronic voucher, (iv) a unique ID of a specific issuer who issued the specific electronic voucher, (v) information on an expiration date of the specific electronic voucher, (vi) remaining value information on amount after use of the usage value information, and (vii) a public key of the specific user for confirming the remaining value information.

As one example, the method, before the step of (a), further comprises steps of: (a01) the server, if a request for registration of the specific user by using the public key of the specific user is acquired, performing or supporting another device to perform processes of determining if the specific user is valid, and if the specific user is determined as valid, transmitting a random nonce to the specific user; and (a02) the server, if a signature value of the random nonce generated by signing the random nonce with the private key of the specific user is acquired, performing or supporting another device to perform processes of (i) verifying whether the signature value of the random nonce is legitimately signed, by using the public key of the specific user, (ii) registering a second function value of (ii-1) the random nonce, (ii-2) the signature value of the random nonce, and (ii-3) the public key of the specific user, in the public blockchain network, and (iii) acquiring a second transaction ID representing location information of the second function value on the public blockchain network.

As one example, at the step of (a02), the server performs or supports another device to perform processes of registering in a private blockchain network a user-registering transaction including (i) the random nonce, (ii) the signature value of the random nonce, and (iii) the public key of the specific user, and providing a PrivTxid representing location information of the user-registering transaction on the private blockchain network to the specific user.

In accordance with still another aspect of the present disclosure, there is provided a method for refunding at least one specific electronic voucher by at least one specific user, including steps of: (a) a server, if (i) specific refunding data including a PrivTxid corresponding to the specific electronic voucher expired with partly unused amount beforehand, (ii) a public key of the specific user, and (iii) a signature value of the specific user generated by signing a voucher function value of the specific refunding data or a value including the voucher function value with a private key of the specific user are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific refunding data, (ii) the public key of the specific user, and (iii) the signature value of the specific user; and (b) the server, if each of the validities is confirmed, performing or supporting another device to perform processes of (b-1) registering in a public blockchain network a refund function value of (i) the specific refunding data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and (b-2) acquiring a transaction ID representing location information of the refund function value registered at the step of (b-1) on the public blockchain network.

As one example, at the step of (b), the server performs or supports another device to perform processes of registering in a private blockchain network a voucher-refunding transaction including (i) the specific refunding data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and providing a PrivTxid representing location information of the voucher-refunding transaction on the private blockchain network to the specific user.

As one example, the specific refunding data includes at least one of (i) information on a type of the specific electronic voucher, (ii) a public key of a specific issuer of the specific electronic voucher, (iii) refund value information of the specific electronic voucher, (iv) unique ID information of the specific issuer, and (v) information on an expiration date of the specific electronic voucher.

In accordance with still yet another aspect of the present disclosure, there is provided a method for settling one or more specific electronic vouchers by at least one specific seller, including steps of: (a) a server, if (i) specific settling data including (i-1) one or more first PrivTxids corresponding to the specific electronic vouchers with each of partly unused amounts at a time of creating a voucher-settling transaction and (i-2) the number of said one or more first PrivTxids in the voucher-settling transaction and, (ii) a public key of the specific seller, and (iii) a signature value of the specific seller generated by signing a voucher function value of the specific settling data or a value including the voucher function value with a private key of the specific seller, are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific settling data, (ii) the public key of the specific seller, and (iii) the signature value of the specific seller; and (b) the server, if each of the validities is confirmed, performing or supporting another device to perform processes of (b-1) registering in a public blockchain network a first function value of (i) the specific settling data, (ii) the public key of the specific seller, and (iii) the signature value of the specific seller, and (b-2) acquiring a first transaction ID representing location information of the first function value on the public blockchain network.

As one example, at the step of (b), the server performs or supports another device to perform processes of registering in a private blockchain network the voucher-settling transaction including (i) the specific settling data, (ii) the public key of the specific seller, and (iii) the signature value of the specific seller, and providing a PrivTxid representing location information of the voucher-settling transaction on the private blockchain network to the specific seller.

As one example, the specific settling data further includes at least one of (i) information on a type of the specific electronic vouchers, (ii) at least one public key of at least one specific issuer who is an issuer of the specific electronic vouchers, (iii) settling value information of the specific electronic vouchers, and (iv) unique ID information of the specific issuer.

As one example, the method, before the step of (a), further comprises steps of: (a01) the server, if a request for registration of the specific seller using the public key thereof is acquired and if the specific seller is determined as valid, transmitting or supporting another device to transmit a random nonce to the specific seller; and (a02) the server, if a signature value of the random nonce generated by signing the random nonce with the private key of the specific seller is acquired, performing or supporting another device to perform processes of (i) verifying whether the signature value of the random nonce is legitimately signed, by using the public key of the specific seller, (ii) registering a second function value of (ii-1) the random nonce, (ii-2) the signature value of the random nonce, and (ii-3) the public key of the specific seller, in the public blockchain network, and (iii) acquiring a second transaction ID representing location information of the second function value on the public blockchain network.

As one example, at the step of (a02), the server performs or supports another device to perform processes of registering in a private blockchain network a seller-registering transaction including (i) the random nonce, (ii) the signature value of the random nonce, and (iii) the public key of the specific seller, and providing a second PrivTxid representing location information of the seller-registering transaction on the private blockchain network to the specific seller.

In accordance with still yet another aspect of the present disclosure, there is provided a method for revocating at least one specific electronic voucher by at least one specific issuer, including steps of: (a) a server, if (i) specific revocating data including a PrivTxid corresponding to the specific electronic voucher expired with partly unused amount beforehand, (ii) a public key of the specific issuer, and (iii) a signature value of the specific issuer generated by signing a voucher function value of the specific revocating data or a value including the voucher function value with a private key of the specific issuer are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific revocating data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer; and (b) the server, if each of the validities is confirmed, performing or supporting another device to perform processes of (b-1) registering in a public blockchain network a revocation function value of (i) the specific revocating data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and (b-2) acquiring a transaction ID representing location information of the revocation function value on the public blockchain network.

As one example, at the step of (b), the server performs or supports another device to perform processes of registering in a private blockchain network a voucher-revocating transaction including (i) the specific revocating data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and providing a PrivTxid representing location information of the voucher-revocating transaction on the private blockchain network to the specific issuer.

As one example, the specific revocating data further includes at least one of (i) information on a type of the specific electronic voucher, (ii) the public key of the specific issuer, (iii) value information, to be revocated, of the specific electronic voucher, and (iv) unique ID information of the specific issuer.

In accordance with still yet another aspect of the present disclosure, there is provided a server for issuing at least one specific electronic voucher by at least one specific issuer, including: at least one memory that stores instructions; and at least one processor configured to execute the instructions to: perform processes of (I) if (i) specific issuing data, (ii) a public key of the specific issuer, and (iii) a signature value of the specific issuer generated by signing a voucher function value of the specific issuing data or a value including the voucher function value with a private key of the specific issuer, are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific issuing data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and (II) if each of the validities is confirmed, performing or supporting another device to perform processes of (II-1) registering in a public blockchain network a first function value of (i) the specific issuing data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and (II-2) acquiring a first transaction ID representing a location of the first function value on the public blockchain network.

As one example, at the process of (II), the processor performs or supports another device to perform processes of registering in a private blockchain network a voucher-issuing transaction including (i) the specific issuing data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and providing a PrivTxid representing a location of the voucher-issuing transaction on the private blockchain network to the specific issuer.

As one example, before the process of (I), the processor further executes the instructions to perform or support another device to perform processes of: (I01) if a request for registration of the specific issuer with the public key of the specific issuer is acquired, determining whether the specific issuer is valid, and transmitting a random nonce to the specific issuer who is determined as valid, and (I02) if a signature value of the random nonce generated by signing the random nonce with the private key of the specific issuer is acquired, (i) verifying whether the signature value of the random nonce is legitimately signed, by using the public key of the specific issuer, (ii) registering a second function value of (ii-1) the random nonce, (ii-2) the signature value of the random nonce, and (ii-3) the public key of the specific issuer, in the public blockchain network, and (iii) acquiring a second transaction ID representing a location of the second function value on the public blockchain network.

As one example, at the process of (I02), the processor performs or supports another device to perform processes of registering in a private blockchain network an issuer-registering transaction including (i) the random nonce, (ii) the signature value of the random nonce, and (iii) the public key of the specific issuer, and providing a PrivTxid representing a location of the issuer-registering transaction on the private blockchain network to the specific issuer.

In accordance with still yet another aspect of the present disclosure, there is provided a server for using at least one specific electronic voucher by at least one specific user, including: at least one memory that stores instructions; and at least one processor configured to execute the instructions to: perform processes of (I) if (i) specific usage data including a PrivTxid corresponding to the specific electronic voucher with partly unused amount beforehand, (ii) a public key of the specific user, and (iii) a signature value of the specific user generated by signing a voucher function value of the specific usage data or a value including the voucher function value with a private key of the specific user, are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific usage data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and (II) the processor, if each of the validities is confirmed, performing or supporting another device to perform processes of (II-1) registering in a public blockchain network a first function value of (i) the specific usage data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and (II-2) acquiring a first transaction ID representing a location of the first function value on the public blockchain network.

As one example, at the process of (II), the processor performs or supports another device to perform processes of registering in a private blockchain network a voucher-using transaction including (i) the specific usage data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and providing a PrivTxid representing a location of the voucher-using transaction on the private blockchain network to the specific user.

As one example, before the process of (I), the processor further executes the instructions to perform or support another device to perform processes of: (I01) if a request for registration of the specific user by using the public key of the specific user is acquired, determining if the specific user is valid, and if the specific user is determined as valid, transmitting a random nonce to the specific user, and (I02) if a signature value of the random nonce generated by signing the random nonce with the private key of the specific user is acquired, (i) verifying whether the signature value of the random nonce is legitimately signed, by using the public key of the specific user, (ii) registering a second function value of (ii-1) the random nonce, (ii-2) the signature value of the random nonce, and (ii-3) the public key of the specific user, in the public blockchain network, and (iii) acquiring a second transaction ID representing location information of the second function value on the public blockchain network.

As one example, at the process of (I02), the processor performs or supports another device to perform processes of registering in a private blockchain network a user-registering transaction including (i) the random nonce, (ii) the signature value of the random nonce, and (iii) the public key of the specific user, and providing a PrivTxid representing location information of the user-registering transaction on the private blockchain network to the specific user.

In accordance with still yet another aspect of the present disclosure, there is provided a server for refunding at least one specific electronic voucher by at least one specific user including: at least one memory that stores instructions; and at least one processor configured to execute the instructions to: perform processes of (I) if (i) specific refunding data including a PrivTxid corresponding to the specific electronic voucher expired with partly unused amount beforehand, (ii) a public key of the specific user, and (iii) a signature value of the specific user generated by signing a voucher function value of the specific refunding data or a value including the voucher function value with a private key of the specific user are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific refunding data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and (II) if each of the validities is confirmed, performing or supporting another device to perform processes of (II-1) registering in a public blockchain network a refund function value of (i) the specific refunding data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and (II-2) acquiring a transaction ID representing location information of the refund function value registered at the process of (II-1) on the public blockchain network.

As one example, at the process of (II), the processor performs or supports another device to perform processes of registering in a private blockchain network a voucher-refunding transaction including (i) the specific refunding data, (ii) the public key of the specific user, and (iii) the signature value of the specific user, and providing a PrivTxid representing location information of the voucher-refunding transaction on the private blockchain network to the specific user.

In accordance with still yet another aspect of the present disclosure, there is provided a server for settling one or more specific electronic vouchers by at least one specific seller, including: at least one memory that stores instructions; and at least one processor configured to execute the instructions to: perform processes of (I) if (i) specific settling data including (i-1) one or more first PrivTxids corresponding to the specific electronic vouchers with each of partly unused amounts at a time of creating a voucher-settling transaction and (i-2) the number of said one or more first PrivTxids in the voucher-settling transaction and, (ii) a public key of the specific seller, and (iii) a signature value of the specific seller generated by signing a voucher function value of the specific settling data or a value including the voucher function value with a private key of the specific seller, are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific settling data, (ii) the public key of the specific seller, and (iii) the signature value of the specific seller, and (II) if each of the validities is confirmed, performing or supporting another device to perform processes of (II-1) registering in a public blockchain network a first function value of (i) the specific settling data, (ii) the public key of the specific seller, and (iii) the signature value of the specific seller, and (II-2) acquiring a first transaction ID representing location information of the first function value on the public blockchain network.

As one example, at the process of (II), the processor performs or supports another device to perform processes of registering in a private blockchain network the voucher-settling transaction including (i) the specific settling data, (ii) the public key of the specific seller, and (iii) the signature value of the specific seller, and providing a PrivTxid representing location information of the voucher-settling transaction on the private blockchain network to the specific seller.

As one example, before the process of (I), the processor further executes the instructions to perform or support another device to perform processes of: (I01) if a request for registration of the specific seller using the public key thereof is acquired and if the specific seller is determined as valid, transmitting or supporting another device to transmit a random nonce to the specific seller; and (I02) if a signature value of the random nonce generated by signing the random nonce with the private key of the specific seller is acquired, performing or supporting another device to perform processes of (i) verifying whether the signature value of the random nonce is legitimately signed, by using the public key of the specific seller, (ii) registering a second function value of (ii-1) the random nonce, (ii-2) the signature value of the random nonce, and (ii-3) the public key of the specific seller, in the public blockchain network, and (iii) acquiring a second transaction ID representing location information of the second function value on the public blockchain network.

As one example, at the process of (I02), the processor performs or supports another device to perform processes of registering in a private blockchain network a seller-registering transaction including (i) the random nonce, (ii) the signature value of the random nonce, and (iii) the public key of the specific seller, and providing a second PrivTxid representing location information of the seller-registering transaction on the private blockchain network to the specific seller.

In accordance with still yet another aspect of the present disclosure, there is provided a server for revocating at least one specific electronic voucher by at least one specific issuer including: at least one memory that stores instructions; and at least one processor configured to execute the instructions to: perform processes of (I) (i) specific revocating data including a PrivTxid corresponding to the specific electronic voucher expired with partly unused amount beforehand, (ii) a public key of the specific issuer, and (iii) a signature value of the specific issuer generated by signing a voucher function value of the specific revocating data or a value including the voucher function value with a private key of the specific issuer are acquired, performing or supporting another device to perform a process of determining each of validities of (i) the specific revocating data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and (II) if each of the validities is confirmed, performing or supporting another device to perform processes of (II-1) registering in a public blockchain network a revocation function value of (i) the specific revocating data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and (II-2) acquiring a transaction ID representing location information of the revocation function value on the public blockchain network.

As one example, at the process of (II), the processor performs or supports another device to perform processes of registering in a private blockchain network a voucher-revocating transaction including (i) the specific revocating data, (ii) the public key of the specific issuer, and (iii) the signature value of the specific issuer, and providing a PrivTxid representing location information of the voucher-revocating transaction on the private blockchain network to the specific issuer.

Further, in accordance with one example embodiment of the present disclosure, a server for performing methods mentioned above is provided.

In addition, recordable media that are readable by a computer for storing a computer program to execute the method of the present disclosure is further provided.

