WO2018124716A1 - Method for providing integrated point service by using merkle tree structure in utxo-based protocol, and support server using same - Google Patents
Method for providing integrated point service by using merkle tree structure in utxo-based protocol, and support server using same Download PDFInfo
- Publication number
- WO2018124716A1 WO2018124716A1 PCT/KR2017/015520 KR2017015520W WO2018124716A1 WO 2018124716 A1 WO2018124716 A1 WO 2018124716A1 KR 2017015520 W KR2017015520 W KR 2017015520W WO 2018124716 A1 WO2018124716 A1 WO 2018124716A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- point
- hash value
- transaction
- specific
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0226—Incentive systems for frequent usage, e.g. frequent flyer miles programs or point systems
Definitions
- the present invention relates to a method for providing an integrated point service using a Merkle tree structure in a UTXO based protocol, and a server using the same.
- the registration of an individual point distributor and an exchange rate between the individual point and the integrated point It relates to a method of issuing, distributing, using, and refunding integration points and supporting servers using the same.
- the present invention verifies the validity of the transaction with respect to the registration, issuance, distribution, use and refund, and records the transaction in the blockchain database according to the validity, where each transaction is recorded position information It relates to a method of obtaining an ID and a support server using the same.
- points are intangible securities with an amount or quantity to use goods or services, and are distributed for the purpose of facilitating the sale of goods or services or for advertising purposes. It can be generated as a rebate exchanged at a rate or given a certain amount in return for the purchase of goods or services.
- a point may refer to a person who has purchased a certain product at a restaurant, a department store, etc., and may serve as a refund amount for the next purchase.
- the present invention aims to solve all the above-mentioned problems.
- Another object of the present invention is to provide a method and a server for registering a point-related transaction in a blockchain of virtual currency to prevent unauthorized copying or forgery.
- the present invention provides security by allowing all entities participating in the issuance, distribution, and use of points to use cryptographic techniques such as cryptographically valid public key-private key pairs (eg, RSA, ECC), hash functions, etc. This guarantees and makes forgery impossible.
- cryptographic techniques such as cryptographically valid public key-private key pairs (eg, RSA, ECC), hash functions, etc. This guarantees and makes forgery impossible.
- the present invention facilitates the integrated management and individual management of points, and at the same time to prevent problems such as duplicate issuance by recording a transaction about the association and conversion between individual points and integration points in the blockchain of the virtual currency. It is yet another object to provide a method and a server that enable it.
- a method of registering a point distributor and an exchange rate for providing an integrated point service comprising: (a) (i) a point management server managing the integrated point service; A verification condition that a registration transaction TrxA including a public key PubPS or a value processed therefrom and an exchange rate XEA between point A and an integrated point managed by the point distributor is obtained from a point distributor server that is the server of the point distributor, And (ii) if the verification transaction TrxB including the public key CPubA or the processed value of the point distributor server and the exchange rate XEA satisfies at least one of the verification conditions obtained from the point management server, the supporting server, Validate or support at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB.
- Step that helps verify cause the other device to be linked to the server (b) if the at least one of the registration transaction TrxA and the confirmation transaction TrxB is valid, the support server converts the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof into a first blockchain; Writing to a database or supporting the other device to record; And (c) at least one of the neighbors, when the anchoring condition is satisfied, the support server matches the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a specific hash value which is a hash value of the processed transaction.
- Hash Value-The neighbor hash value is a hash value of a particular registered transaction comprising (i) a specific exchange rate XEX between a specific point X and a consolidated point managed by a specific point distributor, (ii) the specific exchange rate A hash value of a specific confirmation transaction including XEX, (iii) a hash value of a specific issuance transaction including the public key CPubX of the specific point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor, (iv) a distributed transaction comprising a public key PubUA of a particular user or a processed value thereof and an integration point UPUA of the specific user; A hash value of (v) a public transaction MPubA of a particular merchant providing the goods or services to the particular user or a processed value thereof, and a hash value of a use transaction comprising the integration point UPUA of the particular user, and (vi) A representative hash value generated by hashing together the
- an integrated point issuing method for providing an integrated point service comprising: (a) an exchange rate XEA between point A and an integrated point managed by a point distributor; In a state in which a first representative hash value generated from a first specific hash value that is a confirmation transaction or a hash value of a processed value thereof, or a processed value of the first representative hash value is recorded in a second blockchain database, If a issuance transaction TrxA including a public key CPubA of the point distributor or a processed value thereof and an issue amount UPCA that is an integration point of the point distributor is obtained from a point management server managing an integration point service, a supporting server determines that the issuing transaction is made.
- an integrated point distribution method for providing an integrated point service comprising: (a) an issuance transaction or a processed value including an issuance amount UPCA, which is an integrated point of a point distributor;
- the public key PubUA or the user's public key in the state in which the first representative hash value generated from the first specific hash value which is the hash value of or the processed value of the first representative hash value is recorded in the second blockchain database.
- the distributed transaction TrxA including the value and the user's integration point UPUA When the distributed transaction TrxA including the value and the user's integration point UPUA is obtained, supporting the server to verify the validity of the distributed transaction TrxA or allow another device linked to the support server to verify the distributed transaction TrxA; (b) if the distributed transaction TrxA is valid, the supporting server records the valid distributed transaction TrxA or a processed value in a first blockchain database or enables the other device to record it; And (c) if the anchoring condition is satisfied, the support server hashes together at least one neighboring hash value that matches the second specific hash value that is a hash value of the valid distributed transaction TrxA or the truncated value.
- a method of using an integration point for providing an integration point service comprising: (a) a hash value of a distributed transaction or a value that comprises the user's integration point UPUA;
- the disclosure of a seller providing goods or services to the user while the first representative hash value generated from the first specific hash value or the processed value of the first representative hash value is recorded in the second blockchain database.
- the support server may verify the validity of the usage transaction TrxA or allow another device linked to the support server to verify it.
- the supporting server records the valid usage transaction TrxA or a processed value in a first blockchain database or enables the other device to record; And (c) if the anchoring condition is met, the support server hashes together at least one neighboring hash value that matches the second specific hash value that is a valid hash value of the valid transaction TrxA or the truncated value.
- obtaining a usage transaction ID which is location information recorded in the 2 blockchain database.
- an integrated point refund method for providing an integrated point service comprising: (a) (i) an issuance transaction comprising an issue amount UPCA, which is an integrated point of a point distributor; ii) generated from a first specific hash value which is a usage transaction comprising the user's integration point UPUA delivered to the seller providing the goods or services to the user, or a hash value of the processing of the issuing transaction or the usage transaction.
- the support server validates the refund transaction TrxA. Verifying sex or supporting another device linked to the support server to verify the sex; (b) if the refund transaction TrxA is valid, the support server records the valid refund transaction TrxA or a processed value in a first blockchain database or causes the other device to record it; And (c) if the anchoring condition is satisfied, the support server hashes together the at least one neighboring hash value that matches the second specific hash value that is a hash value of the valid refund transaction TrxA or the truncated value.
- a support server for registering a point distributor and an exchange rate for providing an integrated point service
- the server comprising: (i) a point which is a server of the point distributor; A registration transaction TrxA including a public key PubPS of the point management server managing the integrated point service or a value thereof and a exchange rate XEA between the point A and the integrated point managed by the point distributor; (ii) a communication unit for obtaining at least one of the public key CPubA of the point distributor server or a processed value thereof and a confirmation transaction TrxB including the exchange rate XEA from the point management server, or for allowing another device to obtain; And (i) a verification condition obtained from the point distributor server that the registration transaction TrxA is a server of the point distributor, and (ii) a verification condition obtained from the point management server.
- a processor for validating at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB or for enabling another device to be linked to the support server wherein the processor includes the registration transaction TrxA and the confirmation transaction. If the at least one of TrxB is valid, at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof, is recorded in the first blockchain database or the other device records the anchoring condition; If is satisfied, the above valid registration track The at least one neighbor hash value matching the at least one of the transaction TrxA and the confirmation transaction TrxB, or a hash value of a processed value thereof, wherein the neighbor hash value is determined by (i) a specific point distributor.
- a hash value of a specific registration transaction comprising a specific exchange rate XEX between a managed specific point X and the integration point
- a hash value of a specific confirmation transaction comprising the specific exchange rate XEX
- the specific point distribution The public key CPubX of the child or a value thereof, and a hash value of a specific issuance transaction including a specific issue amount UPCX which is an integrated point of the specific point distributor,
- the public key PubUA of the specific user or a value thereof and the specific value
- a hash value of a distributed transaction that includes the user's integration point UPUA, (v) a particular edition that provides the goods or services to that particular user
- a support server for performing integration point issuance for providing integration point service, the server exchanging between the point A managed by the point distributor and the integration point.
- the first representative hash value generated from the confirmation transaction including the ratio XEA or the first specific hash value that is the hash value of the processed value or the processed first representative hash value is recorded in the second blockchain database.
- the issuing transaction TrxA including the point distributor's public key CPubA or the processed value thereof and the issue amount UPCA which is the integration point of the point distributor is acquired from the point management server managing the integration point service, or other device A communication unit to assist in obtaining; And a processor which, when the issuing transaction TrxA is obtained, verifies the validity of the issuing transaction TrxA or enables another device interoperating with the support server to verify, wherein the processor is valid if the issuing transaction TrxA is valid.
- a hash value (ii) a specific confirmation transaction comprising the specific exchange rate XEX
- a hash value of a specific issuing transaction including a hash value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key of the specific user
- a hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user
- a hash value of a usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or the processed value thereof, and the integration point UPMA of the specific point distributor or the specific seller
- a support server for performing integration point distribution for providing an integrated point service which server is an issuing transaction comprising an issue amount UPCA, which is an integration point of a point distributor, or
- the user's public key PubUA or the first representative hash value generated from the first specific hash value which is the hash value of the processed value or the processed value of the first representative hash value is recorded in the second blockchain database.
- a communication unit for acquiring a distributed transaction TrxA including the processed value and the user's integration point UPUA or for allowing another device to acquire the distributed transaction TrxA; And a processor which, when the distributed transaction TrxA is obtained, verifies the validity of the distributed transaction TrxA or assists another device to interoperate with the support server, wherein the processor is valid if the distributed transaction TrxA is valid.
- a hash value (ii) a specific confirmation transaction comprising the specific exchange rate XEX
- a hash value of a specific issuing transaction including a hash value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key of the specific user
- a hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user
- a hash value of the usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or the processed value thereof, and the integration point UPMA of the specific point distributor or the specific seller
- a support server for performing the use of the integration point to provide the integration point service
- the server is a distributed transaction including the user's integration point UPUA or a value that processed it
- a first representative hash value generated from a first specific hash value, which is a hash value of, or a value obtained by processing the first representative hash value is recorded in a second blockchain database, and provides goods or services to the user.
- At least one neighboring hash value that matches a particular hash value-the neighboring hash value of (i) a particular registered transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a particular point distributor.
- the public key of the specific user A hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user, (v) a public key MPubA of the particular seller providing the goods or services to the specific user, or a processed value thereof; and
- a support server for performing an integrated point refund for providing an integrated point service comprising: (i) an issue comprising an issue amount UPCA, which is an integrated point of a point distributor; A first specific hash value, which is a hash value of a transaction or (ii) a transaction of use comprising the user's integration point UPUA delivered to the seller providing the goods or services to the user, or the value of processing the issuing transaction or the transaction of use; A public key PubPS of the point management server or a value obtained by processing the first representative hash value or a value obtained by processing the first representative hash value in a second blockchain database, and the point distributor Or acquire a refund transaction TrxA including the seller's integration point UPMA or allow the other device to Support to the communication; And a processor which, when the refund transaction TrxA is obtained, verifies the validity of the refund transaction TrxA or enables another device interworking with the support server to verify, wherein the processor is valid if
- a hash value (ii) a specific confirmation transaction comprising the specific exchange rate XEX
- a hash value of a specific issuing transaction including a hash value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key of the specific user
- a hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user
- a hash value of a usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or the processed value thereof, and the integration point UPMA of the specific point distributor or the specific seller
- the present invention can improve the reliability and security of the point distribution system by registering a point-related transaction in the blockchain of the virtual currency to prevent unauthorized copying or forgery.
- the present invention provides security by allowing all entities participating in the issuance, distribution, and use of points to use cryptographic techniques such as cryptographically valid public key-private key pairs (eg, RSA, ECC), hash functions, etc. This is guaranteed and forgery is impossible.
- cryptographic techniques such as cryptographically valid public key-private key pairs (eg, RSA, ECC), hash functions, etc. This is guaranteed and forgery is impossible.
- the present invention facilitates the integrated management and individual management of points, and at the same time to prevent problems such as duplicate issuance by recording a transaction about the association and conversion between individual points and integration points in the blockchain of the virtual currency. This can improve the reliability and security of the point distribution system.
- FIG. 1 is a conceptual diagram schematically illustrating a support server for providing an integrated point service according to an embodiment of the present invention.
- FIG. 2 is a sequence diagram schematically illustrating a method for registering point distributors and exchange rates according to the first to fourth embodiments of the present invention.
- FIG. 3 is a sequence diagram schematically illustrating a method for issuing an integration point according to the first to fourth embodiments of the present invention.
- FIG. 4 is a sequence diagram schematically illustrating a method for distributing integration points according to the first to fourth embodiments of the present invention.
- FIG. 5 is a sequence diagram schematically illustrating a method of using integration points according to the first to fourth embodiments of the present invention.
- FIG. 6 is a sequence diagram schematically illustrating a method for refunding an integration point according to the first to fourth embodiments of the present invention.
- FIG. 7 and 8 are conceptual views schematically illustrating a process of recording a point related transaction in a second blockchain database according to the second and fourth embodiments of the present invention.
- FIG. 9 is a conceptual diagram schematically illustrating a process of recording a point related transaction in a second blockchain database according to a fourth embodiment of the present invention.
- FIG. 10 is a diagram schematically showing information recorded in a balance database according to the third and fourth embodiments of the present invention.
- FIG. 11 is a diagram schematically showing a change delta_n of a balance database according to the third and fourth embodiments of the present invention.
- public blockchain database refers to utilizing all computing devices on a virtual currency system that manages the blockchain public blockchain, which is widely used in the public as a blockchain of virtual currency, as a database.
- the support server according to the invention is accessible to this.
- private blockchain database refers to a so-called, privately configured private block that is directly managed by a support server according to the present invention, which uses a blockchain of virtual currency, but is not a public blockchain used in the air. Refers to a database using a chain.
- TRIGGERING CONDITION or “TRIGGERING CONDITIONS” herein refers to ANCHORING CONDITION or ANCHORING CONDITIONS, and vice versa.
- the present invention encompasses all possible combinations of the embodiments indicated herein. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.
- the first embodiment of the present invention is an embodiment (UTXO method) configured by using an unspent transaction output (UTXO) of virtual currency and recording individual transactions related to the UTXO in a predetermined blockchain database.
- UTXO method configured by using an unspent transaction output (UTXO) of virtual currency and recording individual transactions related to the UTXO in a predetermined blockchain database.
- the second embodiment of the present invention uses a UTXO of virtual currency to record an individual transaction related to the UTXO in a first blockchain database, and then generate a representative hash value generated from the transactions recorded in the first blockchain database.
- a UTXO of virtual currency to record an individual transaction related to the UTXO in a first blockchain database, and then generate a representative hash value generated from the transactions recorded in the first blockchain database.
- the third embodiment of the present invention uses a balance database (BDB) for managing a balance changed by transactions of virtual currency, and records individual transactions in a predetermined blockchain database and balances the balance.
- BDB balance database
- the change of is an embodiment configured in a manner (account method) to record in the balance database.
- an individual transaction is recorded in the first blockchain database using a balance database for managing a balance changed by a transaction of virtual currency, and the changes of the balance are recorded in the balance database.
- the anchoring method of double record integrity by recording a representative hash value generated from transactions recorded in the first blockchain database and changes in balance recorded in the balance database to the second blockchain database. Configured embodiments (account and anchoring scheme).
- the second blockchain database is a blockchain that is indirectly recorded through the first blockchain database for data integrity. It's a database.
- the predetermined blockchain database may be a first blockchain database or a second blockchain database. In the latter case, a transaction is first established in the first blockchain database. It may be assumed that the contents recorded in the first blockchain database are recorded and recorded in the second blockchain database.
- the second blockchain database further stores the first block through a role of additionally storing data recorded in the first blockchain database or a value processed from the recorded data.
- the second blockchain database may be operated by the UTXO method or the account method.
- FIG. 1 is a conceptual diagram schematically illustrating a support server for providing an integrated point service according to an embodiment of the present invention.
- the support server may be a computing device 100 including a communication unit 110 and a processor 120, and a point management server, a point distributor server, a user terminal, and the like. It may communicate indirectly or directly with the seller terminal.
- the support server, point management server, point distributor server, user terminal and merchant terminal may typically be the computer device 100.
- support servers, point management servers, point distributor servers, user terminals, and merchant terminals typically employ computing devices (eg, computer processors, memory, storage, input and output devices, and other components of conventional computing devices).
- Devices that may include; electronic communication devices such as routers, switches, etc .; electronic information storage systems such as network attached storage (NAS) and storage area network (SAN); and computer software (ie, computing devices to function in certain ways). Using a combination of instructions) to achieve the desired system performance.
- the communication unit 110 of the computing device may transmit and receive a request and a response with another computing device to which the computing device is linked.
- the request and response may be made by the same TCP session, but are not limited thereto.
- it may be transmitted and received as a UDP datagram.
- the processor 120 of the computing device may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, a data bus, and the like.
- the operating system may further include a software configuration of an application performing a specific purpose.
- FIG. 2 is a sequence diagram schematically illustrating a method for registering point distributors and exchange rates in accordance with the present invention.
- a method of registering a point distributor and an exchange rate for providing an integrated point service includes: (i) a public key PubPS of a point management server managing the integrated point service; Or a verification condition that a registration transaction TrxA including an exchange rate XEA between a point A and an integrated point managed by the point distributor is obtained from a point distributor server that is the server of the point distributor, and (ii If the acknowledgment transaction TrxB including the public key CPubA of the point distributor server or the processed value thereof and the exchange rate XEA satisfies at least one of verification conditions obtained from the point management server, the support server acquires the acquired server. At least one of a registration transaction TrxA and the confirmation transaction TrxB is validated or sent to the support server. And supporting other devices to be linked (S220; S240).
- point management server refers to a server operated by an integrated point management entity that creates and manages integration points
- point distributor server refers to an individual point distribution that distributes and manages individual points that are converted to integration points. Refers to a server that is operated by itself. The point management server performs the function of issuing integration points, and the point distributor server performs the function of distributing individual points exchanged from the integration points among users and making them available.
- a "registration transaction” is a transaction comprising (i) the public key of the point management server, which is a value that can identify the point management server, and (ii) the exchange rate between the integration point and the individual point, It is a transaction that is obtained from a point distributor, which is a subject that distributes individual points to be issued an integration point, so that the support server functions to register the point distributor and its unique exchange rate.
- confirmed transaction is a transaction comprising (i) the public key of the point distributor to be registered and (ii) the exchange rate between the integration point and the individual point, which is obtained from an operating entity of a point management server and is supported by the support server. Is a transaction allowing the point distributor and its unique rate of exchange to be verified or approved.
- This pair of registration and confirmation transactions has the purpose of determining the point management server, the point distributor server, and the exchange rate therebetween.
- the registration transaction TrxA is the exchange rate XEA, the exchange rate point distributor signature value SigCPrivA (XEA), which is a value obtained by signing the exchange rate XEA with the private key CPrivA of the point distributor. It may include a public key CPubA or a processed value thereof.
- the step S220 may be characterized in that the validity of the registration transaction TrxA is verified using the exchange rate point distributor signature value SigCPrivA (XEA) and the point distributor's public key CPubA or a processed value thereof. .
- a predetermined hash value can be obtained from the exchange rate point distributor signature value using the point distributor's public key CPubA in the exchange rate point distributor signature value SigCPrivA (XEA), and this hash value and the exchange
- the validity of the signature can be verified by comparing the result obtained by applying a predetermined hash function to the ratio XEA. In such a comparison, the signature is invalid if the hash value and the result obtained by applying the predetermined hash function are different, and if the signature is the same, it is well known to a person skilled in the art. You will see how to validate digital signatures.
- the acknowledgment transaction TrxB is an exchange rate server signature value SigPrivPS (XEA) which is a value obtained by signing the exchange rate XEA, the exchange rate XEA with the private key PrivPS of the point management server, and the point management server. It may include the public key PubPS or a processed value.
- the step S240 is characterized in that the validity of the confirmation transaction TrxB is verified using the exchange rate server signature value SigPrivPS (XEA) and the public key PubPS of the point management server or a processed value thereof. can do.
- step S220 and step S240 if at least one of the following conditions (i) to (iii) is satisfied, the support server verifies that the at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB is valid. Or the other device to verify that the matching conditions are: (i) a predetermined exchange in which the exchange rate included in the at least one of the registered transaction TrxA and the confirmation transaction TrxB is predetermined and recorded.
- a condition matching a rate (ii) a condition in which the exchange rate included in the obtained registered transaction TrxA matches the exchange rate included in a previously recorded specific confirmation transaction of the obtained registered transaction TrxA, and (iii (C) the exchange rate included in the obtained acknowledgment transaction TrxB is previously recorded specific of the obtained acknowledgment transaction TrxB.
- Condition that is consistent with the exchange rate included in the registration transaction (S230).
- the matching conditions (i) to (iii) are determined (S230) after step S220 and before step S240, but this is a single embodiment embodying the above description. It will be understood by those skilled in the art that they are only examples.
- the predetermined exchange rate in the matching condition means, for example, the operating agent (ie, integrated point manager) of the point management server and the operating agent (ie, point distributor) of the point distributor server external to the system of the present invention.
- the exchange rate may be previously recorded in the first blockchain database or the second blockchain database.
- the support server may compare the predetermined recorded recorded exchange rate with the exchange rate included in the at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB.
- the (ii) and (iii) the matching condition corresponds to the process of comparing with the exchange rate included in the transaction obtained in step S220 (S240) (S230).
- These (ii) and (iii) matching conditions are required because the exchange rate of the registered transaction and the corresponding exchange rate of the confirmation transaction can be regarded as agreement between the point management server and the point distributor server.
- the support server sends a registration failure response message indicating that the registration transaction TrxA or the confirmation transaction TrxB is invalid. It may be delivered to or supported by the other device. This corresponds to a step of confirming whether agreement of points distribution conditions, specifically, exchange rates, has been derived between the point management server and the point distributor server.
- the method may further include obtaining a transaction ID (S221; S241) in which the at least one of the confirmation transactions TrxB, or a value obtained by processing the same, is position information recorded in the predetermined blockchain database.
- the support server records the at least one of the registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof in a first blockchain database or enables the other device to record it.
- the contents recorded in the first blockchain database may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
- the support server After the step (S221; S241), if the at least one of the registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof is stored, the support server, the at least one of the registration transaction TrxA and the confirmation transaction TrxB Or transmit a registration response message including the transaction location identifier PrivTxid whose value is the location information recorded in the first blockchain database to at least one of the point distributor and the point management server or cause the other device to perform a response.
- Supporting delivery (S222a, S222b; S242, S243) may be further included.
- This transaction location identifier is used by entities (point management server, point distributor server, user terminal, merchant terminal, etc.) to refer to the transaction.
- the method of registering the point distributor and the exchange rate for providing the integrated point service according to the first embodiment of the present invention may further include the support server. At least one of the registration transaction or the confirmation transaction, or a processed value thereof, that is periodically recorded in the first blockchain database is correspondingly recorded in the second blockchain database.
- the method may further include verifying an integrity of the first blockchain database by verifying whether the registration transaction or the confirmation transaction matches the processed value. This is a step of auditing whether there has been an electronic recording forgery by checking whether the data recorded in the first blockchain database and the data recorded in the second blockchain database match each other, and performing this step. Through this, the integrity of blockchain databases can be checked multiplely.
- the first blockchain database may be a private blockchain database
- the second blockchain database may be a public blockchain database
- the present disclosure is not limited thereto, and a person skilled in the art may refer to the first blockchain database as a private blockchain database or a public blockchain database, and likewise, the second blockchain database may be a private blockchain database or a public blockchain database. You can understand that.
- FIG. 3 is a sequence diagram schematically illustrating a method for issuing an integration point in accordance with the present invention.
- an integrated point issuing method for providing an integrated point service includes a confirmation transaction including an exchange rate XEA between the point A and the integrated point managed by the point distributor. Or issuing a public key CPubA of the point distributor or a processed value thereof, and an issue amount UPCA which is an integrated point of the point distributor from the point management server managing the integration point service while the processed value is recorded. If the transaction TrxA is obtained, the support server includes a step (S310) of validating the issued transaction TrxA or allowing another device linked to the support server to verify the transaction.
- a "issuing transaction” is a transaction in which a point distributor pays a predetermined price (for example, nominal money) to an operator of a point management server and issues a predetermined amount of integration points.
- a predetermined price for example, nominal money
- the issuance transaction TrxA is (i) the public key CPubA of the point distributor or a value processed therein, (ii) the issue amount UPCA which is the integrated point of the point distributor, (iii) the disclosure of the point management server. Key PubPS or a value thereof, and (iv) an issuing transaction signature value, which is a value obtained by signing at least one of (i) to (iii) with the private key PrivPS of the point management server.
- the step (S310) may be characterized in that the validity of the issued transaction TrxA is verified using the issued transaction signature value and the public key PubPS of the point management server or a processed value thereof. Since the validation of the signature value is the same as described above, repeated descriptions will be omitted.
- an integration point issuance method for providing an integration point service if the issuance transaction TrxA is valid, if the issuance transaction TrxA is valid, the support server, the issuing transaction TrxA Or supporting the recording or recording the processed value in a predetermined blockchain database, and obtaining the issued transaction ID, in which the issued transaction TrxA or the processed value is position information recorded in the predetermined blockchain database (S320). , S321).
- the support server records the issued transaction TrxA or a processed value in a first blockchain database or allows the other device to record and records in the first blockchain database.
- the written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
- the support server may deliver a issuance failure response message indicating that the issuing transaction TrxA is invalid to at least one of the point distributor and the point management server or allow the other device to deliver it. have.
- the supporting server issues the issuance transaction TrxA or the processed value thereof as position information recorded in the first blockchain database.
- the method may further include a step (S322a, S322b) of delivering the issuance response message including the transaction location identifier PrivTxidA to at least one of the point distributor and the point management server or to allow the other device to deliver it.
- the integration point issuing method for providing an integration point service may be performed by the support server periodically.
- the first blockchain by verifying that at least one issuing transaction recorded in the blockchain database or a processed value thereof corresponds to the at least one issuing transaction recorded in the second blockchain database or a processed value corresponding thereto;
- the method may further include verifying the integrity of the database, which will be replaced with the description of the method of registering the point distributor and the exchange rate.
- FIG. 4 is a sequence diagram schematically illustrating a method for distributing integration points in accordance with the present invention.
- a public transaction PubUA or a public key of the user is recorded in a state in which an issuance transaction including an issue amount UPCA, which is an integrated point of a point distributor, or a processed value thereof is recorded.
- the supporting server supports the verification of the validity of the distributed transaction TrxA or by allowing another device linked with the supporting server to verify ( S410).
- the "distribution transaction” is a transaction that distributes some of the individual points managed by the point distributor to individual users.
- the distributed transaction TrxA is (i) the transaction location identifier PrivTxidA corresponding to the micro-consolidated integration point, (ii) the public key CPubA of the point distributor, or a processed value thereof, (iii) the user's The public key PubUA or the processed value thereof, (iv) the user's integration point UPUA, (v) the distribution remaining amount of the integration point remaining after distribution, and (vi) at least one of (i) to (v) It may include a distributed transaction signature value, which is a value signed by the private key CPrivA.
- step (S410) characterized in that the validity of the distributed transaction TrxA using the distribution transaction signature value and the point distributor's public key CPubA or a processed value thereof. Since the validation of the signature value is the same as described above, repeated descriptions thereof will be omitted.
- the integration point owned by the user by the distribution transaction may be converted into individual points managed by the point distributor based on the exchange rate of the point distributor, which may be included as a separate item in the distribution transaction. , Value that can be calculated and obtained separately for use and refund.
- points owned by the user and managed by the point distributor are individual points, which may be recorded and managed as an integrated point for convenience. For example, a user who has received 1,000 integration points may be treated as equivalent to having received 100 individual points by an exemplary integration point to individual point exchange ratio of 10: 1.
- the support server may set the distributed transaction TrxA or a value obtained by processing the distributed transaction TrxA.
- the support server records the distributed transaction TrxA or its processed value in a first blockchain database or allows the other device to record and records in the first blockchain database.
- the written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
- the support server may deliver a distribution failure response message indicating that the distributed transaction TrxA is invalid to at least one of the point distributor and the user or allow the other device to deliver it.
- the supporting server distributes the distributed transaction TrxA or a processed value thereof as position information recorded in the first blockchain database.
- the method may further include a step (S422a, S422b) of delivering a distribution response message including a transaction location identifier PrivTxidA to at least one of the point distributor and the user or allowing the other device to deliver the distribution response message.
- an integrated point distribution method for providing an integrated point service includes at least one distributed transaction or a value processed by the support server periodically recorded in the first blockchain database. Verifying the integrity of the first blockchain database by verifying whether it matches the at least one distributed transaction recorded in the second blockchain database or a processed value thereof (not shown). As such, the description thereof will be replaced with the above description of the method of registering the point distributor and the exchange rate.
- FIG. 5 is a sequence diagram schematically illustrating a method of using integration points in accordance with the present invention.
- a seller providing goods or services to the user in a state in which a distribution transaction including the integration point UPUA of the user or a processed value thereof is recorded.
- the support server may cause another device to verify the validity of the use transaction TrxA or interwork with the support server. Supporting to verify (S510) is included.
- a "use transaction” is a transaction that an individual user uses to receive goods or services from an individual seller, and the use transaction enables the individual seller to obtain individual points from the individual user.
- the usage transaction TrxA is (i) the transaction location identifier PrivTxidA corresponding to the micro-consolidated integration point, (ii) the seller's public key MPubA or a processed value thereof, and (iii) the user's disclosure. At least one of the key PubUA or the processed value thereof, (iv) the user's integration point UPUA, (v) the remaining usage of the integration point remaining using, and (vi) the user's personal It can contain the usage transaction signature, which is the value signed with the key PrivUA.
- the step (S510) may be characterized in that the validity of the usage transaction TrxA is verified using the usage transaction signature value and the public key PubUA of the user or a processed value thereof. Since the validation of the signature value is the same as described above, repeated descriptions will be omitted.
- the support server may set the use transaction TrxA or a value obtained by processing the same.
- Supporting or recording to a blockchain database, and obtaining the use transaction ID (S520, S521), the use transaction TrxA or a processed value thereof is position information recorded in the predetermined blockchain database.
- the support server records the used transaction TrxA or the processed value in the first blockchain database or allows the other device to record, and writes in the first blockchain database
- the written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
- the support server may deliver a use failure response message indicating that the use transaction TrxA is invalid to at least one of the seller and the user or allow the other device to deliver it.
- the support server uses the used transaction TrxA or a processed value thereof as position information recorded in the first blockchain database.
- the method may further include transmitting a use response message including a transaction location identifier PrivTxidA to at least one of the seller and the user, or supporting the other device (S522a and S522b).
- a method for using an integration point for providing an integration point service includes at least one usage transaction or a value processed by the support server periodically recorded in the first blockchain database. Verifying an integrity of the first blockchain database (not shown) by verifying whether the at least one used transaction recorded in the second blockchain database or a processed value thereof corresponds to the corresponding blockchain database. As such, the description thereof will be replaced with the above description of the method of registering the point distributor and the exchange rate.
- the integrated point refund method includes (i) an issuance transaction including an issue amount UPCA, which is an integrated point of a point distributor, or (ii) a seller who provides goods or services to a user.
- the support server may include verifying the validity of the refund transaction TrxA or allowing another device linked to the support server to verify it (S610). .
- a "refund transaction” is a transaction for individual users or sellers to refund individual points in fiat money, etc., whereby individual points are returned according to the exchange rate and the nominal monetary value of the consolidated points. Can be refunded in nominal money.
- the refund transaction TrxA is (i) the transaction location identifier PrivTxidA corresponding to the unskilled integration point, (ii) the public key PubPS of the point management server or a value thereof, and (iii) the point.
- the public key MPubA of the distributor or the seller or a value thereof (iv) the integration point UPMA of the point distributor or the seller, (v) the refund remaining amount which is the integration point remaining after the refund, and (vi) the (i) And (v) a refund transaction signature value which is a value signed by at least one of the point distributor or the seller's private key MPrivA.
- the step (S610), using the refund transaction signature value and the point distributor or the seller's public key MPubA or processed value, the refund transaction TrxA is characterized in that the validity As such, the validation of the signature value is the same as described above, and thus repeated description will be omitted.
- the support server may set the refund transaction TrxA or a value obtained by processing the refund transaction TrxA.
- the support server records the refund transaction TrxA or the processed value in the first blockchain database or allows the other device to record, and writes in the first blockchain database
- the written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
- the support server forwards a refund failure response message indicating that the refund transaction TrxA is invalid to at least one of the point distributor or the seller, and the point management server or causes the other device to fail. You can also support delivery.
- the support server refunds the refund transaction TrxA or the processed value thereof to the location information recorded in the first blockchain database.
- the method may further include transmitting a refund response message including a transaction location identifier PrivTxidA to at least one of the point distributor or the seller, and the point management server, or supporting the other device (S622a and S622b). .
- the integrated point refund method for providing an integrated point service the support server, at least one refund transaction periodically recorded in the first blockchain database or a value processed therein Verifying the integrity of the first blockchain database by verifying whether it matches the at least one refund transaction recorded in the second blockchain database or a processed value thereof (not shown).
- the description thereof will be replaced with the above description of the method of registering the point distributor and the exchange rate.
- the point distributor server may receive a certain amount of integrated points from the point management server, which are treated as individual points by a predetermined exchange rate to the point distributor and the subordinates and users.
- the point distributor server may distribute individual points recorded and managed as a certain amount of integration points to individual users.
- Such individual points may be used by individual users to receive goods or services from individual sellers. Through such use, individual sellers may obtain individual points from individual users.
- the point management server receives a refund request from an individual seller or an individual user for these individual points and, upon that request, the individual points are refunded in fiat money according to the exchange rate and the nominal value of the consolidated point. Can be.
- the support server 100 writes the valid registration transaction TrxA or the confirmation transaction TrxB, or a processed value thereof to the first blockchain database or to the other device. It further includes a step (S221; S241) for supporting the recording.
- the point distributor and the exchange rate registration method for providing the integrated point service according to the present invention may be satisfied.
- a representative generated by the support server hashing together at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or at least one neighboring hash value that matches a particular hash value that is a hash value of the truncated value.
- the confirmation transaction ID which is the location information recorded in S235 to S238; S245 to S248.
- the anchoring condition is (i) a condition in which the predetermined hash value and the neighbor hash value are obtained or generated by a predetermined number, (ii) a condition that a predetermined time elapses, and (iii) the first blockchain. It may include at least one of a condition for generating the n-th block in the database, (iv) a condition for the service characteristic.
- the neighbor hash value is (i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between the specific point X and the integration point managed by a specific point distributor, (ii) the specific Hash value of a specific confirmation transaction including exchange rate XEX, (iii) Hash of a specific issuance transaction including the public key CPubX of the specific point distributor or a processed value thereof, and a specific issue amount UPCX which is an integrated point of the specific point distributor.
- the operation of a particular hash value and at least one neighbor hash value may be performed by various functions.
- a specific hash value is represented by input and at least one neighboring hash value is represented by x1, x2, ..., xn
- the representative hash value t can be expressed as the following equation.
- the support server may store and manage the specific hash value and the at least one neighbor hash value in a predetermined data structure.
- the data structure may vary, for example, may be a merkle tree structure.
- the calculation of the specific hash value and at least one neighbor hash value may be performed through the Merkle tree.
- the support server may support generating or generating a merkle tree in which the specific hash value is assigned to a leaf node, and when the anchoring condition is satisfied, at least one other matched with the specific hash value. Acquire the representative hash value or the processed hash value generated by hashing the hash values assigned to the leaf nodes together, and record the obtained values in the second blockchain database or allow other devices to record them. Can be supported.
- the support server may support to record or record the hash value finally assigned to the root node of the Merkle tree as the representative hash value in the second blockchain database. At this time, a value obtained by processing the representative hash value may be recorded. For example, the result of performing the hex operation may be registered in the representative hash value.
- the support server stores the specific hash value and the at least one neighbor hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure
- the first data structure and the second data structure may be connected in a chain form.
- the root value of the first data structure or the hash value of the root value is the first leaf of the second data structure. Can be assigned to a node.
- the Merkle tree is the first Merkle tree among at least one Merkle tree connected in a chain form
- the first leaf node of the Merkle tree has a hash value of a predetermined message data consisting of text, numbers, or symbols or the same.
- One value can be assigned. For example, a hash value of an input message initially given by the support server may be assigned when generating the merkle tree.
- FIG. 7 and 8 show examples of merkle trees created in accordance with the present invention.
- the support server may support to calculate or compute (i) a specific hash value and (ii) a hash value assigned to a node h3 that is a sibling node of node h2, which is a third leaf node to which the specific hash value is assigned. have.
- the hash value for the operation value that is the result of the operation is assigned to the parent node (h23 node) of the h2 node and the h3 node.
- the support server may repeat the process by using the hash value assigned to the h23 node as the specific hash value. That is, the hash value assigned to the h23 node is designated as a specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node are calculated and assigned to the parent node (h0123) node of the h23 node and the h01 node. have.
- the support server may support to record or record the hash value assigned to the h0123 node or the processed value hex (h ⁇ node_index ⁇ ) in the second blockchain database. Can be.
- the support server assigns (i) the particular hash value and (ii) the sibling node of the node to which the particular hash value is assigned. Supports hashing or hashing the generated hash values together, and assigns or assigns a hash value for the operation value that is the result of the operation to the parent node of the node, and (x2) the parent node of the Merkle tree.
- the server repeatedly executes (x1) to (x3) by using the hash value assigned to the parent node as the specific hash value.
- hash values-a hash value of a particular registration transaction comprising (i) a specific exchange rate XEX between a specific point X managed by a particular point distributor and the integration point, and (ii) the particular exchange Hash value of a specific confirming transaction including a ratio XEX, (iii) A hash value of a specific issuing transaction including the public key CPubX of the particular point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor.
- each hash value is It may be an input value (value assigned to the leaf node) of the aforementioned merkle tree.
- the support server may generate the root value of the aforementioned Merkle tree on a predetermined time basis (the (ii) anchoring condition). In this case, when a predetermined time elapses, the support server may generate a Merkle tree using the input values up to that time, and record or record the root value of the Merkle tree in the second blockchain database.
- a value may not be assigned to a sibling node of a node to which a specific hash value of the Merkle tree is assigned even after a predetermined time has elapsed.
- the support server supports allocating or allocating a predetermined hash value to the sibling node. This allows the root value of the Merkle tree to be calculated. For example, the support server may copy and assign the specific hash value to the sibling node.
- the service characteristic is a company type that is the cost information paid by entities using the integrated point service, time zone information on which the transaction is recorded, local information on the recording, and a management entity of the server involved in the recording. It can be at least part of the information. However, it is not limited to what was described here.
- the support server determines that the Merkle tree is assigned to the first leaf node and the second leaf node. It may support to generate or to generate, and to record or record the root value of the Merkle tree or a processed value thereof in the second blockchain database. In this case, for example, a leaf tree of two leaf nodes may be generated.
- the support server stores the specific hash value and the at least one neighboring hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure.
- the first data structure and the second data structure may be connected in a chain form.
- a root value of the first data structure or a hash value of the root value may be allocated to the first leaf node of the second data structure.
- FIG. 8 illustrates a Merkle tree generated as the second data structure according to the present invention.
- the present invention has an advantage of easily tracking even when data modulation occurs in the middle by connecting a plurality of data structures generated when a transaction occurs, thereby improving the integrity of the data.
- the method of registering the point distributor and the exchange rate for providing the integrated point service may further include the support server periodically recorded in the first blockchain database.
- Process a first representative hash value or the first representative hash value generated by hashing together at least one neighboring hash value that matches at least one of the registration transaction or the confirmation transaction, or a hash value of the truncated value Verifying the integrity of the first blockchain database by verifying whether a value coincides with a value obtained by processing the second representative hash value or the second representative hash value recorded in the second blockchain database corresponding thereto ( Not shown) may be further included.
- an integrated point issuing method for providing an integrated point service includes a confirmation transaction including an exchange rate XEA between point A and an integrated point managed by a point distributor.
- the first representative hash value generated from the first specific hash value which is the hash value of the processed value, or the processed value of the first representative hash value is recorded in the second blockchain database.
- the support server validates the issue transaction TrxA. Verifying or supporting another device linked to the support server to verify (S310). It includes.
- the support server A second representative hash value or the second representative hash value generated by hashing together at least one neighboring hash value matching the second specific hash value that is a valid hash value of the issued transaction TrxA or a truncated value.
- Issuing transaction ID which supports to record or record the processed value in the second blockchain database, wherein the processed value of the second representative hash value or the second representative hash value is position information recorded in the second blockchain database.
- step (S325 to S328) which is a method of registering the point distributor and exchange rate for providing the integrated point service Document describes a similar manner to that. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- an integration point issuing method for providing an integration point service according to a second embodiment of the present invention, the support server, at least one issuing transaction recorded periodically in the first blockchain database or the same; A representative hash value generated by hashing together at least one neighboring hash value matching the hash value of the processed value, or the processed value of the representative hash value is recorded in the second blockchain database corresponding thereto; The method may further include verifying the integrity of the first blockchain database by verifying whether the representative hash value or the second representative hash value matches the processed value, which is described above. I will replace the one described in the registration method of ratio.
- a first transaction generated from a first transaction including an issuance transaction UPCA that is an integration point of a point distributor or a hash value of a processed value thereof is generated.
- the support server 100 includes a step (S410) of validating the distributed transaction TrxA or allowing another device linked to the support server to verify the TrxA.
- the support server A second representative hash value or the second representative generated by hashing together at least one neighboring hash value that matches the validity of the distributed transaction TrxA or a hashed value of the truncated value; It supports to record or record the processed hash value in the second blockchain database, wherein the second representative hash value or the processed second representative hash value is position information recorded in the second blockchain database.
- Obtaining distribution transaction ID (S425 to S428), which registers the point distributor and exchange rate for providing the integrated point service; Is the same as that described in the method. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- an integrated point distribution method for providing an integrated point service includes at least one distributed transaction or a value processed by the support server periodically recorded in the first blockchain database.
- Representative hash value generated by hashing together at least one neighboring hash value matching the hash value of or a value obtained by processing the representative hash value is the second representative hash recorded in the second blockchain database corresponding thereto.
- the method may further include verifying the integrity of the first blockchain database by verifying whether a value or the second representative hash value matches a processed value. I will replace the one described in the registration method of exchange rate.
- the support server 100 may include verifying the validity of the use transaction TrxA or supporting another device interoperating with the support server (S510).
- the support server A second representative hash value or the second representative hash value generated by hashing together at least one neighboring hash value matching the second specific hash value that is a hash value of the valid usage transaction TrxA or the truncated value.
- Support transaction to record or record the processed value in the second blockchain database, wherein the processed value of the second representative hash value or the second representative hash value is position information recorded in the second blockchain database.
- step (S525 to S528) which is a method of registering the point distributor and exchange rate for providing the integrated point service Document describes a similar manner to that. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- a method of using an integration point for providing an integration point service includes at least one usage transaction or a value processed by the support server periodically recorded in the first blockchain database.
- Representative hash value generated by hashing together at least one neighboring hash value matching the hash value of or a value obtained by processing the representative hash value is the second representative hash recorded in the second blockchain database corresponding thereto.
- the method may further include verifying the integrity of the first blockchain database by verifying whether a value or the second representative hash value matches a processed value. I will replace the one described in the registration method of exchange rate.
- the integrated point refund method may include (i) an issuance transaction including an issue amount UPCA, which is an integrated point of a point distributor, or (ii) a seller providing goods or services to a user.
- a first representative hash value or the first representative hash value generated from a use transaction including the integration point UPUA of the user, or a first specific hash value that is a hash value of the processed transaction or the value that processed the use transaction When a value is recorded in the second blockchain database, a refund transaction TrxA including the public key PubPS of the point management server or the processed value thereof, and the integrated point UPMA of the point distributor or the seller is obtained,
- the support server validates the refund transaction TrxA or causes another device to interwork with the support server. Supporting to verify (S610).
- the support server A second representative hash value or the second representative hash value generated by hashing together at least one neighboring hash value matching the second specific hash value which is a hash value of the valid refund transaction TrxA or a processed value thereof. It supports to record or record the processed value in the second blockchain database, and the refund transaction ID which is the position information recorded in the second blockchain database is the second representative hash value or the processed value of the second representative hash value.
- step (S625 to S628) which is a method of registering the point distributor and exchange rate for providing the integrated point service Document describes a similar manner to that. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- the integrated point refund method for providing an integrated point service the support server, at least one refund transaction periodically recorded in the first blockchain database or a value processed therein
- Representative hash value generated by hashing together at least one neighboring hash value matching the hash value of or a value obtained by processing the representative hash value is the second representative hash recorded in the second blockchain database corresponding thereto.
- the method may further include verifying the integrity of the first blockchain database by verifying whether a value or the second representative hash value matches a processed value. I will replace the one described in the registration method of exchange rate.
- the third embodiment does not include a technical feature for calculating a representative hash value through calculation with a neighbor hash value, for example, a technical feature using a Merkle tree. It is different.
- the registration transaction TrxA may be: (i) a unique nonce, (ii) the public key CPubA of the point distributor, or a processed value thereof; (iii) the public key PubPS of the point management server or a processed value thereof, (iv) the exchange rate XEA, and (v) at least one of (i) to (iv) signed by the point distributor's private key CPrivA It can contain one value, the registered transaction signature value.
- the unique nonce is for preventing a replay attack, and may be a one-time number, for example, a time stamp, but is not limited thereto. For example, it may be a random value generated from any seed.
- a method for generating a unique nonce is unnecessary detail in understanding the present invention and thus will not be described in more detail, which may be known or easily understood by those skilled in the art. As shown.
- a valid transaction generated by the entity is transmitted to the network several times by another malicious entity, it is affected. If the receiving entity has a sufficient balance, it may be recognized as a valid transaction and points may be paid multiple times. This is called a replay attack.
- a unique nonce may be included in a transaction to prevent this. In this case, the attacker of the replay attack can fundamentally block the replay attack because it cannot generate a valid signature for the unique nonce.
- one unique nonce exists in a transaction, so if a unique nonce included in a received transaction is used in a previously received transaction, it is regarded as an abnormal transaction, that is, an invalid transaction. Can be prevented.
- the step S220 may be characterized in that the validity of the registration transaction TrxA is verified using the registration transaction signature value and the public key CPubA of the point distributor or a processed value thereof.
- a predetermined hash value can be obtained from the registered transaction signature value using the point distributor's public key CPubA, and this hash value is compared with a result value obtained by applying a predetermined hash function to the exchange rate XEA. By doing so, you can validate the signature.
- the confirmation transaction TrxB is (i) a unique nonce, (ii) the public key CPubA of the point distributor or a processed value thereof, and (iii) the public key of the point management server. PubPS or a value processed therefrom, (iv) the exchange rate XEA and (v) at least one of (i) to (iv) signed with the private key PrivPS of the point management server.
- step S240 may be characterized in that the validity of the confirmation transaction TrxB is verified using the confirmation transaction signature value and the public key PubPS of the point management server or a processed value thereof.
- a balance database is used.
- the balance database may be additionally applied to the point distributor by applying the initial balance to the balance database or by allowing the other device to apply the balance database. Initialize or support the other device to initialize. This is to manage the balance change by transaction using the balance database.
- the issuing transaction TrxA may be: (i) a unique nonce, (ii) the public key CPubA of the point distributor or a processed value thereof. (iii) the public key PubPS of the point management server or a processed value thereof, (iv) at least one of the issue amount UPCA, which is an integrated point of the point distributor, and (v) (i) to (iv), the point management server
- the private key may include the issuance transaction signature value, which is a value signed by PrivPS. Validation of this issuance transaction signature value is the same as described above.
- the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the issuing transaction TrxA.
- the distribution transaction TrxA is (i) a unique nonce, (ii) the public key CPubA of the point distributor or a value thereof, and (iii) a public key PubUA of the user or the same.
- the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the distributed transaction TrxA in steps S420 and S421 described above.
- the usage transaction TrxA is (i) a unique nonce, (ii) the seller's public key MPubA or a processed value thereof, and (iii) the user's public key PubUA. Or (v) a usage amount that is an integration point used by the user, and (v) a usage transaction signature value, which is a value signed by at least one of (i) to (iv) with the user's private key PrivUA. It may include. The validity of this used transaction signature value is the same as described above.
- step S520 and S521 described above the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the use transaction TrxA.
- the refund transaction TrxA is (i) a unique nonce, (ii) the seller's public key MPubA or the point distributor's public key CPubA, or a processed value thereof, (iii) the The public key PubPS of the point management server or the processed value thereof, (iv) the refund amount of the integrated point to be refunded, and (v) at least one of (i) to (iv) the private key MPrivA or the point distribution of the seller. It may include a refund transaction signature value, which is a value signed by the private key CPrivA. Validation of this refund transaction signature value is the same as described above.
- the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the refund transaction TrxA in steps S620 and S621 described above.
- FIG. 10 An example of data recorded in the above-described balance database is as shown in FIG. 10.
- User Pubkey refers to the public key of an individual user, and is used to identify the individual user.
- Balance means the remaining amount of integration points that an individual user has.
- FIG. 11 One example of changes to the balance database is shown in FIG. 11.
- the first data in FIG. 11 is c4...
- Change data means that the balance of the individual users identified by dd has increased by 50,000 points.
- the fourth embodiment further includes all the technical features of the third embodiment, and further includes a technical feature for calculating a representative hash value through calculation with neighboring hash values as in the second embodiment, for example, a technical feature using a Merkle tree. .
- the support server selects at least one neighboring hash value matching the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a specific hash value that is a hash value of the processed transaction.
- a representative hash value generated by hash operation together or a value obtained by processing the representative hash value is recorded in a second blockchain database or supported by the other device to record, and a value processed by the representative hash value or the representative hash value Acquiring a confirmation transaction ID which is position information recorded in the second blockchain database (S235 to S238; S245 to S248). More).
- the neighbor hash value is reflected in the nth block to be generated when the nth block is generated in the (i) to (vi) and (vii) blockchains described above with respect to the second embodiment. It may be any one of the hash values of the delta_n change of the balance database by all transactions.
- the neighbor hash value is (i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between the specific point X and the integration point managed by the specific point distributor, (ii) the A hash value of a specific confirmation transaction including a specific exchange rate XEX, (iii) a specific issuance transaction including the public key CPubX of the specific point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor.
- a hash value of a transaction used, including the public key MPubA or the processed value of the specific user, and the integration point UPUA of the particular user
- the hash value of the refund transaction including the public key PubPS of the network management server or the processed value thereof, and the integrated point UPMA of the specific point distributor or the specific seller
- the nth block in the blockchain It may be any one of a hash value of the change delta_n of the balance database by all transactions reflected in the generated n th block.
- FIG. 9 is a conceptual diagram schematically illustrating a process of recording a point related transaction in a second blockchain database according to the present invention.
- a balance database of all transactions reflected in the nth block is reflected in a block header of the generated nth block.
- the balance database header hash value which is a hash value calculated from the change delta_n, may be recorded.
- the hash value of the change delta_n of the balance database by all transactions reflected in the generated nth block is recorded in the block header, thereby leaving the leaf node. Except for this since it does not need to be assigned to, (i) a hash value of a particular registered transaction comprising a specific exchange rate XEX between a specific point X managed by a specific point distributor and the integration point, and (ii) the specific exchange.
- Hash value of a specific confirming transaction including a ratio XEX (iii) A hash value of a specific issuing transaction including the public key CPubX of the particular point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor.
- the public key PubUA of a particular user or a processed value thereof, and the UPUA point of integration A hash value of a distributed transaction comprising; and
- items of the public key PubPS of the point management server or the processed value thereof, and the hash value of the refund transaction including the integrated point UPMA of the specific point distributor or the specific seller are assigned to each leaf node. Can be.
- a second representative hash value generated by the support server 100 hashing together at least one neighboring hash value matching the second specific hash value that is a valid hash value of the issued transaction TrxA or a truncated value; or Support to record or record the processed second representative hash value in a second blockchain database, and record the second representative hash value or the processed second representative hash value in the second blockchain database.
- the method may further include obtaining the issued transaction ID which is the location information (S325 to S328), as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- Obtaining an in-distribution transaction ID further includes steps S425 to S428, as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- the method may further include obtaining the use-use transaction ID (S525 to S528), as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- the method may further include obtaining a refund transaction ID (S625 to S628), as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
- the advantages of the techniques described herein as the above embodiments are that the forgery of point related information such as public keys, hash values, etc. is virtually impossible, thereby ensuring the reliability of the point system, and the point transaction information-issue, distribution, use of points.
- the Merkle Tree is used to register only the root value of the configured Merkle Tree in the blockchain to improve the speed of the service and to transfer the transaction. The cost can be reduced.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The present invention relates to a method for providing an integrated point service and a server using the same and, in particular, to: a method for registration of distributors of individual points and exchange ratios between the individual points and integrated points, and issuance, distribution, use, and refund of the integrated points; and a support server using the same. Specifically, the present invention relates to: a method for verifying the validity of transactions of the registration, issuance, distribution, use, and refund of the integrated points, recording the corresponding transactions in a blockchain database according to the validity thereof, and acquiring a transaction ID which is information on a location where each transaction is recorded; and a support server using the same.
Description
본 발명은 UTXO 기반 프로토콜에서 머클 트리 구조를 사용하여 통합 포인트 서비스를 제공하기 위한 방법 및 이를 이용한 서버에 관한 것으로서, 구체적으로, 개별 포인트 유통자 및 상기 개별 포인트와 통합 포인트 간 교환 비율의 등록, 상기 통합 포인트의 발행, 분배, 사용, 환급하는 방법과 이를 이용하는 지원 서버에 관한 것이다. 더 구체적으로, 본 발명은 상기 등록, 발행, 분배, 사용 및 환급에 관한 트랜잭션의 유효성을 검증하고, 그 유효성에 따라 블록체인 데이터베이스에 해당 트랜잭션을 기록하며, 각각의 트랜잭션이 기록된 위치 정보인 트랜잭션 ID를 획득하는 방법 및 이를 이용하는 지원 서버에 관한 것이다.The present invention relates to a method for providing an integrated point service using a Merkle tree structure in a UTXO based protocol, and a server using the same. Specifically, the registration of an individual point distributor and an exchange rate between the individual point and the integrated point, It relates to a method of issuing, distributing, using, and refunding integration points and supporting servers using the same. More specifically, the present invention verifies the validity of the transaction with respect to the registration, issuance, distribution, use and refund, and records the transaction in the blockchain database according to the validity, where each transaction is recorded position information It relates to a method of obtaining an ID and a support server using the same.
일반적으로 포인트(point)는 상품이나 서비스 등을 이용하기 위한 금액 또는 수량 등을 가진 무형의 유가 증권으로서, 상품이나 서비스의 판매를 촉진하거나 광고 등의 목적을 위한 용도로 유통되며, 명목 화폐로부터 일정 비율로 교환되거나 상품이나 서비스의 구매에 대한 반대 급부로 일정량 주어지는 리베이트(rebate)로 생성될 수 있다. 예를 들어 포인트는 음식점과 백화점 등에서 소정의 상품을 구매한 사람에게 다음 번 구매를 위한 환불 금액의 역할을 할 수 있는 것을 지칭하기도 한다.In general, points are intangible securities with an amount or quantity to use goods or services, and are distributed for the purpose of facilitating the sale of goods or services or for advertising purposes. It can be generated as a rebate exchanged at a rate or given a certain amount in return for the purchase of goods or services. For example, a point may refer to a person who has purchased a certain product at a restaurant, a department store, etc., and may serve as a refund amount for the next purchase.
근래에 들어서는 백화점, 음식점, 온라인 상점 등에서의 물품 구입뿐 아니라 연극, 영화, 도서 구입에도 활용할 수 있는 다양한 포인트가 유통되고 있는바 인터넷의 보편화에 따라 사회 전반에 걸쳐 새로운 문화로써 정착되고 있다.Recently, various points that can be used not only for the purchase of goods in department stores, restaurants, online stores, etc. but also for theatre, movies, and books are being distributed. As the Internet becomes popular, it is becoming a new culture throughout society.
그러나, 이와 같은 개별 포인트를 운영하는 개별 포인트 유통자의 입장에서는 명목 화폐와 거의 동일한 가치를 지닌 포인트를 유통시키기 위하여는 은행이 화폐의 유통에 대하여 투자하는 것과 동등한 정도의 높은 보안 수준을 유지하여야 할 필요가 있는바, 이는 크래커(cracker)의 부정한 조작으로 인하여 포인트 유통자와 포인트 가맹점들이 금전적인 손실을 입을 우려가 있기 때문이다. 예를 들어, 이와 같은 포인트는 네트워크 상에서 송수신되는 데이터의 형식으로 유통되므로 무단 복제 또는 위변작의 위험성에 노출될 수 있으며, 시스템 상의 오류로 인하여 중복 발행, 유통되는 등의 문제점이 발생할 우려도 있다.However, from the point of view of individual point distributors operating such individual points, it is necessary to maintain a level of security equivalent to that of banks investing in the circulation of money in order to distribute points with almost the same value as the nominal money. This is because point distributors and point merchants may suffer financial losses due to fraudulent manipulation of the crackers. For example, since such a point is distributed in the form of data transmitted and received on the network, it may be exposed to the risk of unauthorized copying or forgery, and there may be a problem such as duplicate issuance or distribution due to an error on the system.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다. The present invention aims to solve all the above-mentioned problems.
또한, 본 발명은 가상 화폐의 블록체인에 포인트 관련 트랜잭션을 등록하여 무단 복제 또는 위변작이 불가능하도록 하는 방법 및 서버를 제공하는 것을 다른 목적으로 한다. In addition, another object of the present invention is to provide a method and a server for registering a point-related transaction in a blockchain of virtual currency to prevent unauthorized copying or forgery.
이를 위하여 본 발명은 포인트의 발행, 분배 및 사용 등에 참여하는 모든 엔티티(entity)들이 암호학적으로 유효한 공개키-개인키 쌍(예컨대, RSA, ECC), 해시 함수 등의 암호화 기술을 이용하게 함으로써 보안이 보장되고 위변작이 불가능하게끔 한다.To this end, the present invention provides security by allowing all entities participating in the issuance, distribution, and use of points to use cryptographic techniques such as cryptographically valid public key-private key pairs (eg, RSA, ECC), hash functions, etc. This guarantees and makes forgery impossible.
또한, 본 발명은 가상 화폐의 블록체인에 개별 포인트와 통합 포인트 간의 연계 및 변환에 관한 트랜잭션을 기록하게 함으로써 포인트의 통합 관리 및 개별 관리를 용이하게 함과 동시에 중복 발행 등의 문제점을 미연에 방지할 수 있도록 하는 방법 및 서버를 제공하는 것을 또 다른 목적으로 한다.In addition, the present invention facilitates the integrated management and individual management of points, and at the same time to prevent problems such as duplicate issuance by recording a transaction about the association and conversion between individual points and integration points in the blockchain of the virtual currency. It is yet another object to provide a method and a server that enable it.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.Representative configuration of the present invention for achieving the above object is as follows.
본 발명의 일 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법이 제공되는바, 그 방법은, (a) (i) 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값 및 상기 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 등록 트랜잭션 TrxA이 상기 포인트 유통자의 서버인 포인트 유통자 서버로부터 획득되는 검증조건, 및 (ii) 상기 포인트 유통자 서버의 공개키 CPubA 또는 이를 가공한 값 및 상기 교환 비율 XEA을 포함하는 확인 트랜잭션 TrxB이 상기 포인트 관리 서버로부터 획득되는 검증조건 중 적어도 하나를 만족하면, 지원 서버가, 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 적어도 하나의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (b) 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 유효하면, 상기 지원 서버가, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값의 해시값인 특정 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 확인 트랜잭션 ID를 획득하는 단계를 포함한다.According to one aspect of the present invention, there is provided a method of registering a point distributor and an exchange rate for providing an integrated point service, the method comprising: (a) (i) a point management server managing the integrated point service; A verification condition that a registration transaction TrxA including a public key PubPS or a value processed therefrom and an exchange rate XEA between point A and an integrated point managed by the point distributor is obtained from a point distributor server that is the server of the point distributor, And (ii) if the verification transaction TrxB including the public key CPubA or the processed value of the point distributor server and the exchange rate XEA satisfies at least one of the verification conditions obtained from the point management server, the supporting server, Validate or support at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB. Step that helps verify cause the other device to be linked to the server; (b) if the at least one of the registration transaction TrxA and the confirmation transaction TrxB is valid, the support server converts the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof into a first blockchain; Writing to a database or supporting the other device to record; And (c) at least one of the neighbors, when the anchoring condition is satisfied, the support server matches the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a specific hash value which is a hash value of the processed transaction. Hash Value-The neighbor hash value is a hash value of a particular registered transaction comprising (i) a specific exchange rate XEX between a specific point X and a consolidated point managed by a specific point distributor, (ii) the specific exchange rate A hash value of a specific confirmation transaction including XEX, (iii) a hash value of a specific issuance transaction including the public key CPubX of the specific point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor, (iv) a distributed transaction comprising a public key PubUA of a particular user or a processed value thereof and an integration point UPUA of the specific user; A hash value of (v) a public transaction MPubA of a particular merchant providing the goods or services to the particular user or a processed value thereof, and a hash value of a use transaction comprising the integration point UPUA of the particular user, and (vi) A representative hash value generated by hashing together the public key PubPS of the point management server or a processed value thereof, and a hash value of a refund transaction including an integrated point UPMA of the specific point distributor or the specific seller; Or record the processed value of the representative hash value in a second blockchain database or allow the other device to record, and record the representative hash value or the processed value of the representative hash value in the second blockchain database. Acquiring a confirmation transaction ID that is the location information.
본 발명의 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법이 제공되는바, 그 방법은, (a) 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 확인 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버로부터 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, 및 상기 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 발행 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (b) 상기 발행 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 ID를 획득하는 단계를 포함한다.According to another aspect of the present invention, there is provided an integrated point issuing method for providing an integrated point service, the method comprising: (a) an exchange rate XEA between point A and an integrated point managed by a point distributor; In a state in which a first representative hash value generated from a first specific hash value that is a confirmation transaction or a hash value of a processed value thereof, or a processed value of the first representative hash value is recorded in a second blockchain database, If a issuance transaction TrxA including a public key CPubA of the point distributor or a processed value thereof and an issue amount UPCA that is an integration point of the point distributor is obtained from a point management server managing an integration point service, a supporting server determines that the issuing transaction is made. Validate the TrxA or allow other devices linked to the support server to verify step; (b) if the issuing transaction TrxA is valid, the supporting server records the valid issuing transaction TrxA or a processed value in a first blockchain database or enables the other device to record it; And (c) if the anchoring condition is satisfied, the support server hashes together at least one neighboring hash value that matches a valid second transaction value, which is a hash value of the issued transaction TrxA or a truncated value thereof. Support to record or record the second representative hash value or the processed second representative hash value in a second blockchain database, wherein the second representative hash value or the processed second representative hash value is the second representative hash value. And obtaining an issuing transaction ID, which is location information recorded in the two blockchain database.
본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법이 제공되는바, 그 방법은, (a) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 분배 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (b) 상기 분배 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 ID를 획득하는 단계를 포함한다.According to yet another aspect of the present invention, there is provided an integrated point distribution method for providing an integrated point service, the method comprising: (a) an issuance transaction or a processed value including an issuance amount UPCA, which is an integrated point of a point distributor; The public key PubUA or the user's public key in the state in which the first representative hash value generated from the first specific hash value which is the hash value of or the processed value of the first representative hash value is recorded in the second blockchain database. When the distributed transaction TrxA including the value and the user's integration point UPUA is obtained, supporting the server to verify the validity of the distributed transaction TrxA or allow another device linked to the support server to verify the distributed transaction TrxA; (b) if the distributed transaction TrxA is valid, the supporting server records the valid distributed transaction TrxA or a processed value in a first blockchain database or enables the other device to record it; And (c) if the anchoring condition is satisfied, the support server hashes together at least one neighboring hash value that matches the second specific hash value that is a hash value of the valid distributed transaction TrxA or the truncated value. Support to record or record the second representative hash value or the processed second representative hash value in a second blockchain database, wherein the second representative hash value or the processed second representative hash value is the second representative hash value. Obtaining a distributed transaction ID, which is location information recorded in a two blockchain database.
본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법이 제공되는바, 그 방법은, (a) 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 사용자에게 재화 또는 용역을 제공하는 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 사용 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (b) 상기 사용 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 ID를 획득하는 단계를 포함한다.According to yet another aspect of the present invention, there is provided a method of using an integration point for providing an integration point service, the method comprising: (a) a hash value of a distributed transaction or a value that comprises the user's integration point UPUA; The disclosure of a seller providing goods or services to the user while the first representative hash value generated from the first specific hash value or the processed value of the first representative hash value is recorded in the second blockchain database. When the usage transaction TrxA including the key MPubA or the processed value thereof and the user's integration point UPUA is obtained, the support server may verify the validity of the usage transaction TrxA or allow another device linked to the support server to verify it. Supporting; (b) if the usage transaction TrxA is valid, the supporting server records the valid usage transaction TrxA or a processed value in a first blockchain database or enables the other device to record; And (c) if the anchoring condition is met, the support server hashes together at least one neighboring hash value that matches the second specific hash value that is a valid hash value of the valid transaction TrxA or the truncated value. Support to record or record the second representative hash value or the processed second representative hash value in a second blockchain database, wherein the second representative hash value or the processed second representative hash value is the second representative hash value. And obtaining a usage transaction ID, which is location information recorded in the 2 blockchain database.
본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법이 제공되는바, 그 방법은, (a) (i) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 (ii) 사용자에게 재화 또는 용역을 제공하는 판매자에게 전달된 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션, 또는 상기 발행 트랜잭션 또는 상기 사용 트랜잭션을 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 환급 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (b) 상기 환급 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 ID를 획득하는 단계를 포함한다.According to another aspect of the present invention, there is provided an integrated point refund method for providing an integrated point service, the method comprising: (a) (i) an issuance transaction comprising an issue amount UPCA, which is an integrated point of a point distributor; ii) generated from a first specific hash value which is a usage transaction comprising the user's integration point UPUA delivered to the seller providing the goods or services to the user, or a hash value of the processing of the issuing transaction or the usage transaction. The public key PubPS of the point management server or the processed value thereof, and the point distributor or the seller, in a state where the first representative hash value or the processed value of the first representative hash value is recorded in the second blockchain database. If a refund transaction TrxA including an integration point UPMA of is obtained, the support server validates the refund transaction TrxA. Verifying sex or supporting another device linked to the support server to verify the sex; (b) if the refund transaction TrxA is valid, the support server records the valid refund transaction TrxA or a processed value in a first blockchain database or causes the other device to record it; And (c) if the anchoring condition is satisfied, the support server hashes together the at least one neighboring hash value that matches the second specific hash value that is a hash value of the valid refund transaction TrxA or the truncated value. Support to record or record the second representative hash value or the processed second representative hash value in a second blockchain database, wherein the second representative hash value or the processed second representative hash value is the second representative hash value. And obtaining a refund transaction ID which is location information recorded in the 2 blockchain database.
또한, 본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록을 수행하는 지원 서버가 제공되는 바, 그 서버는, (i) 상기 포인트 유통자의 서버인 포인트 유통자 서버로부터, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값 및 상기 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 등록 트랜잭션 TrxA 및 (ii) 상기 포인트 관리 서버로부터, 상기 포인트 유통자 서버의 공개키 CPubA 또는 이를 가공한 값 및 상기 교환 비율 XEA을 포함하는 확인 트랜잭션 TrxB 중 적어도 하나를 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 (i) 상기 등록 트랜잭션 TrxA이 상기 포인트 유통자의 서버인 포인트 유통자 서버로부터 획득되는 검증조건, 및 (ii) 상기 확인 트랜잭션 TrxB이 상기 포인트 관리 서버로부터 획득되는 검증조건 중 적어도 하나를 만족하면, 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 적어도 하나의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, 상기 프로세서는, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 유효하면, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, anchoring 조건이 만족되면, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값의 해시값인 특정 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 확인 트랜잭션 ID를 획득하는 것을 특징으로 한다.Further, according to another aspect of the present invention, there is provided a support server for registering a point distributor and an exchange rate for providing an integrated point service, the server comprising: (i) a point which is a server of the point distributor; A registration transaction TrxA including a public key PubPS of the point management server managing the integrated point service or a value thereof and a exchange rate XEA between the point A and the integrated point managed by the point distributor; (ii) a communication unit for obtaining at least one of the public key CPubA of the point distributor server or a processed value thereof and a confirmation transaction TrxB including the exchange rate XEA from the point management server, or for allowing another device to obtain; And (i) a verification condition obtained from the point distributor server that the registration transaction TrxA is a server of the point distributor, and (ii) a verification condition obtained from the point management server. And a processor for validating at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB or for enabling another device to be linked to the support server, wherein the processor includes the registration transaction TrxA and the confirmation transaction. If the at least one of TrxB is valid, at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof, is recorded in the first blockchain database or the other device records the anchoring condition; If is satisfied, the above valid registration track The at least one neighbor hash value matching the at least one of the transaction TrxA and the confirmation transaction TrxB, or a hash value of a processed value thereof, wherein the neighbor hash value is determined by (i) a specific point distributor. A hash value of a specific registration transaction comprising a specific exchange rate XEX between a managed specific point X and the integration point, (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX, (iii) the specific point distribution The public key CPubX of the child or a value thereof, and a hash value of a specific issuance transaction including a specific issue amount UPCX which is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or a value thereof, and the specific value A hash value of a distributed transaction that includes the user's integration point UPUA, (v) a particular edition that provides the goods or services to that particular user The public key MPubA of the subscriber or a value thereof, and a hash value of a usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or a value thereof, and the specific point A representative hash value generated by hashing together a distributor or a hash value of a refund transaction including an integrated point UPMA of the specific seller, or a processed value of the representative hash value is recorded in a second blockchain database; And supporting the other device to record, and acquiring a confirmation transaction ID, wherein the representative hash value or the processed value of the representative hash value is position information recorded in the second blockchain database.
또한, 본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행을 수행하는 지원 서버가 제공되는 바, 그 서버는, 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 확인 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버로부터 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, 및 상기 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 상기 발행 트랜잭션 TrxA이 획득되면, 상기 발행 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, 상기 프로세서는, 상기 발행 트랜잭션 TrxA이 유효하면, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, anchoring 조건이 만족되면, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 ID를 획득하는 것을 특징으로 한다.In addition, according to another aspect of the present invention, there is provided a support server for performing integration point issuance for providing integration point service, the server exchanging between the point A managed by the point distributor and the integration point. The first representative hash value generated from the confirmation transaction including the ratio XEA or the first specific hash value that is the hash value of the processed value or the processed first representative hash value is recorded in the second blockchain database. In the state, the issuing transaction TrxA including the point distributor's public key CPubA or the processed value thereof and the issue amount UPCA which is the integration point of the point distributor is acquired from the point management server managing the integration point service, or other device A communication unit to assist in obtaining; And a processor which, when the issuing transaction TrxA is obtained, verifies the validity of the issuing transaction TrxA or enables another device interoperating with the support server to verify, wherein the processor is valid if the issuing transaction TrxA is valid. Record the issued transaction TrxA or its processed value in a first blockchain database or allow the other device to record, and if the anchoring condition is satisfied, a second hash value of the valid issued transaction TrxA or its processed value; At least one neighboring hash value that matches a particular hash value-the neighboring hash value of (i) a particular registered transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a particular point distributor. A hash value, (ii) a specific confirmation transaction comprising the specific exchange rate XEX A hash value of a specific issuing transaction including a hash value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key of the specific user A hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user, (v) a public key MPubA of the particular seller providing the goods or services to the specific user, or a processed value thereof; and A hash value of a usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or the processed value thereof, and the integration point UPMA of the specific point distributor or the specific seller; A second representative hash value generated by hashing together one of the hash values of the refund transaction, or the second value. Support to record or record the processed table hash value in the second blockchain database, and the position information in which the second representative hash value or the processed second representative hash value is recorded in the second blockchain database. It is characterized in that the acquisition transaction ID is obtained.
또한, 본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배를 수행하는 지원 서버가 제공되는 바, 그 서버는, 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 상기 분배 트랜잭션 TrxA이 획득되면, 상기 분배 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, 상기 프로세서는, 상기 분배 트랜잭션 TrxA이 유효하면, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, anchoring 조건이 만족되면, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 ID를 획득하는 것을 특징으로 한다.In addition, according to another aspect of the present invention, there is provided a support server for performing integration point distribution for providing an integrated point service, which server is an issuing transaction comprising an issue amount UPCA, which is an integration point of a point distributor, or The user's public key PubUA or the first representative hash value generated from the first specific hash value which is the hash value of the processed value or the processed value of the first representative hash value is recorded in the second blockchain database. A communication unit for acquiring a distributed transaction TrxA including the processed value and the user's integration point UPUA or for allowing another device to acquire the distributed transaction TrxA; And a processor which, when the distributed transaction TrxA is obtained, verifies the validity of the distributed transaction TrxA or assists another device to interoperate with the support server, wherein the processor is valid if the distributed transaction TrxA is valid. Recording the distributed transaction TrxA or its processed value in a first blockchain database or allowing the other device to record, and if the anchoring condition is satisfied, a second hash value of the valid distributed transaction TrxA or its processed value; At least one neighboring hash value that matches a particular hash value-the neighboring hash value of (i) a particular registered transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a particular point distributor. A hash value, (ii) a specific confirmation transaction comprising the specific exchange rate XEX A hash value of a specific issuing transaction including a hash value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key of the specific user A hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user, (v) a public key MPubA of the particular seller providing the goods or services to the specific user, or a processed value thereof; and A hash value of the usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or the processed value thereof, and the integration point UPMA of the specific point distributor or the specific seller; A second representative hash value or a second representative generated by hashing together any one of the hash values of the refund transaction. Support to record or record the processed time value in the second blockchain database, wherein the second representative hash value or the value of the processed second representative hash value is position information recorded in the second blockchain database. And obtaining a transaction ID.
또한, 본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용을 수행하는 지원 서버가 제공되는 바, 그 서버는, 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 사용자에게 재화 또는 용역을 제공하는 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 상기 사용 트랜잭션 TrxA이 획득되면, 상기 사용 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, 상기 프로세서는, 상기 사용 트랜잭션 TrxA이 유효하면, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, anchoring 조건이 만족되면, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 ID를 획득하는 것을 특징으로 한다.In addition, according to another aspect of the present invention, there is provided a support server for performing the use of the integration point to provide the integration point service, the server is a distributed transaction including the user's integration point UPUA or a value that processed it A first representative hash value generated from a first specific hash value, which is a hash value of, or a value obtained by processing the first representative hash value is recorded in a second blockchain database, and provides goods or services to the user. A communication unit for acquiring a usage transaction TrxA including a seller's public key MPubA or a processed value thereof, and an integration point UPUA of the user, or for allowing another device to acquire the transaction; And a processor that, when the usage transaction TrxA is obtained, verifies the validity of the usage transaction TrxA or enables another device interoperating with the support server to verify, wherein the processor is valid if the usage transaction TrxA is valid. A second value which is a hash value of the valid usage transaction TrxA or the processed value if the usage transaction TrxA or the processed value is recorded in the first blockchain database or the other device is supported to be recorded and the anchoring condition is satisfied. At least one neighboring hash value that matches a particular hash value-the neighboring hash value of (i) a particular registered transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a particular point distributor. A hash value, (ii) a specific confirmation transaction comprising the specific exchange rate XEX A hash value of a specific issuing transaction including a hash value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key of the specific user A hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user, (v) a public key MPubA of the particular seller providing the goods or services to the specific user, or a processed value thereof; and A hash value of the usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or the processed value thereof, and the integration point UPMA of the specific point distributor or the specific seller; A second representative hash value or a second representative generated by hashing together any one of the hash values of the refund transaction. Support to record or record the processed time value in the second blockchain database, and use the second representative hash value or the value of the processed second representative hash value as the location information recorded in the second blockchain database. And obtaining a transaction ID.
또한, 본 발명의 또 다른 태양에 따르면, 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급을 수행하는 지원 서버가 제공되는 바, 그 서버는, (i) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 (ii) 사용자에게 재화 또는 용역을 제공하는 판매자에게 전달된 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션, 또는 상기 발행 트랜잭션 또는 상기 사용 트랜잭션을 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 상기 환급 트랜잭션 TrxA이 획득되면, 상기 환급 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, 상기 프로세서는, 상기 환급 트랜잭션 TrxA이 유효하면, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, anchoring 조건이 만족되면, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 ID를 획득하는 것을 특징으로 한다.In addition, according to another aspect of the present invention, there is provided a support server for performing an integrated point refund for providing an integrated point service, the server comprising: (i) an issue comprising an issue amount UPCA, which is an integrated point of a point distributor; A first specific hash value, which is a hash value of a transaction or (ii) a transaction of use comprising the user's integration point UPUA delivered to the seller providing the goods or services to the user, or the value of processing the issuing transaction or the transaction of use; A public key PubPS of the point management server or a value obtained by processing the first representative hash value or a value obtained by processing the first representative hash value in a second blockchain database, and the point distributor Or acquire a refund transaction TrxA including the seller's integration point UPMA or allow the other device to Support to the communication; And a processor which, when the refund transaction TrxA is obtained, verifies the validity of the refund transaction TrxA or enables another device interworking with the support server to verify, wherein the processor is valid if the refund transaction TrxA is valid. Record the refund transaction TrxA or its processed value in the first blockchain database or allow the other device to record, and if the anchoring condition is satisfied, a second hash value of the valid refund transaction TrxA or the processed value thereof; At least one neighboring hash value that matches a particular hash value-the neighboring hash value of (i) a particular registered transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a particular point distributor. A hash value, (ii) a specific confirmation transaction comprising the specific exchange rate XEX A hash value of a specific issuing transaction including a hash value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key of the specific user A hash value of a distributed transaction comprising a PubUA or a processed value thereof, and an integration point UPUA of the specific user, (v) a public key MPubA of the particular seller providing the goods or services to the specific user, or a processed value thereof; and A hash value of a usage transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or the processed value thereof, and the integration point UPMA of the specific point distributor or the specific seller; A second representative hash value generated by hashing together one of the hash values of the refund transaction, or the second value. Support to record or record the processed table hash value in the second blockchain database, and the position information in which the second representative hash value or the processed second representative hash value is recorded in the second blockchain database. It is characterized by obtaining a refund transaction ID.
본 발명에 의하면, 다음과 같은 효과가 있다.According to the present invention, the following effects are obtained.
본 발명은 가상 화폐의 블록체인에 포인트 관련 트랜잭션을 등록하여 무단 복제 또는 위변작이 불가능하도록 하여 포인트 유통 시스템의 신뢰성 및 보안성을 향상시킬 수 있다.The present invention can improve the reliability and security of the point distribution system by registering a point-related transaction in the blockchain of the virtual currency to prevent unauthorized copying or forgery.
이를 위하여 본 발명은 포인트의 발행, 분배 및 사용 등에 참여하는 모든 엔티티(entity)들이 암호학적으로 유효한 공개키-개인키 쌍(예컨대, RSA, ECC), 해시 함수 등의 암호화 기술을 이용하게 함으로써 보안이 보장되고 위변작이 불가능해진다.To this end, the present invention provides security by allowing all entities participating in the issuance, distribution, and use of points to use cryptographic techniques such as cryptographically valid public key-private key pairs (eg, RSA, ECC), hash functions, etc. This is guaranteed and forgery is impossible.
또한, 본 발명은 가상 화폐의 블록체인에 개별 포인트와 통합 포인트 간의 연계 및 변환에 관한 트랜잭션을 기록하게 함으로써 포인트의 통합 관리 및 개별 관리를 용이하게 함과 동시에 중복 발행 등의 문제점을 미연에 방지할 수 있어 포인트 유통 시스템의 신뢰성 및 보안성을 향상시킬 수 있다.In addition, the present invention facilitates the integrated management and individual management of points, and at the same time to prevent problems such as duplicate issuance by recording a transaction about the association and conversion between individual points and integration points in the blockchain of the virtual currency. This can improve the reliability and security of the point distribution system.
도 1은 본 발명의 일 실시예에 따라 통합 포인트 서비스를 제공하기 위한 지원 서버를 개략적으로 도시한 개념도이다.1 is a conceptual diagram schematically illustrating a support server for providing an integrated point service according to an embodiment of the present invention.
도 2는 본 발명의 제1 내지 제4 실시예에 따라 포인트 유통자 및 교환 비율을 등록하는 방법을 개략적으로 도시한 시퀀스 다이어그램(sequence diagram)이다.2 is a sequence diagram schematically illustrating a method for registering point distributors and exchange rates according to the first to fourth embodiments of the present invention.
도 3은 본 발명의 제1 내지 제4 실시예에 따라 통합 포인트를 발행하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다.3 is a sequence diagram schematically illustrating a method for issuing an integration point according to the first to fourth embodiments of the present invention.
도 4는 본 발명의 제1 내지 제4 실시예에 따라 통합 포인트를 분배하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다.4 is a sequence diagram schematically illustrating a method for distributing integration points according to the first to fourth embodiments of the present invention.
도 5는 본 발명의 제1 내지 제4 실시예에 따라 통합 포인트를 사용하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다.5 is a sequence diagram schematically illustrating a method of using integration points according to the first to fourth embodiments of the present invention.
도 6은 본 발명의 제1 내지 제4 실시예에 따라 통합 포인트를 환급하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다.6 is a sequence diagram schematically illustrating a method for refunding an integration point according to the first to fourth embodiments of the present invention.
도 7과 도 8은 본 발명의 제2 및 제4 실시예에 따라 포인트 관련 트랜잭션이 제2 블록체인 데이터베이스에 기록되는 과정을 개략적으로 도시한 개념도이다.7 and 8 are conceptual views schematically illustrating a process of recording a point related transaction in a second blockchain database according to the second and fourth embodiments of the present invention.
도 9는 본 발명의 제4 실시예에 따라 포인트 관련 트랜잭션이 제2 블록체인 데이터베이스에 기록되는 과정을 개략적으로 도시한 개념도이다.9 is a conceptual diagram schematically illustrating a process of recording a point related transaction in a second blockchain database according to a fourth embodiment of the present invention.
도 10은 본 발명의 제3 및 제4 실시예에 따라 밸런스 데이터베이스에 기록되는 정보를 개략적으로 도시하는 도면이다.10 is a diagram schematically showing information recorded in a balance database according to the third and fourth embodiments of the present invention.
도 11은 본 발명의 제3 및 제4 실시예에 따른 밸런스 데이터베이스의 변경사항(delta_n)을 개략적으로 도시하는 도면이다.11 is a diagram schematically showing a change delta_n of a balance database according to the third and fourth embodiments of the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. DETAILED DESCRIPTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced to clarify the objects, technical solutions and advantages of the invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention.
본 명세서에서 "퍼블릭 블록체인 데이터베이스"라고 함은, 가상 화폐의 블록체인으로서 공중에 널리 이용되고 있는 블록체인인 퍼블릭 블록체인을 관장하는 가상 화폐 시스템 상의 모든 컴퓨팅 장치들을 데이터베이스로서 활용하는 것을 지칭하는바, 본 발명에 따른 지원 서버가 이에 접근 가능하다.As used herein, the term "public blockchain database" refers to utilizing all computing devices on a virtual currency system that manages the blockchain public blockchain, which is widely used in the public as a blockchain of virtual currency, as a database. The support server according to the invention is accessible to this.
또한, 본 명세서에서 "프라이빗 블록체인 데이터베이스"라고 함은, 가상 화폐의 블록체인을 이용하되, 상기 공중에 이용되는 퍼블릭 블록체인이 아닌 본 발명에 따른 지원 서버가 직접 관리하는 이른바, 독자 구성된 프라이빗 블록체인을 이용하는 데이터베이스를 지칭한다.In addition, in the present specification, the term "private blockchain database" refers to a so-called, privately configured private block that is directly managed by a support server according to the present invention, which uses a blockchain of virtual currency, but is not a public blockchain used in the air. Refers to a database using a chain.
또한, 본 명세서에서 "TRIGGERING CONDITION" 또는 "TRIGGERING CONDITIONS"라 함은 ANCHORING CONDITION 또는 ANCHORING CONDITIONS를 지칭하며, 반대 또한 성립한다.In addition, the term "TRIGGERING CONDITION" or "TRIGGERING CONDITIONS" herein refers to ANCHORING CONDITION or ANCHORING CONDITIONS, and vice versa.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, ‘포함하다’라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.Moreover, throughout the description and claims of the present invention, the word "comprises" and variations thereof are not intended to exclude other technical features, additives, components or steps. Other objects, advantages and features of the present invention will become apparent to those skilled in the art, in part from this description and in part from the practice of the invention. The following examples and drawings are provided by way of illustration and are not intended to limit the invention.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. Moreover, the present invention encompasses all possible combinations of the embodiments indicated herein. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.
본 발명의 제1 실시예는, 가상 화폐의 UTXO(unspent transaction output)를 이용하되, 그 UTXO에 관한 개별 트랜잭션을 소정의 블록체인 데이터베이스에 기록하는 방식으로 구성되는 실시예(UTXO 방식)이다. The first embodiment of the present invention is an embodiment (UTXO method) configured by using an unspent transaction output (UTXO) of virtual currency and recording individual transactions related to the UTXO in a predetermined blockchain database.
본 발명의 제2 실시예는, 가상 화폐의 UTXO를 이용하여, 그 UTXO에 관한 개별 트랜잭션을 제1 블록체인 데이터베이스에 기록한 후, 그 제1 블록체인 데이터베이스에 기록된 트랜잭션들로부터 생성되는 대표 해시값을 제2 블록체인 데이터베이스에 기록함으로써 이중으로 기록의 무결성을 도모하는 앵커링(anchoring) 방식으로 구성되는 실시예(UTXO 및 앵커링 방식)이다.The second embodiment of the present invention uses a UTXO of virtual currency to record an individual transaction related to the UTXO in a first blockchain database, and then generate a representative hash value generated from the transactions recorded in the first blockchain database. Is an embodiment (UTXO and anchoring method) that is configured in an anchoring manner to promote the integrity of the recording by recording the data in a second blockchain database.
본 발명의 제3 실시예는, 가상 화폐의 트랜잭션에 의하여 변경되는 밸런스(balance)를 관리하기 위한 밸런스 데이터베이스(BDB; balance database)를 이용하되, 개별 트랜잭션을 소정의 블록체인 데이터베이스에 기록하고, 밸런스의 변경 사항은 밸런스 데이터베이스에 기록하는 방식(account 방식)으로 구성되는 실시예이다.The third embodiment of the present invention uses a balance database (BDB) for managing a balance changed by transactions of virtual currency, and records individual transactions in a predetermined blockchain database and balances the balance. The change of is an embodiment configured in a manner (account method) to record in the balance database.
본 발명의 제4 실시예는, 가상 화폐의 트랜잭션에 의하여 변경되는 밸런스(balance)를 관리하기 위한 밸런스 데이터베이스를 이용하여 개별 트랜잭션을 제1 블록체인 데이터베이스에 기록하고, 밸런스의 변경 사항을 밸런스 데이터베이스에 기록한 후, 그 제1 블록체인 데이터베이스에 기록된 트랜잭션 및 밸런스 데이터베이스에 기록된 밸런스의 변경 사항들로부터 생성되는 대표 해시값을 제2 블록체인 데이터베이스에 기록함으로써 이중으로 기록의 무결성을 도모하는 앵커링 방식으로 구성되는 실시예(account 및 앵커링 방식)이다.In a fourth embodiment of the present invention, an individual transaction is recorded in the first blockchain database using a balance database for managing a balance changed by a transaction of virtual currency, and the changes of the balance are recorded in the balance database. After recording, in the anchoring method of double record integrity by recording a representative hash value generated from transactions recorded in the first blockchain database and changes in balance recorded in the balance database to the second blockchain database. Configured embodiments (account and anchoring scheme).
참고로, 본 발명에서 상기 제1 블록체인 데이터베이스가 데이터가 직접 기록되는 블록체인 데이터베이스라고 한다면, 상기 제2 블록체인 데이터베이스는 데이터의 무결성을 위하여 상기 제1 블록체인 데이터베이스를 거쳐 간접적으로 기록되는 블록체인 데이터베이스라고 할 수 있다.For reference, in the present invention, if the first blockchain database is a blockchain database in which data is directly recorded, the second blockchain database is a blockchain that is indirectly recorded through the first blockchain database for data integrity. It's a database.
한편, 상기 제1 실시예 및 제3 실시예에서는 위 소정의 블록체인 데이터베이스가 제1 블록체인 데이터베이스일 수도 있고 제2 블록체인 데이터베이스일 수도 있는데, 후자의 경우에는 먼저 제1 블록체인 데이터베이스에 트랜잭션이 기록되고, 상기 제1 블록체인 데이터베이스에 기록된 내용이 상기 제2 블록체인 데이터베이스에 기록되는 경우를 상정할 수도 있다.Meanwhile, in the first and third embodiments, the predetermined blockchain database may be a first blockchain database or a second blockchain database. In the latter case, a transaction is first established in the first blockchain database. It may be assumed that the contents recorded in the first blockchain database are recorded and recorded in the second blockchain database.
또한, 상기 제2 실시예 및 제4 실시예에서 상기 제2 블록체인 데이터베이스는 제1 블록체인 데이터베이스에 기록된 데이터 또는 그 기록된 데이터로부터 가공된 값을 추가로 저장하는 역할을 통하여 추후 제1 블록체인 데이터베이스에 저장된 데이터에 대한 무결성의 검증, 이른바 감사(audit)를 수행하기 위한 것인바, 제2 블록체인 데이터베이스는 UTXO 방식에 의하여 운용되는 것이든 account 방식에 의하여 운용되는 것이든 무방하다.Further, in the second and fourth embodiments, the second blockchain database further stores the first block through a role of additionally storing data recorded in the first blockchain database or a value processed from the recorded data. In order to perform the integrity verification, so-called audit of the data stored in the chain database, the second blockchain database may be operated by the UTXO method or the account method.
본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Unless otherwise indicated herein or clearly contradicted by context, an item referred to in the singular encompasses the plural unless the context otherwise requires. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement the present invention.
도 1은 본 발명의 일 실시예에 따라 통합 포인트 서비스를 제공하기 위한 지원 서버를 개략적으로 도시한 개념도이다.1 is a conceptual diagram schematically illustrating a support server for providing an integrated point service according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 지원 서버는 통신부(110) 및 프로세서(120)를 포함하는 컴퓨팅 장치(100)일 수 있으며, 포인트 관리 서버, 포인트 유통자 서버, 사용자 단말 및 판매자 단말과 간접 또는 직접적으로 통신할 수 있다. 지원 서버, 포인트 관리 서버, 포인트 유통자 서버, 사용자 단말 및 판매자 단말들은 전형적으로 컴퓨터 장치(100)일 수 있다.Referring to FIG. 1, the support server according to an embodiment of the present invention may be a computing device 100 including a communication unit 110 and a processor 120, and a point management server, a point distributor server, a user terminal, and the like. It may communicate indirectly or directly with the seller terminal. The support server, point management server, point distributor server, user terminal and merchant terminal may typically be the computer device 100.
구체적으로, 지원 서버, 포인트 관리 서버, 포인트 유통자 서버, 사용자 단말 및 판매자 단말은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다. Specifically, support servers, point management servers, point distributor servers, user terminals, and merchant terminals typically employ computing devices (eg, computer processors, memory, storage, input and output devices, and other components of conventional computing devices). Devices that may include; electronic communication devices such as routers, switches, etc .; electronic information storage systems such as network attached storage (NAS) and storage area network (SAN); and computer software (ie, computing devices to function in certain ways). Using a combination of instructions) to achieve the desired system performance.
이와 같은 컴퓨팅 장치의 통신부(110)는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다. The communication unit 110 of the computing device may transmit and receive a request and a response with another computing device to which the computing device is linked. For example, the request and response may be made by the same TCP session, but are not limited thereto. For example, it may be transmitted and received as a UDP datagram.
또한 컴퓨팅 장치의 프로세서(120)는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor 120 of the computing device may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, a data bus, and the like. In addition, the operating system may further include a software configuration of an application performing a specific purpose.
제1 실시예First embodiment
이제 본 발명에 따라 통합 포인트 서비스를 제공하는 방법을 제1 실시예부터 설명하기로 한다.Now, a method of providing an integrated point service according to the present invention will be described from the first embodiment.
도 2는 본 발명에 따라 포인트 유통자 및 교환 비율을 등록하는 방법을 개략적으로 도시한 시퀀스 다이어그램(sequence diagram)이다.2 is a sequence diagram schematically illustrating a method for registering point distributors and exchange rates in accordance with the present invention.
도 2를 참조하면, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법은, (i) 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값 및 상기 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 등록 트랜잭션 TrxA이 상기 포인트 유통자의 서버인 포인트 유통자 서버로부터 획득되는 검증조건, 및 (ii) 상기 포인트 유통자 서버의 공개키 CPubA 또는 이를 가공한 값 및 상기 교환 비율 XEA을 포함하는 확인 트랜잭션 TrxB이 상기 포인트 관리 서버로부터 획득되는 검증조건 중 적어도 하나를 만족하면, 지원 서버가, 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 적어도 하나의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S220; S240)를 포함한다. Referring to FIG. 2, a method of registering a point distributor and an exchange rate for providing an integrated point service according to the first embodiment of the present invention includes: (i) a public key PubPS of a point management server managing the integrated point service; Or a verification condition that a registration transaction TrxA including an exchange rate XEA between a point A and an integrated point managed by the point distributor is obtained from a point distributor server that is the server of the point distributor, and (ii If the acknowledgment transaction TrxB including the public key CPubA of the point distributor server or the processed value thereof and the exchange rate XEA satisfies at least one of verification conditions obtained from the point management server, the support server acquires the acquired server. At least one of a registration transaction TrxA and the confirmation transaction TrxB is validated or sent to the support server. And supporting other devices to be linked (S220; S240).
여기에서 "포인트 관리 서버"는 통합 포인트를 생성하고 관리하는 통합 포인트 관리 주체가 운용하는 서버를 지칭하며, "포인트 유통자 서버"는 통합 포인트와 상호 변환되는 개별 포인트를 유통하고 관리하는 개별 포인트 유통자가 운용하는 서버를 지칭한다. 포인트 관리 서버는 통합 포인트를 발행하는 기능을 수행하며, 포인트 유통자 서버는 통합 포인트로부터 교환된 개별 포인트를 사용자들 간에 분배하고 이를 이용하게 하도록 지원하는 기능을 수행한다.Here, "point management server" refers to a server operated by an integrated point management entity that creates and manages integration points, and "point distributor server" refers to an individual point distribution that distributes and manages individual points that are converted to integration points. Refers to a server that is operated by itself. The point management server performs the function of issuing integration points, and the point distributor server performs the function of distributing individual points exchanged from the integration points among users and making them available.
또한, "등록 트랜잭션"이란 (i) 포인트 관리 서버를 식별할 수 있는 값인 상기 포인트 관리 서버의 공개키 및 (ii) 상기 통합 포인트와 개별 포인트 간의 교환 비율을 포함하는 트랜잭션으로서, 상기 포인트 관리 서버에 의한 통합 포인트를 발행 받을 개별 포인트를 유통하는 주체인 포인트 유통자로부터 획득되어 상기 지원 서버가 상기 포인트 유통자 및 그 고유한 상기 교환 비율을 등록하는 기능을 하게 하는 트랜잭션이다.In addition, a "registration transaction" is a transaction comprising (i) the public key of the point management server, which is a value that can identify the point management server, and (ii) the exchange rate between the integration point and the individual point, It is a transaction that is obtained from a point distributor, which is a subject that distributes individual points to be issued an integration point, so that the support server functions to register the point distributor and its unique exchange rate.
그리고 "확인 트랜잭션"이란 (i) 등록시키고자 하는 포인트 유통자의 공개키 및 (ii) 상기 통합 포인트와 상기 개별 포인트 간의 교환 비율을 포함하는 트랜잭션으로서, 포인트 관리 서버의 운영 주체로부터 획득되어 상기 지원 서버가 상기 포인트 유통자 및 그 고유한 상기 교환 비율을 확인 내지 승인하는 기능을 하게 하는 트랜잭션이다.And "confirmed transaction" is a transaction comprising (i) the public key of the point distributor to be registered and (ii) the exchange rate between the integration point and the individual point, which is obtained from an operating entity of a point management server and is supported by the support server. Is a transaction allowing the point distributor and its unique rate of exchange to be verified or approved.
이와 같은 등록 트랜잭션과 확인 트랜잭션의 쌍은 포인트 관리 서버, 포인트 유통자 서버, 및 그 사이의 교환 비율을 확정하는 목적을 가진다.This pair of registration and confirmation transactions has the purpose of determining the point management server, the point distributor server, and the exchange rate therebetween.
제1 실시예에서, 상기 등록 트랜잭션 TrxA은, 상기 교환 비율 XEA, 상기 교환 비율 XEA을 상기 포인트 유통자의 개인키 CPrivA로 서명한 값인 교환 비율 포인트 유통자 서명값 SigCPrivA(XEA), 및 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값을 포함할 수 있다. In the first embodiment, the registration transaction TrxA is the exchange rate XEA, the exchange rate point distributor signature value SigCPrivA (XEA), which is a value obtained by signing the exchange rate XEA with the private key CPrivA of the point distributor. It may include a public key CPubA or a processed value thereof.
상기 단계(S220)는 상기 교환 비율 포인트 유통자 서명값 SigCPrivA(XEA) 및 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값을 이용하여, 상기 등록 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 할 수도 있다. The step S220 may be characterized in that the validity of the registration transaction TrxA is verified using the exchange rate point distributor signature value SigCPrivA (XEA) and the point distributor's public key CPubA or a processed value thereof. .
이 경우, 상기 교환 비율 포인트 유통자 서명값 SigCPrivA(XEA)에 상기 포인트 유통자의 공개키 CPubA를 이용하여 상기 교환 비율 포인트 유통자 서명값으로부터 소정의 해쉬값을 얻을 수 있으며, 이 해쉬값과 상기 교환 비율 XEA에 소정의 해쉬 함수를 적용하여 얻은 결과값을 비교함으로써 서명의 유효성을 검증할 수 있다. 이와 같은 비교에서 상기 해시값과 상기 소정의 해시 함수를 적용하여 얻은 결과값이 상이하면 서명이 무효이고 동일하면 서명이 유효한 것은 이미 통상의 기술자에게 잘 알려진 바와 같은바, 통상의 기술자는 서명(여기에서는 전자 서명)의 유효성을 검증하는 방법을 잘 알 수 있을 것이다.In this case, a predetermined hash value can be obtained from the exchange rate point distributor signature value using the point distributor's public key CPubA in the exchange rate point distributor signature value SigCPrivA (XEA), and this hash value and the exchange The validity of the signature can be verified by comparing the result obtained by applying a predetermined hash function to the ratio XEA. In such a comparison, the signature is invalid if the hash value and the result obtained by applying the predetermined hash function are different, and if the signature is the same, it is well known to a person skilled in the art. You will see how to validate digital signatures.
제1 실시예에서, 상기 확인 트랜잭션 TrxB은, 상기 교환 비율 XEA, 상기 교환 비율 XEA을 상기 포인트 관리 서버의 개인키 PrivPS로 서명한 값인 교환 비율 서버 서명값 SigPrivPS(XEA), 및 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값을 포함할 수 있다. 이 실시예에서 상기 단계(S240)는 상기 교환 비율 서버 서명값 SigPrivPS(XEA) 및 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값을 이용하여, 상기 확인 트랜잭션 TrxB의 유효성이 검증되는 것을 특징으로 할 수 있다. In the first embodiment, the acknowledgment transaction TrxB is an exchange rate server signature value SigPrivPS (XEA) which is a value obtained by signing the exchange rate XEA, the exchange rate XEA with the private key PrivPS of the point management server, and the point management server. It may include the public key PubPS or a processed value. In this embodiment, the step S240 is characterized in that the validity of the confirmation transaction TrxB is verified using the exchange rate server signature value SigPrivPS (XEA) and the public key PubPS of the point management server or a processed value thereof. can do.
상기 단계(S220; S240)에서는, 다음 (i) 내지 (iii) 일치조건 중 적어도 하나가 만족되면, 상기 지원 서버가, 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나를 유효한 것으로 검증하거나 상기 타 장치로 하여금 검증하도록 지원할 수 있는바, 그 일치조건들은, (i) 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나에 포함된 상기 교환 비율이 미리 정해져 기록된 소정의 교환 비율과 일치하는 조건, (ii) 획득된 상기 등록 트랜잭션 TrxA에 포함된 상기 교환 비율이 상기 획득된 등록 트랜잭션 TrxA의 이전에 기 기록된 특정 확인 트랜잭션에 포함된 상기 교환 비율과 일치하는 조건 및 (iii) 획득된 상기 확인 트랜잭션 TrxB에 포함된 상기 교환 비율이 상기 획득된 확인 트랜잭션 TrxB의 이전에 기 기록된 특정 등록 트랜잭션에 포함된 상기 교환 비율과 일치하는 조건이다(S230). 도 2에서는 설명의 편의상 단계(S220) 이후 단계(S240) 이전에 상기 (i) 내지 (iii) 일치조건을 판정(S230)하는 것으로 도시되어 있으나, 이는 일반적으로 기재된 상기 설명 내용을 구체화한 하나의 예시에 불과하다는 점이 통상의 기술자에게 이해될 것이다.In step S220 and step S240, if at least one of the following conditions (i) to (iii) is satisfied, the support server verifies that the at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB is valid. Or the other device to verify that the matching conditions are: (i) a predetermined exchange in which the exchange rate included in the at least one of the registered transaction TrxA and the confirmation transaction TrxB is predetermined and recorded. A condition matching a rate, (ii) a condition in which the exchange rate included in the obtained registered transaction TrxA matches the exchange rate included in a previously recorded specific confirmation transaction of the obtained registered transaction TrxA, and (iii (C) the exchange rate included in the obtained acknowledgment transaction TrxB is previously recorded specific of the obtained acknowledgment transaction TrxB. Condition that is consistent with the exchange rate included in the registration transaction (S230). In FIG. 2, for convenience of description, it is illustrated that the matching conditions (i) to (iii) are determined (S230) after step S220 and before step S240, but this is a single embodiment embodying the above description. It will be understood by those skilled in the art that they are only examples.
상기 (i) 일치조건에서 소정의 교환 비율이라고 함은, 예컨대 본원 발명의 시스템 외적으로 포인트 관리 서버의 운영 주체(즉, 통합 포인트 관리자)와 포인트 유통자 서버의 운영 주체(즉, 포인트 유통자)가 합의하여 미리 정해진 교환 비율일 수 있는바, 그 교환 비율은 제1 블록체인 데이터베이스 또는 제2 블록체인 데이터베이스에 미리 기록되어 있을 수 있다. 지원 서버는 그 미리 정해져 기록된 소정의 교환 비율을 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나에 포함된 상기 교환 비율과 비교할 수 있다는 점이 이해될 것이다.(I) The predetermined exchange rate in the matching condition means, for example, the operating agent (ie, integrated point manager) of the point management server and the operating agent (ie, point distributor) of the point distributor server external to the system of the present invention. May be a predetermined exchange rate, the exchange rate may be previously recorded in the first blockchain database or the second blockchain database. It will be appreciated that the support server may compare the predetermined recorded recorded exchange rate with the exchange rate included in the at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB.
또한, 상기 (ii)와 (iii) 일치조건은, 상기 단계(S220; S240)에서 획득된 트랜잭션의 이전에 제1 또는 제2 블록체인 데이터베이스에 기 기록되어 있는 특정 트랜잭션에 포함된 교환 비율을 상기 단계(S220; S240)에서 획득된 트랜잭션에 포함된 교환 비율과 비교하는 프로세스에 대응된다(S230). 이러한 (ii)와 (iii) 일치조건은 등록 트랜잭션의 교환 비율과 대응되는 확인 트랜잭션의 교환 비율이 동일해야 포인트 관리 서버와 포인트 유통자 서버 간의 합의가 이루어진 것이라 볼 수 있기 때문에 요구되는 조건이다.In addition, the (ii) and (iii) the matching condition, the exchange rate included in the specific transaction previously recorded in the first or second blockchain database of the transaction obtained in the step (S220; S240); It corresponds to the process of comparing with the exchange rate included in the transaction obtained in step S220 (S240) (S230). These (ii) and (iii) matching conditions are required because the exchange rate of the registered transaction and the corresponding exchange rate of the confirmation transaction can be regarded as agreement between the point management server and the point distributor server.
한편, 상기 등록 트랜잭션 TrxA 또는 상기 확인 트랜잭션 TrxB이 무효이면, 지원 서버가, 상기 등록 트랜잭션 TrxA 또는 상기 확인 트랜잭션 TrxB이 무효임을 나타내는 등록 실패 응답 메시지를 상기 포인트 유통자 서버 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원할 수도 있다. 이는 포인트 관리 서버와 포인트 유통자 서버 사이에서 포인트 유통 조건, 구체적으로는 교환 비율에 대한 의견 합치가 도출되었는지를 확인하는 단계에 해당한다.On the other hand, if the registration transaction TrxA or the confirmation transaction TrxB is invalid, at least one of the point distributor server and the point management server, the support server sends a registration failure response message indicating that the registration transaction TrxA or the confirmation transaction TrxB is invalid. It may be delivered to or supported by the other device. This corresponds to a step of confirming whether agreement of points distribution conditions, specifically, exchange rates, has been derived between the point management server and the point distributor server.
다시 도 2를 참조하면, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법은, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 유효하면, 상기 지원 서버가, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값을 소정의 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값이 상기 소정의 블록체인 데이터베이스에 기록된 위치 정보인 트랜잭션 ID를 획득하는 단계(S221; S241)를 더 포함한다.Referring back to FIG. 2, in a method of registering a point distributor and an exchange rate for providing an integrated point service according to the first embodiment of the present invention, if the at least one of the registration transaction TrxA and the confirmation transaction TrxB is valid, And support the server to record the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof, in a predetermined blockchain database or cause the other device to record the registration transaction TrxA and The method may further include obtaining a transaction ID (S221; S241) in which the at least one of the confirmation transactions TrxB, or a value obtained by processing the same, is position information recorded in the predetermined blockchain database.
이 단계(S221; S241)에서, 상기 지원 서버는, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 제1 블록체인 데이터베이스에 기록된 내용을 제2 블록체인 데이터베이스로서 기능하는 상기 소정의 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원할 수도 있다.In this step (S221; S241), the support server records the at least one of the registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof in a first blockchain database or enables the other device to record it. In addition, the contents recorded in the first blockchain database may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
상기 단계(S221; S241) 후에, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값이 저장되면, 상기 지원 서버가, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값이 상기 제1 블록체인 데이터베이스에 기록된 위치 정보인 트랜잭션 위치 식별자 PrivTxid를 포함하는 등록 응답 메시지를 상기 포인트 유통자 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 단계(S222a, S222b; S242, S243)가 더 포함될 수도 있다. 이 트랜잭션 위치 식별자는 엔티티들(포인트 관리 서버, 포인트 유통자 서버, 사용자 단말, 판매자 단말 등)이 해당 트랜잭션을 참조하기 위하여 이용된다.After the step (S221; S241), if the at least one of the registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof is stored, the support server, the at least one of the registration transaction TrxA and the confirmation transaction TrxB Or transmit a registration response message including the transaction location identifier PrivTxid whose value is the location information recorded in the first blockchain database to at least one of the point distributor and the point management server or cause the other device to perform a response. Supporting delivery (S222a, S222b; S242, S243) may be further included. This transaction location identifier is used by entities (point management server, point distributor server, user terminal, merchant terminal, etc.) to refer to the transaction.
제1 블록체인 데이터베이스와 별개로 제2 블록체인 데이터베이스가 구성된 경우에, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법은, 추가적으로, 상기 지원 서버가, 주기적으로(periodically) 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 상기 등록 트랜잭션 또는 상기 확인 트랜잭션, 또는 이를 가공한 값이, 이에 대응되게 상기 제2 블록체인 데이터베이스에 기록된 상기 적어도 하나의 상기 등록 트랜잭션 또는 상기 확인 트랜잭션, 또는 이를 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있다. 이는 제1 블록체인 데이터베이스에 기록된 데이터와 제2 블록체인 데이터베이스에 기록된 데이터가 서로 매칭되는지를 확인함으로써 전자기록 위변작이 있지 않았는지를 검사(audit)하는 기능을 하는 단계로서, 이 단계의 수행을 통하여 블록체인 데이터베이스들의 무결성이 다중으로 점검될 수 있다.In the case where the second blockchain database is configured separately from the first blockchain database, the method of registering the point distributor and the exchange rate for providing the integrated point service according to the first embodiment of the present invention may further include the support server. At least one of the registration transaction or the confirmation transaction, or a processed value thereof, that is periodically recorded in the first blockchain database is correspondingly recorded in the second blockchain database. The method may further include verifying an integrity of the first blockchain database by verifying whether the registration transaction or the confirmation transaction matches the processed value. This is a step of auditing whether there has been an electronic recording forgery by checking whether the data recorded in the first blockchain database and the data recorded in the second blockchain database match each other, and performing this step. Through this, the integrity of blockchain databases can be checked multiplely.
일 예시로서, 상기 제1 블록체인 데이터베이스가 프라이빗(private) 블록체인 데이터베이스이고, 상기 제2 블록체인 데이터베이스가 퍼블릭(public) 블록체인 데이터베이스일 수 있다. As an example, the first blockchain database may be a private blockchain database, and the second blockchain database may be a public blockchain database.
다만, 이에 한정되지 않으며, 통상의 기술자는 상기 제1 블록체인 데이터베이스가 프라이빗 블록체인 데이터베이스 또는 퍼블릭 블록체인 데이터베이스일 수 있으며, 마찬가지로 상기 제2 블록체인 데이터베이스가 프라이빗 블록체인 데이터베이스 또는 퍼블릭 블록체인 데이터베이스일 수 있다는 점을 잘 이해할 수 있을 것이다.However, the present disclosure is not limited thereto, and a person skilled in the art may refer to the first blockchain database as a private blockchain database or a public blockchain database, and likewise, the second blockchain database may be a private blockchain database or a public blockchain database. You can understand that.
다음으로, 전술한 데이터 구조를 기반으로 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법을 설명한다.Next, an integration point issuing method for providing an integration point service according to the first embodiment will be described based on the above-described data structure.
도 3은 본 발명에 따라 통합 포인트를 발행하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다.3 is a sequence diagram schematically illustrating a method for issuing an integration point in accordance with the present invention.
도 3을 참조하면, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법은, 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 확인 트랜잭션 또는 이를 가공한 값이 기록되어 있는 상태에서, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버로부터 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, 및 상기 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 발행 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S310)를 포함한다.Referring to FIG. 3, an integrated point issuing method for providing an integrated point service according to the first embodiment of the present invention includes a confirmation transaction including an exchange rate XEA between the point A and the integrated point managed by the point distributor. Or issuing a public key CPubA of the point distributor or a processed value thereof, and an issue amount UPCA which is an integrated point of the point distributor from the point management server managing the integration point service while the processed value is recorded. If the transaction TrxA is obtained, the support server includes a step (S310) of validating the issued transaction TrxA or allowing another device linked to the support server to verify the transaction.
여기에서 "발행 트랜잭션"이란, 포인트 유통자가 포인트 관리 서버의 운영주체에게 소정의 대가(예컨대, 명목 화폐)를 지불하고, 소정량의 통합 포인트를 발행 받는 기능을 하는 트랜잭션으로서, 이와 같은 통합 포인트는 전술한 교환 비율에 의하여 포인트 유통자의 유통 및 관리에 있어서는 개별 포인트로 다루어진다. Here, a "issuing transaction" is a transaction in which a point distributor pays a predetermined price (for example, nominal money) to an operator of a point management server and issues a predetermined amount of integration points. By the exchange rate mentioned above, it is handled as an individual point in the distribution and management of a point distributor.
제1 실시예에서, 상기 발행 트랜잭션 TrxA은, (i) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (ii) 상기 포인트 유통자의 통합 포인트인 발행량 UPCA, (iii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 (iv) 상기 (i) 내지 (iii) 중 적어도 하나를 상기 포인트 관리 서버의 개인키 PrivPS로 서명한 값인 발행 트랜잭션 서명값을 포함할 수 있다. 이 실시예에서, 상기 단계(S310)는, 상기 발행 트랜잭션 서명값 및 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값을 이용하여, 상기 발행 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 할 수 있는바, 이와 같은 서명값의 유효성 검증은 전술한 바와 같으므로 반복되는 설명은 생략하도록 한다.In the first embodiment, the issuance transaction TrxA is (i) the public key CPubA of the point distributor or a value processed therein, (ii) the issue amount UPCA which is the integrated point of the point distributor, (iii) the disclosure of the point management server. Key PubPS or a value thereof, and (iv) an issuing transaction signature value, which is a value obtained by signing at least one of (i) to (iii) with the private key PrivPS of the point management server. In this embodiment, the step (S310) may be characterized in that the validity of the issued transaction TrxA is verified using the issued transaction signature value and the public key PubPS of the point management server or a processed value thereof. Since the validation of the signature value is the same as described above, repeated descriptions will be omitted.
다음으로, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법은, 상기 발행 트랜잭션 TrxA이 유효하면, 상기 발행 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값을 소정의 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값이 상기 소정의 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 ID를 획득하는 단계(S320, S321)를 더 포함한다.Next, an integration point issuance method for providing an integration point service according to the first embodiment of the present invention, if the issuance transaction TrxA is valid, if the issuance transaction TrxA is valid, the support server, the issuing transaction TrxA Or supporting the recording or recording the processed value in a predetermined blockchain database, and obtaining the issued transaction ID, in which the issued transaction TrxA or the processed value is position information recorded in the predetermined blockchain database (S320). , S321).
이 단계(S320, S321)에서, 상기 지원 서버는, 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 제1 블록체인 데이터베이스에 기록된 내용을 제2 블록체인 데이터베이스로서 기능하는 상기 소정의 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원할 수도 있다.In this step (S320, S321), the support server records the issued transaction TrxA or a processed value in a first blockchain database or allows the other device to record and records in the first blockchain database. The written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
상기 발행 트랜잭션 TrxA이 무효이면, 상기 지원 서버가, 상기 발행 트랜잭션 TrxA이 무효임을 나타내는 발행 실패 응답 메시지를 상기 포인트 유통자 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원할 수도 있다.If the issuing transaction TrxA is invalid, the support server may deliver a issuance failure response message indicating that the issuing transaction TrxA is invalid to at least one of the point distributor and the point management server or allow the other device to deliver it. have.
상기 단계(S320, S321) 후에, 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값이 저장되면, 상기 지원 서버가, 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값이 상기 제1 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 위치 식별자 PrivTxidA를 포함하는 발행 응답 메시지를 상기 포인트 유통자 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 단계(S322a, S322b)가 더 포함될 수도 있다.After the steps S320 and S321, if the issuing transaction TrxA or the processed value thereof is stored, the supporting server issues the issuance transaction TrxA or the processed value thereof as position information recorded in the first blockchain database. The method may further include a step (S322a, S322b) of delivering the issuance response message including the transaction location identifier PrivTxidA to at least one of the point distributor and the point management server or to allow the other device to deliver it.
또한, 제1 블록체인 데이터베이스와 별개로 제2 블록체인 데이터베이스가 구성된 경우에, 본 발명에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법은, 상기 지원 서버가, 주기적으로(periodically) 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 발행 트랜잭션 또는 이를 가공한 값을 이에 대응되게 상기 제2 블록체인 데이터베이스에 기록된 상기 적어도 하나의 발행 트랜잭션 또는 이를 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, in a case where a second blockchain database is configured separately from the first blockchain database, the integration point issuing method for providing an integration point service according to the present invention may be performed by the support server periodically. The first blockchain by verifying that at least one issuing transaction recorded in the blockchain database or a processed value thereof corresponds to the at least one issuing transaction recorded in the second blockchain database or a processed value corresponding thereto; The method may further include verifying the integrity of the database, which will be replaced with the description of the method of registering the point distributor and the exchange rate.
다음으로, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법을 설명한다. Next, an integrated point distribution method for providing an integrated point service according to the first embodiment of the present invention will be described.
도 4는 본 발명에 따라 통합 포인트를 분배하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다. 도 4를 참조하면, 제1 실시예에 따른 통합 포인트 분배 방법은, 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 이를 가공한 값이 기록되어 있는 상태에서, 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 분배 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S410)를 포함한다.4 is a sequence diagram schematically illustrating a method for distributing integration points in accordance with the present invention. Referring to FIG. 4, in the integrated point distribution method according to the first exemplary embodiment, a public transaction PubUA or a public key of the user is recorded in a state in which an issuance transaction including an issue amount UPCA, which is an integrated point of a point distributor, or a processed value thereof is recorded. When the distributed transaction TrxA including the processed value and the integration point UPUA of the user is obtained, the supporting server supports the verification of the validity of the distributed transaction TrxA or by allowing another device linked with the supporting server to verify ( S410).
여기에서 "분배 트랜잭션"이란, 포인트 유통자가 관리하는 개별 포인트 중 일부를 개별 사용자에게 분배하는 기능을 하는 트랜잭션이다.Here, the "distribution transaction" is a transaction that distributes some of the individual points managed by the point distributor to individual users.
제1 실시예에서, 상기 분배 트랜잭션 TrxA은, (i) 미소비된 통합 포인트에 대응되는 트랜잭션 위치 식별자 PrivTxidA, (ii) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (iii) 상기 사용자의 공개키 PubUA 또는 이를 가공한 값, (iv) 상기 사용자의 통합 포인트 UPUA, (v) 분배하고 남은 통합 포인트인 분배 잔량, 및 (vi) 상기 (i) 내지 (v) 중 적어도 하나를 상기 포인트 유통자의 개인키 CPrivA로 서명한 값인 분배 트랜잭션 서명값을 포함할 수 있다. 이 실시예에서, 상기 단계(S410)는, 상기 분배 트랜잭션 서명값 및 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값을 이용하여, 상기 분배 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 할 수 있는바, 이와 같은 서명값의 유효성 검증은 전술한 바와 같으므로 반복되는 설명은 생략하도록 한다.In a first embodiment, the distributed transaction TrxA is (i) the transaction location identifier PrivTxidA corresponding to the micro-consolidated integration point, (ii) the public key CPubA of the point distributor, or a processed value thereof, (iii) the user's The public key PubUA or the processed value thereof, (iv) the user's integration point UPUA, (v) the distribution remaining amount of the integration point remaining after distribution, and (vi) at least one of (i) to (v) It may include a distributed transaction signature value, which is a value signed by the private key CPrivA. In this embodiment, the step (S410), characterized in that the validity of the distributed transaction TrxA using the distribution transaction signature value and the point distributor's public key CPubA or a processed value thereof. Since the validation of the signature value is the same as described above, repeated descriptions thereof will be omitted.
한편, 상기 분배 트랜잭션에 의하여 상기 사용자가 소유하게 되는 통합 포인트는 상기 포인트 유통자의 교환 비율에 의하여 상기 포인트 유통자가 관리하는 개별 포인트로 환산될 수 있는바, 이는 상기 분배 트랜잭션에 별도의 항목으로 포함되거나, 사용 및 환급시에 별도로 계산되어 획득될 수 있는 값이다. 요컨대, 상기 사용자가 소유하게 되고 상기 포인트 유통자에 의하여 관리되는 포인트는 개별 포인트인바, 이는 편의를 위하여 통합 포인트로 기록 및 관리될 수 있다. 예를 들면, 1,000 통합 포인트를 분배 받은 사용자는 예시적 통합 포인트 대 개별 포인트 교환 비율 10:1에 의하여 100 개별 포인트를 분배 받은 것과 동등한 것으로 취급될 수 있다.Meanwhile, the integration point owned by the user by the distribution transaction may be converted into individual points managed by the point distributor based on the exchange rate of the point distributor, which may be included as a separate item in the distribution transaction. , Value that can be calculated and obtained separately for use and refund. In short, points owned by the user and managed by the point distributor are individual points, which may be recorded and managed as an integrated point for convenience. For example, a user who has received 1,000 integration points may be treated as equivalent to having received 100 individual points by an exemplary integration point to individual point exchange ratio of 10: 1.
다음으로, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법은, 상기 분배 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값을 소정의 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값이 상기 소정의 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 ID를 획득하는 단계(S420, S421)를 더 포함한다.Next, in the integrated point distribution method for providing an integrated point service according to the first embodiment of the present invention, if the distributed transaction TrxA is valid, the support server may set the distributed transaction TrxA or a value obtained by processing the distributed transaction TrxA. Supporting recording or recording in a blockchain database, and obtaining (S420, S421) the distributed transaction TrxA or a processed value thereof, the distributed transaction ID being position information recorded in the predetermined blockchain database.
이 단계(S420, S421)에서, 상기 지원 서버는, 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 제1 블록체인 데이터베이스에 기록된 내용을 제2 블록체인 데이터베이스로서 기능하는 상기 소정의 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원할 수도 있다.In this step (S420, S421), the support server records the distributed transaction TrxA or its processed value in a first blockchain database or allows the other device to record and records in the first blockchain database. The written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
상기 분배 트랜잭션 TrxA이 무효이면, 상기 지원 서버가, 상기 분배 트랜잭션 TrxA이 무효임을 나타내는 분배 실패 응답 메시지를 상기 포인트 유통자 및 상기 사용자 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원할 수도 있다.If the distributed transaction TrxA is invalid, the support server may deliver a distribution failure response message indicating that the distributed transaction TrxA is invalid to at least one of the point distributor and the user or allow the other device to deliver it.
상기 단계(S420, S421) 후에, 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값이 저장되면, 상기 지원 서버가, 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값이 상기 제1 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 위치 식별자 PrivTxidA를 포함하는 분배 응답 메시지를 상기 포인트 유통자 및 상기 사용자 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 단계(S422a, S422b)가 더 포함될 수도 있다.After the steps S420 and S421, if the distributed transaction TrxA or a processed value thereof is stored, the supporting server distributes the distributed transaction TrxA or a processed value thereof as position information recorded in the first blockchain database. The method may further include a step (S422a, S422b) of delivering a distribution response message including a transaction location identifier PrivTxidA to at least one of the point distributor and the user or allowing the other device to deliver the distribution response message.
또한, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법은, 상기 지원 서버가, 주기적으로 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 분배 트랜잭션 또는 이를 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 적어도 하나의 상기 분배 트랜잭션 또는 이를 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, according to the first embodiment of the present invention, an integrated point distribution method for providing an integrated point service includes at least one distributed transaction or a value processed by the support server periodically recorded in the first blockchain database. Verifying the integrity of the first blockchain database by verifying whether it matches the at least one distributed transaction recorded in the second blockchain database or a processed value thereof (not shown). As such, the description thereof will be replaced with the above description of the method of registering the point distributor and the exchange rate.
하기에서는, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법을 설명한다. In the following, an integration point usage method for providing an integration point service according to a first embodiment of the present invention will be described.
도 5는 본 발명에 따라 통합 포인트를 사용하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다. 도 5를 참조하면, 제1 실시예에 따른 통합 포인트 사용 방법은, 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 또는 이를 가공한 값이 기록되어 있는 상태에서, 상기 사용자에게 재화 또는 용역을 제공하는 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 사용 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S510)를 포함한다.5 is a sequence diagram schematically illustrating a method of using integration points in accordance with the present invention. Referring to FIG. 5, in the method of using an integration point according to the first embodiment, a seller providing goods or services to the user in a state in which a distribution transaction including the integration point UPUA of the user or a processed value thereof is recorded. When the use transaction TrxA including the public key MPubA or the processed value of the user and the integration point UPUA of the user is obtained, the support server may cause another device to verify the validity of the use transaction TrxA or interwork with the support server. Supporting to verify (S510) is included.
여기에서 "사용 트랜잭션"이란, 개별 사용자가 개별 판매자로부터 상품 또는 서비스를 제공받기 위하여 사용하는 트랜잭션으로서, 이 사용 트랜잭션에 의하여 개별 판매자는 개별 사용자로부터 개별 포인트를 획득할 수 있다.As used herein, a "use transaction" is a transaction that an individual user uses to receive goods or services from an individual seller, and the use transaction enables the individual seller to obtain individual points from the individual user.
제1 실시예에서, 상기 사용 트랜잭션 TrxA은, (i) 미소비된 통합 포인트에 대응되는 트랜잭션 위치 식별자 PrivTxidA, (ii) 상기 판매자의 공개키 MPubA 또는 이를 가공한 값, (iii) 상기 사용자의 공개키 PubUA 또는 이를 가공한 값, (iv) 상기 사용자의 통합 포인트 UPUA, (v) 사용하고 남은 통합 포인트인 사용 잔량, 및 (vi) 상기 (i) 내지 (v) 중 적어도 하나를 상기 사용자의 개인키 PrivUA로 서명한 값인 사용 트랜잭션 서명값을 포함할 수 있다. 이 실시예에서, 상기 단계(S510)는, 상기 사용 트랜잭션 서명값 및 상기 사용자의 공개키 PubUA 또는 이를 가공한 값을 이용하여, 상기 사용 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 할 수 있는바, 이와 같은 서명값의 유효성 검증은 전술한 바와 같으므로 반복되는 설명은 생략하도록 한다.In a first embodiment, the usage transaction TrxA is (i) the transaction location identifier PrivTxidA corresponding to the micro-consolidated integration point, (ii) the seller's public key MPubA or a processed value thereof, and (iii) the user's disclosure. At least one of the key PubUA or the processed value thereof, (iv) the user's integration point UPUA, (v) the remaining usage of the integration point remaining using, and (vi) the user's personal It can contain the usage transaction signature, which is the value signed with the key PrivUA. In this embodiment, the step (S510) may be characterized in that the validity of the usage transaction TrxA is verified using the usage transaction signature value and the public key PubUA of the user or a processed value thereof. Since the validation of the signature value is the same as described above, repeated descriptions will be omitted.
다음으로, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법은, 상기 사용 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값을 소정의 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값이 상기 소정의 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 ID를 획득하는 단계(S520, S521)를 더 포함한다.Next, in the method of using an integration point for providing an integration point service according to the first embodiment of the present invention, if the use transaction TrxA is valid, the support server may set the use transaction TrxA or a value obtained by processing the same. Supporting or recording to a blockchain database, and obtaining the use transaction ID (S520, S521), the use transaction TrxA or a processed value thereof is position information recorded in the predetermined blockchain database.
이 단계(S520, S521)에서, 상기 지원 서버는, 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 제1 블록체인 데이터베이스에 기록된 내용을 제2 블록체인 데이터베이스로서 기능하는 상기 소정의 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원할 수도 있다.In this step (S520, S521), the support server records the used transaction TrxA or the processed value in the first blockchain database or allows the other device to record, and writes in the first blockchain database The written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
상기 사용 트랜잭션 TrxA이 무효이면, 상기 지원 서버가, 상기 사용 트랜잭션 TrxA이 무효임을 나타내는 사용 실패 응답 메시지를 상기 판매자 및 상기 사용자 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원할 수도 있다.If the use transaction TrxA is invalid, the support server may deliver a use failure response message indicating that the use transaction TrxA is invalid to at least one of the seller and the user or allow the other device to deliver it.
상기 단계(S520, S521) 후에, 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값이 저장되면, 상기 지원 서버가, 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값이 상기 제1 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 위치 식별자 PrivTxidA를 포함하는 사용 응답 메시지를 상기 판매자 및 상기 사용자 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 단계(S522a, S522b)가 더 포함될 수도 있다.After the steps S520 and S521, if the used transaction TrxA or a processed value thereof is stored, the support server uses the used transaction TrxA or a processed value thereof as position information recorded in the first blockchain database. The method may further include transmitting a use response message including a transaction location identifier PrivTxidA to at least one of the seller and the user, or supporting the other device (S522a and S522b).
또한, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법은, 상기 지원 서버가, 주기적으로 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 사용 트랜잭션 또는 이를 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 적어도 하나의 상기 사용 트랜잭션 또는 이를 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, according to a first embodiment of the present invention, a method for using an integration point for providing an integration point service includes at least one usage transaction or a value processed by the support server periodically recorded in the first blockchain database. Verifying an integrity of the first blockchain database (not shown) by verifying whether the at least one used transaction recorded in the second blockchain database or a processed value thereof corresponds to the corresponding blockchain database. As such, the description thereof will be replaced with the above description of the method of registering the point distributor and the exchange rate.
마지막 국면으로서, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법을 설명한다. As a final aspect, an integrated point refund method for providing an integrated point service according to the first embodiment of the present invention is described.
도 6은 본 발명에 따라 통합 포인트를 환급하는 방법을 개략적으로 도시한 시퀀스 다이어그램이다. 도 6을 참조하면, 제1 실시예에 따른 통합 포인트 환급 방법은, (i) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 (ii) 사용자에게 재화 또는 용역을 제공하는 판매자에게 전달된 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션, 또는 상기 발행 트랜잭션 또는 상기 사용 트랜잭션을 가공한 값이 기록되어 있는 상태에서, 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 환급 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S610)를 포함한다.6 is a sequence diagram schematically illustrating a method for refunding integration points in accordance with the present invention. Referring to FIG. 6, the integrated point refund method according to the first embodiment includes (i) an issuance transaction including an issue amount UPCA, which is an integrated point of a point distributor, or (ii) a seller who provides goods or services to a user. The public key PubPS of the point management server or the value processed therein, and the point distributor or the value of the use transaction including the integration point UPUA of the user or the issued transaction or the use transaction recorded therein. When the refund transaction TrxA including the integration point UPMA of the seller is obtained, the support server may include verifying the validity of the refund transaction TrxA or allowing another device linked to the support server to verify it (S610). .
여기에서 "환급 트랜잭션"이란, 개별 사용자 또는 개별 판매자가 개별 포인트를 명목 화폐(fiat money) 등으로 환급 받기 위한 트랜잭션으로서, 이 환급 트랜잭션에 의하여 개별 포인트는 교환 비율과 통합 포인트의 명목 화폐 가치에 따라 명목 화폐로 환급될 수 있다.In this context, a "refund transaction" is a transaction for individual users or sellers to refund individual points in fiat money, etc., whereby individual points are returned according to the exchange rate and the nominal monetary value of the consolidated points. Can be refunded in nominal money.
제1 실시예에서, 상기 환급 트랜잭션 TrxA은, (i) 미소비된 통합 포인트에 대응되는 트랜잭션 위치 식별자 PrivTxidA, (ii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, (iii) 상기 포인트 유통자 또는 상기 판매자의 공개키 MPubA 또는 이를 가공한 값, (iv) 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA, (v) 환급하고 남은 통합 포인트인 환급 잔량, 및 (vi) 상기 (i) 내지 (v) 중 적어도 하나를 상기 포인트 유통자 또는 상기 판매자의 개인키 MPrivA로 서명한 값인 환급 트랜잭션 서명값을 포함할 수 있다. 이 실시예에서, 상기 단계(S610)는, 상기 환급 트랜잭션 서명값 및 상기 포인트 유통자 또는 상기 판매자의 공개키 MPubA 또는 이를 가공한 값을 이용하여, 상기 환급 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 할 수 있는바, 이와 같은 서명값의 유효성 검증은 전술한 바와 같으므로 반복되는 설명은 생략하도록 한다.In the first embodiment, the refund transaction TrxA is (i) the transaction location identifier PrivTxidA corresponding to the unskilled integration point, (ii) the public key PubPS of the point management server or a value thereof, and (iii) the point. The public key MPubA of the distributor or the seller or a value thereof, (iv) the integration point UPMA of the point distributor or the seller, (v) the refund remaining amount which is the integration point remaining after the refund, and (vi) the (i) And (v) a refund transaction signature value which is a value signed by at least one of the point distributor or the seller's private key MPrivA. In this embodiment, the step (S610), using the refund transaction signature value and the point distributor or the seller's public key MPubA or processed value, the refund transaction TrxA is characterized in that the validity As such, the validation of the signature value is the same as described above, and thus repeated description will be omitted.
다음으로, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법은, 상기 환급 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값을 소정의 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값이 상기 소정의 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 ID를 획득하는 단계(S620, S621)를 더 포함한다.Next, in the integrated point refund method for providing an integrated point service according to the first embodiment of the present invention, if the refund transaction TrxA is valid, the support server may set the refund transaction TrxA or a value obtained by processing the refund transaction TrxA. Supporting recording or recording in a blockchain database, and obtaining a refund transaction ID (S620, S621), wherein the refund transaction TrxA or a processed value thereof is location information recorded in the predetermined blockchain database.
이 단계(S620, S621)에서, 상기 지원 서버는, 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 제1 블록체인 데이터베이스에 기록된 내용을 제2 블록체인 데이터베이스로서 기능하는 상기 소정의 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원할 수도 있다.In this step (S620, S621), the support server records the refund transaction TrxA or the processed value in the first blockchain database or allows the other device to record, and writes in the first blockchain database The written contents may be recorded in the predetermined blockchain database functioning as a second blockchain database or may be supported by the other device.
상기 환급 트랜잭션 TrxA이 무효이면, 상기 지원 서버가, 상기 환급 트랜잭션 TrxA이 무효임을 나타내는 환급 실패 응답 메시지를 상기 포인트 유통자 또는 상기 판매자, 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원할 수도 있다.If the refund transaction TrxA is invalid, the support server forwards a refund failure response message indicating that the refund transaction TrxA is invalid to at least one of the point distributor or the seller, and the point management server or causes the other device to fail. You can also support delivery.
상기 단계(S620, S621) 후에, 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값이 저장되면, 상기 지원 서버가, 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값이 상기 제1 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 위치 식별자 PrivTxidA를 포함하는 환급 응답 메시지를 상기 포인트 유통자 또는 상기 판매자, 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 단계(S622a, S622b)가 더 포함될 수도 있다.After the steps S620 and S621, if the refund transaction TrxA or the processed value thereof is stored, the support server refunds the refund transaction TrxA or the processed value thereof to the location information recorded in the first blockchain database. The method may further include transmitting a refund response message including a transaction location identifier PrivTxidA to at least one of the point distributor or the seller, and the point management server, or supporting the other device (S622a and S622b). .
또한, 본 발명의 제1 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법은, 상기 지원 서버가, 주기적으로 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 환급 트랜잭션 또는 이를 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 적어도 하나의 상기 환급 트랜잭션 또는 이를 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, the integrated point refund method for providing an integrated point service according to the first embodiment of the present invention, the support server, at least one refund transaction periodically recorded in the first blockchain database or a value processed therein Verifying the integrity of the first blockchain database by verifying whether it matches the at least one refund transaction recorded in the second blockchain database or a processed value thereof (not shown). As such, the description thereof will be replaced with the above description of the method of registering the point distributor and the exchange rate.
지금까지 설명된 포인트의 발행, 분배, 사용 및 환급에 관한 내용을 요약하면 다음과 같다. 포인트 관리 서버로부터 통합 포인트를 발행 받기 위하여 포인트 유통자들과 포인트 관리 서버의 운영 주체 간의 협약에 의하여 포인트 유통자 및 교환 비율의 등록이 우선 이루어진다. The summary of the issue, distribution, use and refund of points described so far is as follows. In order to receive an integrated point from the point management server, registration of the point distributor and the exchange rate is first performed by an agreement between the point distributors and the operating entity of the point management server.
그 후, 포인트 관리 서버로부터 포인트 유통자 서버는 일정량의 통합 포인트를 발행 받을 수 있는바, 이는 포인트 유통자 및 이에 종속되는 사용자 및 판매자에게는 소정의 교환 비율에 의하여 개별 포인트로 다루어진다. Thereafter, the point distributor server may receive a certain amount of integrated points from the point management server, which are treated as individual points by a predetermined exchange rate to the point distributor and the subordinates and users.
포인트 유통자 서버는 일정량의 통합 포인트로 기록 및 관리되는 개별 포인트를 개별 사용자에게 분배할 수 있다. The point distributor server may distribute individual points recorded and managed as a certain amount of integration points to individual users.
그와 같은 개별 포인트는 개별 사용자가 개별 판매자로부터 상품 또는 서비스를 제공받기 위하여 사용할 수 있는바, 이와 같은 사용을 통하여 개별 판매자는 개별 사용자로부터 개별 포인트를 획득하게 될 수 있다.Such individual points may be used by individual users to receive goods or services from individual sellers. Through such use, individual sellers may obtain individual points from individual users.
그렇다면, 이와 같은 개별 포인트들에 대하여 포인트 관리 서버가 개별 판매자나 개별 사용자로부터 환급 요청을 받고 그 환급 요청에 따라 개별 포인트는 교환 비율과 통합 포인트의 명목 화폐 가치에 따라 명목 화폐(fiat money)로 환급될 수 있다.If so, the point management server receives a refund request from an individual seller or an individual user for these individual points and, upon that request, the individual points are refunded in fiat money according to the exchange rate and the nominal value of the consolidated point. Can be.
제2 실시예Second embodiment
다음으로, 본 발명에 따라 통합 포인트 서비스를 제공하는 방법에 관한 제2 실시예를 설명하기로 한다. 하기에서는 전술한 제1 실시예와 동일한 기술적 특징은 반복하여 설명하지 않을 것인바, 차이점만을 구체적으로 설명한다.Next, a second embodiment of a method for providing an integrated point service according to the present invention will be described. In the following description, the same technical features as those of the first embodiment will not be repeated, and only the differences will be described in detail.
다시 도 2를 참조하면, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법은, 제1 실시예에 관하여 전술한 단계(S220; S240) 후에, 상기 등록 트랜잭션 TrxA 또는 상기 확인 트랜잭션 TrxB이 유효하면, 상기 지원 서버(100)가, 유효한 상기 등록 트랜잭션 TrxA 또는 상기 확인 트랜잭션 TrxB, 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계(S221; S241)를 더 포함한다.Referring back to FIG. 2, in the method of registering point distributors and exchange rates for providing an integrated point service according to the second embodiment of the present invention, after the steps S220 and S240 described above with respect to the first embodiment, If the registration transaction TrxA or the confirmation transaction TrxB is valid, the support server 100 writes the valid registration transaction TrxA or the confirmation transaction TrxB, or a processed value thereof to the first blockchain database or to the other device. It further includes a step (S221; S241) for supporting the recording.
또 도 2를 참조하면, 본 발명에 따라 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법은, 앵커링 scheme을 이용하는 본 발명의 제2 및 제4 실시예에서, anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값의 해시값인 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 확인 트랜잭션 ID를 획득하는 단계(S235 내지 S238; S245 내지 S248)를 더 포함한다. Referring to FIG. 2, in the second and fourth embodiments of the present invention using the anchoring scheme, the point distributor and the exchange rate registration method for providing the integrated point service according to the present invention may be satisfied. And a representative generated by the support server hashing together at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or at least one neighboring hash value that matches a particular hash value that is a hash value of the truncated value. Record the hash value or the processed value of the representative hash value in a second blockchain database or support the other device to record, and the processed value of the representative hash value or the representative hash value is the second blockchain database. And acquiring the confirmation transaction ID which is the location information recorded in S235 to S238; S245 to S248.
여기에서, 상기 anchoring 조건이란, (i) 소정의 개수만큼의 상기 특정 해시값과 상기 이웃 해시값이 획득되거나 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 상기 제1 블록체인 데이터베이스에서 n번째 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함할 수 있다.Here, the anchoring condition is (i) a condition in which the predetermined hash value and the neighbor hash value are obtained or generated by a predetermined number, (ii) a condition that a predetermined time elapses, and (iii) the first blockchain. It may include at least one of a condition for generating the n-th block in the database, (iv) a condition for the service characteristic.
제2 실시예에서, 상기 이웃 해시값은 (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나일 수 있다.In a second embodiment, the neighbor hash value is (i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between the specific point X and the integration point managed by a specific point distributor, (ii) the specific Hash value of a specific confirmation transaction including exchange rate XEX, (iii) Hash of a specific issuance transaction including the public key CPubX of the specific point distributor or a processed value thereof, and a specific issue amount UPCX which is an integrated point of the specific point distributor. A value of (iv) the public key PubUA of a particular user or a processed value thereof, and a hash value of a distributed transaction comprising the integration point UPUA of the particular user, (v) of a particular merchant providing goods or services to the particular user. A public key MPubA or a processed value thereof, and a hash value of a usage transaction including the integration point UPUA of the particular user, and (vi) the pointer The public key PubPS of the server management server or a processed value thereof, and a hash value of a refund transaction including an integrated point UPMA of the specific point distributor or the specific seller.
특정 해시값과 적어도 하나의 이웃 해시값의 연산은 다양한 함수에 의하여 수행될 수 있다. 특정 해시값을 input이라고 나타내고, 적어도 하나의 이웃 해시값을 x1, x2, ..., xn이라고 나타낼 때, 대표 해시값 t은 다음 수학식과 같이 나타낼 수 있다.The operation of a particular hash value and at least one neighbor hash value may be performed by various functions. When a specific hash value is represented by input and at least one neighboring hash value is represented by x1, x2, ..., xn, the representative hash value t can be expressed as the following equation.
[수학식 1][Equation 1]
이때, 지원 서버는 상기 특정 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 데이터 구조로 저장하여 관리할 수 있다. 여기에서 데이터 구조는 다양할 수 있는데, 일 예로 머클 트리(merkle tree) 구조가 될 수도 있다. 이 경우, 상기 특정 해시값과 적어도 하나의 이웃 해시값의 연산은 머클 트리를 통하여 이루어질 수 있다.In this case, the support server may store and manage the specific hash value and the at least one neighbor hash value in a predetermined data structure. The data structure may vary, for example, may be a merkle tree structure. In this case, the calculation of the specific hash value and at least one neighbor hash value may be performed through the Merkle tree.
즉, 상기 지원 서버는, 상기 특정 해시값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원할 수 있고, 상기 anchoring 조건이 만족되면, 상기 특정 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 함께 해시 연산하여 생성되는 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값을 획득하고, 상기 획득된 값을 상기 제2 블록체인 데이터베이스에 기록하거나 타 장치로 하여금 기록하도록 지원할 수 있다.That is, the support server may support generating or generating a merkle tree in which the specific hash value is assigned to a leaf node, and when the anchoring condition is satisfied, at least one other matched with the specific hash value. Acquire the representative hash value or the processed hash value generated by hashing the hash values assigned to the leaf nodes together, and record the obtained values in the second blockchain database or allow other devices to record them. Can be supported.
상기 지원 서버는, 최종적으로 머클 트리의 루트 노드에 할당된 해시값을 대표 해시값으로서 상기 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다. 이때, 대표 해시값을 가공한 값이 기록될 수도 있다. 예를 들어, 대표 해시값에 hex 연산이 수행된 결과값이 등록될 수 있다.The support server may support to record or record the hash value finally assigned to the root node of the Merkle tree as the representative hash value in the second blockchain database. At this time, a value obtained by processing the representative hash value may be recorded. For example, the result of performing the hex operation may be registered in the representative hash value.
한편, 상기 지원 서버가 상기 특정 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다.Meanwhile, when the support server stores the specific hash value and the at least one neighbor hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure, The first data structure and the second data structure may be connected in a chain form.
특히, 상술한 예에서와 같이 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해시값이 상기 제2 데이터 구조의 첫 번째 리프 노드에 할당될 수 있다.In particular, when the first data structure and the second data structure are Merkle trees as in the above-described example, the root value of the first data structure or the hash value of the root value is the first leaf of the second data structure. Can be assigned to a node.
또한, 제2 데이터 구조가 생성될 때는 제1 데이터 구조에 대한 검증이 이루어짐으로써 데이터의 무결성이 좀 더 확실히 보장될 수 있다.In addition, when the second data structure is generated, verification of the first data structure is performed to more surely ensure the integrity of the data.
또한, 상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫 번째 머클 트리인 경우, 상기 머클 트리의 첫 번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해시값 또는 이를 가공한 값이 할당될 수 있다. 예를 들어, 머클 트리 생성시 지원 서버에 의하여 최초로 부여된 입력 메시지의 해시값이 할당될 수 있다.In addition, when the Merkle tree is the first Merkle tree among at least one Merkle tree connected in a chain form, the first leaf node of the Merkle tree has a hash value of a predetermined message data consisting of text, numbers, or symbols or the same. One value can be assigned. For example, a hash value of an input message initially given by the support server may be assigned when generating the merkle tree.
도 7 및 8은 본 발명에 따라 생성된 머클 트리의 예를 도시한 도면이다.7 and 8 show examples of merkle trees created in accordance with the present invention.
도 7에서는 리프 노드의 개수가 4(22)개인 머클 트리가 도시된다. 도시된 머클 트리는 첫 번째 머클 트리이기 때문에(tree_id = 0), 첫 번째 리프 노드인 h1 노드에는 소정의 메시지 데이터 PrivBC_unique_message의 해시값 SHA256(PrivBC_unique_message)이 할당되었음을 알 수 있다. 트랜잭션들의 등록이 있는 경우, 상기 지원 서버는, 현재 구성 중인 머클 트리의 가장 마지막 리프 노드의 다음 리프 노드를 생성하여 특정 해시값 또는 특정 해시값을 가공한 값을 할당하거나 할당하도록 지원한다. 예를 들어, 도 7의 머클 트리에서 이전 단계에서 두 번째 리프 노드인 h1 노드까지 값 할당이 완료된 경우, 다음 리프 노드인 h2 노드를 생성하여 특정 해시값 또는 특정 해시값을 가공한 값(SHA256(input2))을 할당할 수 있다. 또한, 상기 지원 서버는, (i) 특정 해시값과, (ii) 상기 특정 해시값이 할당된 세 번째 리프 노드인 h2 노드의 형제 노드인 h3 노드에 할당된 해시값을 연산하거나 연산하도록 지원할 수 있다. 상기 연산의 결과인 연산값에 대한 해시값은 h2 노드와 h3 노드의 부모 노드(h23 노드)에 할당된다. 부모 노드(h23 노드)가 머클 트리의 루트 노드가 아니므로, 상기 지원 서버는, 상기 h23 노드에 할당된 해시값을 상기 특정 해시값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해시값을 특정 해시값으로 하고, h23 노드에 할당된 해시값과 h01 노드에 할당된 해시값을 연산하여 h23 노드와 h01 노드의 부모 노드(h0123) 노드에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로, 상기 지원 서버는, h0123 노드에 할당된 해시값 또는 이를 가공한 값(hex(h{node_index}))을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다.In FIG. 7, a Merkle tree having 4 (2 2 ) leaf nodes is shown. Since the illustrated Merkle tree is the first Merkle tree (tree_id = 0), it can be seen that the hash value SHA256 (PrivBC_unique_message) of the predetermined message data PrivBC_unique_message is assigned to the h1 node which is the first leaf node. If there is a registration of transactions, the support server creates a next leaf node of the last leaf node of the Merkle tree currently being constructed and supports assigning or assigning a specific hash value or a processed value of the specific hash value. For example, in the merkle tree of FIG. 7, when the value assignment is completed from the previous step to the second leaf node h1 node, the next leaf node h2 is created to process a specific hash value or a specific hash value (SHA256 ( input2)) can be assigned. In addition, the support server may support to calculate or compute (i) a specific hash value and (ii) a hash value assigned to a node h3 that is a sibling node of node h2, which is a third leaf node to which the specific hash value is assigned. have. The hash value for the operation value that is the result of the operation is assigned to the parent node (h23 node) of the h2 node and the h3 node. Since the parent node (h23 node) is not the root node of the Merkle tree, the support server may repeat the process by using the hash value assigned to the h23 node as the specific hash value. That is, the hash value assigned to the h23 node is designated as a specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node are calculated and assigned to the parent node (h0123) node of the h23 node and the h01 node. have. At this time, since the h0123 node is the root node of the Merkle tree, the support server may support to record or record the hash value assigned to the h0123 node or the processed value hex (h {node_index}) in the second blockchain database. Can be.
이를 재귀적(recursive)으로 설명하자면, 상기 anchoring 조건이 만족될 때, (x1) 상기 지원 서버가, (i) 상기 특정 해시값과 (ii) 상기 특정 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 함께 해시 연산하거나 해시 연산하도록 지원하고, 상기 연산의 결과인 연산값에 대한 해시값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며, (x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해시값을 상기 대표 해시값으로서 상기 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, (x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 지원 서버가, 상기 부모 노드에 할당된 해시값을 상기 특정 해시값으로 하여 상기 (x1) 내지 (x3)을 반복하여 수행하는 것이다.To describe this recursively, when the anchoring condition is satisfied, (x1) the support server assigns (i) the particular hash value and (ii) the sibling node of the node to which the particular hash value is assigned. Supports hashing or hashing the generated hash values together, and assigns or assigns a hash value for the operation value that is the result of the operation to the parent node of the node, and (x2) the parent node of the Merkle tree. If it is a root node, support to write or record a hash value assigned to the parent node as the representative hash value in the second blockchain database, and (x3) if the parent node is not the root node of the Merkle tree, The server repeatedly executes (x1) to (x3) by using the hash value assigned to the parent node as the specific hash value.
제2 실시예에서, 해시값들 - (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나 - 이 리프 노드 수만큼 획득되면, 각각의 해시값이 전술한 머클 트리의 입력값(리프 노드에 할당된 값)이 될 수 있다.In a second embodiment, hash values-a hash value of a particular registration transaction comprising (i) a specific exchange rate XEX between a specific point X managed by a particular point distributor and the integration point, and (ii) the particular exchange Hash value of a specific confirming transaction including a ratio XEX, (iii) A hash value of a specific issuing transaction including the public key CPubX of the particular point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor. (iv) a hash value of a distributed transaction comprising the public key PubUA of the particular user or a processed value thereof, and the integration point UPUA of the particular user, (v) the disclosure of the particular seller providing the goods or services to the particular user. A hash value of a usage transaction comprising a key MPubA or a value thereof, and an integration point UPUA of the specific user, and (vi) the point management One of the public key PubPS of the server or its value and the hash value of the refund transaction including the integrated point UPMA of the specific point distributor or the specific seller-once this number of leaf nodes is obtained, each hash value is It may be an input value (value assigned to the leaf node) of the aforementioned merkle tree.
또한, 지원 서버는, 소정 시간 단위로 전술한 머클 트리의 루트값을 생성할 수 있다(상기 (ii) anchoring 조건). 이 경우, 상기 지원 서버는, 소정의 시간이 경과되면 그때까지의 입력값을 이용하여 머클 트리를 생성하고 머클 트리의 루트값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다.In addition, the support server may generate the root value of the aforementioned Merkle tree on a predetermined time basis (the (ii) anchoring condition). In this case, when a predetermined time elapses, the support server may generate a Merkle tree using the input values up to that time, and record or record the root value of the Merkle tree in the second blockchain database.
그런데, 이 경우에는 소정 시간이 경과하였음에도 머클 트리의 특정 해시값이 할당된 노드의 형제 노드에 값이 할당되지 않을 수 있다. 이처럼 anchoring 조건이 만족되었음에도 상기 특정 해시값이 할당된 노드의 형제 노드에 해시값이 할당되어 있지 않은 경우, 상기 지원 서버는, 상기 형제 노드에 소정의 해시값을 할당하거나 할당하도록 지원하여 전술한 방식으로 머클 트리의 루트값이 산출되도록 할 수 있다. 예를 들어, 상기 지원 서버는, 상기 특정 해시값을 복제하여 상기 형제 노드에 할당하거나 할당하도록 지원할 수 있다.In this case, however, a value may not be assigned to a sibling node of a node to which a specific hash value of the Merkle tree is assigned even after a predetermined time has elapsed. In this case, when the anchoring condition is satisfied and the hash value is not assigned to the sibling node of the node to which the specific hash value is assigned, the support server supports allocating or allocating a predetermined hash value to the sibling node. This allows the root value of the Merkle tree to be calculated. For example, the support server may copy and assign the specific hash value to the sibling node.
또한, 상기 서비스 특성이란, 통합 포인트 서비스를 이용하는 엔티티(entity)들이 지급한 비용 정보, 상기 트랜잭션의 기록이 이루어지는 시간대 정보, 상기 기록이 이루어지는 지역 정보, 상기 기록에 관여한 서버의 관리 주체인 회사 타입 정보 중 적어도 일부가 될 수 있다. 다만, 여기에서 기재한 것에 한정되지는 않는다.In addition, the service characteristic is a company type that is the cost information paid by entities using the integrated point service, time zone information on which the transaction is recorded, local information on the recording, and a management entity of the server involved in the recording. It can be at least part of the information. However, it is not limited to what was described here.
한편, 새로운 머클 트리의 생성이 시작되고, 트랜잭션의 수신이 없는 상태에서 상기 anchoring 조건이 만족되면, 상기 지원 서버는, 소정의 메시지 데이터가 첫 번째 리프 노드와 두 번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다. 예컨대, 이 경우에는 리프 노드 2개짜리의 머클 트리가 생성될 수도 있을 것이다.On the other hand, if the creation of a new Merkle tree is started and the anchoring condition is satisfied in the absence of receiving a transaction, the support server determines that the Merkle tree is assigned to the first leaf node and the second leaf node. It may support to generate or to generate, and to record or record the root value of the Merkle tree or a processed value thereof in the second blockchain database. In this case, for example, a leaf tree of two leaf nodes may be generated.
한편, 전술한 것처럼 지원 서버가 상기 특정 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다. 특히, 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해시값이 상기 제2 데이터 구조의 첫 번째 리프 노드에 할당될 수 있다.Meanwhile, as described above, the support server stores the specific hash value and the at least one neighboring hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure. In this case, the first data structure and the second data structure may be connected in a chain form. In particular, when the first data structure and the second data structure are Merkle trees, a root value of the first data structure or a hash value of the root value may be allocated to the first leaf node of the second data structure. .
도 8은 본 발명에 따라 상기 제2 데이터 구조로서 생성된 머클 트리를 도시한 도면이다.8 illustrates a Merkle tree generated as the second data structure according to the present invention.
도 8을 참조하면, 도 7의 머클 트리(tree_id = 0)의 루트값(hex(h0123))이 새로운 머클 트리의 첫 번째 리프 노드(h4 노드)에 할당되었음을 알 수 있다. 본 발명은 이와 같이 트랜잭션 발생시에 생성되는 복수의 데이터 구조를 연결함으로써 중간에 데이터의 변조가 발생되는 경우라도 쉽게 트래킹이 가능하여 데이터의 무결성을 향상시키는 장점을 가진다.Referring to FIG. 8, it can be seen that the root value hex (h0123) of the merkle tree (tree_id = 0) of FIG. 7 is assigned to the first leaf node (h4 node) of the new merkle tree. The present invention has an advantage of easily tracking even when data modulation occurs in the middle by connecting a plurality of data structures generated when a transaction occurs, thereby improving the integrity of the data.
또한, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법은, 추가적으로, 상기 지원 서버가, 주기적으로(periodically) 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 상기 등록 트랜잭션 또는 상기 확인 트랜잭션, 또는 이를 가공한 값의 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있다.Further, according to the second embodiment of the present invention, the method of registering the point distributor and the exchange rate for providing the integrated point service may further include the support server periodically recorded in the first blockchain database. Process a first representative hash value or the first representative hash value generated by hashing together at least one neighboring hash value that matches at least one of the registration transaction or the confirmation transaction, or a hash value of the truncated value Verifying the integrity of the first blockchain database by verifying whether a value coincides with a value obtained by processing the second representative hash value or the second representative hash value recorded in the second blockchain database corresponding thereto ( Not shown) may be further included.
다음으로, 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법이 설명될 것인바, 전술한 제1 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, an integration point issuing method for providing an integration point service according to the second embodiment will be described. The same technical features as those of the first embodiment will not be described repeatedly, and only differences will be described in detail. do.
도 3을 참조하면, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법은, 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 확인 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버로부터 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, 및 상기 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 발행 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S310)를 포함한다.Referring to FIG. 3, an integrated point issuing method for providing an integrated point service according to a second embodiment of the present invention includes a confirmation transaction including an exchange rate XEA between point A and an integrated point managed by a point distributor. Or the first representative hash value generated from the first specific hash value which is the hash value of the processed value, or the processed value of the first representative hash value is recorded in the second blockchain database. When the issuance transaction TrxA including the point distributor's public key CPubA or a processed value thereof and an issue amount UPCA which is an integrated point of the point distributor is obtained from the point management server managing the server, the support server validates the issue transaction TrxA. Verifying or supporting another device linked to the support server to verify (S310). It includes.
다시 도 3을 참조하면, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법은, 전술한 단계(S320, S321) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 ID를 획득하는 단계(S325 내지 S328)를 더 포함하는바, 이는 상기 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Referring to FIG. 3 again, in the integrated point issuing method for providing an integrated point service according to the second embodiment of the present invention, after the above-described steps (S320 and S321), if a predetermined anchoring condition is satisfied, the support server A second representative hash value or the second representative hash value generated by hashing together at least one neighboring hash value matching the second specific hash value that is a valid hash value of the issued transaction TrxA or a truncated value. Issuing transaction ID which supports to record or record the processed value in the second blockchain database, wherein the processed value of the second representative hash value or the second representative hash value is position information recorded in the second blockchain database. It further comprises the step (S325 to S328), which is a method of registering the point distributor and exchange rate for providing the integrated point service Document describes a similar manner to that. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
또한, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법은, 상기 지원 서버가, 주기적으로(periodically) 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 발행 트랜잭션 또는 이를 가공한 값의 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, an integration point issuing method for providing an integration point service according to a second embodiment of the present invention, the support server, at least one issuing transaction recorded periodically in the first blockchain database or the same; A representative hash value generated by hashing together at least one neighboring hash value matching the hash value of the processed value, or the processed value of the representative hash value is recorded in the second blockchain database corresponding thereto; The method may further include verifying the integrity of the first blockchain database by verifying whether the representative hash value or the second representative hash value matches the processed value, which is described above. I will replace the one described in the registration method of ratio.
다음으로, 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법이 설명될 것인바, 전술한 제1 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, an integrated point distribution method for providing an integrated point service according to the second embodiment will be described. The same technical features as those of the above-described first embodiment will not be repeatedly described, and only differences will be described in detail. do.
도 4를 참조하면, 제2 실시예에 따른 통합 포인트 분배 방법은, 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 TrxA이 획득되면, 지원 서버(100)가, 상기 분배 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S410)를 포함한다.Referring to FIG. 4, in the integrated point distribution method according to the second embodiment, a first transaction generated from a first transaction including an issuance transaction UPCA that is an integration point of a point distributor or a hash value of a processed value thereof is generated. A distributed transaction including a public key PubUA of the user or a processed value of the user and an integrated point UPUA of the user, with a representative hash value or a value of the first representative hash value recorded in the second blockchain database. When the TrxA is obtained, the support server 100 includes a step (S410) of validating the distributed transaction TrxA or allowing another device linked to the support server to verify the TrxA.
다시 도 4를 참조하면, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법은, 전술한 단계(S420, S421) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버(100)가, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 ID를 획득하는 단계 (S425 내지 S428)를 더 포함하는바, 이는 상기 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Referring back to FIG. 4, in the integrated point distribution method for providing an integrated point service according to the second embodiment of the present invention, after a predetermined anchoring condition is satisfied after the aforementioned steps S420 and S421, the support server A second representative hash value or the second representative generated by hashing together at least one neighboring hash value that matches the validity of the distributed transaction TrxA or a hashed value of the truncated value; It supports to record or record the processed hash value in the second blockchain database, wherein the second representative hash value or the processed second representative hash value is position information recorded in the second blockchain database. Obtaining distribution transaction ID (S425 to S428), which registers the point distributor and exchange rate for providing the integrated point service; Is the same as that described in the method. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
또한, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법은, 상기 지원 서버가, 주기적으로 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 분배 트랜잭션 또는 이를 가공한 값의 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, according to the second embodiment of the present invention, an integrated point distribution method for providing an integrated point service includes at least one distributed transaction or a value processed by the support server periodically recorded in the first blockchain database. Representative hash value generated by hashing together at least one neighboring hash value matching the hash value of or a value obtained by processing the representative hash value is the second representative hash recorded in the second blockchain database corresponding thereto. The method may further include verifying the integrity of the first blockchain database by verifying whether a value or the second representative hash value matches a processed value. I will replace the one described in the registration method of exchange rate.
다음으로, 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법이 설명될 것인바, 전술한 제1 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, a method of using an integration point for providing an integration point service according to the second embodiment will be described. The same technical features as those of the first embodiment will not be described repeatedly, and only differences will be described in detail. do.
도 5를 참조하면, 제2 실시예에 따른 통합 포인트 사용 방법은, 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 사용자에게 재화 또는 용역을 제공하는 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션 TrxA이 획득되면, 지원 서버(100)가, 상기 사용 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S510)를 포함한다.Referring to FIG. 5, in the method of using an integration point according to the second embodiment, a first representative hash value generated from a distribution transaction including an integration point UPUA of a user or a first specific hash value that is a hash value of a processed value thereof. Or the public key MPubA of the seller providing the goods or services to the user, or the processed value thereof, while the first representative hash value is recorded in a second blockchain database, and the integrated point of the user. When the use transaction TrxA including the UPUA is obtained, the support server 100 may include verifying the validity of the use transaction TrxA or supporting another device interoperating with the support server (S510).
다시 도 5를 참조하면, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법은, 전술한 단계(S520, S521) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 ID를 획득하는 단계(S525 내지 S528)를 더 포함하는바, 이는 상기 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Referring back to FIG. 5, in the method of using an integration point for providing an integration point service according to the second embodiment of the present invention, after the above-described steps S520 and S521, when a predetermined anchoring condition is satisfied, the support server A second representative hash value or the second representative hash value generated by hashing together at least one neighboring hash value matching the second specific hash value that is a hash value of the valid usage transaction TrxA or the truncated value. Support transaction to record or record the processed value in the second blockchain database, wherein the processed value of the second representative hash value or the second representative hash value is position information recorded in the second blockchain database. It further comprises the step (S525 to S528), which is a method of registering the point distributor and exchange rate for providing the integrated point service Document describes a similar manner to that. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
또한, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법은, 상기 지원 서버가, 주기적으로 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 사용 트랜잭션 또는 이를 가공한 값의 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, according to the second embodiment of the present invention, a method of using an integration point for providing an integration point service includes at least one usage transaction or a value processed by the support server periodically recorded in the first blockchain database. Representative hash value generated by hashing together at least one neighboring hash value matching the hash value of or a value obtained by processing the representative hash value is the second representative hash recorded in the second blockchain database corresponding thereto. The method may further include verifying the integrity of the first blockchain database by verifying whether a value or the second representative hash value matches a processed value. I will replace the one described in the registration method of exchange rate.
다음으로, 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법이 설명될 것인바, 전술한 제1 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, an integrated point refund method for providing an integrated point service according to the second embodiment will be described. The same technical features as those of the first embodiment will not be described repeatedly, and only differences will be described in detail. do.
도 6을 참조하면, 제2 실시예에 따른 통합 포인트 환급 방법은, (i) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 (ii) 사용자에게 재화 또는 용역을 제공하는 판매자에게 전달된 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션, 또는 상기 발행 트랜잭션 또는 상기 사용 트랜잭션을 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 환급 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(S610)를 포함한다.With reference to FIG. 6, the integrated point refund method according to the second embodiment may include (i) an issuance transaction including an issue amount UPCA, which is an integrated point of a point distributor, or (ii) a seller providing goods or services to a user. Process a first representative hash value or the first representative hash value generated from a use transaction including the integration point UPUA of the user, or a first specific hash value that is a hash value of the processed transaction or the value that processed the use transaction When a value is recorded in the second blockchain database, a refund transaction TrxA including the public key PubPS of the point management server or the processed value thereof, and the integrated point UPMA of the point distributor or the seller is obtained, The support server validates the refund transaction TrxA or causes another device to interwork with the support server. Supporting to verify (S610).
다시 도 6을 참조하면, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법은, 전술한 단계(S620, S621) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 ID를 획득하는 단계(S625 내지 S628)를 더 포함하는바, 이는 상기 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Referring back to FIG. 6, in the integrated point refund method for providing an integrated point service according to the second embodiment of the present invention, after a predetermined anchoring condition is satisfied after the above-described steps (S620 and S621), the support server A second representative hash value or the second representative hash value generated by hashing together at least one neighboring hash value matching the second specific hash value which is a hash value of the valid refund transaction TrxA or a processed value thereof. It supports to record or record the processed value in the second blockchain database, and the refund transaction ID which is the position information recorded in the second blockchain database is the second representative hash value or the processed value of the second representative hash value. It further comprises the step (S625 to S628), which is a method of registering the point distributor and exchange rate for providing the integrated point service Document describes a similar manner to that. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
또한, 본 발명의 제2 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법은, 상기 지원 서버가, 주기적으로 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 환급 트랜잭션 또는 이를 가공한 값의 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(미도시)를 더 포함할 수 있는바, 이에 대한 설명은 앞서 포인트 유통자 및 교환 비율의 등록 방법에서 설명했던 것으로 갈음하겠다.In addition, the integrated point refund method for providing an integrated point service according to a second embodiment of the present invention, the support server, at least one refund transaction periodically recorded in the first blockchain database or a value processed therein Representative hash value generated by hashing together at least one neighboring hash value matching the hash value of or a value obtained by processing the representative hash value is the second representative hash recorded in the second blockchain database corresponding thereto. The method may further include verifying the integrity of the first blockchain database by verifying whether a value or the second representative hash value matches a processed value. I will replace the one described in the registration method of exchange rate.
제3 실시예Third embodiment
다음으로, 본 발명에 따라 통합 포인트 서비스를 제공하는 방법에 관한 제3 실시예를 설명하기로 한다. 하기에서는 전술한 제1 실시예 및 제2 실시예와 동일한 기술적 특징은 반복하여 설명하지 않을 것인바, 차이점만을 구체적으로 설명한다. 제3 실시예는 제1 실시예와 마찬가지로 이웃 해쉬값과의 연산을 통하여 대표 해쉬값을 연산하는 기술적 특징, 예컨대 머클 트리를 이용하는 기술적 특징은 포함하지 않는바, 이는 제2 및 제4 실시예와 다른 점이다.Next, a third embodiment of a method for providing an integrated point service according to the present invention will be described. In the following description, the same technical features as those of the first and second embodiments will not be described repeatedly, and only differences will be described in detail. Like the first embodiment, the third embodiment does not include a technical feature for calculating a representative hash value through calculation with a neighbor hash value, for example, a technical feature using a Merkle tree. It is different.
제3 실시예에 따라 포인트 유통자 및 교환 비율을 등록하는 방법에서, 상기 등록 트랜잭션 TrxA은, (i) 유니크 논스(unique nonce), (ii) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (iii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, (iv) 상기 교환 비율 XEA, 및 (v) 상기 (i) 내지 (iv) 중 적어도 하나를 상기 포인트 유통자의 개인키 CPrivA로 서명한 값인 등록 트랜잭션 서명값을 포함할 수 있다. In the method of registering the point distributor and the exchange rate according to the third embodiment, the registration transaction TrxA may be: (i) a unique nonce, (ii) the public key CPubA of the point distributor, or a processed value thereof; (iii) the public key PubPS of the point management server or a processed value thereof, (iv) the exchange rate XEA, and (v) at least one of (i) to (iv) signed by the point distributor's private key CPrivA It can contain one value, the registered transaction signature value.
여기에서 유니크 논스는 리플레이 어택(replay attack)을 방지하기 위한 것으로서, 일회성 번호인바, 일 예로 타임스탬프일 수 있으나, 이에 한정되지 않는다. 예컨대, 임의의 시드(seed)로부터 생성되는 랜덤값(random value)일 수도 있다. 이와 같이 유니크 논스를 생성하는 방법은 본 발명을 이해하는 데 있어서 불필요한 세부이므로 더 자세하게 설명되지 않을 것인바, 이는 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자에게 알려져 있거나 용이하게 이해될 수 있는 바와 같다. Here, the unique nonce is for preventing a replay attack, and may be a one-time number, for example, a time stamp, but is not limited thereto. For example, it may be a random value generated from any seed. As such, a method for generating a unique nonce is unnecessary detail in understanding the present invention and thus will not be described in more detail, which may be known or easily understood by those skilled in the art. As shown.
본 발명의 제3 실시예와 같이 개별 엔티티가 소유한 포인트에 관한 정보가 밸런스 데이터베이스를 통하여 관리되는 경우에 엔티티가 생성한 유효한 트랜잭션이 악의적인 다른 엔티티에 의하여 여러 번 네트워크에 전송되면, 이에 영향을 받는 엔티티의 밸런스가 충분한 경우에 모두 유효한 트랜잭션으로 인정되어 포인트가 여러 번 지불되는 경우가 있을 수 있는바, 이를 리플레이 어택이라고 한다. 본 발명에서는 이를 방지하기 위하여 트랜잭션에 유니크 논스가 포함될 수도 있다. 이 경우, 리플레이 어택의 공격자는 유니크 논스에 대한 유효한 서명값을 만들어 낼 수 없으므로 리플레이 어택을 근본적으로 차단할 수 있다. 요컨대, 유니크 논스를 통하여 하나의 트랜잭션에는 하나의 유니크 논스가 존재하므로 수신되는 트랜잭션에 포함된 유니크 논스가 이전에 수신된 트랜잭션에서 사용된 것일 경우 비정상적인 트랜잭션, 즉, 유효하지 않은 트랜잭션으로 간주됨으로써 리플레이 어택을 방지할 수 있게 된다.When information about a point owned by an individual entity is managed through the balance database as in the third embodiment of the present invention, if a valid transaction generated by the entity is transmitted to the network several times by another malicious entity, it is affected. If the receiving entity has a sufficient balance, it may be recognized as a valid transaction and points may be paid multiple times. This is called a replay attack. In the present invention, a unique nonce may be included in a transaction to prevent this. In this case, the attacker of the replay attack can fundamentally block the replay attack because it cannot generate a valid signature for the unique nonce. In short, through a unique nonce, one unique nonce exists in a transaction, so if a unique nonce included in a received transaction is used in a previously received transaction, it is regarded as an abnormal transaction, that is, an invalid transaction. Can be prevented.
제3 실시예에서 상기 단계(S220)는 상기 등록 트랜잭션 서명값 및 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값을 이용하여, 상기 등록 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 할 수 있다. In a third embodiment, the step S220 may be characterized in that the validity of the registration transaction TrxA is verified using the registration transaction signature value and the public key CPubA of the point distributor or a processed value thereof.
예를 들어, 상기 포인트 유통자의 공개키 CPubA를 이용하여 상기 등록 트랜잭션 서명값으로부터 소정의 해시값을 얻을 수 있으며, 이 해시값과 상기 교환 비율 XEA에 소정의 해시 함수를 적용하여 얻은 결과값을 비교함으로써 서명의 유효성을 검증할 수 있다.For example, a predetermined hash value can be obtained from the registered transaction signature value using the point distributor's public key CPubA, and this hash value is compared with a result value obtained by applying a predetermined hash function to the exchange rate XEA. By doing so, you can validate the signature.
한편, 제3 실시예에서, 상기 확인 트랜잭션 TrxB은, (i) 유니크 논스(unique nonce), (ii) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (iii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, (iv) 상기 교환 비율 XEA 및 (v) 상기 (i) 내지 (iv) 중 적어도 하나를 상기 포인트 관리 서버의 개인키 PrivPS로 서명한 값인 확인 트랜잭션 서명값을 포함할 수 있다. 이 실시예에서 상기 단계(S240)는 상기 확인 트랜잭션 서명값 및 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값을 이용하여, 상기 확인 트랜잭션 TrxB의 유효성이 검증되는 것을 특징으로 할 수 있다. On the other hand, in the third embodiment, the confirmation transaction TrxB is (i) a unique nonce, (ii) the public key CPubA of the point distributor or a processed value thereof, and (iii) the public key of the point management server. PubPS or a value processed therefrom, (iv) the exchange rate XEA and (v) at least one of (i) to (iv) signed with the private key PrivPS of the point management server. have. In this embodiment, step S240 may be characterized in that the validity of the confirmation transaction TrxB is verified using the confirmation transaction signature value and the public key PubPS of the point management server or a processed value thereof.
제3 실시예에서는 밸런스 데이터베이스가 이용되는바, 전술한 단계(S221; S241)에서, 추가적으로 상기 포인트 유통자에 대하여 초기 밸런스를 밸런스 데이터베이스에 적용하거나 상기 타 장치로 하여금 적용하도록 지원함으로써 상기 밸런스 데이터베이스를 초기화하거나 상기 타 장치로 하여금 초기화하도록 지원한다. 이는 밸런스 데이터베이스를 이용하여 트랜잭션에 의한 밸런스의 변경 사항을 관리하기 위한 것이다.In the third embodiment, a balance database is used. In the above-described steps (S221; S241), the balance database may be additionally applied to the point distributor by applying the initial balance to the balance database or by allowing the other device to apply the balance database. Initialize or support the other device to initialize. This is to manage the balance change by transaction using the balance database.
다음으로, 제3 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법이 설명될 것인바, 전술한 제1 및 제2 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, an integration point issuance method for providing an integration point service according to the third embodiment will be described. The same technical features as the above-described first and second embodiments will not be described repeatedly, and only differences will be described in detail. Let's explain.
제3 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법에서, 상기 발행 트랜잭션 TrxA은, (i) 유니크 논스(unique nonce), (ii) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (iii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, (iv) 상기 포인트 유통자의 통합 포인트인 발행량 UPCA 및 (v) 상기 (i) 내지 (iv) 중 적어도 하나를 상기 포인트 관리 서버의 개인키 PrivPS로 서명한 값인 발행 트랜잭션 서명값을 포함할 수 있다. 이 발행 트랜잭션 서명값의 유효성 검증은 전술한 바와 동일하다.In the unified point issuing method for providing an unified point service according to the third embodiment, the issuing transaction TrxA may be: (i) a unique nonce, (ii) the public key CPubA of the point distributor or a processed value thereof. (iii) the public key PubPS of the point management server or a processed value thereof, (iv) at least one of the issue amount UPCA, which is an integrated point of the point distributor, and (v) (i) to (iv), the point management server The private key may include the issuance transaction signature value, which is a value signed by PrivPS. Validation of this issuance transaction signature value is the same as described above.
제3 실시예에서는, 전술한 단계(S320, S321)에서 상기 발행 트랜잭션 TrxA에 의한 밸런스 데이터베이스의 변경사항 deltaA을 적용하거나 상기 타 장치로 하여금 적용하도록 지원함으로써 상기 밸런스 데이터베이스를 갱신하거나 상기 타 장치로 하여금 갱신하도록 지원한다.In the third embodiment, in the above-described steps (S320 and S321), the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the issuing transaction TrxA. Support to update
다음으로, 제3 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법이 설명될 것인바, 전술한 제1 및 제2 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, an integrated point distribution method for providing an integrated point service according to the third embodiment will be described. The same technical features as those of the first and second embodiments described above will not be repeatedly described, and only differences will be described in detail. Let's explain.
제3 실시예에서, 상기 분배 트랜잭션 TrxA은, (i) 유니크 논스(unique nonce), (ii) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (iii) 상기 사용자의 공개키 PubUA 또는 이를 가공한 값, (iv) 상기 사용자의 통합 포인트 UPUA 및, (v) 상기 (i) 내지 (iv) 중 적어도 하나를 상기 포인트 유통자의 개인키 CPrivA로 서명한 값인 분배 트랜잭션 서명값을 포함할 수 있다. 이 분배 트랜잭션 서명값의 유효성 검증은 전술한 바와 동일하다.In a third embodiment, the distribution transaction TrxA is (i) a unique nonce, (ii) the public key CPubA of the point distributor or a value thereof, and (iii) a public key PubUA of the user or the same. A value, (iv) the user's integration point UPUA, and (v) at least one of (i) to (iv) signed with the point distributor's private key CPrivA. Validation of this distributed transaction signature value is the same as described above.
제3 실시예에서는, 전술한 단계(S420, S421)에서 상기 분배 트랜잭션 TrxA에 의한 밸런스 데이터베이스의 변경사항 deltaA을 적용하거나 상기 타 장치로 하여금 적용하도록 지원함으로써 상기 밸런스 데이터베이스를 갱신하거나 상기 타 장치로 하여금 갱신하도록 지원한다.In the third embodiment, the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the distributed transaction TrxA in steps S420 and S421 described above. Support to update
다음으로, 제3 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법이 설명될 것인바, 전술한 제1 및 제2 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, a method of using an integration point for providing an integration point service according to a third embodiment will be described. The same technical features as those of the first and second embodiments described above will not be repeatedly described, and only differences will be described in detail. Let's explain.
사용 트랜잭션에 관한 제3 실시예에서, 상기 사용 트랜잭션 TrxA은, (i) 유니크 논스(unique nonce), (ii) 상기 판매자의 공개키 MPubA 또는 이를 가공한 값, (iii) 상기 사용자의 공개키 PubUA 또는 이를 가공한 값, (iv) 상기 사용자가 사용하는 통합 포인트인 사용량 및, (v) 상기 (i) 내지 (iv) 중 적어도 하나를 상기 사용자의 개인키 PrivUA로 서명한 값인 사용 트랜잭션 서명값을 포함할 수 있다. 이 사용 트랜잭션 서명값의 유효성 검증은 전술한 바와 동일하다.In a third embodiment of a usage transaction, the usage transaction TrxA is (i) a unique nonce, (ii) the seller's public key MPubA or a processed value thereof, and (iii) the user's public key PubUA. Or (v) a usage amount that is an integration point used by the user, and (v) a usage transaction signature value, which is a value signed by at least one of (i) to (iv) with the user's private key PrivUA. It may include. The validity of this used transaction signature value is the same as described above.
제3 실시예에서는, 전술한 단계(S520, S521)에서 상기 사용 트랜잭션 TrxA에 의한 밸런스 데이터베이스의 변경사항 deltaA을 적용하거나 상기 타 장치로 하여금 적용하도록 지원함으로써 상기 밸런스 데이터베이스를 갱신하거나 상기 타 장치로 하여금 갱신하도록 지원한다.In the third embodiment, in step S520 and S521 described above, the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the use transaction TrxA. Support to update
다음으로, 제3 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법이 설명될 것인바, 전술한 제1 및 제2 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.Next, an integrated point refund method for providing an integrated point service according to the third embodiment will be described. The same technical features as the above-described first and second embodiments will not be described repeatedly, and only differences will be described in detail. Let's explain.
제3 실시예에서, 상기 환급 트랜잭션 TrxA은, (i) 유니크 논스(unique nonce), (ii) 상기 판매자의 공개키 MPubA 또는 상기 포인트 유통자의 공개키 CPubA, 또는 이를 가공한 값, (iii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, (iv) 환급 받는 통합 포인트인 환급량 및, (v) 상기 (i) 내지 (iv) 중 적어도 하나를 상기 판매자의 개인키 MPrivA 또는 상기 포인트 유통자의 개인키 CPrivA로 서명한 값인 환급 트랜잭션 서명값을 포함할 수 있다. 이 환급 트랜잭션 서명값의 유효성 검증은 전술한 바와 동일하다.In a third embodiment, the refund transaction TrxA is (i) a unique nonce, (ii) the seller's public key MPubA or the point distributor's public key CPubA, or a processed value thereof, (iii) the The public key PubPS of the point management server or the processed value thereof, (iv) the refund amount of the integrated point to be refunded, and (v) at least one of (i) to (iv) the private key MPrivA or the point distribution of the seller. It may include a refund transaction signature value, which is a value signed by the private key CPrivA. Validation of this refund transaction signature value is the same as described above.
제3 실시예에서는, 전술한 단계(S620, S621)에서 상기 환급 트랜잭션 TrxA에 의한 밸런스 데이터베이스의 변경사항 deltaA을 적용하거나 상기 타 장치로 하여금 적용하도록 지원함으로써 상기 밸런스 데이터베이스를 갱신하거나 상기 타 장치로 하여금 갱신하도록 지원한다.In the third embodiment, the balance database is updated or the other device is updated by applying or allowing the other device to apply the change deltaA of the balance database by the refund transaction TrxA in steps S620 and S621 described above. Support to update
전술한 밸런스 데이터베이스에 기록되는 데이터의 일 예시는 도 10에 도시된 바와 같다. User Pubkey라는 항목이 개별 사용자의 공개키를 의미하는 것으로서 그 개별 사용자를 식별하기 위하여 이용되며, Balance라는 항목은 개별 사용자가 가진 통합 포인트의 잔량을 의미한다. An example of data recorded in the above-described balance database is as shown in FIG. 10. User Pubkey refers to the public key of an individual user, and is used to identify the individual user. Balance means the remaining amount of integration points that an individual user has.
밸런스 데이터베이스의 변경사항에 관한 일 예시는 도 11에 도시되어 있다. 도 11의 첫 번째 데이터는 c4…dd로 식별되는 개별 사용자의 밸런스가 50,000 포인트 증가하였음을 의미하는 변경사항 데이터이다.One example of changes to the balance database is shown in FIG. 11. The first data in FIG. 11 is c4... Change data means that the balance of the individual users identified by dd has increased by 50,000 points.
제4 실시예Fourth embodiment
마지막으로, 본 발명에 따라 통합 포인트 서비스를 제공하는 방법에 관한 제4 실시예를 설명하기로 한다. 하기에서는 전술한 제3 실시예와 동일한 기술적 특징은 반복하여 설명하지 않을 것인바, 차이점만을 구체적으로 설명한다. 제4 실시예는 제3 실시예의 기술적 특징을 모두 포함하면서, 제2 실시예와 마찬가지로 이웃 해쉬값과의 연산을 통하여 대표 해쉬값을 연산하는 기술적 특징, 예컨대 머클 트리를 이용하는 기술적 특징을 더 포함한다.Finally, a fourth embodiment of a method for providing an integrated point service according to the present invention will be described. In the following description, the same technical features as those of the above-described third embodiment will not be repeated, and only differences will be described in detail. The fourth embodiment further includes all the technical features of the third embodiment, and further includes a technical feature for calculating a representative hash value through calculation with neighboring hash values as in the second embodiment, for example, a technical feature using a Merkle tree. .
구체적으로, 도 2를 다시 참조하면, 본 발명의 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법은, 제3 실시예의 단계(S220; S240) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값의 해시값인 특정 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 확인 트랜잭션 ID를 획득하는 단계(S235 내지 S238; S245 내지 S248)를 더 포함한다.Specifically, referring back to FIG. 2, the method of registering the point distributor and the exchange rate for providing the integrated point service according to the fourth embodiment of the present invention, after the step (S220; S240) of the third embodiment, If the anchoring condition is satisfied, the support server selects at least one neighboring hash value matching the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a specific hash value that is a hash value of the processed transaction. A representative hash value generated by hash operation together or a value obtained by processing the representative hash value is recorded in a second blockchain database or supported by the other device to record, and a value processed by the representative hash value or the representative hash value Acquiring a confirmation transaction ID which is position information recorded in the second blockchain database (S235 to S238; S245 to S248). More).
제4 실시예에서는, 상기 이웃 해시값은 제2 실시예에 관하여 전술한 (i) 내지 (vi), 및 (vii) 블록체인에서 n 번째 블록이 생성되는 때에, 생성되는 상기 n 번째 블록에 반영된 모든 트랜잭션에 의한 밸런스 데이터베이스의 변경사항 delta_n의 해시값 중 어느 하나일 수 있다. 즉, 제4 실시예에서 상기 이웃 해시값은 (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 및 (vii) 블록체인에서 n 번째 블록이 생성되는 때에, 생성되는 상기 n 번째 블록에 반영된 모든 트랜잭션에 의한 밸런스 데이터베이스의 변경사항 delta_n의 해시값 중 어느 하나일 수 있다.In the fourth embodiment, the neighbor hash value is reflected in the nth block to be generated when the nth block is generated in the (i) to (vi) and (vii) blockchains described above with respect to the second embodiment. It may be any one of the hash values of the delta_n change of the balance database by all transactions. That is, in the fourth embodiment, the neighbor hash value is (i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between the specific point X and the integration point managed by the specific point distributor, (ii) the A hash value of a specific confirmation transaction including a specific exchange rate XEX, (iii) a specific issuance transaction including the public key CPubX of the specific point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor. A hash value of (iv) the public key PubUA of a particular user or a processed value thereof, and a hash value of a distributed transaction comprising the integration point UPUA of the particular user, (v) a particular merchant providing goods or services to the particular user A hash value of a transaction used, including the public key MPubA or the processed value of the specific user, and the integration point UPUA of the particular user, When the hash value of the refund transaction including the public key PubPS of the network management server or the processed value thereof, and the integrated point UPMA of the specific point distributor or the specific seller, and (vii) the nth block in the blockchain, It may be any one of a hash value of the change delta_n of the balance database by all transactions reflected in the generated n th block.
다음으로 도 9는 본 발명에 따라 포인트 관련 트랜잭션이 제2 블록체인 데이터베이스에 기록되는 과정을 개략적으로 도시한 개념도이다.Next, FIG. 9 is a conceptual diagram schematically illustrating a process of recording a point related transaction in a second blockchain database according to the present invention.
이 제4 실시예에 따르면, 상기 제1 블록체인 데이터베이스에서 n 번째 블록이 생성되는 때에, 상기 생성되는 n 번째 블록의 블록 헤더(block header)에 상기 n 번째 블록에 반영된 모든 트랜잭션에 의한 밸런스 데이터베이스의 변경사항 delta_n으로부터 연산된 해시값인 밸런스 데이터베이스 헤더 해시값이 기록될 수 있다.According to this fourth embodiment, when an nth block is generated in the first blockchain database, a balance database of all transactions reflected in the nth block is reflected in a block header of the generated nth block. The balance database header hash value, which is a hash value calculated from the change delta_n, may be recorded.
제4 실시예에서는, (vii) 블록체인에서 n 번째 블록이 생성되는 때에, 생성되는 상기 n 번째 블록에 반영된 모든 트랜잭션에 의한 밸런스 데이터베이스의 변경사항 delta_n의 해시값이 블록 헤더에 기록되므로 구태여 리프 노드에 할당될 필요가 없으므로 이를 제외한 나머지, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, 및 (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값의 항목들이 각각의 리프 노드에 할당될 수 있다. In the fourth embodiment, (vii) when the nth block is generated in the blockchain, the hash value of the change delta_n of the balance database by all transactions reflected in the generated nth block is recorded in the block header, thereby leaving the leaf node. Except for this since it does not need to be assigned to, (i) a hash value of a particular registered transaction comprising a specific exchange rate XEX between a specific point X managed by a specific point distributor and the integration point, and (ii) the specific exchange. Hash value of a specific confirming transaction including a ratio XEX, (iii) A hash value of a specific issuing transaction including the public key CPubX of the particular point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor. (iv) the public key PubUA of a particular user or a processed value thereof, and the UPUA point of integration A hash value of a distributed transaction comprising; and (v) a public key MPubA of a particular merchant providing the goods or services to the particular user or a processed value thereof, and a hash value of a use transaction comprising the integration point UPUA of the particular user. (vi) items of the public key PubPS of the point management server or the processed value thereof, and the hash value of the refund transaction including the integrated point UPMA of the specific point distributor or the specific seller are assigned to each leaf node. Can be.
다음으로, 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법이 설명될 것인바, 전술한 제3 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 설명하기로 한다.Next, an integration point issuing method for providing an integration point service according to the fourth embodiment will be described. The same technical features as the above-described third embodiment will not be repeatedly described, and only differences will be described.
구체적으로 도 3을 다시 참조하면, 본 발명의 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법은, 제3 실시예의 단계(S320, S321) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버(100)가, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 ID를 획득하는 단계(S325 내지 S328)를 더 포함하는바, 이는 앞서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Specifically, referring back to FIG. 3, in the integrated point issuing method for providing the integrated point service according to the fourth embodiment of the present invention, after a predetermined anchoring condition is satisfied after steps S320 and S321 of the third embodiment, A second representative hash value generated by the support server 100 hashing together at least one neighboring hash value matching the second specific hash value that is a valid hash value of the issued transaction TrxA or a truncated value; or Support to record or record the processed second representative hash value in a second blockchain database, and record the second representative hash value or the processed second representative hash value in the second blockchain database. The method may further include obtaining the issued transaction ID which is the location information (S325 to S328), as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
다음으로, 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법이 설명될 것인바, 전술한 제3 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 설명하기로 한다.Next, an integrated point distribution method for providing an integrated point service according to the fourth embodiment will be described. The same technical features as those of the above-described third embodiment will not be repeatedly described, and only differences will be described.
구체적으로 도 4를 다시 참조하면, 본 발명의 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법은, 제3 실시예의 단계(S420, S421) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 ID를 획득하는 단계 (S425 내지 S428)를 더 포함하는바, 이는 앞서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Specifically, referring back to FIG. 4, in the integrated point distribution method for providing the integrated point service according to the fourth embodiment of the present invention, after a predetermined anchoring condition is satisfied after steps S420 and S421 of the third embodiment, A second representative hash value or the second representative hash value generated by hashing together the at least one neighboring hash value matching the second specific hash value which is a hash value of the valid distributed transaction TrxA or a truncated value; Supporting to record or record the processed value of the representative hash value in the second blockchain database, wherein the position information of the second representative hash value or the value of the processed second representative hash value is recorded in the second blockchain database Obtaining an in-distribution transaction ID further includes steps S425 to S428, as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
다음으로, 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법이 설명될 것인바, 전술한 제3 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 설명하기로 한다.Next, a method of using an integration point for providing an integration point service according to the fourth embodiment will be described. The same technical features as the above-described third embodiment will not be repeatedly described, and only differences will be described.
구체적으로 도 5를 다시 참조하면, 본 발명의 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법은, 제3 실시예의 단계(S520, S521) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 ID를 획득하는 단계(S525 내지 S528)를 더 포함하는바, 이는 앞서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Specifically, referring back to FIG. 5, in a method of using an integration point for providing an integration point service according to a fourth embodiment of the present invention, after a predetermined anchoring condition is satisfied after steps S520 and S521 of the third embodiment, A second representative hash value or the second representative hash value generated by hashing together the at least one neighboring hash value that matches the second specific hash value that is the hash value of the valid usage transaction TrxA or the truncated value; Supporting to record or record the processed value of the representative hash value in the second blockchain database, wherein the position information of the second representative hash value or the value of the processed second representative hash value is recorded in the second blockchain database The method may further include obtaining the use-use transaction ID (S525 to S528), as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
마지막으로, 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법이 설명될 것인바, 전술한 제3 실시예와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 설명하기로 한다.Finally, an integrated point refund method for providing an integrated point service according to the fourth embodiment will be described. The same technical features as those of the above-described third embodiment will not be repeatedly described, and only differences will be described.
구체적으로 도 6을 다시 참조하면, 본 발명의 제4 실시예에 따라 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법은, 제3 실시예의 단계(S620, S621) 후에, 소정의 anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 ID를 획득하는 단계(S625 내지 S628)를 더 포함하는바, 이는 앞서 설명했던 바와 마찬가지이다. 즉, 특정 해시값으로부터 대표 해시값을 생성하여 제2 블록체인 데이터베이스에 기록하는 과정은 전술한 바와 같으므로 중복되는 설명은 생략하기로 한다.Specifically, referring back to FIG. 6, in the integrated point refund method for providing the integrated point service according to the fourth embodiment of the present invention, after a predetermined anchoring condition is satisfied after steps S620 and S621 of the third embodiment, A second representative hash value or the second representative hash value generated by hashing together the at least one neighboring hash value matching the second specific hash value which is the hash value of the valid refund transaction TrxA or the truncated value; Supporting to record or record the processed value of the representative hash value in the second blockchain database, wherein the position information of the second representative hash value or the value of the processed second representative hash value is recorded in the second blockchain database The method may further include obtaining a refund transaction ID (S625 to S628), as described above. That is, since the process of generating the representative hash value from the specific hash value and recording it in the second blockchain database is the same as described above, redundant description will be omitted.
전술한 본 발명의 모든 실시예들에 걸쳐, 보안성과 사용성이 강하면서도 저비용으로 통합 포인트 및 개별 포인트를 유통 및 관리할 수 있으며, 무단 복제 또는 위변작이 불가능하도록 하여 포인트 유통 시스템의 신뢰성 및 보안성을 향상시킬 수 있는 효과가 있다.Through all the embodiments of the present invention described above, it is possible to distribute and manage integrated points and individual points at a low cost with high security and usability, and to prevent unauthorized copying or forgery, thereby providing reliability and security of the point distribution system. There is an effect to improve.
상기 실시예들로서 여기에서 설명된 기술의 이점은, 공개키, 해시값 등의 포인트 관련 정보의 위변작이 사실상 불가능하게 됨으로써 포인트 시스템의 신뢰성이 보장되고, 포인트 트랜잭션 정보 - 포인트의 발행, 분배, 사용, 환급 등의 정보 - 를 데이터베이스에 기록함에 있어서 모든 관련 정보를 블록체인에 올리는 대신에 이를 이용하여 머클 트리를 구성하여 상기 구성된 머클 트리의 루트값만을 블록체인에 등록함으로써 서비스의 속도를 향상시키고 트랜잭션 비용을 절감할 수 있게 된다는 점이다.The advantages of the techniques described herein as the above embodiments are that the forgery of point related information such as public keys, hash values, etc. is virtually impossible, thereby ensuring the reliability of the point system, and the point transaction information-issue, distribution, use of points. Instead of uploading all relevant information to the blockchain in recording information such as refunds and refunds in the database, the Merkle Tree is used to register only the root value of the configured Merkle Tree in the blockchain to improve the speed of the service and to transfer the transaction. The cost can be reduced.
Claims (36)
- 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록 방법으로서, A method of registering point distributors and exchange rates for providing integrated point services,(a) (i) 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값 및 상기 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 등록 트랜잭션 TrxA이 상기 포인트 유통자의 서버인 포인트 유통자 서버로부터 획득되는 검증조건, 및 (ii) 상기 포인트 유통자 서버의 공개키 CPubA 또는 이를 가공한 값 및 상기 교환 비율 XEA을 포함하는 확인 트랜잭션 TrxB이 상기 포인트 관리 서버로부터 획득되는 검증조건 중 적어도 하나를 만족하면, 지원 서버가, 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 적어도 하나의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (a) (i) the registration transaction TrxA including the public key PubPS of the point management server managing the integrated point service or a value thereof and the exchange rate XEA between the point A and the integrated point managed by the point distributor; The point management is performed by the verification transaction TrxB including the verification condition obtained from the point distributor server, which is the server of the point distributor, and (ii) the public key CPubA of the point distributor server or a processed value thereof, and the exchange rate XEA. If at least one of the verification conditions obtained from the server is satisfied, the support server may be configured to verify at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB or to allow other devices linked to the support server to verify. step;(b) 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 유효하면, 상기 지원 서버가, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (b) if the at least one of the registration transaction TrxA and the confirmation transaction TrxB is valid, the support server converts the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof into a first blockchain; Writing to a database or supporting the other device to record; And(c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값의 해시값인 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 확인 트랜잭션 ID를 획득하는 단계(c) at least one neighboring hash value that is matched by the support server with a specific hash value that is a hash value of the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof, when the anchoring condition is satisfied; The neighbor hash value is a hash value of a specific registration transaction comprising (i) a specific exchange rate XEX between a specific point X and a consolidated point managed by a specific point distributor, and (ii) the specific exchange rate XEX. A hash value of a specific confirmation transaction comprising; (iii) a hash value of a specific issuing transaction comprising the public key CPubX of the specific point distributor or a processed value thereof, and a specific issue amount UPCX that is an integrated point of the specific point distributor, (iv A hash of a distributed transaction comprising the public key PubUA of the particular user or a processed value thereof, and the integration point UPUA of the specific user (v) a hash value of a use transaction comprising the public key MPubA of a particular seller or a processed value thereof providing the goods or services to the particular user, and the integration point UPUA of the particular user, and (vi) the point management A representative hash value or the representative generated by hashing together the public key PubPS of the server or a value thereof, and a hash value of a refund transaction including an integrated point UPMA of the specific point distributor or the specific seller. Location information in which the hash value is recorded in a second blockchain database or is supported by the other device to record, and the representative hash value or a value in which the representative hash value is processed is recorded in the second blockchain database. Acquiring a valid confirmation transaction ID를 포함하는 방법.How to include.
- 제1항에 있어서, The method of claim 1,상기 (a) 단계에서, In the step (a),(i) 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나에 포함된 상기 교환 비율이 미리 정해져 기록된 소정의 교환 비율과 일치하는 일치조건, (i) a matching condition in which the exchange rate included in the at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB matches a predetermined exchange rate recorded in advance,(ii) 획득된 상기 등록 트랜잭션 TrxA에 포함된 상기 교환 비율이 상기 획득된 등록 트랜잭션 TrxA의 이전에 기 기록된 특정 확인 트랜잭션에 포함된 상기 교환 비율과 일치하는 일치조건 및 (ii) a matching condition in which the exchange rate included in the obtained registered transaction TrxA matches the exchange rate included in a previously recorded specific confirmation transaction of the obtained registered transaction TrxA; and(iii) 획득된 상기 확인 트랜잭션 TrxB에 포함된 상기 교환 비율이 상기 획득된 확인 트랜잭션 TrxB의 이전에 기 기록된 특정 등록 트랜잭션에 포함된 상기 교환 비율과 일치하는 일치조건 중 적어도 하나가 만족되면, (iii) if at least one of the matching conditions matching the exchange rate included in the previously registered specific registered transaction of the obtained confirmation transaction TrxB is satisfied,획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 유효한 것으로 검증되는 것을 특징으로 하는 방법.The at least one of the obtained registration transaction TrxA and the confirmation transaction TrxB is verified to be valid.
- 제1항에 있어서, The method of claim 1,상기 (a) 단계는, In step (a),상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 무효이면, 상기 지원 서버가, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 무효임을 나타내는 등록 실패 응답 메시지를 상기 포인트 유통자 서버 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 것을 특징으로 하는 방법.If the at least one of the registration transaction TrxA and the confirmation transaction TrxB is invalid, the support server sends a registration failure response message indicating that the at least one of the registration transaction TrxA and the confirmation transaction TrxB is invalid; Delivering to at least one of the point management servers or to allow the other device to deliver.
- 제1항에 있어서, The method of claim 1,상기 등록 트랜잭션 TrxA은, The registration transaction TrxA,상기 교환 비율 XEA, 상기 교환 비율 XEA을 상기 포인트 유통자의 개인키 CPrivA로 서명한 값인 교환 비율 포인트 유통자 서명값 SigCPrivA(XEA), 및 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값을 포함하는 것을 특징으로 하는 방법.The exchange rate XEA, the exchange rate point distributor signature value SigCPrivA (XEA), which is a value obtained by signing the exchange rate XEA with the private key CPrivA of the point distributor, and the public key CPubA of the point distributor, or a processed value thereof. How to feature.
- 제4항에 있어서, The method of claim 4, wherein상기 (a) 단계는, In step (a),상기 교환 비율 포인트 유통자 서명값 SigCPrivA(XEA) 및 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값을 이용하여, 상기 등록 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 하는 방법.And the validity of the registration transaction TrxA is verified using the exchange rate point distributor signature value SigCPrivA (XEA) and the point distributor's public key CPubA or a processed value thereof.
- 제1항에 있어서, The method of claim 1,상기 (a) 단계는, In step (a),상기 등록 트랜잭션 TrxA에 포함된 상기 교환 비율 XEA이 상기 미리 정해져 기록된 소정의 교환 비율과 불일치하면, 상기 지원 서버가, 상기 교환 비율 XEA이 불일치함을 나타내는 등록 실패 응답 메시지를 상기 포인트 유통자 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 것을 특징으로 하는 방법.If the exchange rate XEA included in the registration transaction TrxA is inconsistent with the predetermined and recorded predetermined exchange rate, the support server sends a registration failure response message indicating that the exchange rate XEA is inconsistent with the point distributor and the Delivering to at least one of the point management servers or support the other device to deliver.
- 제1항에 있어서, The method of claim 1,상기 확인 트랜잭션 TrxB은, The confirmation transaction TrxB,상기 교환 비율 XEA, 상기 교환 비율 XEA을 상기 포인트 관리 서버의 개인키 PrivPS로 서명한 값인 교환 비율 서버 서명값 SigPrivPS(XEA), 및 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값을 포함하는 것을 특징으로 하는 방법.The exchange rate XEA, the exchange rate server signature value SigPrivPS (XEA), which is a value obtained by signing the exchange rate XEA with the private key PrivPS of the point management server, and the public key PubPS of the point management server or a processed value thereof. How to feature.
- 제7항에 있어서, The method of claim 7, wherein상기 (a) 단계는, In step (a),상기 교환 비율 서버 서명값 SigPrivPS(XEA) 및 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값을 이용하여, 상기 확인 트랜잭션 TrxB의 유효성이 검증되는 것을 특징으로 하는 방법.And the validation transaction TrxB is validated using the exchange rate server signature value SigPrivPS (XEA) and the public key PubPS of the point management server or a processed value thereof.
- 제1항에 있어서, The method of claim 1,상기 (b) 단계 후에, After step (b),(c0) 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값이 저장되면, 상기 지원 서버가, 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값이 상기 제1 블록체인 데이터베이스에 기록된 위치 정보인 트랜잭션 위치 식별자 PrivTxid를 포함하는 등록 응답 메시지를 상기 포인트 유통자 및 상기 포인트 관리 서버 중 적어도 하나에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 단계(c0) when the at least one of the registration transaction TrxA and the confirmation transaction TrxB, or a value processed therein, is stored, the support server, the at least one of the registration transaction TrxA and the confirmation transaction TrxB, or the value processed therein Delivering a registration response message including a transaction location identifier PrivTxid, which is location information recorded in the first blockchain database, to at least one of the point distributor and the point management server or supporting the other device to deliver the registration response message;를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a.
- 제1항에 있어서, The method of claim 1,상기 anchoring 조건은, The anchoring condition is,(i) 소정의 개수만큼의 상기 특정 해시값, 및 상기 이웃 해시값이 획득되거나 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록체인에서 n번째 블록이 생성되는 조건, 및 (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.(i) a predetermined number of said specific hash values, and a condition under which said neighbor hash value is obtained or generated, (ii) a condition over which a predetermined time elapses, (iii) a condition under which an nth block is generated in a blockchain, and (iv) at least one of the conditions for the service characteristics.
- 제1항에 있어서, The method of claim 1,상기 (c) 단계에서, In the step (c),상기 지원 서버는, 상기 특정 해시값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 상기 타 장치로 하여금 생성하도록 지원하고, The support server may generate a merkle tree or allow the other device to generate a merkle tree in which the specific hash value is assigned to a leaf node,상기 anchoring 조건이 만족되면, 상기 특정 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 함께 해시 연산하여 생성되는 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값을 획득하고, 상기 획득된 값을 상기 제2 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 것을 특징으로 하는 방법.When the anchoring condition is satisfied, the representative hash value or the value obtained by processing the representative hash value generated by hashing together the hash value assigned to at least one other leaf node matching the specific hash value is obtained. And record the obtained value in the second blockchain database or allow the other device to record it.
- 제11항에 있어서, The method of claim 11,상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫 번째 머클 트리인 경우, 상기 머클 트리의 첫 번째 리프 노드에는 텍스트, 숫자 또는 기호로 이루어진 소정의 메시지 데이터의 해시값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 방법.When the Merkle tree is the first Merkle tree of at least one Merkle tree connected in a chain form, the first leaf node of the Merkle tree has a hash value or a processed value of predetermined message data consisting of text, numbers or symbols. Assigned method.
- 제11항에 있어서, The method of claim 11,상기 anchoring 조건이 만족되면, If the anchoring condition is satisfied,(x1) 상기 지원 서버는, (i) 상기 특정 해시값과 (ii) 상기 머클 트리의 상기 특정 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 함께 해시 연산하거나 해시 연산하도록 지원하고, 상기 연산의 결과인 연산값에 대한 해시값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며, (x1) the support server supports (i) hashing or hashing together a hash value assigned to a sibling node of a node to which the particular hash value of (i) the particular hash value of the Merkle tree is assigned; Supports assigning or allocating a hash value for an operation value that is a result of the operation to a parent node of the node(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해시값을 상기 대표 해시값으로서 상기 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, (x2) if the parent node is a root node of the Merkle tree, supports to record or record a hash value assigned to the parent node as the representative hash value in the second blockchain database,(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해시값을 상기 특정 해시값으로 하여 상기 (x1) 내지 (x3)을 반복하여 수행하는 것을 특징으로 하는 방법.(x3) if the parent node is not the root node of the Merkle tree, repeating the steps (x1) to (x3) by using the hash value assigned to the parent node as the specific hash value.
- 제13항에 있어서, The method of claim 13,상기 (x1)에서, In (x1) above,상기 anchoring 조건이 만족되었음에도 상기 특정 해시값이 할당된 노드의 형제 노드에 해시값이 할당되어 있지 않은 경우, 상기 지원 서버는, 상기 형제 노드에 소정의 해시값을 할당하거나 상기 타 장치로 하여금 할당하도록 지원하여 상기 (x1) 내지 (x3)을 수행하는 것을 특징으로 하는 방법.If a hash value is not assigned to a sibling node of a node to which the specific hash value is assigned even though the anchoring condition is satisfied, the support server allocates a predetermined hash value to the sibling node or causes the other device to allocate the hash value. And (x1) to (x3).
- 제1항에 있어서, The method of claim 1,상기 지원 서버가 상기 특정 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결되는 것을 특징으로 하는 방법.When the support server stores the specific hash value and the at least one neighbor hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure, And the first data structure and the second data structure are connected in a chain form.
- 제15항에 있어서, The method of claim 15,상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해시값이 상기 제2 데이터 구조의 첫 번째 리프 노드에 할당되는 것을 특징으로 하는 방법.When the first data structure and the second data structure are Merkle trees, a root value of the first data structure or a hash value of the root value is assigned to the first leaf node of the second data structure. Way.
- 제1항에 있어서, The method of claim 1,상기 (a) 단계에서, 상기 지원 서버의 수신이 없고, 상기 (c) 단계에서, 상기 anchoring 조건이 만족되면, 상기 지원 서버는, 소정의 메시지 데이터가 첫 번째 리프 노드와 두 번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 상기 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하는 것을 특징으로 하는 방법.In step (a), if there is no reception of the support server, and in step (c), if the anchoring condition is satisfied, the support server assigns predetermined message data to the first leaf node and the second leaf node. And generate or write a root value of the Merkle tree or a processed value thereof to the second blockchain database.
- 제1항에 있어서, The method of claim 1,(d) 상기 지원 서버가, 주기적으로(periodically) 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 상기 등록 트랜잭션 또는 상기 확인 트랜잭션, 또는 이를 가공한 값의 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 일치하는지를 검증함으로써 상기 제1 블록체인 데이터베이스의 무결성을 검증하는 단계(d) at least one neighboring hash that the support server matches a hash value of at least one of the registration transaction or the confirmation transaction, or a processed value, periodically recorded in the first blockchain database. A first representative hash value generated by hashing the values together or a value obtained by processing the first representative hash value, and a second representative hash value or the second representative hash value recorded in the second blockchain database corresponding thereto. Verifying the integrity of the first blockchain database by verifying that it matches the processed value를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a.
- 제1항에 있어서, The method of claim 1,상기 제1 블록체인 데이터베이스는 프라이빗(private) 블록체인 데이터베이스이며, The first blockchain database is a private blockchain database,상기 제2 블록체인 데이터베이스는 퍼블릭(public) 블록체인 데이터베이스인 것을 특징으로 하는 방법.The second blockchain database is a public blockchain database.
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행 방법으로서, An integration point issuing method for providing an integration point service,(a) 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 확인 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버로부터 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, 및 상기 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 발행 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (a) a first representative hash value generated from a first specific hash value, which is a hash value of an acknowledgment transaction comprising the exchange rate XEA between point A and an integration point managed by the point distributor, or a processed value thereof; 1 the public key CPubA of the point distributor or the value of the point distributor from the point management server managing the integrated point service in a state in which the processed representative hash value is recorded in the second blockchain database. When the issuance transaction TrxA including an issuance amount UPCA, which is an integration point, is obtained, supporting the server to verify the validity of the issuance transaction TrxA or allow another device linked to the support server to verify it;(b) 상기 발행 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (b) if the issuing transaction TrxA is valid, the supporting server records the valid issuing transaction TrxA or a processed value in a first blockchain database or enables the other device to record it; And(c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 ID를 획득하는 단계(c) if the anchoring condition is satisfied, the support server matches at least one neighboring hash value that is matched with a second specific hash value that is a hash value of the valid issued transaction TrxA or a truncated value-the neighboring hash value is: i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a specific point distributor, and (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX. (iii) a hash value of a specific issuing transaction comprising the public key CPubX of the specific point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or The processed value, and the hash value of the distributed transaction including the integration point UPUA of the particular user, (v) the goods or services to that particular user The public key MPubA of the particular seller to be provided or the processed value thereof, and the hash value of the use transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS or the processed value of the point management server, and A second representative hash value generated by hashing together or a value obtained by processing the second representative hash value, wherein the hash value is one of a hash value of a refund transaction including an integrated point UPMA of the specific point distributor or the specific seller. Assisting to record or record in a 2 blockchain database, and acquiring the issued transaction ID, wherein the value of the second representative hash value or the processed second representative hash value is position information recorded in the second blockchain database;를 포함하는 방법. How to include.
- 제20항에 있어서, The method of claim 20,상기 발행 트랜잭션 TrxA은, The issued transaction TrxA,(i) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (ii) 상기 포인트 유통자의 통합 포인트인 발행량 UPCA, (iii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 (iv) 상기 (i) 내지 (iii) 중 적어도 하나를 상기 포인트 관리 서버의 개인키 PrivPS로 서명한 값인 발행 트랜잭션 서명값을 포함하는 것을 특징으로 하는 방법.(i) the public key CPubA of the point distributor or the processed value thereof, (ii) the issued amount UPCA which is the integrated point of the point distributor, (iii) the public key PubPS of the point management server or the processed value thereof, and (iv) And a issuance transaction signature value, which is a value obtained by signing at least one of (i) to (iii) with the private key PrivPS of the point management server.
- 제21항에 있어서, The method of claim 21,상기 (a) 단계는, In step (a),상기 발행 트랜잭션 서명값 및 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값을 이용하여, 상기 발행 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 하는 방법.And validating the issued transaction TrxA using the issued transaction signature value and the public key PubPS of the point management server or a processed value thereof.
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배 방법으로서, An integrated point distribution method for providing an integrated point service,(a) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 분배 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (a) a first representative hash value generated from an issuing transaction including an issuance amount UPCA, which is an integrated point of a point distributor, or a first specific hash value that is a hash value of the processed value thereof, or a value processed from the first representative hash value When the distributed transaction TrxA including the user's public key PubUA or the processed value and the user's integration point UPUA is obtained in the state of being recorded in the second blockchain database, the support server validates the validity of the distributed transaction TrxA. Verifying or supporting another device interworking with the support server for verifying;(b) 상기 분배 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (b) if the distributed transaction TrxA is valid, the supporting server records the valid distributed transaction TrxA or a processed value in a first blockchain database or enables the other device to record it; And(c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 ID를 획득하는 단계(c) if the anchoring condition is satisfied, the support server matches at least one neighboring hash value matching a second specific hash value that is a hash value of the valid distributed transaction TrxA or a truncated value, wherein the neighboring hash value is: i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a specific point distributor, and (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX. (iii) a hash value of a specific issuing transaction comprising the public key CPubX of the specific point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or The processed value, and the hash value of the distributed transaction including the integration point UPUA of the particular user, (v) the goods or services to that particular user The public key MPubA of the particular seller providing or the value processed therein, and the hash value of the use transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS or the value processed from the point management server, and A second representative hash value generated by hashing together a second representative hash value generated by hashing together a second point hash value or a value obtained by processing a second representative hash value; Assisting to record or record in a blockchain database, and obtaining a distributed transaction ID, wherein the value obtained by processing the second representative hash value or the second representative hash value is position information recorded in the second blockchain database를 포함하는 방법.How to include.
- 제23항에 있어서, The method of claim 23,상기 분배 트랜잭션 TrxA은, The distribution transaction TrxA,(i) 미소비된 통합 포인트에 대응되는 트랜잭션 위치 식별자 PrivTxidA, (ii) 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, (iii) 상기 사용자의 공개키 PubUA 또는 이를 가공한 값, (iv) 상기 사용자의 통합 포인트 UPUA, (v) 분배하고 남은 통합 포인트인 분배 잔량, 및 (vi) 상기 (i) 내지 (v) 중 적어도 하나를 상기 포인트 유통자의 개인키 CPrivA로 서명한 값인 분배 트랜잭션 서명값을 포함하는 것을 특징으로 하는 방법.(i) the transaction location identifier PrivTxidA corresponding to the uncommitted unified point, (ii) the public key CPubA of the point distributor or the processed value thereof, (iii) the public key PubUA or the processed value of the user, (iv) A distribution transaction signature value, which is a value obtained by signing the user's integration point UPUA, (v) a distribution remaining amount of the integration point remaining after distribution, and (vi) at least one of (i) to (v) with the private key CPrivA of the point distributor. Method comprising a.
- 제24항에 있어서, The method of claim 24,상기 (a) 단계는, In step (a),상기 분배 트랜잭션 서명값 및 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값을 이용하여, 상기 분배 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 하는 방법.And the validity of the distributed transaction TrxA is verified using the distributed transaction signature value and the point distributor's public key CPubA or a processed value thereof.
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용 방법으로서, As a method of using integration points to provide integration point services,(a) 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 사용자에게 재화 또는 용역을 제공하는 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 사용 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (a) the first representative hash value generated from a distributed transaction including a user's integration point UPUA or a first specific hash value that is a hash value of the processed value or the processed second representative hash value is a second block; In the state of being recorded in the chain database, if the use transaction TrxA including the public key MPubA or the processed value of the seller providing the goods or services to the user, and the user's integration point UPUA is obtained, the support server, Verifying the validity of the used transaction TrxA or supporting another device interworking with the support server;(b) 상기 사용 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (b) if the usage transaction TrxA is valid, the supporting server records the valid usage transaction TrxA or a processed value in a first blockchain database or enables the other device to record; And(c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 ID를 획득하는 단계(c) if the anchoring condition is satisfied, the support server matches at least one neighbor hash value that is matched with a second specific hash value that is a hash value of the valid use transaction TrxA or a truncated value, wherein the neighbor hash value is: i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a specific point distributor, and (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX. (iii) a hash value of a specific issuing transaction comprising the public key CPubX of the specific point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or The processed value, and the hash value of the distributed transaction including the integration point UPUA of the particular user, (v) the goods or services to that particular user The public key MPubA of the particular seller providing or the value processed therein, and the hash value of the use transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS or the value processed from the point management server, and A second representative hash value generated by hashing together a second representative hash value generated by hashing together a second point hash value or a value obtained by processing a second representative hash value; Assisting to record or record in a blockchain database, and obtaining a usage transaction ID in which the value of the second representative hash value or the processed second representative hash value is position information recorded in the second blockchain database;를 포함하는 방법.How to include.
- 제26항에 있어서, The method of claim 26,상기 사용 트랜잭션 TrxA은, The used transaction TrxA,(i) 미소비된 통합 포인트에 대응되는 트랜잭션 위치 식별자 PrivTxidA, (ii) 상기 판매자의 공개키 MPubA 또는 이를 가공한 값, (iii) 상기 사용자의 공개키 PubUA 또는 이를 가공한 값, (iv) 상기 사용자의 통합 포인트 UPUA, (v) 사용하고 남은 통합 포인트인 사용 잔량, 및 (vi) 상기 (i) 내지 (v) 중 적어도 하나를 상기 사용자의 개인키 PrivUA로 서명한 값인 사용 트랜잭션 서명값을 포함하는 것을 특징으로 하는 방법.(i) the transaction location identifier PrivTxidA corresponding to the unskilled integration point, (ii) the public key MPubA of the merchant or a processed value thereof, (iii) the public key PubUA or a processed value of the user, and (iv) the The user's integration point UPUA, (v) the remaining usage of the integration point remaining in use, and (vi) the usage transaction signature value, which is the value of signing at least one of (i) to (v) with the user's private key PrivUA. Characterized in that.
- 제27항에 있어서, The method of claim 27,상기 (a) 단계는, In step (a),상기 사용 트랜잭션 서명값 및 상기 사용자의 공개키 PubUA 또는 이를 가공한 값을 이용하여, 상기 사용 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 하는 방법.The validity of the used transaction TrxA is verified using the used transaction signature value and the public key PubUA of the user or a processed value thereof.
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급 방법으로서, An integrated point refund method for providing an integrated point service,(a) (i) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 (ii) 사용자에게 재화 또는 용역을 제공하는 판매자에게 전달된 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션, 또는 상기 발행 트랜잭션 또는 상기 사용 트랜잭션을 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션 TrxA이 획득되면, 지원 서버가, 상기 환급 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계; (a) an issuance transaction that includes (i) an issue amount UPCA that is an integration point of a point distributor; or (ii) a use transaction that includes the user's integration point UPUA delivered to the seller providing goods or services to the user, or the issuance. In a state in which a first representative hash value generated from a first specific hash value, which is a hash value of a transaction or processing value of the used transaction, or a value processing the first representative hash value is recorded in a second blockchain database, When a refund transaction TrxA including a public key PubPS of the point management server or a processed value thereof and an integrated point UPMA of the point distributor or the seller is obtained, the support server verifies the validity of the refund transaction TrxA or supports the refund transaction. Supporting other devices linked to the server to verify the verification;(b) 상기 환급 트랜잭션 TrxA이 유효하면, 상기 지원 서버가, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 단계; 및 (b) if the refund transaction TrxA is valid, the support server records the valid refund transaction TrxA or a processed value in a first blockchain database or causes the other device to record it; And(c) anchoring 조건이 만족되면, 상기 지원 서버가, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 ID를 획득하는 단계(c) if the anchoring condition is satisfied, the support server matches at least one neighbor hash value that is matched with a second specific hash value that is a hash value of the valid refund transaction TrxA or a truncated value, wherein the neighbor hash value is: i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between a specific point X and the integration point managed by a specific point distributor, and (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX. (iii) a hash value of a specific issuing transaction comprising the public key CPubX of the specific point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or The processed value, and the hash value of the distributed transaction including the integration point UPUA of the particular user, (v) the goods or services to that particular user The public key MPubA of the particular seller to be provided or the processed value thereof, and the hash value of the use transaction including the integration point UPUA of the specific user, and (vi) the public key PubPS or the processed value of the point management server, and A second representative hash value generated by hashing together or a value obtained by processing the second representative hash value, wherein the hash value is one of a hash value of a refund transaction including an integrated point UPMA of the specific point distributor or the specific seller. Assisting to record or record in a second blockchain database, and obtaining a refund transaction ID, wherein the value of the second representative hash value or the processed second representative hash value is position information recorded in the second blockchain database;를 포함하는 방법.How to include.
- 제29항에 있어서, The method of claim 29,상기 환급 트랜잭션 TrxA은, The refund transaction TrxA,(i) 미소비된 통합 포인트에 대응되는 트랜잭션 위치 식별자 PrivTxidA, (ii) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, (iii) 상기 포인트 유통자 또는 상기 판매자의 공개키 MPubA 또는 이를 가공한 값, (iv) 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA, (v) 환급하고 남은 통합 포인트인 환급 잔량, 및 (vi) 상기 (i) 내지 (v) 중 적어도 하나를 상기 포인트 유통자 또는 상기 판매자의 개인키 MPrivA로 서명한 값인 환급 트랜잭션 서명값을 포함하는 것을 특징으로 하는 방법.(i) the transaction location identifier PrivTxidA corresponding to the uncommitted unified point, (ii) the public key PubPS of the point management server or its value, and (iii) the public key MPubA of the point distributor or seller, or the same At least one of a value, (iv) the point distributor or the seller's integration point UPMA, (v) the refund balance remaining after the refund, and (vi) the points distributor (i) to (v) Or a refund transaction signature value, which is a value signed by the seller's private key MPrivA.
- 제30항에 있어서, The method of claim 30,상기 (a) 단계는, In step (a),상기 환급 트랜잭션 서명값 및 상기 포인트 유통자 또는 상기 판매자의 공개키 MPubA 또는 이를 가공한 값을 이용하여, 상기 환급 트랜잭션 TrxA의 유효성이 검증되는 것을 특징으로 하는 방법. And the refund transaction TrxA is validated using the refund transaction signature value and the public key MPubA of the point distributor or the seller or a processed value thereof.
- 통합 포인트 서비스를 제공하기 위한 포인트 유통자 및 교환 비율의 등록을 수행하는 지원 서버로서, A support server that performs registration of point distributors and exchange rates for providing integrated point services,(i) 상기 포인트 유통자의 서버인 포인트 유통자 서버로부터, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값 및 상기 포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 등록 트랜잭션 TrxA 및 (ii) 상기 포인트 관리 서버로부터, 상기 포인트 유통자 서버의 공개키 CPubA 또는 이를 가공한 값 및 상기 교환 비율 XEA을 포함하는 확인 트랜잭션 TrxB 중 적어도 하나를 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 (i) From the point distributor server that is the server of the point distributor, the public key PubPS of the point management server that manages the integrated point service or the processed value and between the point A managed by the point distributor and the integrated point Obtain at least one of a registration transaction TrxA including an exchange rate XEA and (ii) the public key CPubA of the point distributor server or a processed value thereof and a confirmation transaction TrxB including the exchange rate XEA from the point management server; A communication unit supporting other devices to acquire; And(i) 상기 등록 트랜잭션 TrxA이 상기 포인트 유통자의 서버인 포인트 유통자 서버로부터 획득되는 검증조건, 및 (ii) 상기 확인 트랜잭션 TrxB이 상기 포인트 관리 서버로부터 획득되는 검증조건 중 적어도 하나를 만족하면, 획득된 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 적어도 하나의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, if the registration transaction TrxA satisfies at least one of a verification condition obtained from a point distributor server that is a server of the point distributor, and (ii) a verification condition obtained from the point management server, And a processor for validating at least one of the registered transaction TrxA and the confirmation transaction TrxB or for allowing other devices to interoperate with the support server to verify.상기 프로세서는, The processor,상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나가 유효하면, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, When the at least one of the registration transaction TrxA and the confirmation transaction TrxB is valid, the at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or a processed value thereof, is recorded in the first blockchain database or sent to the other device. To help you record,anchoring 조건이 만족되면, 유효한 상기 등록 트랜잭션 TrxA 및 상기 확인 트랜잭션 TrxB 중 상기 적어도 하나, 또는 이를 가공한 값의 해시값인 특정 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 확인 트랜잭션 ID를 획득하는 것을 특징으로 하는 지원 서버.If the anchoring condition is satisfied, at least one of the valid registration transaction TrxA and the confirmation transaction TrxB, or at least one neighboring hash value matching a specific hash value that is a hash value of the truncated value-the neighboring hash value, (i) a hash value of a specific registration transaction comprising a specific exchange rate XEX between a specific point X and a consolidated point managed by a specific point distributor, and (ii) a hash of a specific confirmation transaction comprising the specific exchange rate XEX. A hash value of a particular issuing transaction comprising a value, (iii) the public key CPubX of the particular point distributor or a processed value thereof, and a specific issuance amount UPCX that is an integrated point of the particular point distributor, (iv) the public key PubUA of the particular user Or a hash value of the distributed transaction including the processed value and the integration point UPUA of the specific user, (v) the specified The public key MPubA of the particular seller providing the goods or services to the user or a processed value thereof, and a hash value of a use transaction comprising the integration point UPUA of the specific user, and (vi) the public key PubPS of the point management server or A representative hash value generated by hashing together a value of the processed value and a hash value of a refund transaction including an integrated point UPMA of the specific point distributor or the specific seller, or a value processed by the representative hash value Records in the second blockchain database or allows the other device to record, and acquires a confirmation transaction ID, wherein the representative hash value or a value obtained by processing the representative hash value is position information recorded in the second blockchain database. Support server, characterized in that.
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 발행을 수행하는 지원 서버로서, A support server for performing integration point issuance to provide integration point services.포인트 유통자에 의하여 관리되는 포인트 A와 통합 포인트 사이의 교환 비율 XEA을 포함하는 확인 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 통합 포인트 서비스를 관리하는 포인트 관리 서버로부터 상기 포인트 유통자의 공개키 CPubA 또는 이를 가공한 값, 및 상기 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 A first representative hash value generated from a first specific hash value or a first representative hash value that is a hash of the transaction or value processed by the transaction that includes the exchange rate XEA between the point A managed by the point distributor and the first representative hash In the state where the processed value is recorded in the second blockchain database, the public key CPubA of the point distributor or the processed value thereof from the point management server managing the integrated point service, and the integrated point of the point distributor. A communication unit for acquiring an issuance transaction TrxA including an issuance amount UPCA or for allowing another device to acquire it; And상기 발행 트랜잭션 TrxA이 획득되면, 상기 발행 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, If the issuing transaction TrxA is obtained, the processor includes a processor for validating the issuing transaction TrxA or allowing other devices to be linked to the support server to verify.상기 프로세서는, The processor,상기 발행 트랜잭션 TrxA이 유효하면, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, If the issuance transaction TrxA is valid, the validity of the issuance transaction TrxA or a processed value thereof is recorded in the first blockchain database or the other device is supported to write.anchoring 조건이 만족되면, 유효한 상기 발행 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 발행 트랜잭션 ID를 획득하는 것을 특징으로 하는 지원 서버. If an anchoring condition is satisfied, at least one neighboring hash value that matches the validity of the issuing transaction TrxA or a second particular hash value that is a hash value of the processed value-the neighboring hash value is determined by (i) a particular point distributor. A hash value of a specific registration transaction comprising a specific exchange rate XEX between a managed specific point X and the integration point, (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX, (iii) the specific point distribution The public key CPubX of the child or a value thereof, and a hash value of a specific issuance transaction including a specific issue amount UPCX which is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or a value thereof, and the specific value A hash value of a distributed transaction that includes the user's integration point UPUA, (v) a particular sale providing the goods or services to the particular user Public key MPubA or a value thereof, and a hash value of a used transaction including an integrated point UPUA of the specific user, and (vi) a public key PubPS of the point management server or a value thereof, and the specific point distribution A second representative hash value generated by hashing together or a value obtained by processing the second representative hash value together with the second blockchain database. Support for recording or recording, and obtaining the issued transaction ID, the second representative hash value or a value obtained by processing the second representative hash value, which is position information recorded in the second blockchain database. .
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 분배를 수행하는 지원 서버로서, A support server that performs integration point distribution to provide integration point services.포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 The first representative hash value generated from the issuance transaction including the issue amount UPCA, which is an integrated point of the point distributor, or the first specific hash value, which is a hash value of the processed value, or the processed value of the first representative hash value is the second block. A communication unit for obtaining or distributing a distributed transaction TrxA including a user's public key PubUA or a processed value thereof and the user's integration point UPUA while being recorded in a chain database; And상기 분배 트랜잭션 TrxA이 획득되면, 상기 분배 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, When the distributed transaction TrxA is obtained, the processor includes a processor that validates the validity of the distributed transaction TrxA or enables other devices interoperating with the support server to verify.상기 프로세서는, The processor,상기 분배 트랜잭션 TrxA이 유효하면, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, If the distributed transaction TrxA is valid, record the valid distributed transaction TrxA or its processed value in a first blockchain database or allow the other device to write,anchoring 조건이 만족되면, 유효한 상기 분배 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 분배 트랜잭션 ID를 획득하는 것을 특징으로 하는 지원 서버.If an anchoring condition is satisfied, at least one neighboring hash value that matches a valid second distributed hash value of the distributed transaction TrxA or a truncated value thereof, wherein the neighboring hash value is determined by (i) a specific point distributor. A hash value of a specific registration transaction comprising a specific exchange rate XEX between a managed specific point X and the integration point, (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX, (iii) the specific point distribution The public key CPubX of the child or a value thereof, and a hash value of a specific issuance transaction including a specific issue amount UPCX which is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or a value thereof, and the specific value A hash value of a distributed transaction that includes the user's integration point UPUA, (v) a particular sale providing the goods or services to the particular user Public key MPubA or a value of the processed transaction, and a hash value of a used transaction including the integrated point UPUA of the specific user, and (vi) a public key PubPS or a processed value of the point management server, and the specific point distributor. Or a second representative hash value generated by hashing together a hash value of a refund transaction including an integrated point UPMA of the specific seller, or a value obtained by processing the second representative hash value into a second blockchain database. And a distributed transaction ID obtained by supporting the recording or recording, wherein the second representative hash value or a value obtained by processing the second representative hash value is position information recorded in the second blockchain database.
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 사용을 수행하는 지원 서버로서, A support server that performs integration point use to provide integration point services.사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션 또는 이를 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 상기 사용자에게 재화 또는 용역을 제공하는 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 The first representative hash value generated from the distributed transaction including the user's integration point UPUA or the first specific hash value which is a hash value of the processed value, or the processed first representative hash value is stored in the second blockchain database. In the recorded state, the user acquires or supports another device to acquire a use transaction TrxA including the public key MPubA of the seller providing the goods or services or the processed value thereof, and the user's integration point UPUA. Communication unit; And상기 사용 트랜잭션 TrxA이 획득되면, 상기 사용 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, If the use transaction TrxA is obtained, the processor includes a processor for validating the validity of the use transaction TrxA or for allowing other devices linked to the support server to verify.상기 프로세서는, The processor,상기 사용 트랜잭션 TrxA이 유효하면, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, If the usage transaction TrxA is valid, write the valid usage transaction TrxA or its processed value to a first blockchain database or allow the other device to write,anchoring 조건이 만족되면, 유효한 상기 사용 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 사용 트랜잭션 ID를 획득하는 것을 특징으로 하는 지원 서버.If the anchoring condition is satisfied, at least one neighboring hash value that matches a valid second value of the used transaction TrxA or a hashed value thereof, wherein the neighboring hash value is determined by (i) a specific point distributor. A hash value of a specific registration transaction comprising a specific exchange rate XEX between a managed specific point X and the integration point, (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX, (iii) the specific point distribution The public key CPubX of the child or a value thereof, and a hash value of a specific issuance transaction including a specific issue amount UPCX which is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or a value thereof, and the specific value A hash value of a distributed transaction that includes the user's integration point UPUA, (v) a particular sale providing the goods or services to the particular user Public key MPubA or a value of the processed transaction, and a hash value of a used transaction including the integrated point UPUA of the specific user, and (vi) a public key PubPS or a processed value of the point management server, and the specific point distributor. Or a second representative hash value generated by hashing together a hash value of a refund transaction including an integrated point UPMA of the specific seller, or a value obtained by processing the second representative hash value into a second blockchain database. And a usage transaction ID for recording or recording, and obtaining a usage transaction ID of which the second representative hash value or the value of the processed second representative hash value is position information recorded in the second blockchain database.
- 통합 포인트 서비스를 제공하기 위한 통합 포인트 환급을 수행하는 지원 서버로서, A support server for performing integration point refund to provide integration point services.(i) 포인트 유통자의 통합 포인트인 발행량 UPCA을 포함하는 발행 트랜잭션 또는 (ii) 사용자에게 재화 또는 용역을 제공하는 판매자에게 전달된 상기 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션, 또는 상기 발행 트랜잭션 또는 상기 사용 트랜잭션을 가공한 값의 해시값인 제1 특정 해시값으로부터 생성된 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 제2 블록체인 데이터베이스에 기록되어 있는 상태에서, 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 포인트 유통자 또는 상기 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션 TrxA을 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 (i) an issuance transaction comprising an issue amount UPCA, which is an integration point of a point distributor; or (ii) a use transaction comprising the user's integration point UPUA delivered to the seller providing goods or services to the user, or the issuing transaction or the The point management server while the first representative hash value generated from the first specific hash value that is the hash value of the processed transaction value or the processed value of the first representative hash value is recorded in the second blockchain database. A communication unit for obtaining a refund transaction TrxA including a public key PubPS or a processed value of the public key, and an integrated point UPMA of the point distributor or the seller; And상기 환급 트랜잭션 TrxA이 획득되면, 상기 환급 트랜잭션 TrxA의 유효성을 검증하거나 상기 지원 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 프로세서를 포함하되, If the refund transaction TrxA is obtained, including the processor to verify the validity of the refund transaction TrxA or to allow other devices that are linked to the support server to verify,상기 프로세서는, The processor,상기 환급 트랜잭션 TrxA이 유효하면, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값을 제1 블록체인 데이터베이스에 기록하거나 상기 타 장치로 하여금 기록하도록 지원하고, If the refund transaction TrxA is valid, record the valid refund transaction TrxA or its processed value in a first blockchain database or allow the other device to record;anchoring 조건이 만족되면, 유효한 상기 환급 트랜잭션 TrxA 또는 이를 가공한 값의 해시값인 제2 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, (i) 특정 포인트 유통자에 의하여 관리되는 특정 포인트 X와 상기 통합 포인트 사이의 특정 교환 비율 XEX을 포함하는 특정 등록 트랜잭션의 해시값, (ii) 상기 특정 교환 비율 XEX을 포함하는 특정 확인 트랜잭션의 해시값, (iii) 상기 특정 포인트 유통자의 공개키 CPubX 또는 이를 가공한 값, 및 상기 특정 포인트 유통자의 통합 포인트인 특정 발행량 UPCX을 포함하는 특정 발행 트랜잭션의 해시값, (iv) 특정 사용자의 공개키 PubUA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 분배 트랜잭션의 해시값, (v) 상기 특정 사용자에게 재화 또는 용역을 제공하는 특정 판매자의 공개키 MPubA 또는 이를 가공한 값, 및 상기 특정 사용자의 통합 포인트 UPUA를 포함하는 사용 트랜잭션의 해시값, 및 (vi) 상기 포인트 관리 서버의 공개키 PubPS 또는 이를 가공한 값, 및 상기 특정 포인트 유통자 또는 상기 특정 판매자의 통합 포인트 UPMA를 포함하는 환급 트랜잭션의 해시값 중 어느 하나임 - 을 함께 해시 연산함으로써 생성되는 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 환급 트랜잭션 ID를 획득하는 것을 특징으로 하는 지원 서버.If an anchoring condition is satisfied, at least one neighboring hash value that matches a valid second transaction hash or a second specific hash value that is a hash value of the processed value-the neighboring hash value is determined by (i) a particular point distributor. A hash value of a specific registration transaction comprising a specific exchange rate XEX between a managed specific point X and the integration point, (ii) a hash value of a specific confirmation transaction comprising the specific exchange rate XEX, (iii) the specific point distribution The public key CPubX of the child or a value thereof, and a hash value of a specific issuance transaction including a specific issue amount UPCX which is an integrated point of the specific point distributor, (iv) the public key PubUA of the specific user or a value thereof, and the specific value A hash value of a distributed transaction that includes the user's integration point UPUA, (v) a particular sale providing the goods or services to the particular user Public key MPubA or a value thereof, and a hash value of a used transaction including an integrated point UPUA of the specific user, and (vi) a public key PubPS of the point management server or a value thereof, and the specific point distribution A second representative hash value generated by hashing together or a value obtained by processing the second representative hash value together with the second blockchain database. And a refund transaction ID, wherein the second representative hash value or a value obtained by processing the second representative hash value is position information recorded in the second blockchain database. .
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0182600 | 2016-12-29 | ||
KR1020160182600A KR101835519B1 (en) | 2016-12-29 | 2016-12-29 | Method for providing united point service in use of merkle tree structure on the basis of unspent transaction output protocol and server using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018124716A1 true WO2018124716A1 (en) | 2018-07-05 |
Family
ID=62087748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/015520 WO2018124716A1 (en) | 2016-12-29 | 2017-12-27 | Method for providing integrated point service by using merkle tree structure in utxo-based protocol, and support server using same |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101835519B1 (en) |
WO (1) | WO2018124716A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597262A (en) * | 2020-05-14 | 2020-08-28 | 北京众享比特科技有限公司 | Method and system for managing block data in block chain |
TWI728654B (en) * | 2019-05-31 | 2021-05-21 | 開曼群島商創新先進技術有限公司 | Data storage method and node |
US11294875B2 (en) | 2019-05-31 | 2022-04-05 | Advanced New Technologies Co., Ltd. | Data storage on tree nodes |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102091625B1 (en) * | 2018-04-20 | 2020-03-20 | 고려대학교 산학협력단 | Method of de-mixing for Bitcoin mixing services |
KR101949711B1 (en) * | 2018-06-29 | 2019-02-19 | (주) 와이즈엠글로벌 | A Method to Unify Multiple Tokens to A Single Token by Using Multiple Block Chains |
CN109102299A (en) * | 2018-08-01 | 2018-12-28 | 腾讯科技(深圳)有限公司 | Resource transfers data managing method, device and storage medium |
SG11201909630TA (en) | 2019-04-26 | 2019-11-28 | Alibaba Group Holding Ltd | Anti-replay attack authentication protocol |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020036205A (en) * | 2000-11-08 | 2002-05-16 | 장철웅 | Management system of common milage for e-commerce and A Computer-Executable Method for the same, and A Computer-readable Storage Meduim storing the method |
KR20150107971A (en) * | 2014-03-14 | 2015-09-24 | 최중현 | Method for exchange in real time between mileage and bitcoin |
KR101591244B1 (en) * | 2014-11-06 | 2016-02-05 | 주식회사 코인플러그 | Apparatus for converting membership point and cybermoney into digital virtual currency with block chain |
-
2016
- 2016-12-29 KR KR1020160182600A patent/KR101835519B1/en active IP Right Grant
-
2017
- 2017-12-27 WO PCT/KR2017/015520 patent/WO2018124716A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020036205A (en) * | 2000-11-08 | 2002-05-16 | 장철웅 | Management system of common milage for e-commerce and A Computer-Executable Method for the same, and A Computer-readable Storage Meduim storing the method |
KR20150107971A (en) * | 2014-03-14 | 2015-09-24 | 최중현 | Method for exchange in real time between mileage and bitcoin |
KR101591244B1 (en) * | 2014-11-06 | 2016-02-05 | 주식회사 코인플러그 | Apparatus for converting membership point and cybermoney into digital virtual currency with block chain |
Non-Patent Citations (2)
Title |
---|
"Making blockchain real for customer loyalty rewards programs", DELOITTE, 12 October 2016 (2016-10-12), XP055607280, Retrieved from the Internet <URL:https://www.finextra.com/finextra-downloads/newsdocs/us-fsi-making-blockchain-real-for-loyalty-rewards-programs.pdf> * |
6 December 2015 (2015-12-06), Retrieved from the Internet <URL:http://www.newsmaker.or.kr/news/articleView.html?idxno=19962> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI728654B (en) * | 2019-05-31 | 2021-05-21 | 開曼群島商創新先進技術有限公司 | Data storage method and node |
US11294875B2 (en) | 2019-05-31 | 2022-04-05 | Advanced New Technologies Co., Ltd. | Data storage on tree nodes |
CN111597262A (en) * | 2020-05-14 | 2020-08-28 | 北京众享比特科技有限公司 | Method and system for managing block data in block chain |
CN111597262B (en) * | 2020-05-14 | 2023-05-02 | 北京众享比特科技有限公司 | Management method and management system for block data in block chain |
Also Published As
Publication number | Publication date |
---|---|
KR101835519B1 (en) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018124718A1 (en) | Method for providing integrated point service by managing balance database for each block in blockchain, and support server using same | |
WO2018124716A1 (en) | Method for providing integrated point service by using merkle tree structure in utxo-based protocol, and support server using same | |
WO2018131886A1 (en) | Method for providing payment gateway service using utxo-based protocol and server using same | |
WO2018208105A1 (en) | Blockchain-based method for making payment for internet of things device, and server, service providing terminal, and user electronic wallet using same | |
WO2018208106A1 (en) | Method for making payment for internet of things device by means of blockchain database and merkle tree structure interworking therewith, and server, service providing terminal and electronic user wallet using same | |
WO2018070784A2 (en) | Method for issuing, redeeming, refunding, settling and revoking electronic voucher by managing balance database by blocks in blockchain, and server employing same | |
WO2018194379A1 (en) | Method for approving use of card by using token id on basis of blockchain and merkle tree structure associated therewith, and server using same | |
WO2019208861A1 (en) | Device and method for providing transaction service of cryptocurrency by means of electronic wallet | |
WO2017022917A1 (en) | Certificate issuing system based on block chain | |
WO2017104899A1 (en) | Block chain-based certificate authentication system and authentication method using same | |
WO2020022599A1 (en) | Node group managing device and computing device for configuring group key-based dual signature transaction structure in blockchain network | |
WO2020022531A1 (en) | Method and system for dynamic time delay-based chain connection in pop-based blockchain | |
WO2020189926A1 (en) | Method and server for managing user identity by using blockchain network, and method and terminal for user authentication using blockchain network-based user identity | |
WO2020189927A1 (en) | Method and server for managing identity of user by using blockchain network, and method and terminal for authenticating user by using user identity on basis of blockchain network | |
WO2018151426A1 (en) | Method for superseding log-in of user through pki-based authentication by using merkle tree structure in utxo-based protocol, and server employing same | |
JP6934847B2 (en) | Distribution management equipment, distribution management system, and distribution management method | |
WO2020184838A1 (en) | Method and system for managing copyright to work obtained during blockchain-based project execution procedure | |
WO2018070783A2 (en) | Method for issuing, redeeming, refunding, settling and revoking electronic voucher on basis of utxo and by using merkle tree structure, and server employing same | |
WO2020189800A1 (en) | Method and system for authenticating data generated in blockchain | |
WO2020141782A1 (en) | Method and server for managing identity of user by using blockchain network, and method and terminal for authenticating user by using user identity based on blockchain network | |
WO2020189993A1 (en) | Method and system for preventing cryptocurrency loss | |
WO2020141783A1 (en) | Method and server for managing user identity using blockchain network, and method and terminal for authenticating user using blockchain network-based user identity | |
WO2020130331A1 (en) | Method for sharing and verifying blocks and electronic documents between nodes in blockchain | |
WO2016173034A1 (en) | Payment system based on shared funds-management server, and method, device and server therefor | |
WO2024117666A1 (en) | Blockchain system for managing user's nft data |
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: 17887395 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC , EPO FORM 1205A DATED 30.09.19. |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17887395 Country of ref document: EP Kind code of ref document: A1 |