WO2018080207A1 - 블록체인 내의 블록별로 밸런스 데이터베이스를 관리하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 - Google Patents
블록체인 내의 블록별로 밸런스 데이터베이스를 관리하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 Download PDFInfo
- Publication number
- WO2018080207A1 WO2018080207A1 PCT/KR2017/011939 KR2017011939W WO2018080207A1 WO 2018080207 A1 WO2018080207 A1 WO 2018080207A1 KR 2017011939 W KR2017011939 W KR 2017011939W WO 2018080207 A1 WO2018080207 A1 WO 2018080207A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- currency
- specific
- hash value
- transaction
- payment
- 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
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- 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
-
- 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
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3676—Balancing accounts
-
- 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
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
- G06Q2220/00—Business processing using cryptography
Definitions
- the present invention relates to a method for issuing and paying a currency by managing a balance database for each block in a blockchain and a server using the same. More specifically, (a) a specific unique nonce for issuing a currency from a currency issuer; ii) the currency issuer who has signed (i), (ii), (iii) and (iv) with the receiver of the call, (iii) the volume of issuance of the currency, (iv) the public key of the currency issuer and (v) the private key of the currency issuer When a currency issuing transaction including a signature value of is obtained, the currency issuing transaction and the validity of the currency issuer are checked to support the registration or registration of the currency issuing transaction in the private blockchain database if it is valid, and the private block of the currency issuing transaction.
- a call issuing private transaction ID representing location information on the chain database is assigned to at least some of the call issuer and call recipient. It provides or supports to provide, and supports to register or register the balance in the balance database with reference to the balance change amount by the issue amount of the currency included in the currency issuing transaction, and if a predetermined condition is satisfied, the hash function in the currency issuing transaction Hash function on the total amount of balance change in the balance database that is changed by all private transactions related to the currency in one block of the public blockchain among the specific hash value generated by applying and the at least one neighboring hash value matching the specific hash value It supports to register or register the representative hash value generated by calculating the neighbor hash value including the specific neighbor hash value generated by applying or the processed value of the representative hash value in the public blockchain database as the Merkle root.
- Public Blockchain Database It relates to a method for supporting acquisition of a public call issued transaction ID indicating the location to obtain information on the bus or the server using the same, and further relates to a method for identifying the user and the
- currency is a means of exchange that functions as a means of distribution or means of payment, and means the money officially designated and used by the state, ie payment and commercial distribution units.
- a specific exchange means used only within a specific organization may be one currency.
- central banks issue or manage currencies
- commercial banks use currencies issued by central banks.
- the interbank payments at commercial banks are made through the central bank's payment system, and do not involve actual cash movement. That is, the payment is made by depositing or withdrawing the payment amount for each bank from the account of each bank opened in the central bank.
- 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 securing security and forgery / falsification by using a hash function and encryption technology for information such as currency issuance or payment of a currency.
- Another object of the present invention is to provide a method and a server which can prevent problems such as duplicate payment of a currency in advance by registering information on issuing or paying a currency in a blockchain of a virtual currency. .
- Another object of the present invention is to provide a method and a server for always checking the latest settlement information even without proceeding with the settlement process between the central bank and the commercial bank.
- a method of issuing a currency comprising: (a) a specific unique nonce for issuing the call from a currency issuer, (ii) a recipient of the call, (iii) Issuance amount, (iv) the currency issuer's public key and (v) the currency issuer's private key, the signature value of the currency issuer who signed (i), (ii), (iii) and (iv) If a currency issuing transaction is obtained, the server checks the validity of the currency issuing transaction and the currency issuer, and if it is valid, (i) the particular unique nonce, (ii) the recipient of the call, and (iii) the currency.
- Support for registering or registering the currency issuing transaction in the private blockchain database wherein the currency issuance transaction includes the amount of issuance, (iv) the public key of the currency issuer, and (v) the signature value of the currency issuer.
- Hash to the currency issuing transaction including the particular unique nonce, (ii) the recipient of the call, (iii) the issue amount of the currency, (iv) the public key of the currency issuer, and (v) the signature value of the currency issuer.
- a specific neighboring hash value of the at least one neighboring hash value is related to the currency in one block of the public blockchain. Is a hash value generated by applying a hash function to the total balance change amount of the balance database changed by all private transactions.
- a representative hash value or a value obtained by processing the representative hash value is registered or registered in the public blockchain database as a Merkle root, and the representative hash value or the representative hash value that is the Merkle root registered in the public blockchain database.
- Obtaining or obtaining a call issuing public transaction ID representing location information on the public blockchain database of a processed value; There is provided a method comprising a.
- a specific unique nonce for payment settlement of the currency from a specific user (ii) receiver information of the currency, (iii) the payment amount, (iv) the public key of the particular user and (v) the particular signing of (i), (ii), (iii) and (iv) with the private key of the particular user
- the server checking the payment settlement method of the currency payment transaction by referring to the balance of the specific user of the currency payment transaction; (b) (i) If the balance of the specific user is equal to or greater than the payment settlement amount and the payment settlement method of the currency payment transaction is confirmed as "immediate payment settlement", the server determines whether the signature value of the specific user is valid.
- the currency payment transaction supports registering or registering the currency payment transaction in a private blockchain database, and indicating a currency payment private transaction ID indicating location information on the private blockchain database of the currency payment transaction registered in the private blockchain database. It supports or provides to at least some of the specific user and the call receiver, and updates and registers the balance in the balance database with reference to the balance change amount due to the payment settlement amount included in the currency payment transaction; Or (ii) if the balance of the specific user is less than the payment settlement amount and the payment settlement method of the currency payment transaction is confirmed as "delayed payment settlement", the server determines whether the signature value of the specific user is valid.
- the payment payment transaction is stored in the storage unit, the payment payment is made by at least one or more other users, and the at least one currency receiving transaction for which the specific user is a payee satisfies a predetermined offsetting condition. And offsetting the currency payment transaction and the call receipt transactions, and supporting or registering the offset payment transaction and the call receipt transaction in a private blockchain database, and the currency registered in the private blockchain database.
- Payout tran Providing or providing at least some of the payment-payment private transaction ID and the call-receiving private transaction ID representing the location and location information on the private blockchain database of the call receiving transaction to the specific user, the specific receiver and the other user; And updating and registering or registering a balance in a balance database with reference to a balance change amount due to a payment amount included in the currency payment transaction and the currency receipt transaction; And (c) a predetermined condition, wherein the predetermined condition is a triggering condition for registering a predetermined hash value in the public blockchain database. If this is satisfied, the server determines that the specified hash value is equal to (1).
- a hash value generated by applying a hash function to the currency payment transaction or (2) a hash value generated by applying a hash function to the currency payment transaction and the currency receipt transaction, respectively, and at least one matching the specific hash value.
- Neighbor Hash Value-A particular neighbor hash value of the at least one neighbor hash value is applied by applying a hash function to the balance total variation of the balance database that is changed by all private transactions related to the currency in one block of the public blockchain.
- a server for issuing a currency (i) a specific unique nonce for issuing the currency from a currency issuer, (ii) a recipient of the currency, and (iii) an issue amount of the currency. (iv) the currency issuer's public key and (v) the currency issuer's private key, the signature value of the currency issuer signing (i), (ii), (iii) and (iv) A communication unit for obtaining a call issuing transaction; And (i) the specific unique nonce, (ii) the recipient of the currency, (iii) the issue amount of the currency, and (iv) the currency if the obtained currency issuing transaction and the currency issuer are validated and valid.
- Assist in registering or registering the currency issuing transaction including the issuer's public key, and (v) the signature value of the currency issuer in a private blockchain database, the private of the currency issuing transaction registered in the private blockchain database.
- Balance in the Balance Database A process that supports updating and registering or registering a network, and a predetermined condition, wherein the predetermined condition is a triggering condition for registering a predetermined hash value in the public blockchain database.
- the value includes (i) the particular unique nonce, (ii) the recipient of the call, (iii) the issue amount of the call, (iv) the public key of the call issuer, and (v) the signature value of the call issuer.
- a hash value generated by applying a hash function to a currency issuing transaction-and at least one neighboring hash value matching the specific hash value-a specific neighboring hash value of the at least one neighboring hash value is stored in one block of the private blockchain.
- a processor configured to acquire or obtain a currency issuing public transaction ID indicating location information on the public blockchain database of the processed representative hash value; It is provided with a server comprising a.
- the server for payment of a currency in the server for payment of a currency, (i) a specific unique nonce for payment of the currency from a specific user, (ii) recipient information of the currency, (iii) The payment of the payment amount, (iv) the signature of the particular user who has signed (i), (ii), (iii) and (iv) with the public key of the particular user and (v) the private key of the particular user
- the payment settlement method is confirmed as "immediate payment settlement"
- the "delayed payment settlement” it is determined whether the signature value of the specific user is valid, and if it is valid, while the currency payment transaction is stored in the storage unit, the payment is paid by at least one or more other users and the specific user If the at least one call receiving transaction with a payee satisfies a predetermined offset processing condition, the call payment transaction and the call receiving transaction are offset, and
- a call payment private transaction ID and a call receipt private transaction ID indicating the call payment transaction registered in the private blockchain database and the location information on the private blockchain database of the call receiving transaction.
- a hash value-the specific hash value is (1) a hash value generated by applying a hash function to the currency payment transaction or (2) a hash value generated by applying a hash function to the currency payment transaction and the currency receipt transaction-and the At least one neighboring hash value that matches a particular hash value-a balance of the balance database wherein a particular neighboring hash value of the at least one neighboring hash value is changed by all transactions relating to the currency in one block of a private blockchain It is a hash value generated by applying a hash function to the total change amount-It supports to register or register the representative hash value, which is a Merkle root, or the processed value of the representative hash value, which is generated by calculating the public blockchain in the public blockchain database, The representative hash value or the representative solution registered in the chain database Perform a process of obtaining or obtaining (1) a monetary payment public transaction ID or (2) the monetary payment public transaction ID and a call receiving public transaction ID indicating location information on the public blockchain database of the processed shh value;
- a computer readable recording medium for recording a computer program for executing the method of the present invention is further provided.
- the present invention can improve the reliability and security of the issuing and payment settlement information of the currency by registering the issuing and payment settlement information of the currency in the blockchain of the virtual currency so that copying or forgery is impossible.
- the present invention can improve the reliability and security of the issued and paid payment information of the currency by ensuring that the security of the issued and paid payment information of the currency by using a hash function and encryption technology, and forgery / modulation is impossible. .
- the present invention by registering the information on the issuance and payment settlement of the currency in the blockchain of the virtual currency it is possible to prevent problems such as duplicate payment of the currency in advance.
- the present invention can improve the convenience of users by always checking the latest settlement information settled even without proceeding the settlement process between the central bank and the commercial bank.
- FIG. 1 schematically illustrates a server for issuing a call according to an embodiment of the present invention
- 3 and 4 schematically illustrate a process of registering a currency issuing transaction in the public blockchain database according to an embodiment of the present invention
- FIG. 5 schematically illustrates a method of registering a currency issuer for issuing a currency in a method for issuing a currency according to an embodiment of the present invention
- FIG. 6A schematically illustrates a method of making an instant payment payment in accordance with an embodiment of the present invention
- 6B schematically illustrates a method for making a delayed payment settlement of a currency in accordance with one embodiment of the present invention.
- the word limited to the word “specific” herein is a concept associated with the main subject of the action
- the word limited to the word “related” is a concept associated with other subjects than the main subject, in the following description Since the concept can be distinguished by the context, “specific” and “related” may be omitted. However, in the claims, “specific” and “related” are described to clearly understand the meaning.
- the server 100 may include a communication unit 110 and a processor 120.
- the same reference numerals are used for the convenience of description and are not intended to mean that these individual devices are the same.
- the server may be configured differently to perform the method, or may be performed through the same server 100.
- server 100 is typically a computing device (eg, a device that may include components of a computer processor, memory, storage, input and output devices, other conventional computing devices; electronic communications such as routers, switches, etc.). Desired system performance using a combination of a device; an electronic information storage system such as network attached storage (NAS) and a storage area network (SAN) and computer software (ie, instructions that cause a computing device to function in a particular manner). It may be to achieve.
- NAS network attached storage
- SAN storage area network
- the communication unit 110 of such a computing device may transmit and receive a request and a response with another computing device to be interlocked.
- 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.
- a currency issuer A including a central bank of a specific country or a currency management entity of a specific group generates and transmits a currency issuance transaction TrxA through a terminal to issue a currency (S100)
- the server 100 The call issuing transaction TrxA is obtained through the communication unit 110.
- the currency issuance transaction can then be used for (i) a specific unique nonce, (ii) the recipient of the call, (iii) the issue volume of the call, (iv) the public key of the currency issuer, and (iv) the private currency of the currency issuer.
- the key may include (i) the specific unique nonce, (ii) the recipient of the call, (iii) the issue volume of the call, and (iv) the signature of the currency issuer who signed the currency issuer's public key.
- the specific nonce is for preventing a replay attack, and may be a one-time number, for example, a time stamp. This allows one unique nonce to exist in a transaction, so if the unique nonce included in the incoming transaction was used in a previously received transaction, it can be considered an abnormal transaction, ie an invalid transaction, to prevent replay attacks. do.
- the receiver of the call may be the public key of a specific user registered as a call user with information about the receiver of the issued call, and the call receiver's public key and the call issuer's public key are previously registered in the server 100. Or, if necessary, may be registered in the server 100 at the appropriate time, the registration information is a publisher or user having a private key and a public key registered their public key to the server 100, the description thereof It will be described in another operation.
- the call issuer A may have a public key of the call receiver B as information about the call receiver B in advance.
- the currency issuance transaction may have a data format of 1. payment settlement method, 2. specific unique nonce, 3. recipient, 4. issue amount, 5. issuer public key, 6. issuer signature value.
- payment settlement method 2. specific unique nonce
- recipient 3. recipient
- issue amount 5. issuer public key
- issuer signature value 6. issuer signature value
- Payment methods may include“ immediate payments ”and“ delayed payments, ”“ immediate payments ”allow for immediate processing of currency-related transactions, and“ deferred payments ”for currency until certain conditions are met. It may be to delay the processing of the associated transaction.
- “delayed payment” means that if the amount for the payment is insufficient, the payment of more than the balance can be offset against the amount received after the payment to solve the liquidity problem. .
- “immediate payment” is set by default, or the payment issuance method for a currency issuing transaction. You can also include no data format.
- a specific unique nonce ” may be a one-time useable number to prevent replay attack.
- Recipient can be the public key (PubB) of the call recipient who will receive the issued call,“ 4.
- Issuance amount may be the amount of currency to be issued,“ 5.
- Issuer public key may be a public key (PubA) registered by the issuer,“ 6.
- Issuer signature value may be a signature value (SignPrivA (1, 2, 3, 4, 5)) of 1, 2, 3, 4, 5 signed by the currency issuer with the private key.
- the processor 120 of the server 100 may (i) the specific unique nonce obtained through the communication unit 110, (ii) the receiver of the call, (iii) the issue amount of the call, (iv) the public key of the call issuer, And (v) validity of the currency issuer transaction TrxA and the currency issuer including the signature value of the currency issuer (S110).
- the processor 120 of the server 100 checks whether the data format of the call issuance transaction TrxA is valid, whether the call receiver is valid, whether the call issuer's public key is valid, and whether the call issuer's signature value is valid. To confirm the validity of the currency issuance transaction (TrxA).
- a call receiver obtained by using the call issuer's public key against the call issuer's signature value, and by verifying that the call issuer's public key matches the value contained in the call issue transaction (TrxA). And validity of the public key of the currency issuer.
- the signature value of the currency issuer using the currency issuer's public key, not only the validity of the signature value of the currency issuer can be confirmed, but also the validity of the currency issuer can be verified through the currency issuer's public key. It is also possible to check the specific unique nonce to see if the currency issue transaction (TrxA) is valid.
- the server 100 determines that the check result is valid (S110) (S210)
- the server 100 in response to the valid verification result, includes (i) the specific unique nonce, (ii) the recipient of the call, (iii) the issue amount of the call, (iv) the public key of the call issuer, and (v) the call.
- a call issuing private transaction ID (PrivTxid) indicating may be provided to or provided to at least some of the call issuer (A) and the call receiver (B) (S212, S213).
- the server 100 may provide or support the call issuer A to provide a response indicating a failure including an error message (S221).
- the server 100 In response to the valid confirmation result, the server 100 satisfies a predetermined condition, for example, a triggering condition for registering a predetermined hash value in the public blockchain database (S230). The n-th block of the private blockchain is satisfied. Registers the total balance change (delta_n) of the balance database that is changed by all transactions related to the currency, wherein (i) the particular unique nonce, (ii) the recipient of the call, (iii) the issue amount of the currency, and (iv) the currency.
- a predetermined condition for example, a triggering condition for registering a predetermined hash value in the public blockchain database (S230).
- the n-th block of the private blockchain is satisfied. Registers the total balance change (delta_n) of the balance database that is changed by all transactions related to the currency, wherein (i) the particular unique nonce, (ii) the recipient of the call, (iii) the issue amount of the currency, and (iv) the currency.
- Merkle root by computing a particular hash value generated by applying a hash function to a currency issuing transaction that includes the issuer's public key, and (v) a signature value of the currency issuer, and at least one neighboring hash value that matches the particular hash value.
- a representative hash value or a value obtained by processing the representative hash value is generated (S231).
- the specific neighbor hash value among the at least one neighbor hash value matching the specific hash value is information on the balance total change amount of the balance database changed by all transactions related to the currency in the nth block of the private blockchain.
- the server 100 supports to register or register the generated hash value or the processed value of the representative hash value in the public blockchain database 200 (S232) and the public blockchain database 200. It is possible to obtain or acquire a currency issue public transaction ID (PubTxid) indicating location information on the public blockchain database of the Merkle root, which is a registered representative hash value or a processed value of the representative hash value (S233). At this time, the server 100 may obtain an OP message corresponding to the call issuing public transaction ID (PubTxid) from the public blockchain database 200.
- a currency issue public transaction ID PubTxid
- the operation of a specific hash value and at least one neighboring hash value may be performed by various hash functions, and the hash function may be a MD4 function, an MD5 function, a SHA-0 function, a SHA-1 function, a SHA-224 function, It will be appreciated by those skilled in the art that the present invention may include, but is not limited to, an SHA-256 function, an SHA-384 function, an SHA-512 function, and an HAS-160 function. For example, Triple SHA256 would be possible.
- the server 100 may store and manage a specific hash value and 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 server 100 may support to generate or generate a merkle tree in which a specific hash value is assigned to a specific leaf node, and if a predetermined condition is satisfied, at least one other leaf matching the specific hash value.
- the hash value assigned to the node may be supported or registered in the public blockchain database 200 to register the representative hash value or the processed value of the representative hash value, which is a generated Merkle root.
- the server 100 supports (i) calculating or calculating the hash value of the sibling node of the node to which (i) the specific hash value and (ii) the specific hash value is assigned, and the calculated value. It can support assigning or assigning a hash value to the parent node of nodes.
- the parent node is the root node of the Merkle tree, the hash value assigned to the parent node becomes the representative hash value.
- the server 100 repeatedly performs (x1) to (x3) by using the hash value assigned to the parent node as a specific hash value.
- the server 100 supports registering or registering the hash value finally assigned to the root node of the Merkle tree as the representative hash value in the public blockchain database 200.
- a value obtained by processing the representative hash value may be registered.
- the result of performing the hex operation may be registered in the representative hash value.
- the server 100 stores a specific hash value and 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 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 stored in the first leaf node of the second data structure. Can be assigned.
- the integrity of the data may be more guaranteed by verifying the first data structure.
- the verification of the second data structure will be described later.
- the first leaf node of the first Merkle tree may be assigned a hash value or a processed value of predetermined message data consisting of text, numbers, or symbols. have.
- a hash value of an input message initially given by the server 100 may be assigned when generating the merkle tree.
- 3 and 4 illustrate examples of a merkle tree generated according to an embodiment of the present invention.
- the server 100 When there is a registration request for the record data, the server 100 generates a next leaf node of the last leaf node of the Merkle tree currently being configured and supports assigning or assigning a specific hash value or a processed value of the specific hash value. . For example, if a new leaf node needs to be created while the value allocation is completed from the merkle tree of FIG.
- the server 100 may support to calculate or calculate (i) a specific hash value assigned to the h2 node and (ii) a hash value assigned to the h3 node that is a sibling node of the h2 node.
- the hash value for the operation value is assigned to the parent node (h23 node) of node h2 and node h3.
- the server 100 may repeat the above process by using the hash value assigned to the h23 node as a specific hash value. That is, the hash value assigned to the h23 node can be used as a specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node can be calculated and assigned to the parent node (h0123 node) of the h23 node and the h01 node. have.
- the server 100 registers or registers a value (hex (h ⁇ node_index ⁇ )) of the hash value assigned to the h0123 node in the public blockchain database 200.
- a hash value for the total change amount delta_n of the balance database may be located.
- the above-mentioned predetermined conditions are (i) a condition in which transactions related to a currency by a predetermined number are generated, (ii) a condition that a predetermined time elapses, (iii) a condition in which a new block is created in a private blockchain database, (iv) may include at least one of conditions for service characteristics.
- transactions related to the currency may include issuer registration, payment settlement of a currency, user registration, and the like, which will be described later in addition to issuing a currency.
- the Merkle tree is generated, and the root value of the Merkle tree, that is, the Merkle root is registered or registered in the public blockchain database 200. Can be supported.
- the server 100 may generate the root value of the aforementioned Merkle tree on a predetermined time unit (condition (ii) above). In this case, when a predetermined time elapses, the server 100 may generate a Merkle tree using related transactions up to that time and register or register the root value of the Merkle tree in the public blockchain database 200.
- 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. If the hash value is not assigned to the sibling node of the node to which the specific hash value is assigned even though the predetermined condition is satisfied as described above, the server 100 supports to assign or allocate the predetermined hash value to the sibling node. This allows the root value of the Merkle tree to be calculated. For example, server 100 may support assigning or assigning a particular hash value to a sibling node.
- the server 100 may provide information on the balances of the balance database or the balance of the balance database in the block header of the generated block.
- the information about the total change amount of the balances may be used to support or to record the balance database header hash value, which is a hash value calculated.
- a currency issuer information representative hash value is generated from a Merkle tree in which hash values computed from random nonce, random nonce signature value, and public key are assigned to leaf nodes, and (ii) After the hash value computed from all transactions related to issuance and use is generated from the Merkle Tree assigned to the leaf nodes, the currency transaction information representative hash value, which is the representative hash value, is generated, the currency issuer information representative hash value and the currency transaction information representative hash value.
- the public block chain database stores the hash value for the balance database header hash value, the currency issuer information representative hash value, and the currency transaction information representative hash value, or a processed value thereof. You can also register or help register.
- the server 100 also assigns leaf nodes to (i) random nonce, random nonce signature value and hash value computed from the public key, and (ii) hash values computed from transactions relating to the issuance and use of the currency.
- the private representative hash value is generated from the generated Merkle tree
- the balance database header hash value and the private representative hash value, or a value obtained by processing them are further recorded in the block header of the block in which the private representative hash value is generated. You can also register or support registration in the chain database.
- the service characteristic may include at least one of cost information provided by a call issuer requesting a call issuance, time zone information at which a call issuing transaction is registered, area information at which a call issuing transaction registration service is performed, and company type information requesting a call issuing transaction registration. It can be part of it.
- the present invention is not limited to the above description and includes various condition information in which a generally accepted differential service can be provided.
- the server 120 if a new Merkle tree generation is started and a predetermined condition is satisfied in the absence of a call issuing transaction, the server 120 generates a Merkle tree in which predetermined message data is assigned to the first leaf node and the second leaf node. It may be supported to generate and to register or register the root value or the processed value of the Merkle tree in the public blockchain database 120. In this case, a two leaf node Merkle tree may be created.
- the server 100 stores a specific hash value and 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 assigned to the first leaf node of the second data structure.
- FIG. 4 illustrates a Merkle tree generated as a second data structure according to an embodiment of the present invention.
- the server 100 checks whether the call issuer A is valid and when the call issuer A is valid ( In operation S310, a random nonce RN may be delivered to or supported by the call issuer A in operation S311.
- the call issuer A is not valid (S320), for example, a person who steals the name of another person, the server 100 may provide or provide a response indicating the issuer verification failure to the call issuer A. It may support (S321).
- the public key PubA is transmitted to the server 100 to register as an issuer for issuing a call. Then, the server 100 checks whether the currency issuer A of the obtained public key is valid. In this case, the validity of the call issuer (A) may use a public key infrastructure (PKI) certificate or use the identification information of the call issuer (A), but is not limited thereto.
- PKI public key infrastructure
- identification information that can verify a specific issuer through a public key-based certificate such as a public certificate or an OPSign certificate, or to prove the identity of an individual, a bank, or an organization such as a social security number, a passport, a corporate registration number, and a business registration number. You can check the currency issuer through.
- a public key-based certificate such as a public certificate or an OPSign certificate
- the server 100 determines whether the random nonce signature value is a valid signature value. Is verified using the currency issuer's public key. That is, the server 100 checks the random nonce RN from the random nonce signature value using the call issuer's public key, and checks whether the confirmed random nonce RN matches the random nonce RN delivered to the call issuer. If it matches, it verifies that it is a valid signature.
- the method for determining whether the call issuer A is valid is not limited thereto, and the validity of the call issuer A may be determined using, for example, a time stamp.
- a time stamp For reference, in the present specification, an example will be described as determining validity using a random nonce.
- the server 100 issues a publisher registration transaction (RN, SignPrivA (RN) including a random nonce, a random nonce signature value, and the call issuer's public key.
- PubA publisher registration transaction
- PubA to register or register in the private blockchain database (S331), and includes a publisher registration private transaction ID (PrivTxid) indicating location information on the private blockchain database of the publisher registration transaction registered in the private blockchain database.
- the server 100 may support or provide the call issuer A with a response including a message indicating that the signature value verification failed. There is (S341).
- the server 100 satisfies a predetermined condition, for example, a triggering condition for registering a predetermined hash value in the public blockchain database (S350).
- a predetermined condition for example, a triggering condition for registering a predetermined hash value in the public blockchain database (S350).
- a specific hash value (hash (RN, SignPrivA (RN), PubA)) generated by applying a hash function to the issuer registration transaction that includes the value and the currency issuer's public key, and at least one neighboring hash value that matches the particular hash value.
- the issuer registration information indicating a position in the chain database 120 can be supported to obtain or acquire a public transaction ID (PubTxid) (S352).
- the representative hash value or the processed value of the representative hash value may be generated by the Merkle tree as described in FIG. 2.
- the server 100 may obtain an OP message corresponding to the issuer registration public transaction ID (PubTxid) from the public blockchain database 200.
- the server 100 receives it through the communication unit 110 (S400).
- the currency payment transaction includes (i) a specific unique nonce, (ii) the recipient's information in the currency, (iii) the payment amount paid, (iv) the public key of a particular user, and (v) the private key of a particular user. ) Specific unique nonce, (ii) callee's information, (iii) payment amount paid, and (iv) the signature value of the particular user who signed the public key of the particular user.
- the specific nonce is for preventing a replay attack, and may be a one-time number, for example, a time stamp. This allows one unique nonce to exist in a transaction, so if the unique nonce included in the incoming transaction was used in a previously received transaction, it can be considered an abnormal transaction, ie an invalid transaction, to prevent replay attacks. do.
- the call receiver information may be a public key of a call receiver that receives a call-paid currency among users registered as call users as information about a callee of a call-paid currency, and the public key of the call receiver and a specific user (C ) Is registered in the server 100 in advance, or may be registered in the server 100 at that time, if necessary, the registration information is issued by a publisher or user with a private key and a public key The key is registered in the server 100, and the description thereof will be described in another operation.
- the specific user C may previously have a public key of the call receiver as information on the call receiver.
- a currency payment transaction includes a payment payment method, 2. a specific unique nonce, 3. a recipient, 4. payment amount, 5. a specific user's public key, 6. a specific user's signature value It may have a data format.
- Payment methods may include“ immediate payments ”and“ delayed payments ”,“ immediate payments ”means processing transactions related to currency payments immediately, and“ deferred payments ”until certain conditions are met. It may be to delay the processing of a currency payment related transaction. For example, “delayed payment” means that if the amount for the payment is insufficient, the payment of more than the balance can be offset against the amount received after the payment to solve the liquidity problem. . And “2. A specific unique nonce ”may be a one-time useable number to prevent replay attack. Also, “3. Recipient ”may be the public key (PubB) of the recipient of the currency to receive the currency in which payment is made, and“ 4.
- PubB public key
- Payment amount may be the amount to be paid, and“ 5.
- the public key of a specific user may be the public key of a specific user (C) who wishes to pay now,“ 6.
- the signature value of a specific user may be a signature value (SignPrivC (1, 2, 3, 4, 5)) of 1, 2, 3, 4, and 5 signed by a specific user C with a private key.
- the server 100 checks the payment settlement method of the second currency use transaction with reference to the balance of the specific user (C). In this case, if the balance owned by the specific user C is greater than the payment amount, the payment is immediately checked. If the balance owned by the specific user C is less than the payment amount, the balance may be confirmed as “delayed payment”. . In addition, depending on the payment settlement method included in the second currency transaction, it can be identified as “immediate payment settlement” and “delayed payment settlement.” In particular, the payment settlement method included in the second currency usage transaction is referred to as “immediate payment settlement.” If the balance entered but owned by the user C is less than the payment settlement, it may be determined as “delayed payment settlement”.
- the server 100 registers the currency payment transaction (TrxC) in the private blockchain database in response to the valid verification result (S431), and the private blockchain database of the currency payment transaction (TrxC) registered in the private blockchain database.
- the payment payment private transaction ID (PrivTxid) indicating the location information on the user may be provided to or provided to at least some of the specific user C and the call receiver (S432).
- the server 100 may provide or support a specific user C to provide or provide a response indicating a failure including an error message (S441).
- the server 100 is changed by all transactions related to the currency in the nth block of the private blockchain.
- a predetermined condition for example, a triggering condition is satisfied (S450)
- the server 100 is changed by all transactions related to the currency in the nth block of the private blockchain.
- Register the balance total change amount (delta_n) of the balance database and calculate the specific hash value (hash (TrxC)) generated by applying the hash function to the currency payment transaction (TrxC) and the representative hash value matching the specific hash value.
- a value obtained by processing the hash value or the representative hash value is generated as a Merkle root (S451).
- the server 100 registers or registers a representative hash value or a processed value of the representative hash value, which is the generated Merkle root, in the public blockchain database 200 (S452) and in the public blockchain database 200. It may be supported to acquire or obtain a currency payment public transaction ID (PubTxid) indicating location information on the public blockchain database of the registered Merkle tree, which is a registered Merkle tree or a representative hash value (S453). In this case, the representative hash value or the processed value of the representative hash value may be generated by the Merkle tree as described in FIG. 2. In addition, the server 100 may obtain an OP message corresponding to the call payment public transaction ID (PubTxid) from the public blockchain database 200.
- a currency payment public transaction ID PubTxid
- the server 100 determines whether the signature value of a specific user (C) of the currency payment transaction (TrxC) is valid (valid).
- the currency payment transaction TrxC is stored in a netting database, that is, a recording device such as a storage unit or a memory (S471).
- the server 100 may provide or support a specific user C to provide or provide a response indicating a failure including an error message (S481).
- the second currency use transaction TrxC is stored in the storage device, and at least one or more currency receipt transactions TrxD are paid by at least one other user D and the specific user C is the recipient.
- the server 100 checks whether the acquired call receiving transaction (TrxD) and the currency payment transaction (TrxC) satisfy the offset conditions.
- the currency receiving transaction may be a currency payment transaction stored in the storage device as a 'delayed payment' for a specific user (C), in this case, the server 100 is the currency stored as "delayed payment"
- the offsetting process for the currency payment transaction TrxC may be performed correspondingly, and the server 100 may offset when the receiving call transaction TrxD is obtained as a offset condition. The processing is performed, and it is determined by the offsetting process whether the balance of the specific user C has a value equal to or greater than the payment settlement.
- the server 100 stores the obtained call receiving transaction (TrxD) on the recording medium, and waits for another call receiving transaction to be obtained. (S501).
- the server 100 Offsets the currency payment transaction (TrxC) and the at least one currency receipt transaction (TrxD).
- the plurality of call receiving transactions are generated by a plurality of call receiving transactions generated by a specific other user, a plurality of call receiving transactions generated by a plurality of other users, or a plurality of other users, respectively It may be a call receiving transaction that is generated in plural numbers by other users.
- the server 100 may form a specific user (C). And a "delayed payment" between multiple other users, forming a circular loop that can offset all linked currency-using transactions.
- the server 100 may offset all currency use transactions, which are "delayed payment settlement" forming a circular ring.
- User A creates Currency A transaction A with "Deferred Payment” to User B
- User B creates Currency Payment Transaction B with User “Delayed Payment”
- User C with User “ Delayed payment” to create a currency-payment transaction C
- user D creates a currency-payment transaction D to user A as" deferred-payment ", which allows users A, user B, user C, and user D to
- the server 100 executes currency payment transaction A, currency payment transaction B, currency payment transaction C and currency payment transaction D generated by user A, user B, user C and user D. Offset can be processed.
- the condition that the payment payment amount in each currency payment transaction that is "deferred payment payment” must be satisfied.
- each currency payment transaction that is "deferred payment payment” If another "payment delay” currency payment transaction satisfying the offsetting processing condition by another currency payment transaction and forming a circular ring satisfies the offsetting processing condition, the offsetting processing may be performed.
- the server 100 supports to register or register the offsetting currency payment transaction (TrxC) and at least one currency receiving transaction (TrxD) in the private blockchain database (S491), and the currency registered in the private blockchain database.
- the currency payment private transaction ID (PrivTxid) and the currency receipt private transaction ID (PrivTxid) representing the location information on the private blockchain database of the payment transaction (TrxC) and at least one currency receipt transaction (TrxD).
- At least some of the receiver and at least one other user D may be provided or supported to be provided (S492 and S493).
- the information stored in the recording medium that is, the currency payment transaction TrxC and the obtained at least one call receipt transaction TrxD may be deleted.
- the server 100 corresponds to the offset processing of the currency payment transaction (TrxC) and at least one call reception transaction (TrxD), if a predetermined condition, for example, a triggering condition is satisfied (S510), n of the private blockchain
- a predetermined condition for example, a triggering condition is satisfied (S510)
- n of the private blockchain The total balance change amount delta_n of the balance database that is changed by all transactions related to the currency in the first block is registered (S511).
- the above-mentioned total change amount (delta_n) indicates all the change amounts of the currency in the n-th block, wherein the n-th block is generated and the (n-1) th block in the private blockchain database.
- the state of the balance database is represented by respective private transaction IDs representing respective position information corresponding to all transactions recorded in the nth block. It may be indicative of what is identified.
- the balance database may include specific balance information for the specific currency issuing transaction and at least one related balance information of at least one related transaction.
- the server 100 represents a representative hash value or a representative value generated by calculating a specific hash value generated by applying a hash function to the processed offset payment transaction (TrxC) and at least one neighboring hash value matching the specific hash value.
- the hash value is generated as a Merkle root (S511), and registered or registered in the public blockchain database 200 (S512).
- the server 100 may generate a representative hash generated by calculating a specific hash value generated by applying a hash function to at least one or more call receiving transactions (TrxDs) processed and at least one neighboring hash value matching the specific hash value.
- the server 100 may register or register information about the offset payment transaction and all call receipt transactions in the public blockchain database 200.
- the server 100 indicates a currency payment public indicating location information on the public blockchain database of the Merkle root corresponding to the currency payment transaction registered in the public blockchain database 200 and the at least one currency receiving transaction.
- a transaction ID (PubTxid) and at least one call receiving public transaction ID (PubTxid) may be obtained or obtained (S513).
- the representative hash value or the processed value of the representative hash value may be generated by the Merkle tree as described in FIG. 2.
- the server 100 may obtain an OP message corresponding to the call payment public transaction ID PubTxid and the call receiving public transaction ID PubTxid, respectively, from the public blockchain database 200.
- the process of registering a specific user who is a call user by the server 100 is as follows.
- the registration of a specific user also performs the same method as the registration of the call issuer in FIG. 5, and similar parts are omitted since the description in FIG. 5 can be understood.
- the server 100 checks whether the specific user C is valid, and if the specific user C is valid, randomly sets a random nonce to the specific user C. Can be delivered to or supported). In addition, when a specific user C is not valid, the server 100 may provide or support a response indicating a user confirmation failure to the specific user C.
- the server 100 verifies whether the random nonce signature value is a valid signature value using the public key of the specific user. do.
- the server 100 registers or registers a user registration transaction including a random nonce, a random nonce signature value, and a specific user's public key in the private blockchain database.
- the user registration private transaction ID (PrivTxid) indicating location information on the private blockchain database of the user registration transaction registered in the private blockchain database may be provided or provided to a specific user (C).
- the server 100 may provide or support the specific user 111 to provide a response indicating that the signature value verification failed.
- the server 100 may register a random nonce, a random nonce signature value, and a public key of a specific user when a predetermined condition, for example, a triggering condition is satisfied, is performed.
- a predetermined condition for example, a triggering condition is satisfied
- a user registration public transaction ID indicating location information on the public blockchain database of the representative hash value or the processed value of the representative hash value registered in the public blockchain database 200. PubTxid) can be obtained or supported to acquire.
- the representative hash value or the processed value of the representative hash value may be generated by the Merkle tree as described in FIG. 2.
- the call receiver B, the call user C, and the call user D described above may be commercial banks or general individuals.
- the embodiments according to the present invention described above may be implemented in the form of program instructions that may be executed by various computer components, and may be recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
Claims (26)
- 통화를 발행하는 방법에 있어서,(a) 통화 발행자로부터의 상기 통화 발행을 위한 (i) 특정 유니크 논스, (ii) 상기 통화의 수신자, (iii) 상기 통화의 발행량, (iv) 상기 통화 발행자의 퍼블릭 키 및 (v) 상기 통화 발행자의 프라이빗 키로 상기 (i), 상기 (ii), 상기 (iii), 상기 (iv)를 서명한 상기 통화 발행자의 서명값을 포함하는 특정 통화 발행 트랜잭션이 획득되면, 서버는, 상기 특정 통화 발행 트랜잭션 및 상기 통화 발행자의 유효 여부를 확인하여 유효일 경우, (i) 상기 특정 유니크 논스, (ii) 상기 통화의 수신자, (iii) 상기 통화의 발행량, (iv) 상기 통화 발행자의 퍼블릭 키, 및 (v) 상기 통화 발행자의 서명값을 포함하는 상기 특정 통화 발행 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 통화 발행 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 통화 발행 프라이빗 트랜잭션 아이디를 상기 통화 발행자 및 상기 통화 수신자 중 적어도 일부에게 제공하거나 제공하도록 지원하고, 상기 특정 통화 발행 트랜잭션에 포함된 상기 통화의 발행량에 의한 밸런스 변화량을 참조로 밸런스 데이터베이스를 업데이트하여 등록하거나 등록하도록 지원하는 단계; 및(b) 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬값을 등록하기 위한 트리거링 조건임 - 이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은 (i) 상기 특정 유니크 논스, (ii) 상기 통화의 수신자, (iii) 상기 통화의 발행량, (iv) 상기 통화 발행자의 퍼블릭 키, 및 (v) 상기 통화 발행자의 서명값을 포함하는 상기 특정 통화 발행 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 관련 이웃 해쉬값 - 상기 적어도 하나의 관련 이웃 해쉬값 중 특정 이웃 해쉬값은 프라이빗 블록체인의 n번째의 블록에서의 상기 통화와 관련한 모든 트랜잭션에 의해 변화되는 상기 밸런스 데이터베이스의 밸런스 총 변화량에 대한 정보에 또는 상기 밸런스 데이터베이스 각각의 밸런스에 대한 정보에 해쉬 함수를 적용하여 생성한 해쉬값임 - 을 연산함으로써 생성되는 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값을 머클 루트로 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 머클 루트인 상기 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 통화 발행 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 단계를 포함 하되,상기 총 변화량은 상기 n번째의 블록에서의 상기 통화의 모든 변화 량을 가리키되, 상기 n번째의 블록이 생성된 시점과 상기 프라이빗 블록체인 데이터베이스에서 (n-1)번째 블록이 생성된 시점 각각에 해당하는 상기 밸런스 데이터베이스의 두 상태의 차이에 대응되고,상기 밸런스 데이터베이스의 상태는 상기 n번째 블록에 기록된 모든 트랜잭션에 대응하는 각각의 위치정보를 나타내는 각각 프라이빗 트랜잭션 아이디에 의해 식별되며,상기 밸런스 데이터베이스는 상기 특정 통화 발행 트랜잭션에 대한 특정 밸런스 정보와 적어도 하나의 관련 트랜잭션의 적어도 하나의 관련 밸런스 정보를 포함하는 것을 특징으로 하는 통화 발행 방법.
- 제1항에 있어서,상기 (b) 단계에서,상기 소정의 조건은,(i) 소정의 개수만큼 상기 통화와 관련한 트랜잭션들이 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 프라이빗 블록체인에서 새로운 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 통화 발행 방법.
- 제2항에 있어서,상기 서버는,상기 프라이빗 블록체인에서 상기 새로운 블록이 생성되는 때에, 상기 생성되는 블록의 블록 헤더(block header)에 상기 벨런스 데이터베이스의 밸런스들에 대한 정보 또는 상기 밸런스들의 총 변화량에 대한 정보를 이용하여 연산된 해쉬값인 밸런스 데이터베이스 헤더 해쉬값이 기록되도록 하는 것을 특징으로 하는 통화 발행 방법.
- 제3항에 있어서,상기 (b) 단계는,(i) 특정 랜덤 논스, 특정 랜덤 논스 서명값 및 퍼블릭 키로부터 연산된 해쉬값들이 리프 노드들에 할당된 머클 트리로부터 대표 해쉬값인 통화 발행자정보 대표 해쉬값이 생성되고, (ii) 상기 통화의 발행 및 사용과 관련한 모든 트랜잭션으로부터 연산된 해쉬값들이 리프 노드들에 할당된 머클 트리로부터 대표 해시값인 통화 거래 정보 대표 해쉬값이 생성된 후, 상기 통화 발행자정보 대표 해쉬값 및 상기 통화 거래 정보 대표 해쉬값이 상기 생성되는 블록의 블록 헤더에 더 기록된 상태에서, 상기 서버가, 상기 밸런스 데이터베이스 헤더 해쉬값, 상기 통화 발행자정보 대표 해쉬값 및 상기 통화 거래 정보 대표 해쉬값 또는 이들을 가공한 값에 대한 해쉬값을 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 통화 발행 방법.
- 제3항에 있어서,상기 (b) 단계는,(i) 특정 랜덤 논스, 특정 랜덤 논스 서명값 및 퍼블릭 키로부터 연산된 해쉬값, 및 (ii) 상기 통화의 발행 및 사용에 대한 정보를 포함하는 트랜잭션들로부터 연산된 해쉬값들이 리프 노드들에 할당된 머클 트리로부터 프라이빗 대표 해쉬값이 생성된 후, 상기 프라이빗 대표 해쉬값이 상기 생성되는 새로운 블록의 블록 헤더에 더 기록된 상태에서, 상기 서버가, 상기 밸런스 데이터베이스 헤더 해쉬값 및 상기 프라이빗 대표 해쉬값, 또는 이들을 가공한 값을 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 통화 발행 방법.
- 제1항에 있어서,상기 (b) 단계에서,상기 서버는,상기 특정 해쉬값을 리프 노드에 할당함으로써 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,상기 소정의 조건이 만족되면, 상기 특정 해쉬값과, 상기 특정 해쉬값이 할당된 리프 노드와 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 사용하여 연산되는 상기 머클 루트인 상기 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 통화 발행 방법.
- 제6항에 있어서,상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리인 경우, 상기 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 통화 발행 방법.
- 제6항에 있어서,상기 소정의 조건이 만족되면,(x1) 상기 서버는, (i) 상기 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 노드의 형제 노드의 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드들의 부모 노드에 할당하거나 할당하도록 지원하며,(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 특정 대표 해쉬값으로서 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하고,(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)을 반복하여 수행하는 것을 특징으로 하는 통화 발행 방법.
- 제8항에 있어서,상기 (x1)에서상기 소정의 조건이 만족되었음에도 상기 특정 해쉬값이 할당된 노드의 형제 노드의 해쉬값이 할당되어 있지 않은 경우, 상기 서버는, 상기 형제 노드에 소정의 해쉬값을 할당하거나 할당하도록 지원하여 상기 (x1) 내지 (x3)를 수행하는 것을 특징으로 하는 통화 발행 방법.
- 제1항에 있어서,상기 서버가 상기 특정 해쉬값과 상기 적어도 하나의 관련 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결되는 것을 특징으로 하는 통화 발행 방법.
- 제10항에 있어서,상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해쉬값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당되는 것을 특징으로 하는 통화 발행 방법.
- 제1항에 있어서,상기 (a) 단계에서,상기 서버는,상기 통화 발행 트랜잭션의 데이터 포맷의 유효 여부, 상기 통화 발행자의 퍼블릭 키의 유효 여부 및 상기 통화 발행자의 서명값의 유효 여부를 확인하여 상기 통화 발행 트랜잭션의 유효 여부를 확인하되,상기 특정 유니크 논스를 확인하여, 상기 특정 유니크 논스가 타 통화 발행 트랜잭션에 사용되었으면 상기 통화 발행 트랜잭션은 유효하지 않은 트랜잭션으로 판단하는 것을 특징으로 하는 통화 발행 방법.
- 제1항에 있어서,상기 (a) 단계 이전에,(a01) 상기 통화 발행자의 퍼블릭 키에 의한 발행자 등록 요청이 획득되면, 상기 서버는, 상기 통화 발행자의 유효 여부를 확인하여 상기 통화 발행자가 유효할 경우 특정 랜덤 논스를 상기 통화 발행자에게 전달하거나 전달하도록 지원하는 단계;(a02) 상기 특정 랜덤 논스를 상기 통화 발행자의 프라이빗 키로 서명한 특정 랜덤 논스 서명값이 획득되면, 상기 서버는, 상기 특정 랜덤 논스 서명값이 유효한 서명 값인지를 상기 통화 발행자의 퍼블릭 키를 사용하여 검증하고 검증이 완료되면 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 통화 발행자의 퍼블릭 키를 포함하는 발행자 등록 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하고, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 발행자 등록 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 발행자 등록 프라이빗 트랜잭션 아이디를 상기 통화 발행자에게 제공하거나 제공하도록 지원하는 단계; 및(a03) 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬값을 등록하기 위한 트리거링 조건임 - 이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 통화 발행자의 퍼블릭 키를 포함하는 상기 발행자 등록 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 관련 이웃 해쉬값을 연산함으로써 생성되는 머클 루트인 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 머클 루트인 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 발행자 등록 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 단계;를 포함하는 것을 특징으로 하는 통화 발행 방법.
- 통화의 지급을 결제하는 방법에 있어서,(a) 특정 사용자로부터 상기 통화의 지급 결제를 위한 (i) 특정 유니크 논스, (ii) 상기 통화의 수신자 정보, (iii) 특정 지급 결제 금액, (iv) 상기 특정 사용자의 퍼블릭 키 및 (v) 상기 특정 사용자의 프라이빗 키로 상기 (i), 상기 (ii), 상기 (iii), 상기 (iv)를 서명한 상기 특정 사용자의 서명값을 포함하는 특정 통화 지급 트랜잭션이 획득되면, 서버는, 상기 특정 통화 지급 트랜잭션의 상기 특정 사용자의 밸런스를 참조하여 상기 특정 통화 지급 트랜잭션의 지급 결제 방식을 확인하는 단계;(b) (i) 상기 특정 사용자의 밸런스가 상기 특정 지급 결제 금액 이상이어서 상기 특정 통화 지급 트랜잭션의 지급 결제 방식이 "즉시 지급 결제"로 확인되면, 상기 서버는, 상기 특정 사용자의 서명값이 유효한지를 판단하여 유효일 경우, 상기 특정 통화 지급 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 통화 지급 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 통화 지급 프라이빗 트랜잭션 아이디를 상기 특정 사용자 및 상기 통화 수신자 중 적어도 일부에게 제공하거나 제공하도록 지원하고, 상기 특정 통화 지급 트랜잭션에 포함된 상기 특정 지급 결제 금액에 의한 밸런스 변화량을 참조로 밸런스 데이터베이스를 업데이트하여 등록하거나 등록하도록 지원하거나, (ii) 상기 특정 사용자의 밸런스가 상기 특정 지급 결제 금액 미만이어서 상기 특정 통화 지급 트랜잭션의 지급 결제 방식이 "지연 지급 결제"로 확인되면, 상기 서버는, 상기 특정 사용자의 서명값이 유효한지를 판단하여 유효일 경우, 상기 특정 통화 지급 트랜잭션을 저장부에 저장한 상태에서, 적어도 하나 이상의 관련 타 사용자에 의해 지급 결제되며 상기 특정 사용자를 수취인으로 하는 적어도 하나 이상의 관련 통화 수취 트랜잭션이 소정의 상계 처리 조건을 만족하면, 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션들을 상계 처리하고, 상계 처리된 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션들을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션들의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 통화 지급 프라이빗 트랜잭션 아이디와 관련 통화 수취 프라이빗 트랜잭션 아이디를 상기 특정 사용자, 상기 특정 수신자 및 상기 관련 타 사용자 중 적어도 일부에게 제공하거나 제공하도록 지원하고, 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션에 포함된 특정 지급 결제 금액에 의한 밸런스 변화량을 참조로 밸런스 데이터베이스를 업데이트하여 등록하거나 등록하도록 지원하는 단계; 및(c) 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬값을 등록하기 위한 트리거링 조건임 - 이 만족하면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은 (1) 상기 특정 통화 지급 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값 또는 (2) 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션에 각각 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 관련 이웃 해쉬값 - 상기 적어도 하나의 관련 이웃 해쉬값 중 특정 이웃 해쉬값은 프라이빗 블록체인의 n번째의 블록에서의 상기 통화와 관련한 모든 트랜잭션에 의해 변화되는 상기 밸런스 데이터베이스의 밸런스 총 변화량에 대한 정보에 또는 상기 밸런스 데이터베이스 각각의 밸런스에 대한 정보에 해쉬 함수를 적용하여 생성한 해쉬 값임 - 을 연산함으로써 생성되는 머클 루트인 특정 대표 해쉬 값 또는 상기 특정 대표 해쉬 값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 특정 대표 해쉬 값 또는 상기 특정 대표 해쉬 값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 (1) 특정 통화 지급 퍼블릭 트랜잭션 아이디 또는 (2) 상기 특정 통화 지급 퍼블릭 트랜잭션 아이디와 상기 관련 통화 수취 트랜잭션에 대응하는 관련 통화 수취 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 단계;를 포함하되,상기 총 변화 량은 상기 n번째의 블록에서의 상기 통화의 모든 변화 량을 가리키되, 상기 n번째의 블록이 생성된 시점과 상기 프라이빗 블록체인 데이터베이스에서 (n-1)번째 블록이 생성된 시점 각각에 해당하는 상기 밸런스 데이터베이스의 두 상태의 차이에 대응되고,상기 밸런스 데이터베이스의 상태는 상기 n번째 블록에 기록된 모든 트랜잭션에 대응하는 각각의 위치정보를 나타내는 개별 프라이빗 트랜잭션 아이디에 의해 식별되며상기 밸런스 데이터베이스는 상기 특정 통화 발행 트랜잭션에 대한 특정 밸런스 정보와 적어도 하나의 관련 트랜잭션의 적어도 하나의 관련 밸런스 정보를 포함 하는 것을 특징으로 하는 통화의 지급 결제 방법.
- 제14항에 있어서,상기 (c) 단계에서,상기 소정의 조건은,(i) 소정의 개수만큼 상기 통화와 관련한 트랜잭션들이 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 프라이빗 블록체인에서 새로운 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 통화의 지급 결제 방법.
- 제14항에 있어서,상기 (c) 단계에서,상기 서버는,상기 특정 해쉬값을 리프 노드에 할당함으로써 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,상기 소정의 조건이 만족되면, 상기 특정 해쉬값과, 상기 특정 해쉬값이 할당된 리프 노드와 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 사용하여 연산되는 상기 대표 해쉬 값 또는 상기 특정 대표 해쉬 값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 통화의 지급 결제 방법.
- 제14항에 있어서,상기 특정 통화 지급 트랜잭션은, 상기 "즉시 지급 결제" 또는 "지연 지급 결제"를 포함하는 지급 형식 정보를 더 포함하며,상기 (b) 단계에서,상기 서버는, 상기 특정 통화 지급 트랜잭션의 지급 형식 정보가 "즉시 지급 결제"이지만 상기 특정 사용자의 밸런스가 상기 특정 지급 결제 금액 미만일 경우에는 상기 특정 통화 지급 트랜잭션의 지급 결제 방식이 "지연 지급 결제"인 것으로 판단하는 것을 특징으로 하는 통화의 지급 결제 방법.
- 제14항에 있어서,상기 (a) 단계 이전에,(a01) 상기 특정 사용자의 퍼블릭 키에 의한 특정 사용자 등록 요청이 획득되면, 상기 서버는, 상기 특정 사용자의 유효 여부를 확인하여 상기 특정 사용자가 유효할 경우 특정 랜덤 논스를 상기 특정 사용자에게 전달하거나 전달하도록 지원하는 단계;(a02) 상기 특정 랜덤 논스를 상기 특정 사용자의 프라이빗 키로 서명한 특정 랜덤 논스 서명 값이 획득되면, 상기 서버는, 상기 특정 랜덤 논스 서명 값이 유효한 서명 값인지를 상기 특정 사용자의 퍼블릭 키를 사용하여 검증하고 검증이 완료되면 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 특정 사용자의 퍼블릭 키를 포함하는 특정 사용자 등록 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하고, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 사용자 등록 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 사용자 등록 프라이빗 트랜잭션 아이디를 상기 특정 사용자에게 제공하거나 제공하도록 지원하는 단계; 및(a03) 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬값을 등록하기 위한 트리거링 조건임 - 이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 특정 사용자의 퍼블릭 키를 포함하는 상기 특정 사용자 등록 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 관련 이웃 해쉬 값을 연산함으로써 생성되는 머클 루트인 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 사용자 등록 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 단계;를 포함하는 것을 특징으로 하는 통화의 지급 결제 방법.
- 통화를 발행하는 서버에 있어서,통화 발행자로부터의 상기 통화 발행을 위한 (i) 특정 유니크 논스, (ii) 상기 통화의 수신자, (iii) 상기 통화의 발행량, (iv) 상기 통화 발행자의 퍼블릭 키 및 (v) 상기 통화 발행자의 프라이빗 키로 상기 (i), 상기 (ii), 상기 (iii), 상기 (iv)를 서명한 상기 통화 발행자의 서명값을 포함하는 특정 통화 발행 트랜잭션을 획득하는 통신부; 및상기 획득된 상기 특정 통화 발행 트랜잭션 및 상기 통화 발행자의 유효 여부를 확인하여 유효일 경우, (i) 상기 특정 유니크 논스, (ii) 상기 통화의 수신자, (iii) 상기 통화의 발행량, (iv) 상기 통화 발행자의 퍼블릭 키, 및 (v) 상기 통화 발행자의 서명값을 포함하는 상기 특정 통화 발행 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 통화 발행 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 통화 발행 프라이빗 트랜잭션 아이디를 상기 통화 발행자 및 상기 통화 수신자 중 적어도 일부에게 제공하거나 제공하도록 지원하고, 상기 특정 통화 발행 트랜잭션에 포함된 상기 통화의 발행량에 의한 밸런스 변화량을 참조로 밸런스 데이터베이스의 밸런스를 업데이트하여 등록하거나 등록하도록 지원하는 프로세스, 및 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬 값을 등록하기 위한 트리거링 조건임 - 이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은 (i) 상기 특정 유니크 논스, (ii) 상기 통화의 수신자, (iii) 상기 통화의 발행량, (iv) 상기 통화 발행자의 퍼블릭 키, 및 (v) 상기 통화 발행자의 서명값을 포함하는 상기 특정 통화 발행 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 관련 이웃 해쉬값 - 상기 적어도 하나의 관련 이웃 해쉬값 중 특정 이웃 해쉬값은 프라이빗 블록체인의 n번째의 블록에서의 상기 통화와 관련한 모든 트랜잭션에 의해 변화되는 상기 밸런스 데이터베이스의 밸런스 총 변화량에 대한 정보에 또는 상기 밸런스 데이터베이스 각각의 밸런스에 대한 정보에 해쉬 함수를 적용하여 생성한 해쉬 값임 - 을 연산함으로써 생성되는 머클 루트인 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 통화 발행 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 프로세스를 수행하는 프로세서;를 포함하되,상기 총 변화 량은 상기 n번째의 블록에서의 상기 통화의 모든 변화 량을 가리키되, 상기 n번째의 블록이 생성된 시점과 상기 프라이빗 블록체인 데이터베이스에서 (n-1)번째 블록이 생성된 시점 각각에 해당하는 상기 밸런스 데이터베이스의 두 상태의 차이에 대응되고,상기 밸런스 데이터베이스의 상태는 상기 n번째 블록에 기록된 모든 트랜잭션에 대응하는 각각의 위치정보를 나타내는 개별 프라이빗 트랜잭션 아이디에 의해 식별되며,상기 밸런스 데이터베이스는 상기 특정 통화 발행 트랜잭션에 대한 특정 밸런스 정보와 적어도 하나의 관련 트랜잭션의 적어도 하나의 관련 밸런스 정보를 포함 하는 것을 특징으로 하는 통화를 발행하는 서버.
- 제19항에 있어서,상기 소정의 조건은,(i) 소정의 개수만큼 상기 통화와 관련한 트랜잭션들이 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 프라이빗 블록체인에서 새로운 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 통화를 발행하는 서버.
- 제20항에 있어서,상기 프로세서는,상기 프라이빗 블록체인에서 상기 새로운 블록이 생성되는 때에, 상기 생성되는 블록의 블록 헤더(block header)에 상기 벨런스 데이터베이스의 밸런스들에 대한 정보 또는 상기 밸런스들의 총 변화량에 대한 정보를 이용하여 연산된 해쉬값인 밸런스 데이터베이스 헤더 해쉬값이 기록되도록 하는 것을 특징으로 하는 통화를 발행하는 서버.
- 제19항에 있어서,상기 프로세서는,상기 특정 해쉬값을 리프 노드에 할당함으로써 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,상기 소정의 조건이 만족되면, 상기 특정 해쉬값과, 상기 특정 해쉬값이 할당된 리프 노드와 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 머클 루트인 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 통화를 발행하는 서버.
- 제19항에 있어서,상기 프로세서는,(i) 상기 통화 발행자의 퍼블릭 키에 의한 발행자 등록 요청이 획득되면, 상기 통화 발행자의 유효 여부를 확인하여 상기 통화 발행자가 유효할 경우 특정 랜덤 논스를 상기 통화 발행자에게 전달하거나 전달하도록 지원하며, (ii) 상기 특정 랜덤 논스를 상기 통화 발행자의 프라이빗 키로 서명한 특정 랜덤 논스 서명값이 획득되면, 상기 특정 랜덤 논스 서명값이 유효한 서명 값인지를 상기 통화 발행자의 퍼블릭 키를 사용하여 검증하고 검증이 완료되면 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 통화 발행자의 퍼블릭 키를 포함하는 발행자 등록 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하고, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 발행자 등록 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 발행자 등록 프라이빗 트랜잭션 아이디를 상기 통화 발행자에게 제공하거나 제공하도록 지원하고, (iii) 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬값을 등록하기 위한 트리거링 조건임 - 이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 통화 발행자의 퍼블릭 키를 포함하는 상기 발행자 등록 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 관련 이웃 해쉬값을 연산함으로써 생성되는 머클 루트인 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 발행자 등록 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 것을 특징으로 하는 통화를 발행하는 서버.
- 통화의 지급을 결제하는 서버에 있어서,특정 사용자로부터 상기 통화의 지급 결제를 위한 (i) 특정 유니크 논스, (ii) 상기 통화의 수신자 정보, (iii) 특정 지급 결제 금액, (iv) 상기 특정 사용자의 퍼블릭 키 및 (v) 상기 특정 사용자의 프라이빗 키로 상기 (i), 상기 (ii), 상기 (iii), 상기 (iv)를 서명한 상기 특정 사용자의 서명 값을 포함하는 특정 통화 지급 트랜잭션을 획득하는 통신부; 및상기 획득된 상기 특정 통화 지급 트랜잭션의 상기 특정 사용자의 밸런스를 참조로 하여 상기 특정 통화 지급 트랜잭션의 지급 결제 방식을 확인하고, (i) 상기 특정 사용자의 밸런스가 상기 특정 지급 결제 금액 이상이어서 상기 특정 통화 지급 트랜잭션의 지급 결제 방식이 "즉시 지급 결제"로 확인되면, 상기 특정 사용자의 서명 값이 유효한지를 판단하여 유효일 경우, 상기 특정 통화 지급 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 통화 지급 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 통화 지급 프라이빗 트랜잭션 아이디를 상기 특정 사용자 및 상기 통화 수신자 중 적어도 일부에게 제공하거나 제공하도록 지원하고, 상기 특정 통화 지급 트랜잭션에 포함된 상기 특정 지급 결제 금액에 의한 밸런스 변화량을 참조로 밸런스 데이터베이스를 업데이트하여 등록하거나 등록하도록 지원하거나, (ii) 상기 특정 사용자의 밸런스가 상기 특정 지급 결제 금액 미만이어서 상기 특정 통화 지급 트랜잭션의 지급 결제 방식이 "지연 지급 결제"로 확인되면, 상기 특정 사용자의 서명 값이 유효한지를 판단하여 유효일 경우, 상기 특정 통화 지급 트랜잭션을 저장부에 저장한 상태에서, 적어도 하나 이상의 관련 타 사용자에 의해 지급 결제되며 상기 특정 사용자를 수취인으로 하는 적어도 하나 이상의 관련 통화 수취 트랜잭션이 소정의 상계 처리 조건을 만족하면, 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션들을 상계 처리하고, 상계 처리된 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션들을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 통화 지급 프라이빗 트랜잭션 아이디와 관련 통화 수취 프라이빗 트랜잭션 아이디를 상기 특정 사용자, 상기 특정 수신자 및 상기 관련 타 사용자 중 적어도 일부에게 제공하거나 제공하도록 지원하고, 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션에 포함된 특정 지급 결제 금액에 의한 밸런스 변화량을 참조로 밸런스 데이터베이스의 밸런스를 업데이트하여 등록하거나 등록하도록 지원하는 프로세스, 및 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬 값을 등록하기 위한 트리거링 조건임 - 이 만족하면, 특정 해쉬값 - 상기 특정 해쉬값은 (1) 상기 특정 통화 지급 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값 또는 (2) 상기 특정 통화 지급 트랜잭션과 상기 관련 통화 수취 트랜잭션에 각각 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬 값과 매칭되는 적어도 하나의 이웃 해쉬 값 - 상기 적어도 하나의 이웃 해쉬값 중 특정 이웃 해쉬 값은 프라이빗 블록체인의 n번째의 블록에서의 상기 통화와 관련한 모든 트랜잭션에 의해 변화되는 상기 밸런스 데이터베이스의 밸런스 총 변화량에 해쉬 함수를 적용하여 생성한 해쉬 값임 - 을 연산함으로써 생성되는 머클 루트인 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 (1) 특정 통화 지급 퍼블릭 트랜잭션 아이디 또는 (2) 상기 특정 통화 지급 퍼블릭 트랜잭션 아이디와 관련 통화 수취 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 프로세스를 수행하는 프로세서를 포함하되,상기 총 변화 량은 상기 n번째의 블록에서의 상기 통화의 모든 변화 량을 가리키며, 상기 n번째의 블록이 생성된 시점과 상기 프라이빗 블록체인 데이터베이스에서 (n-1)번째 블록이 생성된 시점 각각에 해당하는 상기 밸런스 데이터베이스의 두 상태의 차이에 대응되고,상기 밸런스 데이터베이스의 상태는 상기 n번째 블록에 기록된 모든 트랜잭션에 대응하는 각각의 위치정보를 나타내는 개별 프라이빗 트랜잭션 아이디에 의해 식별되며,상기 밸런스 데이터베이스는 상기 특정 통화 발행 트랜잭션에 대한 특정 밸런스 정보와 적어도 하나의 관련 트랜잭션의 적어도 하나의 관련 밸런스 정보를 포함 하는 것을 특징으로 하는 통화의 지급을 결제하는 서버.
- 제24항에 있어서,상기 프로세서는,상기 특정 해쉬값을 리프 노드에 할당함으로써 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,상기 소정의 조건이 만족되면, 상기 특정 해쉬값과, 상기 특정 해쉬값이 할당된 리프 노드와 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 특정 대표 해쉬 값 또는 상기 특정 대표 해쉬 값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 통화의 지급을 결제하는 서버.
- 제24항에 있어서,상기 프로세서는,(i) 상기 특정 사용자의 퍼블릭 키에 의한 특정 사용자 등록 요청이 획득되면, 상기 특정 사용자의 유효 여부를 확인하여 상기 특정 특정 사용자가 유효할 경우 특정 랜덤 논스를 상기 특정 사용자에게 전달하거나 전달하도록 지원하고, (ii) 상기 특정 랜덤 논스를 상기 특정 사용자의 프라이빗 키로 서명한 특정 랜덤 논스 서명값이 획득되면, 상기 특정 랜덤 논스 서명값이 유효한 서명 값인지를 상기 특정 사용자의 퍼블릭 키를 사용하여 검증하고 검증이 완료되면 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 특정 사용자의 퍼블릭 키를 포함하는 특정 사용자 등록 트랜잭션을 프라이빗 블록체인 데이터베이스에 등록하거나 등록하도록 지원하고, 상기 프라이빗 블록체인 데이터베이스에 등록된 상기 특정 사용자 등록 트랜잭션의 상기 프라이빗 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 사용자 등록 프라이빗 트랜잭션 아이디를 상기 특정 사용자에게 제공하거나 제공하도록 지원하며, (iii) 소정의 조건 - 상기 소정의 조건은 퍼블릭 블록체인 데이터베이스에 소정의 해쉬값을 등록하기 위한 트리거링 조건임 - 이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은 상기 특정 랜덤 논스 서명값, 상기 특정 랜덤 논스 및 상기 특정 사용자의 퍼블릭 키를 포함하는 상기 특정 사용자 등록 트랜잭션에 해쉬 함수를 적용하여 생성한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 관련 이웃 해쉬값을 연산함으로써 생성되는 머클 루트인 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값을 상기 퍼블릭 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 상기 퍼블릭 블록체인 데이터베이스에 등록된 상기 특정 대표 해쉬값 또는 상기 특정 대표 해쉬값을 가공한 값의 상기 퍼블릭 블록체인 데이터베이스 상의 위치 정보를 나타내는 특정 사용자 등록 퍼블릭 트랜잭션 아이디를 획득하거나 획득하도록 지원하는 것을 특징으로 하는 통화의 지급을 결제하는 서버.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA3039899A CA3039899C (en) | 2016-10-26 | 2017-10-26 | Method for issuing currency and making payment by managing balance database for each block in blockchain and server using same |
US16/380,627 US11037111B2 (en) | 2016-10-26 | 2019-04-10 | Method for issuing currency and making payment by managing balance database for each block in blockchain network and server using same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160140170A KR101837166B1 (ko) | 2016-10-26 | 2016-10-26 | 블록체인 내의 블록별로 발란스 데이터베이스를 관리하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 |
KR10-2016-0140170 | 2016-10-26 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/380,627 Continuation US11037111B2 (en) | 2016-10-26 | 2019-04-10 | Method for issuing currency and making payment by managing balance database for each block in blockchain network and server using same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018080207A1 true WO2018080207A1 (ko) | 2018-05-03 |
Family
ID=61727732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/011939 WO2018080207A1 (ko) | 2016-10-26 | 2017-10-26 | 블록체인 내의 블록별로 밸런스 데이터베이스를 관리하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11037111B2 (ko) |
KR (1) | KR101837166B1 (ko) |
CA (1) | CA3039899C (ko) |
WO (1) | WO2018080207A1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409890A (zh) * | 2018-11-13 | 2019-03-01 | 华瓴(南京)信息技术有限公司 | 一种基于区块链的电力交易系统及方法 |
CN109726229A (zh) * | 2018-11-30 | 2019-05-07 | 深圳市元征科技股份有限公司 | 一种区块链数据存储方法及装置 |
CN109741068A (zh) * | 2018-12-25 | 2019-05-10 | 银清科技(北京)有限公司 | 网银跨行签约方法、装置及系统 |
CN109754235A (zh) * | 2019-01-09 | 2019-05-14 | 篱笆墙网络科技有限公司 | 电子支付系统、方法、智能终端及存储介质 |
EP3571825A4 (en) * | 2018-12-21 | 2020-01-01 | Alibaba Group Holding Limited | VERIFYING THE INTEGRITY OF STORED DATA IN A CONSORTIUM BLOCK CHAIN USING A PUBLIC SECONDARY CHAIN |
CN110992028A (zh) * | 2019-10-14 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 基于区块链网络的换汇平台的数据处理方法及装置 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101849918B1 (ko) * | 2016-10-26 | 2018-04-19 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 |
US11188897B2 (en) * | 2018-02-13 | 2021-11-30 | Bank Of America Corporation | Multi-tiered digital wallet security |
JP2021512569A (ja) * | 2018-03-14 | 2021-05-13 | ツェン,ジェチエン | ブロックチェーンのデータ処理方法、管理側、クライアント側、変換装置及び媒体 |
KR102054581B1 (ko) * | 2018-03-30 | 2019-12-12 | 주식회사 네이블커뮤니케이션즈 | 블록 체인을 이용한 발신자 확인 방법, 장치 및 시스템 |
CN108711056A (zh) * | 2018-05-16 | 2018-10-26 | 四川大学 | 一种中心化的可追溯的区块链系统及方法 |
KR20190136610A (ko) | 2018-05-31 | 2019-12-10 | 박덕용 | 블록체인 기반의 스마트 컨트랙트를 이용한 거래 처리 장치 및 방법 |
US10095888B1 (en) | 2018-06-04 | 2018-10-09 | Capital One Services, Llc | Secure decentralized system utilizing smart contracts, a blockchain, and/or a distributed file system |
WO2019236925A1 (en) * | 2018-06-06 | 2019-12-12 | KR8OS, Inc dba Lucidity | Systems and methods for enforcing advertising standards and digital advertisement measurements |
WO2020008658A1 (ja) * | 2018-07-03 | 2020-01-09 | スタンダードトランザクション株式会社 | 通貨情報処理装置および通貨情報処理システム |
US11055531B1 (en) * | 2018-08-24 | 2021-07-06 | United Services Automobiie Association (USAA) | Augmented reality method for repairing damage or replacing physical objects |
EP3877936B1 (en) * | 2018-11-09 | 2023-12-27 | Visa International Service Association | Digital fiat currency |
RU2723461C1 (ru) * | 2019-04-01 | 2020-06-11 | Олег Леонидович Курнявко | Способ первичной эмиссии электронно-цифровой купюры, способ вторичной эмиссии электронно-цифровой купюры, способ совершения платежа с использованием электронно-цифровой купюры |
KR20200129881A (ko) | 2019-05-10 | 2020-11-18 | 정선태 | 블록체인을 이용한 지역화폐 교환결제 시스템 및 그 방법 |
CN112492002B (zh) | 2020-07-08 | 2023-01-20 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易转发方法及装置 |
CN111539829B (zh) | 2020-07-08 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的待过滤交易识别方法及装置 |
CN111541784B (zh) | 2020-07-08 | 2021-07-20 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易处理方法及装置 |
CN111541789A (zh) | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的数据同步方法及装置 |
CN113438219B (zh) * | 2020-07-08 | 2023-06-02 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的重放交易识别方法及装置 |
US11935042B2 (en) | 2021-08-13 | 2024-03-19 | Nec Corporation | Delegated off-chain payments using cryptocurrencies |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101575030B1 (ko) * | 2014-07-11 | 2015-12-07 | 조선대학교산학협력단 | 클라우드 상의 공유 데이터에 대한 다중 서명생성방법 |
KR101637854B1 (ko) * | 2015-10-16 | 2016-07-08 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6636058B2 (ja) * | 2015-07-02 | 2020-01-29 | ナスダック, インコーポレイテッドNasdaq, Inc. | 分散トランザクションデータベースにおける出所保証のシステムおよび方法 |
GB201511964D0 (en) * | 2015-07-08 | 2015-08-19 | Barclays Bank Plc | Secure digital data operations |
US10565570B2 (en) * | 2016-09-27 | 2020-02-18 | The Toronto-Dominion Bank | Processing network architecture with companion database |
-
2016
- 2016-10-26 KR KR1020160140170A patent/KR101837166B1/ko active IP Right Grant
-
2017
- 2017-10-26 WO PCT/KR2017/011939 patent/WO2018080207A1/ko active Application Filing
- 2017-10-26 CA CA3039899A patent/CA3039899C/en active Active
-
2019
- 2019-04-10 US US16/380,627 patent/US11037111B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101575030B1 (ko) * | 2014-07-11 | 2015-12-07 | 조선대학교산학협력단 | 클라우드 상의 공유 데이터에 대한 다중 서명생성방법 |
KR101637854B1 (ko) * | 2015-10-16 | 2016-07-08 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법 |
Non-Patent Citations (3)
Title |
---|
"Bulk Certificate Login Processing", 5 August 2016 (2016-08-05), Retrieved from the Internet <URL:https://github.com/Kangmo/blitz/wiki> * |
"Data Forgery Detection in Private Block Chain Using Public Block Chain", 5 August 2016 (2016-08-05), Retrieved from the Internet <URL:https://github.com/Kangmo/blitz/wiki> * |
"Why Block Chain Could be Fatal to Your Business", CIO KOREA, 7 September 2016 (2016-09-07), Retrieved from the Internet <URL:http://www.ciokorea.com/news/31161> * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409890A (zh) * | 2018-11-13 | 2019-03-01 | 华瓴(南京)信息技术有限公司 | 一种基于区块链的电力交易系统及方法 |
CN109726229A (zh) * | 2018-11-30 | 2019-05-07 | 深圳市元征科技股份有限公司 | 一种区块链数据存储方法及装置 |
CN109726229B (zh) * | 2018-11-30 | 2023-10-10 | 深圳市元征科技股份有限公司 | 一种区块链数据存储方法及装置 |
EP3849133A1 (en) * | 2018-12-21 | 2021-07-14 | Advanced New Technologies Co., Ltd. | Verifying integrity of data stored in a consortium blockchain using a public sidechain |
EP3571825A4 (en) * | 2018-12-21 | 2020-01-01 | Alibaba Group Holding Limited | VERIFYING THE INTEGRITY OF STORED DATA IN A CONSORTIUM BLOCK CHAIN USING A PUBLIC SECONDARY CHAIN |
US10552641B2 (en) | 2018-12-21 | 2020-02-04 | Alibaba Group Holding Limited | Verifying integrity of data stored in a consortium blockchain using a public sidechain |
US10691835B1 (en) | 2018-12-21 | 2020-06-23 | Alibaba Group Holding Limited | Verifying integrity of data stored in a consortium blockchain using a public sidechain |
TWI714179B (zh) * | 2018-12-21 | 2020-12-21 | 開曼群島商創新先進技術有限公司 | 使用公有側鏈驗證儲存在聯盟區塊鏈中的資料的完整性 |
CN109741068A (zh) * | 2018-12-25 | 2019-05-10 | 银清科技(北京)有限公司 | 网银跨行签约方法、装置及系统 |
CN109741068B (zh) * | 2018-12-25 | 2021-04-27 | 银清科技有限公司 | 网银跨行签约方法、装置及系统 |
CN109754235A (zh) * | 2019-01-09 | 2019-05-14 | 篱笆墙网络科技有限公司 | 电子支付系统、方法、智能终端及存储介质 |
CN110992028B (zh) * | 2019-10-14 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 基于区块链网络的换汇平台的数据处理方法及装置 |
CN110992028A (zh) * | 2019-10-14 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 基于区块链网络的换汇平台的数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11037111B2 (en) | 2021-06-15 |
CA3039899A1 (en) | 2018-05-03 |
CA3039899C (en) | 2022-06-21 |
KR101837166B1 (ko) | 2018-03-09 |
US20190236565A1 (en) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018080207A1 (ko) | 블록체인 내의 블록별로 밸런스 데이터베이스를 관리하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 | |
WO2018080206A1 (ko) | Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 | |
US11809608B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
WO2018070784A2 (ko) | 블록체인 내의 블록별로 발란스 데이터베이스를 관리하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버 | |
WO2018070848A1 (ko) | 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버 | |
US20220084020A1 (en) | System and method for scaling blockchain networks with secure off-chain payment hubs | |
US20190244186A1 (en) | Electronic bill management method, apparatus, and storage medium | |
WO2018155822A1 (ko) | 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버 | |
WO2018151427A1 (ko) | 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버 | |
WO2017192007A2 (ko) | 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인 | |
WO2016204461A1 (ko) | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 | |
US11108566B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
TW202018570A (zh) | 基於區塊鏈的節點管理方法和裝置 | |
CN109508970B (zh) | 基于区块链的汇款方法及装置 | |
WO2018070781A2 (ko) | Utxo 기반 프로토콜을 사용하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버 | |
WO2018070783A2 (ko) | Utxo 기반으로 머클트리 구조를 사용하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버 | |
CN111899001A (zh) | 基于区块链的汇款方法及装置 | |
WO2019035573A1 (ko) | 블록체인 기반의 거래 시스템 및 그 방법 | |
WO2019078623A1 (ko) | 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버 | |
WO2018080205A1 (ko) | Utxo 기반 프로토콜을 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 | |
WO2019078622A1 (ko) | 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버 | |
KR20200014121A (ko) | 블록체인 서비스 제공 방법 및 시스템 | |
WO2022177199A1 (ko) | 블록체인의 오라클 문제를 보완한 did 기반의 사용자 인증 시스템 | |
JP7393048B2 (ja) | 不正検証装置、確証生成装置、および、不正検知システム | |
CN117911112A (zh) | 一种优化智能合约Gas开销的查询服务结算方法及系统 |
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: 17865975 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 3039899 Country of ref document: CA |
|
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 1205 DATED 02/07/2019) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17865975 Country of ref document: EP Kind code of ref document: A1 |