WO2019078623A1 - 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버 - Google Patents

블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버 Download PDF

Info

Publication number
WO2019078623A1
WO2019078623A1 PCT/KR2018/012287 KR2018012287W WO2019078623A1 WO 2019078623 A1 WO2019078623 A1 WO 2019078623A1 KR 2018012287 W KR2018012287 W KR 2018012287W WO 2019078623 A1 WO2019078623 A1 WO 2019078623A1
Authority
WO
WIPO (PCT)
Prior art keywords
hash value
information
block chain
payment
value
Prior art date
Application number
PCT/KR2018/012287
Other languages
English (en)
French (fr)
Inventor
어준선
서문규
홍재우
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180076092A external-priority patent/KR102050271B1/ko
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Publication of WO2019078623A1 publication Critical patent/WO2019078623A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards

Definitions

  • the present invention relates to a payment method based on a block chain and a payment server using the same. More particularly, the present invention relates to a payment server using a block chain, Acquiring from the first block chain a push token ID corresponding to the acquired user identification information, generating an order ID corresponding to the order request information, and transmitting transaction data including at least one of the order ID and order information to the first block chain If the triggering condition for registering a predetermined hash value in the second block chain is satisfied, a second hash value generated by applying a hash function to the transaction data and at least one neighbor hash value matching the second hash value And registers the push token ID and the signature request information in the second block chain, Verifying the signature value when the signature value is obtained from the user terminal, and transmitting the approval request information including at least one of the payment means token ID, the order ID, and the order request information to the fund source server when the signature value is valid And when the approval result information from the fund source server is obtained, the approval result information is registered in the first block chain,
  • FIG. 1 The flow of card settlement in FIG. 1 is as follows.
  • a user makes a purchase request to a service provider 10, such as a shopping mall, for example, an online shopping mall or an offline shopping mall, to purchase a specific product or service, and transmits the purchase request to the online authentication company 20 Enter the card number.
  • a service provider 10 such as a shopping mall, for example, an online shopping mall or an offline shopping mall
  • the online authenticator 20 requests the card issuer 30 to authenticate the card number, and receives the authentication result of the card number from the card issuer 30. If the authentication result is successful, the online authenticator 20 delivers the authentication number to the service provider 10, and the service provider 10, which is a shopping mall, transmits the encrypted card number and the authentication number to the payment agent
  • the settlement agency 40 delivers the same to the VAN company 50 and the VAN company 50 transmits the same to the card company 30 in a sequential manner.
  • the authorization result from the card issuer 30 is transmitted to the VAN company 50 again and transferred from the VAN company 50 to the settlement agency 40 and from the settlement agency 40 to the service provider 10, The user receives the approval result.
  • the operation for guard payment between the service provider and the credit card company is performed through the settlement agency and the VAN company, so that the system is complicated and the fee for each settlement agent is also increased.
  • the service provider provides web based service for PC or mobile, application based service using iOS, AOS, POS based service using iOS, AOS, Windows and the like.
  • a payment interface provider 60 for providing development languages and service environments such as PHP, JAVA, Ruby, Python, Node.is, ASP, Object C, MFC, And provides a payment interface between them.
  • Another object of the present invention is to simplify the system and reduce the maintenance cost by using the block chain without using the VAN company or the PG company in the approval of the card use.
  • a payment method based on a block chain comprising: (a) a payment means token ID corresponding to a payment means of a user, user identification information for identifying the user, A push token ID corresponding to an application installed in a user's terminal of a user and a public key of the user in a first block chain and registers the payment means token ID, the user identification information, the push token ID, A first representative hash value obtained by computing a first hash value generated by applying a hash function to a key and at least one neighbor hash value matched with the first hash value or a value obtained by processing the first representative hash value, The order request information corresponding to purchase and payment information of the user terminal from the service providing terminal in the state of being registered in the block chain, When the payment settlement server receives the first representative hash from the second block chain by referring to the user identification information included in the order request information, Value or a value obtained by processing the first representative hash value or acquiring a value obtained by
  • a payment server for performing block-chain-based payment, the payment server comprising: a payment means token ID corresponding to a payment means of a user; user identification information for identifying the user; A push token ID corresponding to an application installed in a user terminal and a public key of the user in a first block chain and registers the payment means token ID, the user identification information, the push token ID, and the user's public key A first representative hash value obtained by computing a first hash value generated by applying a hash function and at least one neighbor hash value matched with the first hash value or a value obtained by processing the first representative hash value, The order request information corresponding to the purchase and payment information of the user terminal from the service providing terminal, User identification information, and the order including the at least one of the information-communication unit for obtaining; And acquiring a value obtained by processing the first representative hash value or the first representative hash value from the second block chain by referring to the user identification information included in the order request information, To obtain
  • a computer readable recording medium for recording a computer program for executing the method of the present invention is further provided.
  • the present invention has the following effects.
  • the present invention minimizes the fee in the approval process for card use.
  • the present invention can simplify the system and reduce the maintenance cost by using the block chain without using the VAN company or the PG company in the approval of the card use.
  • FIG. 2 is a schematic block chain-based payment system according to an embodiment of the present invention
  • FIG. 3 is a schematic block chain-based payment method according to an embodiment of the present invention.
  • FIG. 6 schematically shows a method of registering payment information in a block chain-based payment method according to an embodiment of the present invention.
  • FIG. 2 is a schematic block chain-based payment system according to an embodiment of the present invention.
  • the system includes a user terminal 100, a service providing terminal 200, a payment server 300, (400).
  • the user terminal 100 includes a PC, a mobile computer, a PDA / EDA, a mobile phone, a smart phone, a tablet, and the like for displaying information to be provided to a user and inputting and displaying information for settlement .
  • the user terminal 100 is not limited to this, and may include all communication devices such as a portable game machine having a wired / wireless communication function, a digital camera, and a personal navigation device.
  • the user terminal 100 may include a communication unit for supporting transmission and reception of information and a processor for processing information.
  • the user terminal 100 may include an application (APP), which is a user interface provided by the payment server 300 or the service providing terminal 200.
  • APP application
  • the service providing terminal 200 provides a variety of services that the user can use.
  • the service providing terminal 200 may include a communication unit for supporting transmission and reception of information, and a processor for processing information.
  • the service providing terminal 200 is a terminal that generates order request information corresponding to purchasing and payment information by the user terminal 100 and performs settlement according to the payment means corresponding to the user's settlement fund source, A payment terminal of the online shopping mall or a payment server of the offline shopping mall or a payment server of the online shopping mall to perform settlement of a service or an article provided to the user.
  • the service providing terminal 200 may include all the terminals that can settle the costs corresponding to the service provision or the purchase of the product on-line or off-line by using the payment means corresponding to the user's own fund source
  • the payment settlement server 300 performs block chain-based settlement, and may include a communication unit and a processor.
  • the use of the same reference numerals is for convenience of explanation only and is not intended to mean that these individual devices are the same.
  • the server may be configured differently to perform the corresponding method, or may perform the corresponding method through the same payment server 300.
  • the payment settlement server 300 may also be a server corresponding to each node of the block chain, a server managing a node of the block chain, or a transaction server.
  • the payment server 300 typically includes a computing device (e.g., a computer processor, memory, storage, input and output devices, and other devices capable of including components of a conventional computing device; Electronic communication devices, electronic information storage systems such as Network Attached Storage (NAS) and Storage Area Networks (SAN)) and computer software (i. E., Instructions that cause a computing device to function in a particular manner) System performance.
  • a computing device e.g., a computer processor, memory, storage, input and output devices, and other devices capable of including components of a conventional computing device; Electronic communication devices, electronic information storage systems such as Network Attached Storage (NAS) and Storage Area Networks (SAN)) and computer software (i. E., Instructions that cause a computing device to function in a particular manner) System performance.
  • NAS Network Attached Storage
  • SAN Storage Area Networks
  • the communication unit of such a computing device can send and receive requests and responses to and from other interworking computing devices.
  • requests and responses can be made by the same TCP session, but not limited to, for example, UDP data It may be sent and received as grams.
  • the processor 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, and a data bus. It may further include a software configuration of an operating system and an application that performs a specific purpose.
  • MPU micro processing unit
  • CPU central processing unit
  • cache memory a cache memory
  • data bus a data bus
  • the fund source server 400 may include a communication unit and a processor, and may be provided with a service for approval of use of the payment means of the user and settlement of the service provider.
  • the service for settlement may include purchases, claims, and settlements for payment settlement.
  • the fund source server 400 may be a server that manages a fund source that the user intends to use in payment settlement, but is not limited thereto and may be any server providing an approval service for the payment means corresponding to the fund source .
  • the fund source server 400 may perform a confirmation operation of various information necessary for using the payment means through communication with the payment payment server 300.
  • the fund source may include, but is not limited to, a user's bank account, credit card, gift certificate, membership card, coupon, point, etc.
  • the means may be a device or information enabling the fund source to be recognized in response to the fund source.
  • the fund source server 400 typically includes a computing device (e.g., a computer processor, memory, storage, input and output devices, and other devices capable of including components of a conventional computing device; Electronic communication devices, electronic information storage systems such as Network Attached Storage (NAS) and Storage Area Networks (SAN)) and computer software (i. E., Instructions that cause a computing device to function in a particular manner) System performance.
  • a computing device e.g., a computer processor, memory, storage, input and output devices, and other devices capable of including components of a conventional computing device; Electronic communication devices, electronic information storage systems such as Network Attached Storage (NAS) and Storage Area Networks (SAN)) and computer software (i. E., Instructions that cause a computing device to function in a particular manner) System performance.
  • NAS Network Attached Storage
  • SAN Storage Area Networks
  • the payment information of the user for example, the payment means token ID corresponding to the user's payment means, the user identification information for identifying the user, the push token ID corresponding to the application installed in the user terminal 100 of the user
  • the public key of the service provider 200 is registered in the block chain 500 and the service provider terminal 200 responds to the payment means corresponding to the user's fund source in order to settle the cost of using the service or purchasing the product online or offline (S1)
  • the service providing terminal 200 stores order information, which is information on a service or products ordered by the user, and stores the user identification information
  • the order request information including the order information to the payment server 300 or to the service providing terminal 200 Supports allow the other device to send an order request information to the payment server (300) (S2).
  • the order information may include detailed information about a product or service purchased or used by the user such as a product name, a product quantity, a unit price, a price, and the like.
  • the user identification information is unique information given for each user for identification of a user, and includes user ID, resident number, user terminal ID, IP address of the user terminal, MAC address of the user terminal, telephone number, And may include at least one or more.
  • the block chain 500 may be composed of a plurality of block chains.
  • the payment information is registered in the first block chain, and the first hash value generated by applying the hash function to the payment information and the first hash value
  • a value obtained by processing the first representative hash value or the first representative hash value that has calculated at least one neighboring hash value matched with the first representative hash value may be registered in the second block chain.
  • the payment payment server 300 acquires the push token ID corresponding to the user identification information of the order request information obtained from the service providing terminal 200 from the block chain 500, or receives the push token ID from the block chain 500 To support the device to obtain a push token ID corresponding to the user identification information from the block chain 500 (S3) (S4).
  • the payment server 300 confirms the block-chain transaction ID corresponding to the user identification information, obtains the payment information transaction registered in the block chain 500 using the block-chain transaction ID, The push token ID contained in the transaction is checked.
  • the payment server 300 may include in the order request information Acquiring a value obtained by processing the first representative hash value or the first representative hash value from the second block chain by referring to the user identification information of the first block chain, The first representative hash value or the first representative hash value and acquires the first representative hash value or the first representative hash value, Information or other apparatuses connected to the payment server 300 to obtain the muckle tree information and the leaf node information.
  • the payment payment server 300 obtains the push token ID from the first block chain by referring to the obtained merge tree information and the leaf node information or acquires the push token ID from the payment server 300 .
  • the payment payment server 300 generates an order ID corresponding to the order request information, and registers at least transaction data including at least one of the generated order ID and order information in the block chain 500 or the payment server 300 to register the transaction data in the block chain 500 (S5).
  • the payment settlement server 300 computes the merge tree having the order information as leaf nodes, and generates the processed value of the route hash value or the root hash value of the calculated merge tree as the order ID.
  • the block chain 500 may include a plurality of blocks.
  • the block chain 500 includes a first block chain and a second block chain
  • the payment payment server 300 registers the transaction data in the first block chain and the second block chain will be described in detail.
  • the payment payment server 300 registers transaction data in the first block chain or causes other devices connected to the payment payment server 300 to register in the first block chain.
  • the payment settlement server 300 matches the second hash value and the second hash value generated by applying the hash function to the transaction data A value obtained by processing the second representative hash value or the second representative hash value, which is the muffle root, is generated by calculating at least one neighboring hash value.
  • the payment payment server 300 registers the generated value of the second representative hash value or the second representative hash value in the second block chain, or registers the value obtained by processing the generated second representative hash value or the second representative hash value with another device interlocked with the payment settlement server 300, To register the value obtained by processing the second representative hash value or the second representative hash value in the second block chain.
  • the payment payment server 300 can store and manage the second hash value and the at least one neighbor hash value in a predetermined data structure.
  • the data structure may be various, for example, a merkle tree structure.
  • the payment server 300 may assist the second hash value to create or generate a merkle tree assigned to a particular leaf node, and if the triggering condition is met, at least one A value obtained by processing a second representative hash value or a second representative hash value that is a muffle root generated by computing a hash value assigned to another leaf node of the leaf node is registered in the second block chain, Device or the first block chain to register with the second block chain.
  • the payment server 300 may calculate the hash value assigned to the sibling node of the node to which (i) the second hash value and (ii) the second hash value are assigned, To assist other devices associated with the payment server 300 to operate, to assign a hash value for the computed value to the parent node of the node, or to allow other devices associated with the payment server 300 to assign to the parent node .
  • the hash value assigned to the parent node is the processed value of the second representative hash value or the second representative hash value. (x3).
  • the payment server 300 repeats (x1) through (x3) with the hash value assigned to the parent node as the second hash value .
  • the payment server 300 registers the hash value finally assigned to the root node of the merge tree as the processed value of the second representative hash value or the second representative hash value in the second block chain or the payment server 300 ) Or the first block chain to register in the second block chain.
  • the value obtained by processing the second representative hash value may be, for example, a result obtained by performing a hex operation on the second representative hash value.
  • the payment server 300 stores the second hash value and the at least one neighbor hash value in a predetermined 1-1 data structure, and then the 1-2 data structure of the same type as the 1-1 data structure
  • the first 1-1 data structure and the 1-2 data structure can be connected in a chain form.
  • the root value of the 1-1 data structure or the hash value of the root value is Can be assigned to the first leaf node.
  • the first leaf node of the first merch tree may be assigned a hash value or a processed value of a predetermined message data composed of text, numbers, or symbols have.
  • a hash value of an input message initially assigned by the payment server 300 when generating a merge tree may be assigned.
  • Figures 4 and 5 illustrate an example of a merge tree generated according to an embodiment of the present invention.
  • ha256 coinplug_unique_message
  • Payment settlement server 300 may also support computing or computing (i) a second hash value assigned to node h2 and (ii) a hash value assigned to node h3, which is a sibling node of node h2.
  • the hash value for the operation value is assigned to the h2 node and the parent node (h23 node) of the h3 node.
  • the payment server 300 can repeat the above process with the hash value assigned to the h23 node as the second hash value. That is, the hash value assigned to the h23 node is set as the second hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node are calculated and assigned to the h23 node and the parent node (h0123 node) of the h01 node .
  • the payment server 300 registers the value (hex (h ⁇ node_index ⁇ ) obtained by processing the hash value assigned to the node h0123 in the second block chain, The first block chain and the other device interlocked with the first block chain 300 can be registered in the second block chain
  • the payment settlement server 300 when a transaction related to settlement is obtained by the leaf node number of the merge tree, the payment settlement server 300 generates a merge tree, registers the root value of the merge tree in the second block chain, 300) to register with other devices.
  • the payment server 300 can generate the root value of the aforementioned mu tree at predetermined time intervals (condition (ii) above). In this case, the payment payment server 300 generates a merge tree using the input values until a predetermined time elapses, registers the root value of the merge tree in the second block chain, And can support the other device or the first block chain to register in the second block chain.
  • the payment settlement server 300 supports to assign or assign a predetermined hash value to the sibling node,
  • the route value of the merge tree can be calculated in one way.
  • the payment server 300 may support to duplicate and assign or assign the second hash value to the sibling node.
  • the service characteristic includes the cost information provided by the issuer that issued the transaction related to the settlement, the time zone information in which the settlement-related transaction registration is performed, the area information in which the settlement-related transaction registration service is performed, At least in part.
  • the present invention is not limited to the one described here, but includes various condition information in which a generally accepted differential service can be provided.
  • the payment payment server 300 when a new merge tree generation is started and the triggering condition is satisfied in the absence of a settlement related transaction, the payment payment server 300 generates a merge tree in which predetermined message data is allocated to the first leaf node and the second leaf node And registers the root value of the merge tree or the processed value in the second block chain or supports the other device or first block chain linked to the payment server 300 to register in the second block chain .
  • a merge tree with two leaf nodes may be created.
  • the payment server 300 stores the second hash value and the at least one neighbor hash value in a predetermined 1-1 data structure, 2 data structure is stored and managed, the 1-1 data structure and the 1-2 data structure can be connected in a chain form.
  • the 1-1 data structure and the 1-2 data structure are merc trees, the root value of the 1-1 data structure or the hash value of the root value is allocated to the first leaf node of the 1-2 data structure .
  • FIG. 5 is a diagram illustrating a merge tree generated as a 1-2 data structure according to an embodiment of the present invention.
  • the present invention has an advantage of improving data integrity by enabling easy tracking even when data is modulated in the middle by connecting a plurality of data structures generated at the time of occurrence of a transaction.
  • the payment payment server 300 transmits the push token ID and the signature request information to the user terminal 100 or transmits the push token ID and the signature request information to the user terminal 100 through the service providing terminal 200, (S6) (S7).
  • the signature request information may include order information or a verification confirmation value.
  • the user terminal 100 executes the application corresponding to the fund source requested to be paid corresponding to the push token ID, requests the user for the electronic signature for the verification confirmation value, or confirms the order information and the electronic signature (S8). After the user confirms the electronic signature request or confirms that the order information matches the order he or she has ordered, the user himself / herself including at least one of the password, the PIN code, the fingerprint, and the biometric information Upon inputting the set confirmation information, the user terminal 100 confirms whether the confirmation information input by the user matches the confirmation information preset by the user.
  • the user terminal 100 If the confirmation information input by the user matches the preset confirmation information, the user terminal 100 generates a user verification value or a user signature value for the order information (S9) and transmits the verification value or the user signature value to the payment server 300 Or transmitted to the payment settlement server 300 through the service providing terminal 200 (S10).
  • the user terminal 100 is allowed to access the stored private key of the user, And transmits the created user signature value to the payment server 300 or to the payment server 300 through the service providing terminal 200.
  • the payment payment server 300 acquires a verification value or a user signature value signed by the order information from the user terminal 100, confirms whether the acquired user signature value is valid, or interworks with the payment server 300 (S11) so as to confirm whether the signature value is valid.
  • the payment server 300 acquires the public key of the user registered in the block chain 500 corresponding to the user identification information, and confirms whether the user signature value is valid using the obtained public key. That is, the payment server 300 extracts the order information or the verification confirmation value from the signature value using the public key, and if the order information or the verification confirmation value extracted from the signature value is the order information included in the signature request information, Value to determine whether the signature value is valid or not.
  • the block chain 500 may be constituted by a first block chain and a second block chain.
  • the public key is registered in the first block chain.
  • a hash value of the public key is used as a leaf node.
  • the root hash value of the tree can be registered.
  • the payment payment server 300 checks the root hash value registered in the second block chain corresponding to the user identification information, and registers the root hash value registered in the first block chain The merge tree information and the leaf node information, and confirms the public key registered in the first block chain or confirms the other device by referring to the merge tree information and the leaf node information.
  • the payment server 300 determines that the user signature value is valid, it obtains the payment means token ID corresponding to the user identification information from the block chain 500 and transmits the payment means token ID, , And order request information to the fund source server 400 or transmits the approval request information to the fund source server 400 through the other device cooperating with the payment support server 300 (S12).
  • the block chain 300 is composed of a plurality of block chains. For example, a payment means token ID is registered in the first block chain, and a root hash value corresponding to the payment means token ID is registered in the second block chain The payment server 300 can obtain the payment means token ID using the root hash value in the same manner as described above.
  • the fund source server 400 verifies the validity of the payment means token ID included in the approval request information, verifies the order information, transmits the approval result corresponding to the verification result to the payment server 300, (S13).
  • the fund source server 400 may generate the root hash value by the merge tree by referring to the order information through the block chain 500, and compare the order hash value included in the approval request information to verify the order information .
  • the payment payment server 300 registers the approval result information for the order request in the block chain 500 or supports the other device to register it, To the service providing terminal 200 or the user terminal 100 or to allow another device linked to the payment settlement server 300 to transmit the approval completion information (S14) (S15). At this time, the payment payment server 300 acquires the approval result transaction ID indicating the position information on the block chain 500 of the approval result information registered in the block chain 500, and inserts the approval transaction ID into the approval result information .
  • the block chain 500 may include a first block chain and a second block chain.
  • the payment server 300 may register the approval result information in the first block chain or may associate the approval result information with the payment server 300 If the triggering condition for registering a predetermined hash value in the second block chain is satisfied, the payment settlement server 300 applies the hash function to the approval result information to generate Generates a value obtained by processing a third representative hash value or a third representative hash value that is a merge root by calculating at least one neighboring hash value matching a third hash value and a third hash value, Value or a value obtained by processing the third representative hash value in the second block chain or causes the other device or first block chain linked to the payment server 300 to process the third representative hash value or the third representative hash value
  • One value is assigned to the second block It can be registered in the lock chain. A detailed description thereof will be omitted because it can be easily confirmed from the process of registering the transaction data.
  • the settlement support server 300 transmits the settlement data request information to the settlement data request information Obtains the settlement data including the order information requested to be cleared from the block chain 500 by referring to the corresponding transaction data or instructs the other apparatus interlocked with the settlement support server 300 to obtain the settlement data from the block chain 500
  • the settlement data obtained from the block chain 500 is transmitted to the fund source server 400 or transmitted to the fund source server 400 through the other device linked to the payment settlement server 300 in step S22 (S24) so that the fund source server 400 can settle the cost by referring to the settlement data.
  • the settlement of expenses may include the concept of purchase and claim.
  • the block chain 500 is composed of the first block chain and the second block chain, the value obtained by processing the second representative hash value or the second representative hash value, i.e., the root hash value, The settlement data can be confirmed by the method.
  • the payment support server 300 obtains a value obtained by processing the second representative hash value or the second representative hash value from the second block chain by referring to the transaction data corresponding to the settlement data request information, ) To obtain a value obtained by processing the second representative hash value or the second representative hash value, and associates the second representative hash value or the second representative hash value with the value obtained by processing the second representative hash value or the second representative hash value, Acquires the merge tree information and the leaf node information registered in the chain, or assists another device connected to the payment server 300 to acquire the merge tree information and the leaf node information, and refers to the merge tree information and the leaf node information It is possible to obtain the settlement data including the order information requested to be cleared from the first block chain or to cause the other apparatus interlocked with the settlement support server 300 to transmit the settlement data to the first block And transmits the settlement data obtained from the first block chain to the fund source server 400 or transmits the settlement data to the fund source server 400 through the other apparatus linked to the settlement support server 300 So that the fund
  • the payment means includes a payment means token ID corresponding to the payment means of the user, user identification information for identifying the user, a push token ID corresponding to the application installed in the user terminal of the user, and a public key of the user
  • a method of registering payment information in the block chain 500 will be described with reference to FIG.
  • the user terminal 100 accesses the fund source server 400 through an application corresponding to the fund source installed in the user terminal 100, And transmits the user authentication and payment information registration request including the personal information, the user identification information, the payment means information, and the public key to the fund source server 400 or the fund source To the server 400 (S31).
  • the personal information may include at least one of the user's name, date of birth, user ID, resident number, user terminal ID, IP address of the user terminal, MAC address of the user terminal, May be specific information that is given to each user for identifying the user as specific personal information among the personal information.
  • the payment means information may be information on payment means for paying money using the fund source.
  • the payment means may include a card, a gift certificate, a point, a membership card, a digital electronic wallet, etc.
  • the payment means information may include identification information for identifying them, that is, fund source information, User information, and the like.
  • the user terminal 100 may extract and transmit the personal information and the user identification information from the storage unit of the user terminal 100, as opposed to the user inputting the personal information and the user identification information.
  • the fund source server 400 acquires user authentication and payment information registration request information including personal information, user identification information, payment means information, and public key from the user terminal 100, and performs user authentication (S32).
  • the user authentication can be performed by various methods such as authentication using an ID / password, authentication using a smart card or biometrics, authentication using a public key based digital signature, authentication using a public certificate, and the like.
  • the fund source server 400 performs verification of the payment means.
  • the verification of the payment means can be performed by confirming that the payment means information transmitted from the user terminal 100 coincides with the registered payment means ledger information.
  • the fund source server 400 generates payment information for the authenticated user (S33).
  • the payment information may include a payment means token ID, user identification information, a push token ID, and a public key.
  • the payment means token ID is a tokenized payment means for preventing exposure of the payment means information
  • the push token ID may be a token ID capable of calling a fund source related application installed in the user terminal 100.
  • the fund source server 400 transmits a registration request for the generated payment information to the payment server 300 or causes the other device linked to the fund source server 400 to send a payment information registration request to the payment server 300 (S34). ≪ / RTI >
  • the payment settlement server 300 transmits the payment information including the payment means token ID, the user identification information, the push token ID, and the public key to the block chain 500 (S36), and transmits the information on the completion of the payment information registration to the fund source server 400 or causes the other device linked to the payment server 300 to transmit the payment information registration completion signal to the fund source server 400 (S37).
  • the block chain 500 may include a plurality of block chains.
  • the block chain 500 includes a first block chain and a second block chain
  • Is registered in the first block chain or the other device linked to the payment settlement server 300 is registered in the first block chain and the triggering condition for registering a predetermined hash value in the second block chain is satisfied
  • the payment settlement server 300 calculates the first hash value generated by applying the hash function to the payment information and the at least one neighbor hash value matching the first specified hash value, A value obtained by processing the first representative hash value or a value obtained by processing the first representative hash value or the first representative hash value is registered in the second block chain, 1 block chain A value obtained by processing the first representative hash value or the first representative hash value may be registered in the second block chain.
  • the embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination.
  • the program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known and used by 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 and DVDs, 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.
  • program instructions include machine language code such as those generated by a compiler, as well as 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 for performing the processing according to the present invention, and vice versa.

Abstract

본 발명은 주문 요청 정보가 획득되면, 주문 요청 정보에 포함된 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 제1 블록체인으로부터 획득하고, 주문 요청 정보에 대응하는 주문 아이디를 생성하며, 주문 아이디와 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 제1 블록체인에 등록하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값을 제2 블록체인에 등록하고, 푸시 토큰 아이디와 서명 요청 정보를 사용자 단말로 전송하며, 사용자 단말로부터의 서명값이 획득되면, 서명값을 검증하여 유효일 경우, 지급 수단 토큰 아이디, 주문 아이디, 및 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하고, 펀드 소스 서버로부터의 승인 결과 정보를 제1 블록체인에 등록하고, 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값을 제2 블록체인에 등록하며, 승인 결과 정보에 대응한 승인 완료 정보를 서비스 단말로 전송하여 주는 결제 방법 및 이를 이용한 지급 결제 서버에 관한 것이다.

Description

블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
본 발명은 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버에 관한 것으로, 보다 상세하게는, 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함하는 주문 요청 정보가 획득되면, 주문 요청 정보에 포함된 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 제1 블록체인으로부터 획득하고, 주문 요청 정보에 대응하는 주문 아이디를 생성하며, 주문 아이디와 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 제1 블록체인에 등록하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값을 제2 블록체인에 등록하며, 푸시 토큰 아이디와 서명 요청 정보를 사용자 단말로 전송하며, 사용자 단말로부터의 서명값이 획득되면, 서명값을 검증하여 유효일 경우, 지급 수단 토큰 아이디, 주문 아이디, 및 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하고, 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 승인 결과 정보를 제1 블록체인에 등록하고, 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값을 제2 블록체인에 등록하며, 승인 결과 정보에 대응한 승인 완료 정보를 서비스 단말로 전송하여 주는 결제 방법 및 이를 이용한 지급 결제 서버에 관한 것이다.
인터넷 온라인 쇼핑몰 및 오프라인 상점에서의 신용카드 사용자가 증가하면서 신용카드는 현금과 함께 중요한 결제 수단으로 자리잡고 있다.
종래에 신용카드를 이용한 결제 시스템은 도 1과 같이 나타내어질 수 있다. 도 1에서의 카드 결제의 흐름은 다음과 같다.
우선, 사용자가 특정 상품 또는 서비스를 구매하기 위하여 쇼핑몰, 일 예로, 온라인 쇼핑몰 또는 오프라인 쇼핑몰과 같은 서비스 제공자(10)에게 구매 요청을 하고, 온라인 인증사(20), 일 예로, 신용카드 인증 제공자에게 카드 번호를 입력한다.
그러면, 온라인 인증사(20)는 카드사(30)에 카드 번호의 인증을 요청하고, 카드사(30)로부터 카드 번호의 인증 결과를 전달받는다. 인증 결과가 성공적이면, 온라인 인증사(20)는 서비스 제공자(10)에게 인증번호를 전달하고, 쇼핑몰인 서비스 제공자(10)는 암호화된 카드 번호와 인증번호를 결제 대행사(PG사; payment gateway사)(40)에 전달하며, 결제 대행사(40)는 이를 VAN사(50)에 전달하고, VAN사(50)는 이를 다시 카드사(30)에 전달하는 연쇄적인 전달이 이루어진다. 그리고 카드사(30)로부터 나온 승인결과가 다시 VAN사(50)에 전달되고, VAN사(50)로부터 결제 대행사(40)에, 결제 대행사(40)로부터 서비스 제공자(10)에게 전달되어, 최종적인 승인 결과를 사용자가 전달받게 된다.
종래의 이와 같은 일반적인 결제 방식은 결제 대행사와 VAN사를 통해 서비스 제공자와 카드사 사이의 가드 결제에 대한 동작이 수행되므로 시스템이 복잡할 뿐만 아니라 각각의 결제 중개사에 의한 수수료도 증가하게 되는 문제점이 있다.
또한, 최근에는 서비스 제공자에 의해 제공되는 서비스는 다양한 플랫폼에 의해 이루어지고 있다. 즉, 서비스 제공자는 pc나 모바일을 위한 웹 기반 서비스, iOS, AOS 등을 이용한 앱 기반 서비스, iOS, AOS, 윈도우 등을 이용한 POS 기반 서비스 등을 제공하고 있다. 따라서, 이러한 다양한 플랫폼을 수용하기 위하여 PHP, JAVA, Ruby, Python, Node.is, ASP, Object C, MFC 등의 개발언어와 서비스 환경을 제공하기 위한 결제 인터페이스 제공자(60)가 서비스 제공자와 결제 대행사 사이에서 결제 인터페이스를 제공하고 있다.
하지만, 이러한 종래의 카드 결제 시스템에서는 결제 인터페이스 제공자, 결제 대행사, VAN사 등에 의한 결제 대행 수수료에 의해 서비스 제공자가 부담하여야 하는 카드 결제 수수료, 인터페이스 연동 이용수수료, 결제 대행사 이용 수수료, 카드 결제 수수료 등이 증가될 뿐만 아니라, 카드사가 결제 중개사들에게 지급하여야 하는 수수료 등도 증가되는 문제점이 있다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 카드 사용에 대한 승인 과정에서 수수료를 최소화하는 것을 다른 목적으로 한다.
또한, 본 발명은 카드 사용에 관한 트랜잭션을 블록체인에 등록하고 관리함으로써 카드 사용 정보의 위변조가 불가능하도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 카드 사용의 승인에서 VAN사나 PG사를 이용하지 않고 블록체인을 이용함으로써 시스템을 간소화할 수 있을 뿐만 아니라 유지 비용을 절감할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 블록체인 기반의 결제 방법에 있어서, (a) 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 가 획득되면, 지급 결제 서버가, 상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디와 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 단계; (b) 상기 사용자 단말로부터의 서명값이 획득되면, 상기 지급 결제 서버가, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 결제 지원 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 단계; 및 (c) 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 결제 지원 서버가, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 단말로 전송하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 단말로 전송하도록 지원하는 단계; 를 포함하는 결제 방법이 제공된다.
또한, 본 발명의 일 실시예에 따르면, 블록체인 기반의 결제를 수행하는 지급 결제 서버에 있어서, 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 를 획득하는 통신부; 및 상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 결제 지원 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디 또는 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 프로세스와, 상기 사용자 단말로부터의 서명값이 획득되면, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 결제 지원 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 프로세스와, 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 단말로 전송하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 단말로 전송하도록 지원하는 프로세스를 수행하는 프로세서; 를 포함하는 지급 결제 서버가 제공된다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 카드 사용에 대한 승인 과정에서 수수료를 최소화할 수 있다.
또한, 본 발명은 카드 사용에 관한 트랜잭션을 블록체인에 등록하고 관리함으로써 카드 사용 정보의 위변조가 불가능하도록 할 수 있다.
또한, 본 발명은 카드 사용의 승인에서 VAN사나 PG사를 이용하지 않고 블록체인을 이용함으로써 시스템을 간소화할 수 있을 뿐만 아니라 유지 비용을 절감할 수 있다.
도 1은 종래의 카드 결제 시스템을 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 결제 시스템을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 결제 방법을 개략적으로 도시한 것이고,
도 4와 도 5는 본 발명의 일 실시예에 따른 블록체인 기반의 결제 방법에서 결제와 관련한 트랜잭션을 블록체인에 등록하는 다른 실시예를 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따른 블록체인 기반의 결제 방법에서 지불 정보를 등록하는 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 결제 시스템을 개략적으로 도시한 것으로, 시스템은 사용자 단말(100), 서비스 제공 단말(200), 지급 결제 서버(300), 및 펀드 소스 서버(400)를 포함할 수 있다.
먼저, 사용자 단말(100)은 사용자에게 서비스되는 정보를 표시하여 주며 결제를 위한 정보의 입력 및 표시를 위한 디바이스로, PC, 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿 등을 포함할 수 있다. 그리고, 사용자 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등의 모든 통신 디바이스를 포함할 수 있다. 또한, 사용자 단말(100)은 정보의 송수신을 지원하는 통신부와 정보를 처리하는 프로세서를 포함할 수 있다. 이에 더하여, 사용자 단말(100)은 지급 결제 서버(300) 또는 서비스 제공 단말(200)에서 제공하는 사용자 인터페이스인 앱(APP; application)을 포함할 수 있다.
다음으로, 서비스 제공 단말(200)은 사용자가 사용할 수 있는 다양한 서비스를 제공하여 주는 것으로, 정보의 송수신을 지원하는 통신부와 정보를 처리하는 프로세서를 포함할 수 있다. 또한, 서비스 제공 단말(200)은 사용자 단말(100)에 의한 구매 및 지불 정보에 대응되는 주문 요청 정보를 생성하여 사용자의 결제 펀드 소스에 대응되는 지급 수단에 따른 결제를 수행하는 단말로, 오프라인 쇼핑몰의 결제 단말 또는 온라인 쇼핑몰의 결제 서버를 포함할 수 있으며, 오프라인 쇼핑몰의 결제 단말 또는 온라인 쇼핑몰의 결제 서버와 연동하여 사용자에게 제공된 서비스 또는 물품에 대한 결제를 수행하는 서버를 포함할 수 있다. 이에 더하여, 서비스 제공 단말(200)은 온라인 또는 오프라인에서 서비스 제공 또는 제품의 구매에 대응하는 비용을 사용자 소유의 펀드 소스에 대응하는 지급 수단을 이용하여 결제할 수 있도록 하는 모든 단말을 포함할 수 있다
다음으로, 지급 결제 서버(300)는 블록체인 기반의 결제를 수행하는 것으로, 통신부와 프로세서를 포함할 수 있다. 동일한 참조 부호를 이용하여 나타낸 것은 설명의 편의를 위한 것일 뿐, 이들 개별 장치들이 동일하다는 의미로 의도된 것은 아니다. 그리고, 본 발명의 다른 실시예에서의 방법은 서버를 상이하게 구성하여 해당 방법을 수행하거나 동일한 지급 결제 서버(300)를 통해 해당 방법을 수행할 수도 있다. 또한, 지급 결제 서버(300)는 블록체인의 각각의 노드에 대응하는 서버이거나, 블록체인의 노드를 관리하는 서버 또는 트랜잭션 서버일 수 있다.
구체적으로, 지급 결제 서버(300)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
다음으로, 펀드 소스 서버(400)는 통신부와 프로세서를 포함할 수 있으며, 사용자의 지급 수단 사용에 대한 승인 및 서비스 제공자의 정산에 대한 서비스를 제공하여 줄 수 있다. 이때, 정산에 대한 서비스는 지급 결제를 위한 매입, 청구, 및 정산을 포함할 수 있다. 그리고, 펀드 소스 서버(400)는 사용자가 지급 결제에 사용하고자 하는 펀드 소스를 관리하는 서버일 수 있으나, 이에 한정되는 것은 아니며, 펀드 소스에 대응되는 지급 수단에 대한 승인 서비스를 제공하는 모든 서버를 포함할 수 있다. 또한, 펀드 소스 서버(400)는 지급 결제 서버(300)와의 통신을 통해 지급 수단 사용에 필요한 각종 정보의 확인 동작을 수행할 수 있다. 이때, 펀드 소스는 사용자의 은행 계좌, 신용카드, 상품권, 멤버쉽카드, 쿠폰, 포인트 등을 포함할 수 있으나, 이에 한정되지 않으며, 지급 결제가 가능한 모든 가치 보유 장치 또는 정보를 포함할 수 있으며, 지급 수단은 펀드 소스에 대응하여 펀드 소스를 인식할 수 있도록 하는 장치 또는 정보일 수 있다.
구체적으로, 펀드 소스 서버(400)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같이 구성된 시스템을 통해 본 발명의 일 실시예에 따른 블록체인 기반의 결제 시스템에서 결제를 수행하는 방법을 도 3을 참조하여 설명하면 다음과 같다.
먼저, 사용자의 지불 정보, 일 예로, 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 사용자를 식별하기 위한 사용자 식별 정보, 사용자의 사용자 단말(100)에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 사용자의 퍼블릭 키가 블록체인(500)에 등록된 상태에서, 사용자가 온라인 또는 오프라인에서 서비스 이용 또는 제품 구매 등에 따른 비용을 결제하기 위하여 서비스 제공 단말(200)로 사용자의 펀드 소스에 따른 지급 수단에 대응하는 사용자 식별 정보를 입력하거나 제공하여 주문 정보에 대한 결제를 요청하면(S1), 서비스 제공 단말(200)은 사용자에 의해 주문된 서비스 또는 제품들에 대한 정보인 주문 정보를 저장하고, 사용자 식별 정보와 주문 정보를 포함하는 주문 요청 정보를 지급 결제 서버(300)로 전송하거나 서비스 제공 단말(200)에 연동되는 타 장치로 하여금 주문 요청 정보를 지급 결제 서버(300)로 전송하도록 지원한다(S2). 이때, 주문 정보는 상품명, 상품 수량, 단가, 가격 등과 같이 사용자가 구매하거나 이용한 제품 또는 서비스에 대한 상세 정보를 포함할 수 있다. 또한, 사용자 식별 정보는 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보로서, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 전화번호, 및 이들 각각의 해시값 중 적어도 하나 이상을 포함할 수 있다. 또한, 블록체인(500)은 다수의 블록체인으로 구성될 수 있으며. 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지불 정보는 제1 블록체인에 등록되며, 지불 정보에 해시함수를 적용하여 생성한 제1 해시값과 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값이 제2 블록체인에 등록될 수 있다.
그러면, 지급 결제 서버(300)는 서비스 제공 단말(200)로부터 획득되는 주문 요청 정보의 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 블록체인(500)으로부터 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 블록체인(500)으로부터 획득하도록 지원한다(S3)(S4). 일 예로, 지급 결제 서버(300)는 사용자 식별 정보에 대응하는 블록체인 트랜잭션 아이디를 확인하며, 블록체인 트랜잭션 아이디를 이용하여 블록체인(500)에 등록된 지불 정보 트랜잭션을 획득하며, 획득된 지불 정보 트랜잭션에 포함된 푸시 토큰 아이디를 확인하게 된다.
한편, 블록체인(500)이 다수의 블록체인으로 구성될 수 있으며, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지급 결제 서버(300)는 주문 요청 정보에 포함된 사용자 식별 정보를 참조하여 제2 블록체인으로부터 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제2 블록체인으로부터 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값과 관련되어 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원한다. 그리고, 지급 결제 서버(300)는 획득된 머클 트리 정보 및 리프 노드 정보를 참조하여 제1 블록체인으로부터 푸시 토큰 아이디를 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 푸시 토큰 아이디를 획득하도록 지원할 수 있다.
그리고, 지급 결제 서버(300)는 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 적어도 생성된 주문 아이디와 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 블록체인(500)에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치를 통해 트랜잭션 데이터가 블록체인(500)에 등록하도록 지원한다(S5). 이때, 지급 결제 서버(300)는 주문 정보들을 리프노드로 한 머클트리를 연산하며, 연산된 머클트리의 루트 해시값 또는 루트 해시값을 가공한 값을 주문 아이디로 생성한다.
한편, 상기에서는 트랜잭션 데이터를 블록체인(500)에 등록하였으나, 블록체인(500)이 다수로 이루어질 수 있으며, 일 예로, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지급 결제 서버(300)가 트랜잭션 데이터를 제1 블록체인과 제2 블록체인에 등록하는 과정을 상세히 설명하면 다음과 같다.
지급 결제 서버(300)는 트랜잭션 데이터를 제1 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제1 블록체인에 등록하도록 한다.
그리고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 지급 결제 서버(300)는 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 제2 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산함으로써 머클 루트인 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 생성한다.
또한, 지급 결제 서버(300)는 생성된 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 제2 블록체인에 등록하도록 할 수 있다.
한편, 지급 결제 서버(300)는 제2 해시값과 적어도 하나의 이웃 해시값을 소정의 데이터 구조로 저장하여 관리할 수 있다. 여기서, 데이터 구조는 다양할 수 있는 데, 일 예로 머클 트리(merkle tree) 구조가 될 수도 있다.
즉, 지급 결제 서버(300)는 제2 해시값이 특정 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원할 수 있고, 트리거링 조건이 만족되면, 제2 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 머클 루트인 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다.
좀더 구체적으로 설명하면, (x1) 지급 결제 서버(300)는, (i) 제2 해시값과 (ii) 제2 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 연산하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 연산하도록 지원하고, 연산값에 대한 해시값을 노드의 부모 노드에 할당하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 부모 노드에 할당하도록 지원할 수 있다. (x2) 만일, 부모 노드가 머클 트리의 루트 노드이면, 부모 노드에 할당된 해시값이 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값이 된다. (x3) 반면, 부모 노드가 머클 트리의 루트 노드가 아니면, 지급 결제 서버(300)는, 부모 노드에 할당된 해시값을 제2 해시값으로 하여 (x1) 내지 (x3)를 반복하여 수행한다.
그리고, 지급 결제 서버(300)는 최종적으로 머클 트리의 루트 노드에 할당된 해시값을 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값으로서 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원한다. 이때, 제2 대표 해시값을 가공한 값은, 예를 들어, 제2 대표 해시값에 hex 연산이 수행된 결과값일 수 있다.
한편, 지급 결제 서버(300)가 제2 해시값과 적어도 하나의 이웃 해시값을 소정의 제1-1 데이터 구조로 저장하고, 이후 제1-1 데이터 구조와 동일한 형태의 제1-2 데이터 구조를 저장하여 관리하는 경우, 제1-1 데이터 구조와 제1-2 데이터 구조는 체인 형태로 연결될 수 있다.
특히, 상술한 예에서와 같이 제1-1 데이터 구조 및 제1-2 데이터 구조가 머클 트리인 경우, 제1-1 데이터 구조의 루트값 또는 루트값의 해시값이 제1-2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다.
또한, 제1-2 데이터 구조를 생성할 때는 제1-1 데이터 구조에 대한 검증이 이루어짐으로써 데이터 integrity가 좀더 보장될 수 있다. 제1-2 데이터 구조의 검증에 대해서는 후술하기로 한다.
또한, 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리의 경우, 첫번째 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해시값 또는 이를 가공한 값이 할당될 수 있다. 예를 들어, 머클 트리 생성시 지급 결제 서버(300)에 의해 최초로 부여된 입력 메시지의 해시값이 할당될 수 있다.
도 4 및 도 5는 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 것이다.
도 4에서는 리프 노드의 개수가 4개인 머클 트리가 도시된다. 도시된 머클 트리는 첫번째 머클 트리이기 때문에(tree_id=0), 첫번째 리프 노드인 h0 노드에는 소정의 메시지 데이터의 해시값 (sha256(coinplug_unique_message))이 할당되었음을 알 수 있다. 기록 데이터에 대한 등록 요청이 있는 경우, 지급 결제 서버(300)는 현재 구성 중인 머클 트리의 가장 마지막 리프 노드의 다음 리프 노드를 생성하여 제2 해시값 또는 제2 해시값을 가공한 값을 할당하거나 할당하도록 지원한다. 예를 들어, 도 4의 머클 트리에서 두번째 리프 노드인 h1 노드까지 값 할당이 완료된 상태에서 새로운 리프 노드를 생성하여야 하는 경우, 다음 리프 노드인 h2 노드를 생성하여 제2 해시값 또는 제2 해시값을 가공한 값(sha256(input2))을 할당할 수 있다. 또한, 지급 결제 서버(300)는 (i) h2 노드에 할당된 제2 해시값과 (ii) h2 노드의 형제 노드인 h3 노드에 할당된 해시값을 연산하거나 연산하도록 지원할 수 있다. 연산값에 대한 해시값은 h2 노드와 h3 노드의 부모 노드(h23 노드)에 할당된다. 부모 노드(h23 노드)가 머클 트리의 루트 노드가 아니므로 지급 결제 서버(300)는 h23 노드에 할당된 해시값을 제2 해시값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해시값을 제2 해시값으로 하고, h23 노드에 할당된 해시값과 h01 노드에 할당된 해시값을 연산하여 h23 노드와 h01 노드의 부모 노드(h0123 노드)에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로 지급 결제 서버(300)는, h0123 노드에 할당된 해시값을 가공한 값(hex(h{node_index}))을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다
한편, 전술한 트리거링 조건이란, (i) 소정의 개수만큼 결제와 관련한 트랜잭션이 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 제1 블록체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함할 수 있다.
한편, 예를 들어, 결제와 관련한 트랜잭션이 머클 트리의 리프 노드 수만큼 획득되면 지급 결제 서버(300)는 머클 트리를 생성하고, 머클 트리의 루트값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 등록하도록 지원할 수 있다.
또한, 지급 결제 서버(300)는 소정 시간 단위로 전술한 머클 트리의 루트값을 생성할 수 있다(상기 (ii) 조건). 이 경우 지급 결제 서버(300)는 소정의 시간이 경과되면 그때까지의 입력값을 이용하여 머클 트리를 생성하고 머클 트리의 루트값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다.
그런데, 이 경우에는 소정 시간이 경과하였음에도 머클 트리의 특정 해시값이 할당된 노드의 형제 노드에 값이 할당되지 않을 수 있다. 이처럼 트리거링 조건이 만족되었음에도 제2 해시값이 할당된 노드의 형제 노드에 해시값이 할당되어 있지 않은 경우, 지급 결제 서버(300)는, 형제 노드에 소정의 해시값을 할당하거나 할당하도록 지원하여 전술한 방식으로 머클 트리의 루트값이 산출되도록 할 수 있다. 예를 들어, 지급 결제 서버(300)는 제2 해시값을 복제하여 형제 노드에 할당하거나 할당하도록 지원할 수 있다.
그리고, 서비스 특성이란, 결제와 관련한 트랜잭션을 발행한 발행자가 제공한 비용 정보, 결제 관련 트랜잭션 등록이 이루어지는 시간대 정보, 결제 관련 트랜잭션 등록 서비스가 이루어지는 지역 정보, 결제 관련 트랜잭션 등록 요청을 한 회사 타입 정보 중 적어도 일부가 될 수 있다. 다만, 여기서 기재한 것에 한정할 것은 아니고, 통상적으로 인정되는 차등적 서비스가 제공될 수 있는 다양한 조건 정보를 포함한다.
한편, 새로운 머클 트리 생성이 시작되고, 결제 관련 트랜잭션이 없는 상태에서 트리거링 조건이 만족되면, 지급 결제 서버(300)는, 소정의 메시지 데이터가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 머클 트리의 루트값 또는 이를 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다. 이 경우에는 리프 노드 2개짜리 머클 트리가 생성될 수도 있는 것이다.
또한, 전술한 것처럼 지급 결제 서버(300)가 제2 해시값과 적어도 하나의 이웃 해시값을 소정의 제1-1 데이터 구조로 저장하고, 이후 제1-1 데이터 구조와 동일한 형태의 제1-2 데이터 구조를 저장하여 관리하는 경우, 제1-1 데이터 구조와 제1-2 데이터 구조는 체인 형태로 연결될 수 있다. 특히, 제1-1 데이터 구조 및 제1-2 데이터 구조가 머클 트리인 경우, 제1-1 데이터 구조의 루트값 또는 루트값의 해시값이 제1-2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다.
도 5는 본 발명의 일 실시예에 따라 제1-2 데이터 구조로서 생성된 머클 트리를 도시한 도면이다.
도 5를 참조하면, 도 4의 머클 트리(tree_id=0)의 루트값(hex(h0123))이 새로운 머클 트리의 첫번째 리프 노드(h4 노드)에 할당되었음을 알 수 있다(sha256(input4)). 본 발명은 이와 같이 트랜잭션 발생시 생성되는 복수의 데이터 구조를 연결함으로써 중간에 데이터가 변조가 발생되는 경우라도 쉽게 트래킹이 가능하여 데이터 integrity를 향상시키는 장점을 가진다.
다시, 도 3을 참조하면, 지급 결제 서버(300)는 푸시 토큰 아이디와 서명 요청 정보를 사용자 단말(100)로 전송하거나, 서비스 제공 단말(200)을 통해 푸시 토큰 아이디와 서명 요청 정보가 사용자 단말(100)로 전송되도록 한다(S6)(S7). 이때, 서명 요청 정보에는 주문 정보 또는 검증 확인값을 포함할 수 있다.
그러면, 사용자 단말(100)은 푸시 토큰 아이디에 대응하는 결제 요청된 펀드 소스에 해당하는 앱을 실행하고, 사용자에게 검증 확인값에 대한 전자 서명을 요청하거나, 주문 정보에 대한 확인과 전자 서명에 대한 요청 정보를 표시하여 주며(S8), 사용자가 전자 서명 요청을 확인하거나 주문 정보가 자신이 주문한 내용과 일치하는 것을 확인한 후, 비밀번호, PIN 코드, 지문, 및 생체 정보 중 적어도 하나를 포함하는 자신이 설정한 확인 정보를 입력하면, 사용자 단말(100)은 사용자에 의해 입력되는 확인 정보가 사용자에 의해 기설정된 확인 정보와 일치하는 지를 확인한다.
그리고, 사용자에 의해 입력된 확인 정보가 기설정된 확인 정보와 일치할 경우, 사용자 단말(100)은 검증 확인값 또는 주문 정보에 대한 사용자 서명값을 생성하여(S9) 지급 결제 서버(300)로 전송하거나 서비스 제공 단말(200)을 통해 지급 결제 서버(300)로 전송되도록 지원한다(S10). 일 예로, 사용자 단말(100)은 사용자에 의해 입력된 확인 정보가 기설정된 확인 정보와 일치할 경우 저장된 사용자의 프라이빗 키에 대한 접근이 허용되며, 그에 따라 사용자의 프라이빗 키로 검증 확인값 또는 주문 정보를 서명한 사용자 서명값을 생성하며, 생성된 사용자 서명값을 지급 결제 서버(300)로 전송하여 주거나 서비스 제공 단말(200)을 통해 지급 결제 서버(300)로 전송되도록 한다.
그러면, 지급 결제 서버(300)는 사용자 단말(100)로부터의 검증 확인값 또는 주문 정보를 서명한 사용자 서명값을 획득하며, 획득된 사용자 서명값이 유효한지를 확인하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 서명값이 유효한지를 확인하도록 지원한다(S11). 일 예로, 지급 결제 서버(300)는 사용자 식별 정보에 대응하여 블록체인(500)에 등록된 사용자의 퍼블릭 키를 획득하며, 획득된 퍼블릭 키를 이용하여 사용자 서명값이 유효한지를 확인한다. 즉, 지급 결제 서버(300)는 퍼블릭 키를 이용하여 서명값으로부터 주문 정보 또는 검증 확인값을 추출하며, 서명값으로부터 추출된 주문 정보 또는 검증 확인값이 서명 요청 정보에 포함된 주문 정보 또는 검증 확인값과 일치하는지를 확인하여 서명값의 유효 여부를 판단할 수 있다.
한편, 블록체인(500)은 제1 블록체인과 제2 블록체인으로 구성될 수 있으며, 퍼블릭 키는 제1 블록체인에 등록되고, 제2 블록체인에는 퍼블릭 키의 해시값을 리프 노드로 한 머클 트리의 루트 해시값이 등록될 수 있다. 이 경우, 지급 결제 서버(300)는 사용자 식별 정보에 대응하여 제2 블록체인에 등록된 루트 해시값을 확인하고, 제2 블록체인에서 확인된 루트 해시값에 대응하여 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 확인하며, 머클 트리 정보 및 리프 노드 정보를 참조하여 제1 블록체인에 등록된 퍼블릭 키를 확인하거나 타 장치로 하여금 확인하도록 지원할 수 있다.
다시 도 3을 참조하면, 지급 결제 서버(300)는 사용자 서명값이 유효한 것으로 판단되면, 사용자 식별 정보에 대응하는 지급 수단 토큰 아이디를 블록체인(500)으로부터 획득하고, 지급 수단 토큰 아이디, 주문 아이디, 및 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버(400)로 전송하거나 결제 지원 서버(300)와 연동하는 타 장치를 통해 승인 요청 정보를 펀드 소스 서버(400)로 전송하도록 지원한다(S12). 이때, 블록체인(300)이 다수의 블록체인으로 구성되며, 일 예로, 제1 블록체인에 지급 수단 토큰 아이디가 등록되며, 제2 블록체인에 지급 수단 토큰 아이디에 대응되는 루트 해시값이 등록된 경우에도 지급 결제 서버(300)는 상기에서와 같은 방법에 의해 루트 해시값을 이용하여 지급 수단 토큰 아이디를 획득할 수 있다.
그러면, 펀드 소스 서버(400)는 승인 요청 정보에 포함된 지급 수단 토큰 아이디의 유효성을 확인하며, 주문 정보를 검증하고, 검증 결과에 대응하는 승인 결과를 지급 결제 서버(300)로 전송하거나 타 장치로 하여금 전송하도록 지원한다(S13). 이때, 펀드 소스 서버(400)는 블록체인(500)을 통한 주문 정보를 참조하여 머클 트리에 의한 루트 해시값을 생성하고, 승인 요청 정보에 포함된 주문 아이디와 비교하여 주문 정보를 검증할 수 있다.
그리고, 지급 결제 서버(300)는 펀드 소스 서버(400)로부터 승인 결과가 획득되면, 주문 요청에 대한 승인 결과 정보를 블록체인(500)에 등록하거나 타 장치로 하여금 등록하도록 지원하고, 승인 완료 정보를 서비스 제공 단말(200) 또는 사용자 단말(100)로 전송하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 승인 완료 정보를 전송하도록 지원한다(S14)(S15). 이때, 지급 결제 서버(300)는 블록체인(500)에 등록된 승인 결과 정보의 블록체인(500) 상의 위치 정보를 나타내는 승인 결과 트랜잭션 아이디를 획득하고, 승인 결과 트랜잭션 아이디를 승인 결과 정보에 포함할 수 있다.
또한, 블록체인(500)은 제1 블록체인과 제2 블록체인으로 구성될 수 있으며, 지급 결제 서버(300)는 승인 결과 정보를 제1 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제1 블록체인에 등록하도록 지원하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 지급 결제 서버(300)는 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 제3 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산함으로써 머클 루트인 제3 대표 해시값 또는 제3 대표 해시값을 가공한 값을 생성하며, 생성된 제3 대표 해시값 또는 제3 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제3 대표 해시값 또는 제3 대표 해시값을 가공한 값을 제2 블록체인에 등록하도록 할 수 있다. 이에 대한 상세한 설명은 트랜잭션 데이터를 등록하는 과정으로부터 용이하게 확인할 수 있으므로 생략하기로 한다.
한편, 상기와 같은 방법에 의해 주문 정보들에 대한 결제를 수행하며, 펀드 소스 서버(400)로부터의 정산 데이터 요청 정보가 획득되면(S21), 결제 지원 서버(300)는, 정산 데이터 요청 정보에 대응하는 트랜잭션 데이터를 참조하여 블록체인(500)으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 결제 지원 서버(300)에 연동되는 타 장치로 하여금 정산 데이터를 블록체인(500)으로부터 획득하도록 지원하며(S22)(S23), 블록체인(500)으로부터 획득된 정산 데이터를 펀드 소스 서버(400)로 전송하거나 지급 결제 서버(300)에 연동되는 타 장치를 통해 펀드 소스 서버(400)로 전송하도록 지원함으로써(S24) 펀드 소스 서버(400)로 하여금 정산 데이터를 참조하여 비용을 정산하도록 한다. 이때, 비용의 정산은 매입, 청구의 개념도 포함할 수 있다. 또한, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성된 경우에도, 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값, 즉, 루트 해시값을 이용하여 상기에서와 같은 방법에 의해 정산 데이터를 확인할 수 있다.
즉, 결제 지원 서버(300)는, 정산 데이터 요청 정보에 대응하는 트랜잭션 데이터를 참조하여 제2 블록체인으로부터 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 획득하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 획득하도록 지원하고, 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값과 관련되어 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하며, 머클 트리 정보 및 리프 노드 정보를 참조하여 제1 블록체인으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 결제 지원 서버(300)에 연동되는 타 장치로 하여금 정산 데이터를 제1 블록체인으로부터 획득하도록 지원하며, 제1 블록체인으로부터 획득된 정산 데이터를 펀드 소스 서버(400)로 전송하거나 결제 지원 서버(300)에 연동되는 타 장치를 통해 정산 데이터를 펀드 소스 서버(400)로 전송하도록 지원함으로써 펀드 소스 서버(400)로 하여금 정산 데이터를 참조하여 비용을 정산하도록 할 수 있다.
그리고, 상기에서의 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 포함하는 지불 정보를 블록체인(500)에 등록하는 방법을 도 6을 참조하여 설명하면 다음과 같다.
먼저, 사용자가 사용하고자 하는 펀드 소스를 등록하기 위하여 사용자 단말(100)에 설치된 펀드 소스에 대응되는 앱을 통해 펀드 소스 서버(400)에 접속한 상태에서, 사용자 단말(100)이 지불 정보 등록을 위한 개인 정보, 사용자 식별 정보, 지급 수단 정보, 및 퍼블릭 키 등을 포함하는 사용자 인증 및 지불 정보 등록 요청을 펀드 소스 서버(400)로 전송하거나 사용자 단말(100)에 연동되는 타 장치를 통해 펀드 소스 서버(400)로 전송하도록 지원한다(S31). 이때, 개인 정보는 사용자의 성명, 생년월일, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 및 전화번호 중 적어도 어느 하나 이상을 포함할 수 있으며, 사용자 식별 정보는 개인 정보 중 특정 개인 정보로서 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보일 수 있다. 그리고, 지급 수단 정보는 펀드 소스를 이용한 비용 지급을 위한 결제 수단에 대한 정보일 수 있다. 일 예로, 지급 수단은 카드, 상품권, 포인트, 멤버쉽 카드, 디지털 전자 지갑 등을 포함할 수 있으며, 지급 수단 정보는 이들을 식별할 수 있도록 하는 식별 정보, 즉, 발급 주체인 펀드 소스 정보, 유효 기간, 사용자 정보 등을 포함할 수 있다.
이때. 사용자 단말(100)은 사용자의 개인 정보, 사용자 식별 정보를 사용자가 입력하도록 하는 것과는 달리, 사용자 단말(100)의 저장부로부터 추출하여 전송하여 줄 수도 있다.
그러면, 펀드 소스 서버(400)는 사용자 단말(100)로부터 개인 정보, 사용자 식별 정보, 지급 수단 정보, 및 퍼블릭 키 등을 포함하는 사용자 인증 및 지불 정보 등록 요청 정보를 획득하고, 사용자 인증을 수행한다(S32). 이때, 사용자 인증은 아이디/패스워드에 의한 인증, 스마트카드나 생체인식에 의한 인증, 공개키기반의 전자서명을 이용한 인증, 공인인증서를 이용한 인증 등 다양한 방법에 의해 수행될 수 있다.
또한, 펀드 소스 서버(400)는 지급 수단에 대한 검증을 수행한다. 이때, 지급 수단에 대한 검증은 사용자 단말(100)로부터 전송된 지급 수단 정보가 등록된 지급 수단 원장 정보와 일치하는지를 확인함으로써 수행될 수 있다.
이후, 펀드 소스 서버(400)는 인증된 사용자에 대한 지불 정보를 생성한다(S33). 이때, 지불 정보는 지급 수단 토큰 아이디, 사용자 식별 정보, 푸시 토큰 아이디, 및 퍼블릭 키를 포함할 수 있다. 그리고, 지급 수단 토큰 아이디는 지급 수단 정보의 노출을 방지하기 위하여 지급 수단을 토큰화한 것이며, 푸시 토큰 아이디는 사용자 단말(100)에 설치된 펀드 소스 관련 앱을 호출할 수 있는 토큰 아이디일 수 있다.
그리고, 펀드 소스 서버(400)는 생성된 지불 정보에 대한 등록 요청을 지급 결제 서버(300)로 전송하거나 펀드 소스 서버(400)에 연동되는 타 장치로 하여금 지불 정보 등록 요청을 지급 결제 서버(300)로 전송하도록 지원할 수 있다(S34).
그러면, 지급 결제 서버(300)는 펀드 소스 서버(400)로부터의 지불 정보 등록 요청에 대응하여 지급 수단 토큰 아이디, 사용자 식별 정보, 푸시 토큰 아이디, 및 퍼블릭 키를 포함하는 지불 정보를 블록체인(500)에 등록하며(S35)(S36), 지불 정보 등록 완료에 대한 정보를 펀드 소스 서버(400)로 전송하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 지불 정보 등록 완료 신호를 펀드 소스 서버(400)로 전송하도록 지원할 수 있다(S37).
이때, 블록체인(500)은 다수의 블록체인으로 구성될 수 있으며, 일 예로, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지급 결제 서버(300)는 지불 정보를 제1 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제1 블록체인에 등록하도록 지원하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 지급 결제 서버(300)는 지불 정보에 해시함수를 적용하여 생성한 제1 특정 해시값과 제1 특정 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산함으로써 머클 루트인 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 생성하며, 생성된 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록하도록 할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (22)

  1. 블록체인 기반의 결제 방법에 있어서,
    (a) 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 가 획득되면, 지급 결제 서버가, 상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디와 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 단계;
    (b) 상기 사용자 단말로부터의 서명값이 획득되면, 상기 지급 결제 서버가, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 결제 지원 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 단계; 및
    (c) 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 결제 지원 서버가, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 단말로 전송하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 단말로 전송하도록 지원하는 단계;
    를 포함하는 것을 특징으로 하는 결제 방법.
  2. 제1항에 있어서,
    (d) 상기 펀드 소스 서버로부터의 정산 데이터 요청 정보가 획득되면, 상기 결제 지원 서버는, 상기 정산 데이터 요청 정보에 대응하는 상기 트랜잭션 데이터를 참조하여 상기 제2 블록체인으로부터 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하며, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 상기 결제 지원 서버에 연동되는 타 장치로 하여금 상기 정산 데이터를 상기 제1 블록체인으로부터 획득하도록 지원하며, 상기 제1 블록체인으로부터 획득된 상기 정산 데이터를 상기 펀드 소스 서버로 전송하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 정산 데이터를 상기 펀드 소스 서버로 전송하도록 지원함으로써 상기 펀드 소스 서버로 하여금 상기 정산 데이터를 참조하여 비용을 정산하도록 하는 단계;
    를 더 포함하는 것을 특징으로 하는 결제 방법.
  3. 제1항에 있어서,
    상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건은,
    (i) 소정의 개수만큼 상기 결제와 관련한 트랜잭션이 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 상기 제1 블록체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 지급 결제 서버는, 상기 제2 해시값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제2 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며,
    상기 (c) 단계에서,
    상기 지급 결제 서버는, 상기 제3 해시값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제3 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 트리인 경우, 상기 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자 또는 기호로 이루어진 소정의 메시지 데이터의 해시값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면,
    (x1) 상기 지급 결제 서버는, (i) 상기 제2 또는 제3 해시값과 (ii) 상기 제2 또는 제3 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해시값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
    (x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 대표 해시값으로서 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 등록하도록 지원하고,
    (x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 해시값으로 하여 상기 (x1) 내지 (x2)을 반복하여 수행하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 (x1)에서
    상기 소정의 조건이 만족되었음에도 상기 제2 또는 제3 특정 해시값이 할당된 노드의 형제 노드에 해시값이 할당되어 있지 않은 경우, 상기 지급 결제 서버는, 상기 형제 노드에 소정의 해시값을 할당하거나 할당하도록 지원하여 상기 (x1) 내지 (x3)를 수행하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 지급 결제 서버가 상기 제2 또는 제3 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결되는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해시값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당되는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 결제 지원 서버는, 상기 주문 정보를 리프노드로 한 머클트리를 연산하며, 상기 연산된 머클트리의 루트 해시값 또는 상기 루트 해시값을 가공한 값을 상기 주문 아이디로 생성하는 것을 특징으로 하는 결제 방법.
  11. 제1항에 있어서,
    상기 사용자 식별 정보는,
    상기 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보로서, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 전화번호, 및 이들 각각의 해시값 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 결제 방법.
  12. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 지급 결제 서버가, 상기 서명 요청 정보에, 상기 주문 정보 또는 검증 확인값을 포함하여 상기 사용자 단말로 하여금 상기 사용자의 프라이빗 키를 이용하여 상기 주문 정보 또는 상기 검증 확인값을 서명하도록 요청하며,
    상기 (b) 단계에서,
    상기 지급 결제 서버가, 상기 블록체인에 등록된 상기 사용자의 퍼블릭 키를 이용하여 상기 서명값으로부터 상기 주문 정보 또는 상기 검증 확인값을 추출하며, 상기 서명값으로부터 추출된 상기 주문 정보 또는 상기 검증 확인값이 상기 서명 요청 정보에 포함된 상기 주문 정보 또는 상기 검증 확인값과 일치하는지를 확인하여 상기 사용자 서명값의 유효 여부를 판단하는 것을 특징으로 하는 결제 방법.
  13. 제1항에 있어서,
    상기 (a) 단계 이전에,
    상기 펀드 소스 서버로부터의 지불 정보 - 상기 지불 정보는 상기 사용자 단말의 사용자 인증 및 지불 정보 등록 요청에 대응하여 상기 펀드 소스 서버가 사용자 인증을 수행한 사용자에 대응되는 정보인 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 퍼블릭 키를 포함함 - 등록 요청이 획득되면, 상기 지급 결제 서버가, 상기 지불 정보를 상기 제1 블록체인에 등록하거나 상기 결제 지원 서버에 연동되는 타 장치로 하여금 상기 지불 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 지불 정보에 해시함수를 적용하여 생성한 상기 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 단계;
    를 더 포함하는 것을 특징으로 하는 결제 방법.
  14. 블록체인 기반의 결제를 수행하는 지급 결제 서버에 있어서,
    사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 를 획득하는 통신부; 및
    상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 결제 지원 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디 또는 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 프로세스와, 상기 사용자 단말로부터의 서명값이 획득되면, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 결제 지원 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 프로세스와, 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 단말로 전송하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 단말로 전송하도록 지원하는 프로세스를 수행하는 프로세서;
    를 포함하는 것을 특징으로 하는 지급 결제 서버.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 펀드 소스 서버로부터의 정산 데이터 요청 정보가 획득되면, 상기 정산 데이터 요청 정보에 대응하는 상기 트랜잭션 데이터를 참조하여 상기 제2 블록체인으로부터 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하며, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 상기 결제 지원 서버에 연동되는 타 장치로 하여금 상기 정산 데이터를 상기 제1 블록체인으로부터 획득하도록 지원하며, 상기 제1 블록체인으로부터 획득된 상기 정산 데이터를 상기 펀드 소스 서버로 전송하거나 상기 결제 지원 서버에 연동되는 타 장치를 통해 상기 정산 데이터를 상기 펀드 소스 서버로 전송하도록 지원함으로써 상기 펀드 소스 서버로 하여금 상기 정산 데이터를 참조하여 비용을 정산하도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 지급 결제 서버.
  16. 제14항에 있어서,
    상기 프로세서는,
    상기 제2 해시값이 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제2 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며,
    상기 제3 해시값이 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제3 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 것을 특징으로 하는 지급 결제 서버.
  17. 제14항에 있어서,
    상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면,
    (x1) 상기 프로세서는, (i) 상기 제2 또는 제3 해시값과 (ii) 상기 제2 또는 제3 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해시값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
    (x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 대표 해시값으로서 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 등록하도록 지원하고,
    (x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 해시값으로 하여 상기 (x1) 내지 (x2)을 반복하여 수행하는 것을 특징으로 하는 지급 결제 서버.
  18. 제14항에 있어서,
    상기 프로세서가 상기 제2 또는 제3 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결되는 것을 특징으로 하는 지급 결제 서버.
  19. 제14항에 있어서,
    상기 프로세서는,
    상기 주문 정보를 리프노드로 한 머클트리를 연산하며, 상기 연산된 머클트리의 루트 해시값 또는 상기 루트 해시값을 가공한 값을 상기 주문 아이디로 생성하는 것을 특징으로 하는 지급 결제 서버.
  20. 제14항에 있어서,
    상기 사용자 식별 정보는,
    상기 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보로서, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 전화번호, 및 이들 각각의 해시값 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 지급 결제 서버.
  21. 제14항에 있어서,
    상기 프로세서가,
    상기 서명 요청 정보에, 상기 주문 정보 또는 검증 확인값을 포함하여 상기 사용자 단말로 하여금 상기 사용자의 프라이빗 키를 이용하여 상기 주문 정보 또는 상기 검증 확인값을 서명하도록 요청하며,
    상기 블록체인에 등록된 상기 사용자의 퍼블릭 키를 이용하여 상기 서명값으로부터 상기 주문 정보 또는 상기 검증 확인값을 추출하며, 상기 서명값으로부터 추출된 상기 주문 정보 또는 상기 검증 확인값이 상기 서명 요청 정보에 포함된 상기 주문 정보 또는 상기 검증 확인값과 일치하는지를 확인하여 상기 사용자 서명값의 유효 여부를 판단하는 것을 특징으로 하는 지급 결제 서버.
  22. 제14항에 있어서,
    상기 프로세서가,
    상기 펀드 소스 서버로부터의 지불 정보 - 상기 지불 정보는 상기 사용자 단말의 사용자 인증 및 지불 정보 등록 요청에 대응하여 상기 펀드 소스 서버가 사용자 인증을 수행한 사용자에 대응되는 정보인 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 퍼블릭 키를 포함함 - 등록 요청이 획득되면, 상기 지불 정보를 상기 제1 블록체인에 등록하거나 상기 결제 지원 서버에 연동되는 타 장치로 하여금 상기 지불 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 지불 정보에 해시함수를 적용하여 생성한 상기 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 프로세스를 더 수행하는 것을 특징으로 하는 지급 결제 서버.
PCT/KR2018/012287 2017-10-17 2018-10-17 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버 WO2019078623A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170134454 2017-10-17
KR10-2017-0134454 2017-10-17
KR10-2018-0076092 2018-06-29
KR1020180076092A KR102050271B1 (ko) 2017-10-17 2018-06-29 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버

Publications (1)

Publication Number Publication Date
WO2019078623A1 true WO2019078623A1 (ko) 2019-04-25

Family

ID=66173415

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/012287 WO2019078623A1 (ko) 2017-10-17 2018-10-17 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버

Country Status (1)

Country Link
WO (1) WO2019078623A1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347645A (zh) * 2019-06-19 2019-10-18 阿里巴巴集团控股有限公司 一种电子文件存证方法及装置
CN111369338A (zh) * 2020-02-28 2020-07-03 腾讯科技(深圳)有限公司 基于区块链的数据处理方法及装置
CN111414650A (zh) * 2020-03-25 2020-07-14 北京创世智链信息技术研究院 一种基于区块链存证的订单处理方法及系统
CN111461813A (zh) * 2020-03-09 2020-07-28 成都商通时代数字科技有限公司 基于区块链的酒类新零售方法及系统
CN112600875A (zh) * 2020-11-25 2021-04-02 北京电力交易中心有限公司 基于默克尔树的分布式电量交易区块链存储方法和装置
CN112734449A (zh) * 2021-01-13 2021-04-30 京东数科海益信息科技有限公司 售后服务数据处理方法、装置、计算机设备及存储介质
CN113489584A (zh) * 2021-07-02 2021-10-08 北京泛融科技有限公司 一种区块链中随机数的处理方法、装置和电子设备
CN113672993A (zh) * 2021-08-26 2021-11-19 济南浪潮数据技术有限公司 一种数据处理方法、系统、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101680260B1 (ko) * 2015-12-14 2016-11-29 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
KR20170006805A (ko) * 2015-07-09 2017-01-18 국민대학교산학협력단 비트코인의 거래 알림 장치 및 거래 알림 방법
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
KR101773073B1 (ko) * 2016-04-28 2017-08-31 주식회사 코인플러그 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170006805A (ko) * 2015-07-09 2017-01-18 국민대학교산학협력단 비트코인의 거래 알림 장치 및 거래 알림 방법
KR101680260B1 (ko) * 2015-12-14 2016-11-29 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
KR101773073B1 (ko) * 2016-04-28 2017-08-31 주식회사 코인플러그 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Hash Tree", WIKIPEDIA, 9 October 2017 (2017-10-09), Retrieved from the Internet <URL:https://ko.wikipedia.org/w/index.php?title=%ED%95%B4%EC%8B%9C_%ED%8A%B8%EB%A6%AC&oldid=19769529> *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347645B (zh) * 2019-06-19 2023-10-10 创新先进技术有限公司 一种电子文件存证方法及装置
CN110347645A (zh) * 2019-06-19 2019-10-18 阿里巴巴集团控股有限公司 一种电子文件存证方法及装置
CN111369338A (zh) * 2020-02-28 2020-07-03 腾讯科技(深圳)有限公司 基于区块链的数据处理方法及装置
CN111369338B (zh) * 2020-02-28 2023-12-19 腾讯科技(深圳)有限公司 基于区块链的数据处理方法及装置
CN111461813A (zh) * 2020-03-09 2020-07-28 成都商通时代数字科技有限公司 基于区块链的酒类新零售方法及系统
CN111414650B (zh) * 2020-03-25 2023-11-21 北京新创智链科技有限公司 一种基于区块链存证的订单处理方法及系统
CN111414650A (zh) * 2020-03-25 2020-07-14 北京创世智链信息技术研究院 一种基于区块链存证的订单处理方法及系统
CN112600875B (zh) * 2020-11-25 2023-06-30 北京电力交易中心有限公司 基于默克尔树的分布式电量交易区块链存储方法和装置
CN112600875A (zh) * 2020-11-25 2021-04-02 北京电力交易中心有限公司 基于默克尔树的分布式电量交易区块链存储方法和装置
CN112734449A (zh) * 2021-01-13 2021-04-30 京东数科海益信息科技有限公司 售后服务数据处理方法、装置、计算机设备及存储介质
CN112734449B (zh) * 2021-01-13 2024-03-08 京东科技信息技术有限公司 售后服务数据处理方法、装置、计算机设备及存储介质
CN113489584A (zh) * 2021-07-02 2021-10-08 北京泛融科技有限公司 一种区块链中随机数的处理方法、装置和电子设备
CN113489584B (zh) * 2021-07-02 2024-04-05 北京泛融科技有限公司 一种区块链中随机数的处理方法、装置和电子设备
CN113672993A (zh) * 2021-08-26 2021-11-19 济南浪潮数据技术有限公司 一种数据处理方法、系统、设备及计算机可读存储介质
CN113672993B (zh) * 2021-08-26 2023-12-22 济南浪潮数据技术有限公司 一种数据处理方法、系统、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
WO2018194378A1 (ko) 블록체인 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
WO2019078623A1 (ko) 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
KR101919586B1 (ko) 블록체인 기반의 사물 인터넷 기기에 대한 비용을 결제하는 방법, 이를 이용한 서버, 서비스 제공 단말, 및 사용자 전자 지갑
KR101919590B1 (ko) 블록체인 데이터베이스 및 이와 연동하는 머클 트리 구조를 통해 사물 인터넷 기기에 대한 비용을 결제하는 방법, 이를 이용한 서버, 서비스 제공 단말, 및 사용자 전자 지갑
WO2016204572A2 (ko) 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
WO2019107654A1 (ko) 여신 가상화폐 생성 장치 및 여신 가상화폐 관리 장치
WO2018124857A1 (ko) 블록체인 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
KR101877345B1 (ko) 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
KR20190043118A (ko) 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
WO2018070781A2 (ko) Utxo 기반 프로토콜을 사용하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버
WO2016163608A1 (ko) 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템 및 방법
WO2011062364A2 (ko) 유비쿼터스 인증 관리를 위한 사용자 인증 시스템, 사용자 인증장치, 스마트 카드 및 사용자 인증방법
WO2011062365A2 (ko) 스마트카드와 통신단말기를 이용한 전자화폐 인증 시스템 및 그 방법
WO2018080206A1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버
WO2014092286A1 (ko) 오프라인 상거래를 위한 결제 지원 방법, 이를 위한 시스템 및 장치
WO2015026126A1 (ko) 보안이 강화된 모바일카드 함께쓰기 서비스 방법 및 시스템
WO2014017762A1 (ko) 원버튼을 이용한 이종바코드 통합 인증/승인 시스템 및 방법
WO2021137396A1 (ko) 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말
EP2697760A2 (en) Apparatus and method for providing a transaction service
WO2018070783A2 (ko) Utxo 기반으로 머클트리 구조를 사용하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버
WO2019078622A1 (ko) 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
KR20190084923A (ko) 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
WO2016186369A1 (ko) 동적 otp를 이용한 카드 결제방법
WO2016068687A1 (ko) 보너스 적립 시스템, 보너스 적립 방법 및 이를 위한 nfc 단말장치
WO2013187557A1 (ko) 오프라인 결제 시스템, 장치 및 방법

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: 18869258

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18869258

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21.01.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18869258

Country of ref document: EP

Kind code of ref document: A1