KR102522382B1 - Method of paying based on blockchain token and bank server using them - Google Patents

Method of paying based on blockchain token and bank server using them Download PDF

Info

Publication number
KR102522382B1
KR102522382B1 KR1020200114187A KR20200114187A KR102522382B1 KR 102522382 B1 KR102522382 B1 KR 102522382B1 KR 1020200114187 A KR1020200114187 A KR 1020200114187A KR 20200114187 A KR20200114187 A KR 20200114187A KR 102522382 B1 KR102522382 B1 KR 102522382B1
Authority
KR
South Korea
Prior art keywords
user
service provider
wallet address
check card
bank
Prior art date
Application number
KR1020200114187A
Other languages
Korean (ko)
Other versions
KR20210029703A (en
Inventor
어준선
송주한
서문규
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Publication of KR20210029703A publication Critical patent/KR20210029703A/en
Priority to KR1020220117489A priority Critical patent/KR20220131375A/en
Application granted granted Critical
Publication of KR102522382B1 publication Critical patent/KR102522382B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3674Payment 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 involving authentication
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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/22Payment schemes or models
    • G06Q20/28Pre-payment schemes, e.g. "pay before"
    • 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
    • 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

본 발명은 은행 서버는 사용자의 은행 계좌 잔고를 기준으로 스마트 컨트랙트 기반의 토큰을 발행 및 배분하며, 사용자는 배분된 토큰을 은행 서버에 의해 인증된 페이먼트 디바이스에서 DID(decentralized identity) 인증을 통해서 사용할 수 있도록 하고, 인증 및 사용된 토큰이 가맹점의 월렛 어드레스로 전달되면, 사용자의 은행 계좌 잔고를 차감하며, 정해진 시점에 가맹점은 은행 서버에게 해당 토큰을 전송하여 현금정산을 받을 수 있도록 하는 페이먼트 시스템에 관한 것이다.In the present invention, the bank server issues and distributes smart contract-based tokens based on the user's bank account balance, and the user can use the distributed tokens through DID (decentralized identity) authentication in a payment device authenticated by the bank server. When the authentication and used tokens are delivered to the merchant's wallet address, the user's bank account balance is deducted, and the merchant transmits the token to the bank server at a set time to receive cash settlement. will be.

Description

블록체인 토큰 기반의 페이먼트를 수행하는 방법 및 이를 이용한 은행 서버{METHOD OF PAYING BASED ON BLOCKCHAIN TOKEN AND BANK SERVER USING THEM}Method for performing payment based on blockchain token and bank server using the same {METHOD OF PAYING BASED ON BLOCKCHAIN TOKEN AND BANK SERVER USING THEM}

본 발명은 블록체인 네트워크 기반의 페이먼트를 수행하는 방법 및 이를 이용한 은행 서버에 관한 것으로, 보다 상세하게는, 사용자의 금융 계좌에 대응되는 블록체인 토큰을 기반으로 페이먼트를 수행하는 방법 및 이를 이용한 카드사 서버에 관한 것이다.The present invention relates to a method for performing a payment based on a blockchain network and a bank server using the same, and more particularly, to a method for performing a payment based on a blockchain token corresponding to a user's financial account and a card company server using the same. It is about.

은행 계좌와 연계된 직불카드와 신용카드가 절충된 형태의 카드 서비스로서, 체크카드 서비스가 제공되고 있다.As a card service in the form of a compromise between a debit card and a credit card linked to a bank account, a check card service is provided.

체크카드는 직불카드에 비해 폭넓은 범위의 가맹점에서 은행 공동망 가동 시간과 관계없이 이용될 수 있다.Compared to debit cards, debit cards can be used at a wider range of merchants regardless of operating hours of the banking network.

또한, 현금 서비스 및 할부 기능은 제외되어 은행의 결제계좌의 잔액 범위 안에서만 사용될 수 있기 때문에 신용불량자가 발생하는 것을 예방할 수 있으며, 은행 예금계좌를 소지한 사용자에게 유용하게 이용되고 있다.In addition, since cash advance and installment functions are excluded and can be used only within the range of the balance of the bank's payment account, occurrence of credit delinquents can be prevented, and it is usefully used by users with bank deposit accounts.

사용자는 결제계좌의 예금 잔액의 범위 내에서만 체크카드를 이용하여 대금을 결제할 수 있기 대문에, 사용자의 과소비가 사전에 방지될 수 있어, 은행이나 신용카드사도 이용대금 연체에 대한 부담이 없다.Because the user can pay the bill using a check card only within the range of the balance of the deposit of the payment account, the user's overconsumption can be prevented in advance, and the bank or credit card company is not burdened with overdue payment.

체크카드는 신용카드와 비교하여, 사용자의 은행 예금계좌의 잔액의 범위 내에서 이용대금이 제한되고 사용 한도도 상대적으로 낮아 신용 안정성이 높다.Compared to a credit card, a debit card has a high credit stability, with a limit on usage within the range of the user's bank deposit account balance and a relatively low usage limit.

하지만, 체크카드는 기존 신용카드 결제망에서 체크카드 정보를 이용하여 승인, 정산 등의 주요 결제 기능이 운용되고 있어 카드사의 의존도가 높으며, 운용 비용이 높은 결제 플랫폼 위탁 형식의 결제 시스템이다.However, the debit card is a payment platform consignment type payment system that is highly dependent on card companies and has high operating costs because major payment functions such as approval and settlement are operated using debit card information in the existing credit card payment network.

따라서, 본 발명에서는 기존 신용카드 결제망을 사용하지 않고 체크카드의 결제에 이용될 수 있는 페이먼트 시스템을 제공하고자 한다.Accordingly, the present invention intends to provide a payment system that can be used for payment by check card without using an existing credit card payment network.

본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.The present invention has as its object to solve all the problems mentioned above.

또한, 본 발명은 운용 비용이 상대적으로 낮은 체크카드의 페이먼트 시스템을 제공하는 것을 다른 목적으로 한다.Another object of the present invention is to provide a check card payment system having a relatively low operating cost.

또한, 본 발명은 결제 수수료를 절감할 수 있도록 하는 체크카드의 페이먼트 시스템을 제공하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to provide a check card payment system that enables reduction of payment fees.

또한, 본 발명은 사용자의 개인정보 및 카드 정보들이 온/오프 라인 상에서 전송하지 않고도 결제가 가능하도록 하는 체크카드의 페이먼트 시스템을 제공하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to provide a check card payment system that enables payment without transmission of user's personal information and card information on/off line.

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.Representative configurations of the present invention for achieving the above object are as follows.

본 발명의 일 실시예에 따르면, 블록체인 토큰 기반으로 페이먼트를 수행하는 방법에 있어서, (a) 사용자 DID(decentralized identity)와 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버가, 상기 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 단계; 및 (b) 상기 사용자 단말로부터 상기 사용자 DID, 사용자 월렛 어드레스, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 은행 서버가, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 사용자 월렛 어드레스를 상기 사용자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 단계; 를 포함하는 방법이 제공될 수 있다.According to an embodiment of the present invention, in a method for making a payment based on a blockchain token, (a) in a state where a user decentralized identity (DID) and a user public key corresponding to the user DID are registered in a blockchain network , When check card registration request information including user debit card information corresponding to the user's debit card is obtained from the user terminal, the bank server causes the legacy server corresponding to the bank server to register the registered debit card in the legacy server. information to verify the user debit card information, and when the user debit card information is verified and the verification result information on the user debit card information is transmitted from the legacy server, user information including a first signature verification value transmitting request information to the user terminal; and (b) when the user DID, the user wallet address, and a first user signature value obtained by signing the first signature verification value with a user private key are obtained from the user terminal, the bank server refers to the user DID to determine the user DID. Obtain the user public key corresponding to the user DID from the blockchain network, or cause a resolver server to obtain the user DID document corresponding to the user DID from the blockchain network using the user DID, thereby obtaining the user DID document Obtaining the user public key from, and verifying the first user signature value and the first signature verification value using the user public key, and when the first user signature value and the first signature verification value are verified, matching and storing the user wallet address with the user DID, and causing the legacy server to match and store the user DID with the user debit card information; A method including may be provided.

상기에서 (c) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 은행 서버가, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 단계; 를 더 포함할 수 있다.In the above (c), when the check card token issuance request information including the user DID is obtained from the user terminal, the bank server transmits signature request information including a second signature verification value to the user terminal, When a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained from the user terminal, the user public key corresponding to the user DID is obtained from the blockchain network with reference to the user DID. Obtain, or cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and obtain the user public key from the user DID document, and obtain the user public key The second user signature value and the second signature verification value are verified using a key, and when the second user signature value and the second signature verification value are verified, issuance corresponding to the user DID through the legacy server Issuable check card token volume information, which is information on available check card token volumes, is checked, and the issuable check card token volume corresponding to the checked issuable check card token volume information is transmitted from the bank wallet address to the user wallet address. registering a debit card token issuance transaction to the blockchain network so that the issuable debit card token volume is transferred from the bank wallet address to the user wallet address; may further include.

상기 은행 서버가, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 할 수 있다.The bank server transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card from the blockchain network. It is possible to check whether the issuable check card token volume has been issued by checking whether a token issuing transaction is retrieved.

상기에서, (d) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 서비스 제공자 월렛 어드레스, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 은행 서버가, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행 계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 단계; 를 더 포함할 수 있다.In the above, (d) the user is a service providing terminal - a service provider DID corresponding to the service providing terminal and a service provider public key corresponding to the service provider DID are registered in the blockchain network, and a service provider DID corresponding to the service provider DID The service provider wallet address is matched to the service provider DID and stored in the bank server, and the affiliate store information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server - Use the service provided by Payment request information transmitted from the service providing terminal - The payment request information includes the service provider wallet address, payment check card token volume information, which is information on the check card token volume to be paid for payment, and service detail information - Correspondingly, the user terminal registers a debit card token payment transaction in the blockchain network for transferring the payment debit card token volume corresponding to the payment debit card token volume information from the user wallet address to the service provider wallet address. , the bank server checks whether the check card token payment transaction satisfies a predetermined check card token transfer condition, and if the check card token payment transaction satisfies the check card token transfer condition, the check card token payment transaction determines that this is normal, and causes the legacy server to transfer the user's financial assets corresponding to the payment debit card token volume from the user's account to a bank account, and the debit card token payment transaction satisfies the debit card token transfer condition. if not satisfied, determining that the check card token payment transaction is not normal and incinerating the payment debit card token volume transmitted by the check card token payment transaction; may further include.

상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함할 수 있다.The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A condition that the wallet address is the service provider wallet address may be included.

상기 은행 서버가, 상기 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID, 상기 서비스 제공자 월렛 어드레스, 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 서비스 제공자 월렛 어드레스를 상기 서비스 제공자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 할 수 있다.The bank server, in a state where the service provider DID and the service provider public key corresponding to the service provider DID are registered in the blockchain network, (i) obtains service provider member store information of the service provider from the service provider terminal When the affiliate store registration request information including is obtained, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server, and the service provider affiliate store information is verified to retrieve the information from the legacy server. When the verification result information on service provider affiliate store information is transmitted, service provider information request information including a third signature verification value is transmitted to the service providing terminal, and (ii) the service provider DID, the When the service provider wallet address and the service provider signature value that signed the third signature verification value with the service provider private key are obtained, the service provider public corresponding to the service provider DID is obtained from the blockchain network by referring to the service provider DID. Obtaining a key, or having a resolver server obtain a service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID to obtain the service provider public key from the service provider DID document; , The service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the service provider wallet address is transferred to the service provider. The DID may be matched and stored, and the legacy server may cause the service provider DID to be matched with the service provider affiliate store information and stored.

상기에서, (e) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태이며, 상기 서비스 제공 단말에 상기 은행 월렛 어드레스가 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, 상기 은행 서버가, 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 서비스 제공 단말에 저장된 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하며, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 단계; 를 더 포함할 수 있다.In the above, (e) service providing terminal - the service provider DID corresponding to the service providing terminal and the service provider public key corresponding to the service provider DID are registered in the blockchain network, and the service provider corresponding to the service provider DID The wallet address is matched to the service provider DID and stored in the bank server, the merchant information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server, and the bank wallet is stored in the service providing terminal. When settlement request information for settlement is obtained for the check card token volume owned by the service provider including the check card token volume transmitted from the user terminal from the state in which the address is stored, the bank server performs the service By transmitting the bank DID and the bank wallet address to the service providing terminal, the service providing terminal verifies the bank wallet address transmitted from the bank server by referring to the bank wallet address stored in the service providing terminal. If the address is verified to be valid, a check card token settlement transaction for transferring the settlement check card token volume for settlement from the service provider wallet address to the bank wallet address is registered in the blockchain network, and the check card token settlement transaction is registered in the blockchain network, by requesting settlement of the settlement check card token volume to the legacy server, the legacy server deposits financial assets corresponding to the settlement check card token volume into the financial account of the service provider. performing the settlement on the volume of the settlement check card token by doing so; may further include.

또한, 본 발명의 일 실시예에 따르면, 블록체인 토큰 기반으로 페이먼트를 수행하는 방법에 있어서, (a) 사용자 DID(decentralized identity), 상기 사용자 DID에 대응되는 사용자 퍼블릭키, 및 상기 사용자 DID에 대응되는 사용자 월렛 어드레스가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버가, 상기 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 단계; 및 (b) 상기 사용자 단말로부터 상기 사용자 DID, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 은행 서버가, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 단계; 를 포함하는 방법이 제공될 수 있다.In addition, according to an embodiment of the present invention, in a method for performing a payment based on a blockchain token, (a) a user decentralized identity (DID), a user public key corresponding to the user DID, and a corresponding user DID When check card registration request information including user debit card information corresponding to the user's debit card is obtained from the user terminal in a state in which the user's wallet address is registered in the blockchain network, the bank server The legacy server verifies the user debit card information by referring to the registered debit card information registered in the legacy server, and the user debit card information is verified, and verification result information on the user debit card information is obtained from the legacy server. If transmitted, transmitting user information request information including a first signature verification value to the user terminal; and (b) when the user DID and the first user signature value obtained by signing the first signature verification value with the user private key are obtained from the user terminal, the bank server, by referring to the user DID, obtains the user DID from the blockchain network. Obtain the user public key corresponding to the user DID, or cause a resolver server to obtain a user DID document corresponding to the user DID from the blockchain network using the user DID, thereby obtaining the user public key from the user DID document A key is obtained, the first user signature value and the first signature verification value are verified using the user public key, and when the first user signature value and the first signature verification value are verified, the legacy server causing the user DID to be matched with the user debit card information and stored; A method including may be provided.

상기에서, (c) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 은행 서버가, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, (i) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하고, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 월렛 어드레스를 획득하는 프로세스, 및 (ii) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하는 프로세스 중 어느 하나를 프로세스를 수행하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 단계; 를 더 포함할 수 있다.In the above, (c) when the check card token issuance request information including the user DID is obtained from the user terminal, the bank server transmits signature request information including a second signature verification value to the user terminal, When a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained from the user terminal, (i) corresponding to the user DID from the blockchain network with reference to the user DID obtaining the user public key, or causing the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and obtaining the user public key from the user DID document; , The second user signature value and the second signature verification value are verified using the user public key, and when the second user signature value and the second signature verification value are verified, the user DID through the legacy server. issuable check card token volume information, which is information on the issueable check card token volume corresponding to , and obtains the user wallet address corresponding to the user DID from the blockchain network by referring to the user DID; A process of causing a resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and obtaining the user wallet address from the user DID document, and (ii) the user DID Obtain the user public key and the user wallet address corresponding to the user DID from the blockchain network with reference to, or cause the resolver server to refer to the user DID to obtain the user public key corresponding to the user DID from the blockchain network. Obtain a user DID document, obtain the user public key and the user wallet address from the user DID document, verify the second user signature value and the second signature verification value using the user public key, When the second user signature value and the second signature verification value are verified, any one of the processes of checking issueable check card token volume information, which is information on the issueable check card token volume corresponding to the user DID, through the legacy server One process is performed, and a check card token issuance transaction for transferring the issuable check card token volume corresponding to the confirmed issuable check card token volume information from the bank wallet address to the user wallet address is sent to the blockchain network. registering so that the volume of issueable debit card tokens is transferred from the bank wallet address to the user wallet address; may further include.

상기 은행 서버가, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 할 수 있다.The bank server transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card from the blockchain network. It is possible to check whether the issuable check card token volume has been issued by checking whether a token issuing transaction is retrieved.

상기에서, (d) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 상기 서비스 제공자 DID, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 DID 문서를 획득하도록 하며 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 월렛 어드레스를 획득한 다음, 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 은행 서버가, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 단계; 를 더 포함할 수 있다.In the above, (d) the user service providing terminal - the service provider DID corresponding to the service providing terminal, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID are the block Registered in the chain network, affiliate store information corresponding to the service provider DID is matched with the service provider DID and stored in the legacy server - Payment request information transmitted from the service providing terminal by using the service provided in - the The payment request information includes the service provider DID, payment check card token volume information, which is information on the volume of check card tokens to be paid for payment, and service details information - corresponding to the user terminal, the service provider DID Obtain the service provider wallet address corresponding to the service provider DID from the blockchain network with reference to, or cause the resolver server to refer to the service provider DID to obtain the service provider corresponding to the service provider DID from the blockchain network. After acquiring the provider DID document and obtaining the service provider wallet address from the service provider DID document, the payment debit card token volume corresponding to the payment debit card token volume information is transferred from the user wallet address to the service provider wallet address. When a check card token payment transaction for transmission is registered in the blockchain network, the bank server checks whether the check card token payment transaction satisfies a preset check card token transfer condition, and the check card token payment transaction is If the check card token transfer condition is satisfied, it is determined that the check card token payment transaction is normal, and the legacy server transfers the user's financial assets corresponding to the payment check card token volume from the user's account to the bank account; , When the check card token payment transaction does not satisfy the check card token transfer condition, it is determined that the check card token payment transaction is not normal, and the payment check card token volume transmitted by the check card token payment transaction is reduced. incineration; may further include.

상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함할 수 있다.The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A condition that the wallet address is the service provider wallet address may be included.

상기 은행 서버가, 상기 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 할 수 있다.In the state where the bank server registers the service provider DID, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID to the blockchain network, (i) When affiliate store registration request information including service provider affiliate store information of the service provider is obtained from the service providing terminal, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server. , When the service provider affiliate store information is verified and verification result information on the service provider affiliate store information is transmitted from the legacy server, service provider information request information including a third signature verification value is transmitted to the service providing terminal, (ii) When a service provider signature value obtained by signing the service provider DID and the third signature verification value with a service provider private key is obtained from the service provider terminal, the service provider DID is obtained from the blockchain network by referring to the service provider DID. Obtain the service provider public key corresponding to, or cause the resolver server to obtain the service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID to obtain the service provider DID document from the service provider DID document. A service provider public key is obtained, the service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the legacy The server may cause the service provider DID to be matched with the service provider member store information and stored.

상기에서, (e) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, 상기 은행 서버가, (i) 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 블록체인 네트워크로부터 획득한 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하고, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스, 및 (ii) 상기 서비스 제공 단말로 상기 은행 DID를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 상기 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스 중 어느 하나의 프로세스를 수행하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 단계; 를 더 포함할 수 있다.In the above, (e) service providing terminal - the service provider DID corresponding to the service providing terminal, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID are the blockchain network is registered in, and the merchant information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server - Check owned by the service provider including the check card token volume transmitted from the user terminal from When settlement request information for settlement of the card token volume is obtained, the bank server transmits (i) the bank DID and the bank wallet address to the service providing terminal, so that the service providing terminal refers to the bank DID. to obtain the bank wallet address corresponding to the bank DID from the blockchain network, or to cause the resolver server to obtain a bank DID document corresponding to the bank DID from the blockchain network by referring to the bank DID; Obtain the bank wallet address from the bank DID document, verify the bank wallet address transmitted from the bank server by referring to the bank wallet address obtained from the blockchain network, and verify that the bank wallet address is valid. a process of registering a check card token settlement transaction for transferring the settlement check card token volume for settlement from the service provider wallet address to the bank wallet address in the blockchain network, and (ii) the service providing terminal By transmitting the bank DID, the service providing terminal refers to the bank DID to obtain the bank wallet address corresponding to the bank DID from the blockchain network, or the resolver server refers to the bank DID to obtain the blockchain wallet address. Obtaining the bank DID document corresponding to the bank DID from the network and obtaining the bank wallet address from the bank DID document, and transferring the settlement debit card token volume from the service provider wallet address to the bank wallet address. Any one of the processes for registering the check card token settlement transaction for the check card token settlement transaction in the blockchain network is performed, and when the check card token settlement transaction is registered in the blockchain network, the settlement check card token is sent to the legacy server. performing settlement on the settlement debit card token volume by requesting settlement for the volume so that the legacy server deposits a financial asset corresponding to the settlement debit card token volume into a financial account of the service provider; may further include.

또한, 본 발명의 일 실시예에 따르면, 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버에 있어서, 블록체인 토큰 기반으로 페이먼트를 수행하기 위한 인스트럭션들을 저장하는 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 블록체인 토큰 기반으로 페이먼트를 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (I) 사용자 DID(decentralized identity)와 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 프로세스, 및 (II) 상기 사용자 단말로부터 상기 사용자 DID, 사용자 월렛 어드레스, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 사용자 월렛 어드레스를 상기 사용자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 프로세스를 수행하는 은행 서버가 제공될 수 있다.In addition, according to one embodiment of the present invention, in a bank server for performing a payment based on a blockchain token, a memory for storing instructions for performing a payment based on a blockchain token; and a processor performing payment based on the blockchain token according to the instructions stored in the memory. Including, but the processor, (I) a user check card corresponding to a user check card from a user terminal in a state where a user decentralized identity (DID) and a user public key corresponding to the user DID are registered in a blockchain network When debit card registration request information including information is obtained, a legacy server corresponding to the bank server verifies the user debit card information by referring to the registered debit card information registered in the legacy server, and the user debit card information is verified and when the verification result information on the user debit card information is transmitted from the legacy server, a process of transmitting user information request information including a first signature verification value to the user terminal, and (II) the user terminal When the first user signature value obtained by signing the user DID, the user wallet address, and the first signature verification value with the user private key is obtained from, the user corresponding to the user DID from the blockchain network with reference to the user DID. Acquiring a public key, or obtaining the user public key from the user DID document by causing a resolver server to obtain a user DID document corresponding to the user DID from the blockchain network using the user DID, and the user public key The first user signature value and the first signature verification value are verified using a key, and when the first user signature value and the first signature verification value are verified, the user wallet address is matched with the user DID and stored. And, a bank server may be provided that performs a process of causing the legacy server to match and store the user DID with the user debit card information.

상기 프로세서는, (III) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 프로세스를 더 수행할 수 있다.The processor, (III) when the check card token issuance request information including the user DID is obtained from the user terminal, transmits signature request information including a second signature verification value to the user terminal, and from the user terminal When a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained, the user public key corresponding to the user DID is obtained from the blockchain network with reference to the user DID, or , cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, obtain the user public key from the user DID document, and use the user public key to verify the second user signature value and the second signature verification value, and if the second user signature value and the second signature verification value are verified, the issuable check card corresponding to the user DID through the legacy server A check for checking issuable debit card token volume information, which is information on token volume, and transmitting the issuable debit card token volume corresponding to the checked issuable debit card token volume information from the bank wallet address to the user wallet address. A process for transferring the issuable check card token volume from the bank wallet address to the user wallet address may be further performed by registering a card token issuance transaction in the blockchain network.

상기 프로세서는, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 할 수 있다.The processor transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card token from the blockchain network. It is possible to check whether the issuable check card token volume has been issued by checking whether the issued transaction is retrieved.

상기 프로세서는, (IV) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 서비스 제공자 월렛 어드레스, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행 계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 프로세스를 더 수행할 수 있다.The processor is configured to: (IV) a user service providing terminal - a service provider DID corresponding to the service providing terminal and a service provider public key corresponding to the service provider DID are registered in the blockchain network, corresponding to the service provider DID The service provider wallet address is matched with the service provider DID and stored in the bank server, and the affiliate store information corresponding to the service provider DID is matched with the service provider DID and stored in the legacy server. Payment request information transmitted from the service providing terminal by using the payment request information - The payment request information includes a service provider wallet address, payment check card token volume information, which is information on the check card token volume to be paid for payment, and service detail information. In response to -, the user terminal sends a debit card token payment transaction for transmitting the payment debit card token volume corresponding to the payment debit card token volume information from the user wallet address to the service provider wallet address to the blockchain network. Upon registration, it is checked whether the check card token payment transaction satisfies the predetermined check card token transfer condition, and if the check card token payment transaction satisfies the check card token transfer condition, it is determined that the check card token payment transaction is normal. and causes the legacy server to transfer user financial assets corresponding to the payment debit card token volume from the user's account to a bank account, and when the debit card token payment transaction does not satisfy the debit card token transfer condition , a process of incinerating the payment check card token volume transmitted by the check card token payment transaction may be further performed by determining that the check card token payment transaction is not normal.

상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함할 수 있다.The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A condition that the wallet address is the service provider wallet address may be included.

상기 프로세서는, 상기 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID, 상기 서비스 제공자 월렛 어드레스, 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 서비스 제공자 월렛 어드레스를 상기 서비스 제공자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 할 수 있다.The processor, in a state where the service provider DID and the service provider public key corresponding to the service provider DID are registered in the blockchain network, (i) including service provider affiliate store information of the service provider from the service provider terminal When the affiliate store registration request information is obtained, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server, and the service provider affiliate store information is verified to obtain the service from the legacy server. When the verification result information on provider affiliate store information is transmitted, service provider information request information including a third signature verification value is transmitted to the service providing terminal, and (ii) the service provider DID and the service When the service provider signature value that signs the provider wallet address and the third signature verification value with the service provider private key is obtained, the service provider public key corresponding to the service provider DID is obtained from the blockchain network with reference to the service provider DID. Obtaining, or having a resolver server obtain a service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID to obtain the service provider public key from the service provider DID document, The service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the service provider wallet address is converted to the service provider DID. , and the legacy server may match and store the service provider DID with the service provider affiliate store information.

상기 프로세서는, (V) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태이며, 상기 서비스 제공 단말에 상기 은행 월렛 어드레스가 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 서비스 제공 단말에 저장된 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하며, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 프로세스를 더 수행할 수 있다.The processor, (V) service providing terminal - a service provider DID corresponding to the service providing terminal and a service provider public key corresponding to the service provider DID are registered in the blockchain network, and the service corresponding to the service provider DID The provider wallet address is matched with the service provider DID and stored in the bank server, and the affiliate store information corresponding to the service provider DID is matched with the service provider DID and stored in the legacy server. When the settlement request information for settlement of the check card token volume owned by the service provider including the check card token volume transmitted from the user terminal is obtained from the state in which the wallet address is stored, the bank to the service providing terminal By transmitting the DID and the bank wallet address, the service providing terminal verifies the bank wallet address transmitted from the bank server by referring to the bank wallet address stored in the service providing terminal, and it is determined that the bank wallet address is valid. If verified, a check card token settlement transaction for transferring the settlement check card token volume for settlement from the service provider wallet address to the bank wallet address is registered in the blockchain network, and the check card token settlement transaction is When registered in the network, by requesting settlement of the settlement check card token volume to the legacy server, the legacy server deposits financial assets corresponding to the settlement check card token volume into the financial account of the service provider, and the settlement A process of performing settlement on check card token volume may be further performed.

또한, 본 발명의 일 실시예에 따르면, 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버에 있어서, 블록체인 토큰 기반으로 페이먼트를 수행하기 위한 인스트럭션들을 저장하는 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 블록체인 토큰 기반으로 페이먼트를 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (I) 사용자 DID(decentralized identity), 상기 사용자 DID에 대응되는 사용자 퍼블릭키, 및 상기 사용자 DID에 대응되는 사용자 월렛 어드레스가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 프로세스, 및 (II) 상기 사용자 단말로부터 상기 사용자 DID, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 프로세스를 수행하는 은행 서버가 제공될 수 있다.In addition, according to one embodiment of the present invention, in a bank server for performing a payment based on a blockchain token, a memory for storing instructions for performing a payment based on a blockchain token; and a processor performing payment based on the blockchain token according to the instructions stored in the memory. Including, but the processor, (I) a user DID (decentralized identity), a user public key corresponding to the user DID, and a user wallet address corresponding to the user DID are registered in the blockchain network, the user terminal When debit card registration request information including user debit card information corresponding to the user's debit card is obtained from, the legacy server corresponding to the bank server refers to the registered debit card information registered in the legacy server to the user debit card. information is verified, and when the user debit card information is verified and the verification result information on the user debit card information is transmitted from the legacy server, user information request information including a first signature verification value is transmitted to the user terminal. and (II) when the user DID and the first user signature value obtained by signing the first signature verification value with the user private key are obtained from the user terminal, the user DID is referred to from the blockchain network. Obtain the user public key corresponding to the user DID, or cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network using the user DID, and obtain the user public key from the user DID document Obtaining, verifying the first user signature value and the first signature verification value using the user public key, and when the first user signature value and the first signature verification value are verified, the legacy server causes A bank server performing a process of matching and storing the user DID with the user debit card information may be provided.

상기 프로세서는, (III) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, (i) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하고, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 월렛 어드레스를 획득하는 프로세스, 및 (ii) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하는 프로세스 중 어느 하나를 프로세스를 수행하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 프로세스를 더 수행할 수 있다.The processor, (III) when the check card token issuance request information including the user DID is obtained from the user terminal, transmits signature request information including a second signature verification value to the user terminal, and from the user terminal When a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained, (i) the user public key corresponding to the user DID from the blockchain network with reference to the user DID Obtain, or cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and obtain the user public key from the user DID document, and obtain the user public key The second user signature value and the second signature verification value are verified using a key, and when the second user signature value and the second signature verification value are verified, issuance corresponding to the user DID through the legacy server Issuable check card token volume information, which is information on possible check card token volumes, is checked, and the user wallet address corresponding to the user DID is obtained from the blockchain network by referring to the user DID, or the resolver server causes A process of obtaining the user DID document corresponding to the user DID from the blockchain network by referring to the user DID and obtaining the user wallet address from the user DID document, and (ii) referring to the user DID to obtain the user DID document. Obtain the user public key and the user wallet address corresponding to the user DID from the blockchain network, or have the resolver server refer to the user DID to obtain the user DID document corresponding to the user DID from the blockchain network. obtaining the user public key and the user wallet address from the user DID document, verifying the second user signature value and the second signature verification value using the user public key, and obtaining the second user signature When the value and the second signature verification value are verified, any one of the processes of checking the issueable check card token volume information, which is information on the issueable check card token volume corresponding to the user DID through the legacy server, is performed. and by registering a check card token issuance transaction for transferring the issuable check card token volume corresponding to the confirmed issuable check card token volume information from the bank wallet address to the user wallet address, in the blockchain network. A process may be further performed to cause a volume of available debit card tokens to be transferred from the bank wallet address to the user wallet address.

상기 프로세서는, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 할 수 있다.The processor transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card token from the blockchain network. It is possible to check whether the issuable check card token volume has been issued by checking whether the issued transaction is retrieved.

상기 프로세서는, (IV) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 상기 서비스 제공자 DID, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 DID 문서를 획득하도록 하며 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 월렛 어드레스를 획득한 다음, 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 프로세스를 더 수행할 수 있다.The processor determines (IV) a service providing terminal by a user - a service provider DID corresponding to the service providing terminal, a service provider public key corresponding to the service provider DID, and a service provider wallet address corresponding to the service provider DID. Registered in the blockchain network, affiliate store information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server - Payment request information transmitted from the service providing terminal by using the service provided in - The payment request information includes the service provider DID, payment check card token volume information, which is information on the volume of check card tokens to be paid for payment, and service detail information. Obtain the service provider wallet address corresponding to the service provider DID from the blockchain network by referring to the DID, or cause the resolver server to refer to the service provider DID to obtain the service provider wallet address corresponding to the service provider DID from the blockchain network. Obtain a service provider DID document, obtain the service provider wallet address from the service provider DID document, and then convert the payment debit card token volume corresponding to the payment debit card token volume information from the user wallet address to the service provider wallet address. When a check card token payment transaction to be transmitted to is registered in the blockchain network, it is checked whether the check card token payment transaction satisfies a predetermined check card token transfer condition, and the check card token payment transaction is used to transfer the check card token. If the condition is satisfied, it is determined that the check card token payment transaction is normal, and the legacy server transfers the user's financial assets corresponding to the payment check card token volume from the user's account to a bank account, and the check card A process of incinerating the payment check card token volume transmitted by the check card token payment transaction by determining that the check card token payment transaction is not normal when the token payment transaction does not satisfy the check card token transfer condition can do more.

상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함할 수 있다.The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A condition that the wallet address is the service provider wallet address may be included.

상기 프로세서는, 상기 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 할 수 있다.The processor, in a state in which the service provider DID, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID are registered in the blockchain network, (i) the When affiliate store registration request information including service provider affiliate store information of the service provider is obtained from the service providing terminal, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server, When the service provider affiliate store information is verified and the verification result information on the service provider affiliate store information is transmitted from the legacy server, service provider information request information including a third signature verification value is transmitted to the service providing terminal, ( ii) When a service provider signature value obtained by signing the service provider DID and the third signature verification value with a service provider private key is obtained from the service providing terminal, the service provider DID is obtained from the blockchain network by referring to the service provider DID. Obtain the corresponding service provider public key, or cause a resolver server to obtain a service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID, thereby obtaining the service from the service provider DID document. A provider public key is obtained, the service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the legacy server may cause the service provider DID to be matched with the service provider affiliate store information and stored.

상기 프로세서는, (V) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, (i) 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 블록체인 네트워크로부터 획득한 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하고, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스, 및 (ii) 상기 서비스 제공 단말로 상기 은행 DID를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 상기 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스 중 어느 하나의 프로세스를 수행하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 프로세스를 더 수행할 수 있다.The processor, (V) service providing terminal - the service provider DID corresponding to the service providing terminal, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID are stored in the blockchain Registered in the network, and the affiliated store information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server - owned by the service provider including the check card token volume transmitted from the user terminal When settlement request information for settlement of the check card token volume is obtained, (i) the bank DID and the bank wallet address are transmitted to the service providing terminal, so that the service providing terminal refers to the bank DID, Obtain the bank wallet address corresponding to the bank DID from the network, or cause the resolver server to obtain a bank DID document corresponding to the bank DID from the blockchain network by referring to the bank DID, and from the bank DID document To obtain the bank wallet address, to verify the bank wallet address transmitted from the bank server by referring to the bank wallet address obtained from the blockchain network, and to verify that the bank wallet address is valid for settlement A process of registering a check card token settlement transaction to the blockchain network for transferring the settlement check card token volume from the service provider wallet address to the bank wallet address, and (ii) transmitting the bank DID to the service providing terminal. By doing so, the service providing terminal obtains the bank wallet address corresponding to the bank DID from the blockchain network by referring to the bank DID, or causes the resolver server to obtain the bank wallet address corresponding to the bank DID from the blockchain network by referring to the bank DID. The debit card token for obtaining a bank DID document corresponding to the DID and obtaining the bank wallet address from the bank DID document, and transferring the settlement debit card token volume from the service provider wallet address to the bank wallet address. Any one of the processes for registering the settlement transaction in the blockchain network is performed, and when the check card token settlement transaction is registered in the blockchain network, the settlement for the settlement check card token volume is performed by the legacy server. Upon request, the legacy server may deposit financial assets corresponding to the settled check card token volume into a financial account of the service provider, thereby further performing a process of calculating the settled check card token volume.

이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition to this, a computer readable recording medium for recording a computer program for executing the method of the present invention is further provided.

본 발명에 의하면, 다음과 같은 효과가 있다.According to the present invention, there are the following effects.

본 발명은 종래의 신용카드 결제망을 사용하지 않고 사용자의 체크카드에 대응되는 블록체인 토큰을 통해 체크카드에 대한 지불을 수행하므로 운용 비용이 상대적으로 낮게 된다.Since the present invention performs payment for a check card through a blockchain token corresponding to a user's check card without using a conventional credit card payment network, the operation cost is relatively low.

본 발명은 VAN 등이 포함된 종래의 신용카드 결제망을 사용하지 않고 블록체인 토큰을 통해 체크카드에 대한 지불을 수행하므로 결제 수수료를 절감할 수 있게 된다.The present invention can reduce payment fees because payment for a check card is performed through a blockchain token without using a conventional credit card payment network including VAN.

본 발명은 사용자의 개인정보 및 카드 정보들이 온/오프 라인 상에서 전송하지 않고도 결제가 가능하므로 체크카드 정보의 노출 및 체크카드 도용을 방지할 수 있게 된다.According to the present invention, payment can be made without transmitting personal information and card information of a user on/off line, thereby preventing exposure of debit card information and theft of debit cards.

도 1은 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트 시스템을 개략적으로 도시한 것이며,
도 2는 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자의 체크카드를 등록하는 과정을 개략적으로 도시한 것이며,
도 3은 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자의 가맹점을 등록하는 과정을 개략적으로 도시한 것이며,
도 4는 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자에게 체크카드 토큰을 발행하여 주는 과정을 개략적으로 도시한 것이며,
도 5는 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자가 체크카드 토큰을 이용하여 서비스 제공자에게 결제하는 과정을 개략적으로 도시한 것이며,
도 6은 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자가 정산을 수행하는 과정을 개략적으로 도시한 것이며,
도 7은 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자의 카드를 등록하는 과정을 개략적으로 도시한 것이며,
도 8은 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자의 가맹점을 등록하는 과정을 개략적으로 도시한 것이며,
도 9는 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자에게 카드 토큰을 발행하여 주는 과정을 개략적으로 도시한 것이며,
도 10은 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자가 체크카드 토큰을 이용하여 서비스 제공자에게 결제하는 과정을 개략적으로 도시한 것이며,
도 11은 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자가 정산을 수행하는 과정을 개략적으로 도시한 것이다.
1 schematically illustrates a blockchain token-based payment system according to an embodiment of the present invention,
2 schematically illustrates a process of registering a user's check card in a method for performing a blockchain token-based payment according to an embodiment of the present invention;
3 schematically illustrates a process of registering an affiliated store of a service provider in a method for performing a blockchain token-based payment according to an embodiment of the present invention;
4 schematically illustrates a process of issuing a check card token to a user in a method for performing a blockchain token-based payment according to an embodiment of the present invention;
5 schematically illustrates a process in which a user makes a payment to a service provider using a check card token in a method for performing a payment based on a blockchain token according to an embodiment of the present invention;
6 schematically illustrates a process in which a service provider performs settlement in a method for performing a blockchain token-based payment according to an embodiment of the present invention;
7 schematically illustrates a process of registering a user's card in a method for performing a blockchain token-based payment according to another embodiment of the present invention;
8 schematically illustrates a process of registering an affiliated store of a service provider in a method for performing a blockchain token-based payment according to another embodiment of the present invention;
9 schematically illustrates a process of issuing a card token to a user in a method for performing a blockchain token-based payment according to another embodiment of the present invention;
10 schematically illustrates a process in which a user makes a payment to a service provider using a check card token in a method for performing a payment based on a blockchain token according to another embodiment of the present invention,
11 schematically illustrates a process in which a service provider performs settlement in a method for performing payment based on a blockchain token according to another embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The detailed description of the present invention which follows refers to the accompanying drawings which illustrate, by way of illustration, specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable one skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different from each other but are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in one embodiment in another embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description set forth below is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all equivalents as claimed by those claims. Like reference numbers in the drawings indicate the same or similar function throughout the various aspects.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily practice the present invention.

도 1은 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트 시스템을 개략적으로 도시한 것으로, 페이먼트 시스템(1000)은 사용자 단말(100), 은행 서버(200), 서비스 제공 단말(300), 및 블록체인 네트워크(400)를 포함할 수 있다.1 schematically illustrates a blockchain token-based payment system according to an embodiment of the present invention, and the payment system 1000 includes a user terminal 100, a bank server 200, a service providing terminal 300, and a blockchain network 400.

먼저, 사용자 단말(100)은 블록체인 토큰 기반의 체크카드 토큰을 사용하여 페이먼트를 수행하는 주체로, PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, IoT 기기, 서버 등을 포함할 수 있다. 하지만, 사용자 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등과 같이 일회성 아이디를 생성하기 위한 컴퓨팅 연산을 수행할 수 있는 모든 장치를 포함할 수 있다.First, the user terminal 100 is a subject that performs payment using a check card token based on a blockchain token, PC (Personal Computer), mobile computer, PDA / EDA, mobile phone, smartphone, tablet, IoT device, server, etc. However, the user terminal 100 is not limited thereto, and may include any device capable of performing a computing operation for generating a one-time ID, such as a portable game machine having a wired/wireless communication function, a digital camera, and a personal navigation device.

또한, 사용자 단말(100)은 체크카드 토큰의 사용과 관련한 인스트럭션들이 저장된 메모리와 메모리에 저장된 인스트럭션들에 따라 체크카드 토큰의 사용과 관련한 동작을 수행하는 프로세서를 포함할 수 있다.In addition, the user terminal 100 may include a memory in which instructions related to the use of the check card token are stored and a processor that performs an operation related to the use of the check card token according to the instructions stored in the memory.

구체적으로, 사용자 단말(100)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세스, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, the user terminal 100 is typically a computing device (eg, a computer process, memory, storage, input device and output device, and other devices that may include components of conventional computing devices; electronic devices such as routers, switches, etc.) A desired system using a combination of communication devices; electronic information storage systems such as network attached storage (NAS) and storage area networks (SAN)) and computer software (ie, instructions that allow a computing device to function in a particular way) It may be to achieve performance.

또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor of the computing device may include hardware components such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. In addition, the computing device may further include an operating system and a software component of an application performing a specific purpose.

다음으로, 은행 서버(200)는 사용자에게 블록체인 토큰 기반의 체크카드 토큰을 발행하여 주며, 체크카드 토큰에 대한 정산을 수행하는 주체로, 체크카드 토큰의 발행, 조회, 정산, 소각 등과 관련한 동작을 수행하기 위한 인스트럭션들이 저장된 메모리와 메모리에 저장된 인스트럭션들에 따라 체크카드 토큰의 발행, 조회, 정산, 정산, 소각 등의 동작을 수행하는 프로세서를 포함할 수 있다.Next, the bank server 200 issues a check card token based on a blockchain token to the user, and is a subject that settles the check card token, and performs operations related to issuance, inquiry, settlement, and incineration of the check card token. It may include a memory in which instructions for carrying out are stored, and a processor that performs operations such as issuance, inquiry, settlement, settlement, and incineration of check card tokens according to the instructions stored in the memory.

구체적으로, 은행 서버(200)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세스, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, bank server 200 is typically a computing device (e.g., a device that may include computer processes, memory, storage, input and output devices, and other components of conventional computing devices; electronic devices such as routers, switches, etc.) A desired system using a combination of communication devices; electronic information storage systems such as network attached storage (NAS) and storage area networks (SAN)) and computer software (ie, instructions that allow a computing device to function in a particular way) It may be to achieve performance.

또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor of the computing device may include hardware components such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. In addition, the computing device may further include an operating system and a software component of an application performing a specific purpose.

그리고, 은행 서버(200)는 블록체인 네트워크를 구성하는 노드일 수 있다.And, the bank server 200 may be a node constituting a blockchain network.

다음으로, 서비스 제공 단말(300)은 체크카드 토큰의 지급에 따른 서비스를 제공하는 주체로, PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, IoT 기기, 서버 등을 포함할 수 있다. 하지만, 서비스 제공 단말(300)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등과 같이 일회성 아이디를 생성하기 위한 컴퓨팅 연산을 수행할 수 있는 모든 장치를 포함할 수 있다.Next, the service providing terminal 300 is a subject that provides services according to payment of check card tokens, such as PC (Personal Computer), mobile computer, PDA/EDA, mobile phone, smartphone, tablet, IoT device, server, etc. can include However, the service providing terminal 300 is not limited thereto, and may include any device capable of performing a computing operation for generating a one-time ID, such as a portable game machine having a wired/wireless communication function, a digital camera, and a personal navigation device.

또한, 서비스 제공 단말(300)은 체크카드 토큰 지급에 따른 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리와 메모리에 저장된 인스트럭션들에 따라 체크카드 토큰 지급에 따른 서비스를 제공하기 위한 동작을 수행하는 프로세서를 포함할 수 있다.In addition, the service providing terminal 300 includes a memory in which instructions for providing a service according to payment of check card tokens are stored and a processor performing an operation for providing a service according to payment of check card tokens according to the instructions stored in the memory. can do.

구체적으로, 서비스 제공 단말(300)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세스, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, the service providing terminal 300 is typically a computing device (eg, a computer process, a memory, a storage device, an input device and an output device, and a device that may include components of other conventional computing devices; routers, switches, etc.) A combination of electronic communication devices (electronic information storage systems such as network attached storage (NAS) and storage area networks (SAN)) and computer software (ie, instructions that cause a computing device to function in a particular way) It may be to achieve system performance.

또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor of the computing device may include hardware components such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. In addition, the computing device may further include an operating system and a software component of an application performing a specific purpose.

다음으로, 블록체인 네트워크(400)는 다수의 노드에 의해 형성되는 분산합의 네트워크로, DID를 저장하며, 체크카드 토큰에 대한 거래 정보를 관리하며, 체크카드 토큰의 이체가 이루어지도록 할 수 있다.Next, the blockchain network 400 is a distributed consensus network formed by a plurality of nodes, and can store DID, manage transaction information on check card tokens, and enable transfer of check card tokens.

상기와 같이 구성된 본 발명의 일 실시예에 따른 시스템을 참조하여 블록체인 토큰 기반의 페이먼트를 수행하는 방법을 설명하면 다음과 같다.Referring to the system according to an embodiment of the present invention configured as described above, a method of performing a blockchain token-based payment will be described as follows.

먼저, 도 2를 참조하여 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자의 체크카드를 등록하는 과정을 설명하면 다음과 같다.First, referring to FIG. 2, a process of registering a user's check card in a method of performing a blockchain token-based payment according to an embodiment of the present invention will be described as follows.

사용자에 대한 사용자 DID(decentralized identity)와 사용자 DID에 대응되는 사용자 퍼블릭키가 블록체인 네트워크(400)에 등록된 상태에서, 사용자는 사용자의 체크카드를 페이먼트 시스템에 등록하기 위하여, 사용자 단말(100)을 통해 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보를 은행 서버(200)로 전송(S1)하여 줄 수 있다.With the user decentralized identity (DID) for the user and the user public key corresponding to the user DID registered in the blockchain network 400, the user uses the user terminal 100 to register the user's check card in the payment system. Through this, check card registration request information including user check card information corresponding to the user's check card can be transmitted to the bank server 200 (S1).

이때, 사용자는 사용자 단말(100)을 통해 사용자 프라이빗키와 사용자 퍼블릭키를 생성하며, 사용자 월렛에 대응되는 사용자 월렛 어드레스를 생성할 수 있다. 그리고, 블록체인 네트워크(400)로 사용자 DID 생성을 요청하여 사용자 DID를 생성하며, 사용자 DID에 대응되는 사용자 퍼블릭키가 블록체인 네트워크(400)에 등록되도록 할 수 있다. 또한, 사용자는 사용자 월렛 어드레스에 쉽게 접근하기 위하여 사용자 단말(100)을 통해 사용자 프라이빗키에 비하여 쉬운 단어의 배열인 니모닉(mnemonic)을 생성할 수도 있다. 그리고, 사용자 체크카드 정보는 체크카드 번호, 체크카드 만료일, CVC 번호 등과 같이 사용자 체크카드와 관련한 정보일 수 있다.At this time, the user may generate a user private key and a user public key through the user terminal 100 and generate a user wallet address corresponding to the user wallet. In addition, a user DID may be generated by requesting generation of a user DID to the blockchain network 400 , and a user public key corresponding to the user DID may be registered in the blockchain network 400 . In addition, the user may generate a mnemonic, which is an arrangement of words that is easier than the user private key, through the user terminal 100 in order to easily access the user wallet address. Further, the user debit card information may be information related to the user debit card, such as a debit card number, an expiration date of the debit card, and a CVC number.

그러면, 사용자의 체크카드 등록 요청 정보를 획득한 은행 서버(200)는 은행 서버(200)에 대응되는 레거시 서버로 하여금 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 사용자 체크카드 정보를 검증(S2)하도록 할 수 있다.Then, the bank server 200 that has obtained the user's debit card registration request information verifies the user debit card information by referring to the registered debit card information registered in the legacy server to the legacy server corresponding to the bank server 200 (S2 ) can be made.

한편, 사용자 단말(100)은 체크카드 등록을 요청하기 위하여 은행 서버(200)로 사용자 DID와 사용자 체크카드 정보를 사용자 프라이빗키로 암호화한 암호화된 사용자 체크카드 정보를 전송할 수 있으며, 그에 따라, 은행 서버(200)는 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하며 사용자 DID 문서로부터 사용자 퍼블릭키를 획득할 수 있다. 그리고, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 암호화된 사용자 체크카드 정보를 복호화하여 사용자 체크카드 정보를 획득한 다음, 사용자 체크카드 정보를 검증할 수도 있다.Meanwhile, the user terminal 100 may transmit encrypted user debit card information obtained by encrypting the user DID and user debit card information with the user private key to the bank server 200 to request debit card registration, and accordingly, the bank server 200 (200) obtains a user public key from the blockchain network 400 using the user DID, or obtains a user DID document corresponding to the user DID from the blockchain network 400 using the user DID through a resolver server. and obtain the user public key from the user DID document. In addition, the bank server 200 may obtain user debit card information by decrypting encrypted user debit card information using the user public key, and then verify the user debit card information.

이후, 사용자 체크카드 정보가 검증되어 레거시 서버로부터 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 은행 서버(200)는 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 사용자 단말(100)로 전송(S3)하여 줄 수 있다. 이때, 제1 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으나, 이에 한정되지 않으며 은행 서버(200)가 생성하는 임의의 정보를 포함할 수 있다.Then, when the user debit card information is verified and the verification result information on the user debit card information is transmitted from the legacy server, the bank server 200 sends the user information request information including the first signature verification value to the user terminal 100. It can be transmitted (S3). In this case, the first signature verification value may include a nonce, a timestamp, and the like, but is not limited thereto and may include arbitrary information generated by the bank server 200.

그리고, 은행 서버(200)로부터의 사용자 정보 요청에 대응하여 사용자 단말(100)은 사용자 프라이빗키를 이용하여 은행 서버(200)로부터 전송된 제1 서명확인값을 서명하여 제1 사용자 서명값을 생성하고, 사용자 DID, 사용자 월렛 어드레스 및 제1 사용자 서명값을 포함하는 사용자 정보를 은행 서버(200)로 전송(S4)하여 줄 수 있다.Then, in response to the user information request from the bank server 200, the user terminal 100 signs the first signature verification value transmitted from the bank server 200 using the user private key to generate a first user signature value. and transmits user information including the user DID, user wallet address, and first user signature value to the bank server 200 (S4).

이후, 사용자 단말(100)로부터의 사용자 DID, 사용자 월렛 어드레스 및 제1 사용자 서명값을 포함하는 사용자 정보를 획득한 은행 서버(200)는 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 퍼블릭키를 획득(S5, S6)하거나, 리졸버 서버로 하여금 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 사용자 DID 문서로부터 사용자 퍼블릭키를 획득(S5, S6)할 수 있다.Thereafter, the bank server 200 that has obtained user information including the user DID, user wallet address, and first user signature value from the user terminal 100 refers to the user DID and obtains the user DID from the blockchain network 400. Acquiring the corresponding user public key (S5, S6) or having the resolver server obtain the user DID document corresponding to the user DID from the blockchain network 400 using the user DID to obtain the user public key from the user DID document It can be acquired (S5, S6).

그리고, 은행 서버(200)는 블록체인 네트워크(400)로부터 획득한 사용자 퍼블릭키를 이용하여 사용자 단말(100)로부터 전송된 사용자 정보를 검증(S7)할 수 있다.Then, the bank server 200 may verify the user information transmitted from the user terminal 100 using the user public key obtained from the blockchain network 400 (S7).

일 예로, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 제1 사용자 서명값 및 제1 서명확인값을 검증할 수 있다. 즉, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화하여 제1 서명확인값을 추출하며, 추출된 제1 서명확인값이 사용자 단말(100)로 전송한 제1 서명확인값과 일치하는지를 확인함으로써 제1 사용자 서명값과 제1 서명확인값을 검증할 수 있다.For example, the bank server 200 may verify the first user signature value and the first signature verification value using the user public key. That is, the bank server 200 decrypts the user signature value using the user public key to extract the first signature verification value, and the extracted first signature verification value is the first signature verification value transmitted to the user terminal 100. It is possible to verify the first user signature value and the first signature verification value by confirming whether they match.

이후, 사용자 정보, 일 예로, 제1 사용자 서명값과 제1 서명확인값이 검증되면, 은행 서버(200)는 사용자 월렛 어드레스를 사용자 DID에 매칭하여 은행 서버(200)에 저장하며, 레거시 서버로 하여금 사용자 DID를 사용자 체크카드 정보와 매칭하여 저장(S8)하도록 할 수 있다.Subsequently, when user information, for example, the first user signature value and the first signature verification value are verified, the bank server 200 matches the user wallet address to the user DID and stores it in the bank server 200, and transfers the data to the legacy server. The user DID may be matched with user check card information and stored (S8).

다음으로, 도 3을 참조하여 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자의 가맹점을 등록하는 과정을 설명하면 다음과 같다.Next, referring to FIG. 3, a process of registering an affiliated store of a service provider in a method for performing a payment based on a blockchain token according to an embodiment of the present invention will be described.

서비스 제공자에 대한 서비스 제공자 DID와 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 블록체인 네트워크(400)에 등록된 상태에서, 서비스 제공자는 서비스 제공자의 가맹점을 페이먼트 시스템에 등록하기 위하여, 서비스 제공 단말(300)을 통해 서비스 제공자의 가맹점에 대응되는 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보를 은행 서버(200)로 전송(S11)하여 줄 수 있다.In a state where the service provider DID for the service provider and the service provider public key corresponding to the service provider DID are registered in the blockchain network 400, the service provider registers the service provider's affiliated store in the payment system, the service providing terminal ( Through step 300), affiliate store registration request information including service provider affiliate store information corresponding to the service provider affiliate store may be transmitted to the bank server 200 (S11).

이때, 서비스 제공자는 서비스 제공 단말(300)을 통해 서비스 제공자 프라이빗키와 서비스 제공자 퍼블릭키를 생성하며, 서비스 제공자 월렛에 대응되는 서비스 제공자 월렛 어드레스를 생성할 수 있다. 그리고, 블록체인 네트워크(400)로 서비스 제공자 DID 생성을 요청하여 서비스 제공자 DID를 생성하며, 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 블록체인 네트워크(400)에 등록되도록 할 수 있다. 또한, 서비스 제공자는 서비스 제공자 월렛 어드레스에 쉽게 접근하기 위하여 서비스 제공 단말(300)을 통해 서비스 제공자 프라이빗키에 비하여 쉬운 단어의 배열인 니모닉을 생성할 수도 있다. 그리고, 서비스 제공자 가맹점 정보는 가맹점 번호 등과 같이 가맹점과 관련한 정보일 수 있다.At this time, the service provider may generate a service provider private key and a service provider public key through the service provider terminal 300 and generate a service provider wallet address corresponding to the service provider wallet. In addition, a service provider DID may be generated by requesting service provider DID generation to the blockchain network 400 , and a service provider public key corresponding to the service provider DID may be registered in the blockchain network 400 . In addition, the service provider may generate a mnemonic, which is an arrangement of easier words than the service provider private key, through the service provider terminal 300 in order to easily access the service provider wallet address. And, the service provider affiliate store information may be information related to affiliate stores, such as an affiliate store number.

그러면, 서비스 제공자의 가맹점 등록 요청 정보를 획득한 은행 서버(200)는 레거시 서버로 하여금 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 서비스 제공자 가맹점 정보를 검증(S12)하도록 할 수 있다.Then, the bank server 200 that has acquired the member store registration request information of the service provider may cause the legacy server to verify the service provider member store information by referring to the registered member store information registered in the legacy server (S12).

한편, 서비스 제공 단말(300)은 가맹점 등록을 요청하기 위하여 은행 서버(200)로 서비스 제공자 DID와 서비스 제공자 가맹점 정보를 서비스 제공자 프라이빗키로 암호화한 암호화된 서비스 제공자 가맹점 정보를 전송할 수 있으며, 그에 따라, 은행 서버(200)는 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하며 서비스 제공자 DID 문서로부터 서비스 제공자 퍼블릭키를 획득할 수 있다. 그리고, 은행 서버(200)는 서비스 제공자 퍼블릭키를 이용하여 암호화된 서비스 제공자 가맹점 정보를 복호화하여 서비스 사용자 가맹점 정보를 획득한 다음, 서비스 제공자 가맹점 정보를 검증할 수도 있다.Meanwhile, the service providing terminal 300 may transmit encrypted service provider affiliate store information obtained by encrypting the service provider DID and service provider affiliate store information with the service provider private key to the bank server 200 to request affiliate store registration. Accordingly, The bank server 200 obtains the service provider public key from the blockchain network 400 using the service provider DID, or uses the service provider DID through the resolver server to obtain the corresponding service provider DID from the blockchain network 400. The service provider DID document is obtained, and the service provider public key can be obtained from the service provider DID document. In addition, the bank server 200 may decrypt encrypted service provider affiliate store information using the service provider public key to obtain service user affiliate store information, and then verify the service provider affiliate store information.

이후, 서비스 제공자 가맹점 정보가 검증되어 레거시 서버로부터 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 은행 서버(200)는 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 서비스 제공 단말(300)로 전송(S13)하여 줄 수 있다. 이때, 제3 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으나, 이에 한정되지 않으며 은행 서버(200)가 생성하는 임의의 정보를 포함할 수 있다.Then, when the service provider affiliate store information is verified and the verification result information on the service provider affiliate store information is transmitted from the legacy server, the bank server 200 transmits the service provider information request information including the third signature verification value to the service providing terminal 300 ) can be transmitted (S13). In this case, the third signature verification value may include a nonce, a timestamp, and the like, but is not limited thereto and may include arbitrary information generated by the bank server 200.

그리고, 은행 서버(200)로부터의 서비스 제공자 정보 요청에 대응하여 서비스 제공 단말(300)은 서비스 제공자 프라이빗키를 이용하여 은행 서버(200)로부터 전송된 제3 서명확인값을 서명하여 서비스 제공자 서명값을 생성하고, 서비스 제공자 DID, 서비스 제공자 월렛 어드레스 및 서비스 제공자 서명값을 포함하는 서비스 제공자 정보를 은행 서버(200)로 전송(S14)하여 줄 수 있다.Further, in response to the service provider information request from the bank server 200, the service providing terminal 300 signs the third signature verification value transmitted from the bank server 200 using the service provider private key to sign the service provider signature value. may be generated, and service provider information including a service provider DID, a service provider wallet address, and a service provider signature value may be transmitted to the bank server 200 (S14).

이후, 서비스 제공 단말(300)로부터의 서비스 제공자 DID, 서비스 제공자 월렛 어드레스 및 서비스 제공자 서명값을 포함하는 서비스 제공자 정보를 획득한 은행 서버(200)는 서비스 제공자 DID를 참조하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키를 획득(S15, S16)하거나, 리졸버 서버로 하여금 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 서비스 제공자 DID 문서로부터 서비스 제공자 퍼블릭키를 획득(S15, S16)할 수 있다.Thereafter, the bank server 200, which has obtained service provider information including the service provider DID, service provider wallet address, and service provider signature value from the service provider terminal 300, refers to the service provider DID to establish the block chain network 400. Obtain the service provider public key corresponding to the service provider DID from (S15, S16), or cause the resolver server to obtain a service provider DID document corresponding to the service provider DID from the blockchain network 400 using the service provider DID. Thus, the service provider public key can be obtained from the service provider DID document (S15, S16).

그리고, 은행 서버(200)는 블록체인 네트워크(400)로부터 획득한 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 단말(300)로부터 전송된 서비스 제공자 정보를 검증(S17)할 수 있다.In addition, the bank server 200 may verify the service provider information transmitted from the service provider terminal 300 using the service provider public key obtained from the blockchain network 400 (S17).

일 예로, 은행 서버(200)는 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 서명값 및 제3 서명확인값을 검증할 수 있다. 즉, 은행 서버(200)는 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 서명값을 복호화하여 제3 서명확인값을 추출하며, 추출된 제3 서명확인값이 서비스 제공자 단말(300)로 전송한 제3 서명확인값과 일치하는지를 확인함으로써 서비스 제공자 서명값과 제3 서명확인값을 검증할 수 있다.For example, the bank server 200 may verify the service provider signature value and the third signature verification value using the service provider public key. That is, the bank server 200 decrypts the service provider signature value using the service provider public key to extract a third signature verification value, and the extracted third signature verification value is transmitted to the service provider terminal 300. The service provider signature value and the third signature verification value may be verified by verifying whether they match the signature verification value.

이후, 서비스 제공자 정보, 일 예로, 서비스 제공자 서명값과 제3 서명확인값이 검증되면, 은행 서버(200)는 서비스 제공자 월렛 어드레스를 서비스 제공자 DID에 매칭하여 은행 서버(200)에 저장하며, 레거시 서버로 하여금 서비스 제공자 DID를 서비스 제공자 가맹점 정보와 매칭하여 저장(S18)하도록 할 수 있다.Then, when the service provider information, for example, the service provider signature value and the third signature verification value are verified, the bank server 200 matches the service provider wallet address with the service provider DID and stores it in the bank server 200, The server may have the service provider DID matched with service provider member store information and stored (S18).

다음으로, 도 4를 참조하여, 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자에게 체크카드 토큰을 발행하여 주는 과정을 설명하면 다음과 같다.Next, with reference to FIG. 4, a process of issuing a check card token to a user in a method of performing a payment based on a blockchain token according to an embodiment of the present invention will be described.

사용자가 체크카드 토큰을 발급받기 위하여 사용자 단말(100)을 통해 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보를 은행 서버(200)로 전송(S21)하여 줄 수 있다.In order for a user to receive a check card token, check card token issuance request information including a user DID may be transmitted to the bank server 200 through the user terminal 100 (S21).

그러면, 사용자 단말(100)로부터 체크카드 토큰 발행 요청 정보를 획득한 은행 서버(200)는 사용자 단말(100)로 제2 서명확인값을 포함하는 서명 요청 정보를 전송(S22)하여 줄 수 있다. 이때, 제2 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으나, 이에 한정되지 않으며 은행 서버(200)가 생성하는 임의의 정보를 포함할 수 있다.Then, the bank server 200 that has obtained the check card token issuance request information from the user terminal 100 may transmit the signature request information including the second signature verification value to the user terminal 100 (S22). In this case, the second signature verification value may include a nonce, a timestamp, etc., but is not limited thereto and may include arbitrary information generated by the bank server 200.

그리고, 사용자 단말(100)은 은행 서버(200)로부터 전송된 제2 서명확인값을 사용자 프라이빗키로 서명하여 제2 사용자 서명값을 생성한 다음, 사용자 DID와 제2 사용자 서명값을 은행 서버(200)로 전송(S23)하여 줄 수 있다.Then, the user terminal 100 generates a second user signature value by signing the second signature verification value transmitted from the bank server 200 with the user private key, and then converts the user DID and the second user signature value to the bank server 200. ) can be transmitted (S23).

그러면, 사용자 단말(100)로부터 사용자 DID와 제2 사용자 서명값을 획득한 은행 서버(200)는 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 퍼블릭키를 획득(S24, S25)하거나, 리졸버 서버로 하여금 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하며 사용자 DID 문서로부터 사용자 퍼블릭키를 획득할 수 있다.Then, the bank server 200 that has obtained the user DID and the second user signature value from the user terminal 100 obtains the user public key corresponding to the user DID from the blockchain network 400 by referring to the user DID (S24, S25) Alternatively, the resolver server may obtain a user DID document corresponding to the user DID from the blockchain network 400 by referring to the user DID, and the user public key may be obtained from the user DID document.

이후, 은행 서버(200)는 블록체인 네트워크(400)로부터 획득한 사용자 퍼블릭키를 이용하여 제2 사용자 서명값을 검증(S26)할 수 있다.Thereafter, the bank server 200 may verify the second user signature value using the user public key obtained from the blockchain network 400 (S26).

일 예로, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 제2 사용자 서명값을 복호화하여 제2 서명확인값을 추출하며, 제2 사용자 서명값으로부터 추출된 제2 서명확인값이 사용자 단말(100)로 전송한 제2 서명확인값과 일치하는지를 확인함으로써 제2 사용자 서명값 및 제2 서명확인값을 검증할 수 있다.For example, the bank server 200 decrypts the second user signature value using the user public key to extract the second signature verification value, and the second signature verification value extracted from the second user signature value is the user terminal 100 ), it is possible to verify the second user signature value and the second signature verification value by confirming whether they match the second signature verification value transmitted to the user.

그리고, 은행 서버(200)는 제2 사용자 서명값 및 제2 서명확인값이 검증되면, 레거시 서버를 통해 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인(S27)할 수 있다. 이때, 레거시 서버는 사용자 DID에 대응되는 사용자 체크카드 정보를 확인하고, 사용자 체크카드 정보를 참조하여 사용자 체크카드 정보에 대응되는 사용자의 계좌의 금융자산을 확인하며, 확인된 사용자의 금융자산에 대응되는 발급 가능한 토큰 볼륨을 확인하여 줄 수 있다.In addition, when the second user signature value and the second signature verification value are verified, the bank server 200 transmits issueable check card token volume information, which is information on the issueable check card token volume corresponding to the user DID, through the legacy server. It can be confirmed (S27). At this time, the legacy server checks the user debit card information corresponding to the user DID, checks the financial assets of the user's account corresponding to the user debit card information by referring to the user debit card information, and responds to the checked financial assets of the user. You can check the volume of tokens that can be issued.

그러면, 은행 서버(200)는 레거시 서버를 통해 확인된 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 블록체인 네트워크(400)에 등록(S28)함으로써 발급 가능 체크카드 토큰 볼륨이 은행 월렛 어드레스로부터 사용자 월렛 어드레스로 전송되도록 할 수 있다. 이때, 은행 서버(200)는 레거시 서버를 통해 사용자의 계좌의 금융자산의 변동 사항을 기설정된 시간 단위로 확인하며, 사용자의 금융자산의 변동 사항에 대응하여 사용자에게 체크카드 토큰을 추가적으로 발급하여 주거나, 사용자에게 발급된 체크카드 토큰을 소각함으로써, 사용자의 금융자산과 사용자가 소유한 체크카드 토큰 볼륨이 서로 대응되도록 할 수 있다.Then, the bank server 200 executes a check card token issuance transaction for transferring the issuable check card token volume corresponding to the issuable check card token volume information confirmed through the legacy server from the bank wallet address to the user wallet address. By registering in the network 400 (S28), the issuable check card token volume can be transferred from the bank wallet address to the user wallet address. At this time, the bank server 200 checks changes in the financial assets of the user's account in units of preset time through the legacy server, and issues additional check card tokens to the user in response to changes in the user's financial assets. , By incinerating the check card token issued to the user, the user's financial assets and the volume of the check card token owned by the user can correspond to each other.

이후, 은행 서버(200)는 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 사용자 단말(100)로 전송(S29)하여 줄 수 있다.Thereafter, the bank server 200 may transmit the check card token issuing transaction ID corresponding to the check card token issuing transaction to the user terminal 100 (S29).

그러면, 사용자 단말(100)은 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있다. 즉, 블록체인 네트워크(400)에서 체크카드 토큰 발행 트랜잭션을 포함하는 블록체인 블록이 생성되지 않을 경우에는 체크카드 토큰 발행 트랜잭션 아이디를 통해 체크카드 토큰 발행 트랜잭션이 검색되지 않으므로 아직 발급 가능 체크카드 토큰 볼륨이 사용자 월렛으로 이체가 되지 않은 상태이며, 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 발행 트랜잭션이 검색되면 블록체인 네트워크(400)에서 체크카드 토큰 발행 트랜잭션을 포함하는 블록체인 블록이 생성되어 발급 가능 체크카드 토큰 볼륨이 사용자 월렛으로 이체가 된 것으로 확인할 수 있다.Then, the user terminal 100 can check whether the issuable check card token volume has been issued by checking whether the check card token issuing transaction is retrieved from the blockchain network 400 using the check card token issuing transaction ID. That is, if a blockchain block including a check card token issuance transaction is not created in the blockchain network 400, the check card token issuance transaction is not searched through the check card token issuance transaction ID, so the check card token volume that can be issued is still available. If the transaction has not been transferred to this user wallet and the check card token issuance transaction is retrieved from the blockchain network (400) using the check card token issuance transaction ID, the check card token issuance transaction is included in the blockchain network (400). It can be confirmed that the block chain block is created and the volume of issuable check card tokens has been transferred to the user's wallet.

한편, 상기에서는 사용자가 체크카드 토큰의 발행을 요청함으로써, 은행 서버(200)가 사용자의 금융자산에 대응하여 발급 가능한 체크카드 토큰 볼륨을 확인한 후 체크카드 토큰을 발급하여 주었으나, 이와는 달리, 사용자가 발급을 원하는 체크카드 토큰 볼륨에 대한 발행을 요청할 수 있으며, 이 경우, 은행 서버(200)는 사용자가 발행을 요청한 체크카드 토큰 볼륨이 사용자의 금융자산 내에서 발급 가능한지를 확인한 후 사용자가 요청한 체크카드 토큰 볼륨을 발행하여 줄 수도 있다.Meanwhile, in the above, when a user requests issuance of a check card token, the bank server 200 checks the volume of check card tokens that can be issued in correspondence with the user's financial assets and then issues the check card token. In this case, the bank server 200 checks whether the volume of check card tokens requested by the user can be issued within the user's financial assets, and then requests the issuance of the check card token volume requested by the user. Card token volume can also be issued.

또한, 은행 서버(200)도 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있다.In addition, the bank server 200 can also check whether the issuable check card token volume has been issued by checking whether the check card token issuing transaction is retrieved from the blockchain network 400 using the check card token issuing transaction ID.

다음으로, 도 5를 참조하여, 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자가 체크카드 토큰을 이용하여 서비스 제공자에게 결제하는 과정을 설명하면 다음과 같다.Next, with reference to FIG. 5, a process in which a user makes a payment to a service provider using a check card token in a method of performing a payment based on a blockchain token according to an embodiment of the present invention will be described as follows.

사용자가 서비스 제공 단말(300)에서 제공되는 서비스, 즉, 서비스 제공자 가맹점에서 제공받거나 제공받기 위한 서비스를 이용하면, 서비스 제공 단말(300)은 사용자 단말(100)로 결제 요청 정보를 전송(S31)할 수 있다.When a user uses a service provided by the service providing terminal 300, that is, a service to be provided or to be provided from a service provider affiliated store, the service providing terminal 300 transmits payment request information to the user terminal 100 (S31) can do.

이때, 결제 요청 정보는 서비스 제공자 월렛 어드레스, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함할 수 있다.In this case, the payment request information may include a service provider wallet address, payment debit card token volume information, which is information on the debit card token volume to be paid for payment, and service detail information.

또한, 결제 요청 정보는 서비스 제공자 월렛 어드레스, 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보 중 적어도 하나를 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값과, 서비스 제공자 DID를 포함할 수 있다. 그러면, 사용자 단말(100)은 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키를 획득(S32, S33)하거나, 리졸버 서버를 통해 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하며 서비스 제공자 DID 문서로부터 서비스 제공자 퍼블릭키를 획득할 수 있으며, 블록체인 네트워크(400)로부터 획득한 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 서명값을 검증(S34)할 수 있다.In addition, the payment request information may include a service provider signature value obtained by signing at least one of a service provider wallet address, payment check card token volume information, and service detail information with a service provider private key, and a service provider DID. Then, the user terminal 100 obtains the service provider public key corresponding to the service provider DID from the blockchain network 400 using the service provider DID (S32, S33), or uses the service provider DID through the resolver server The service provider DID document corresponding to the service provider DID is acquired from the blockchain network 400, the service provider public key can be obtained from the service provider DID document, and the service provider public key obtained from the blockchain network 400 The service provider signature value can be verified (S34).

이후, 사용자 단말(100)은 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 사용자 월렛 어드레스로부터 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 블록체인 네트워크(400)에 등록(S35)함으로써 결제 체크카드 토큰 볼륨이 사용자 월렛 어드레스로부터 서비스 제공자 월렛 어드레스로 이체되도록 할 수 있다.Thereafter, the user terminal 100 registers a check card token payment transaction for transferring the payment check card token volume corresponding to the payment check card token volume information from the user wallet address to the service provider wallet address in the blockchain network 400 ( By doing S35), the payment debit card token volume can be transferred from the user wallet address to the service provider wallet address.

그리고, 사용자 단말(100)은 체크카드 토큰 지급 트랜잭션에 대응되는 체크카드 토큰 지급 트랜잭션 아이디를 서비스 제공 단말(300)로 전송(S36)하여 줄 수 있다.Then, the user terminal 100 may transmit the check card token payment transaction ID corresponding to the check card token payment transaction to the service providing terminal 300 (S36).

그러면, 서비스 제공 단말(300)은 체크카드 토큰 지급 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 지급 트랜잭션이 검색되는지를 확인함으로써 결제 체크카드 토큰 볼륨이 서비스 제공자 월렛으로 이체되었는지를 확인할 수 있으며, 결제 체크카드 토큰 볼륨의 이체를 확인함으로써 결제가 완료되었음을 확인(S37)할 수 있다.Then, the service providing terminal 300 checks whether the check card token payment transaction is retrieved from the blockchain network 400 using the check card token payment transaction ID, thereby determining whether the payment check card token volume has been transferred to the service provider wallet. It can be checked, and it can be confirmed that the payment has been completed (S37) by checking the transfer of the payment debit card token volume.

또한, 사용자 단말(100)은 체크카드 토큰 지급 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 지급 트랜잭션이 검색되는지를 확인함으로써 결제 체크카드 토큰 볼륨이 사용자 월렛으로부터 서비스 제공자 월렛으로 이체되었는지를 확인할 수 있다.In addition, the user terminal 100 checks whether the check card token payment transaction is retrieved from the blockchain network 400 using the check card token payment transaction ID, so that the payment check card token volume is transferred from the user wallet to the service provider wallet. You can check if it has been done.

한편, 상기에서와 같은 방법에 의해 체크카드 토큰에 의한 페이먼트가 이루어짐으로써 체크카드 토큰 지급 트랜잭션이 블록체인 네트워크(400)에 등록되면, 은행 서버(200)는 블록체인 네트워크(400)에 등록된 체크카드 토큰 지급 트랜잭션을 확인(S38)하고, 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 체크카드 토큰 지급 트랜잭션이 체크카드 토큰 이체 조건을 만족할 경우에는 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 레거시 서버로 하여금 사용자의 계좌로부터 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행 계좌로 이체(S39)하도록 하며, 체크카드 토큰 지급 트랜잭션이 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 체크카드 토큰 지급 트랜잭션에 의해 전송된 결제 체크카드 토큰 볼륨을 소각처리할 수 있다. 즉, 은행 서버(200)는 체크카드 토큰 지급 트랜잭션을 조회하여 부정 사용이 확인될 경우 해당 체크카드 토큰을 버닝하여 체크카드 토큰의 부정 사용을 방지할 수 있다.On the other hand, when the check card token payment transaction is registered in the blockchain network 400 by making payment by the check card token in the same way as above, the bank server 200 checks the check card registered in the blockchain network 400. The card token payment transaction is checked (S38), whether the check card token payment transaction satisfies the predetermined check card token transfer condition, and if the check card token payment transaction satisfies the check card token transfer condition, the check card token payment transaction determines that this is normal, and causes the legacy server to transfer the user's financial assets corresponding to the payment debit card token volume from the user's account to the bank account (S39), and the debit card token payment transaction does not satisfy the debit card token transfer condition. If not, it is determined that the check card token payment transaction is not normal, and the payment check card token volume transmitted by the check card token payment transaction may be incinerated. That is, the bank server 200 can prevent fraudulent use of the check card token by burning the corresponding check card token when fraudulent use is confirmed by inquiring the check card token payment transaction.

이때, 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정될 수 있다. 일 예로, 송신자 월렛 어드레스가 사용자 월렛 어드레스일 경우에는 수신자 월렛 어드레스가 서비스 제공자 월렛 어드레스, 및 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스일 경우에만 정상적인 체크카드 토큰의 이체로 확인할 수 있다. 또한, 송신자 월렛 어드레스가 서비스 제공자 월렛 어드레스일 경우에는 수신자 월렛 어드레스가 사용자 월렛 어드레스, 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 은행 월렛 어드레스일 경우에만 정상적인 체크카드 토큰의 이체로 확인할 수 있다. 이에 더하여, 송신자 월렛 어드레스가 사용자 패밀리 월렛 어드레스 및 서비스 제공자 패밀리 월렛 어드레스일 경우에는 수신자 월렛 어드레스가 서비스 제공자 월렛 어드레스일 경우에만 정상적인 체크카드 토큰의 이체로 확인할 수 있다. 하지만, 본 발명이 이에 한정되지 않으며, 송신자 월렛 어드레스와 수신자 월렛 어드레스를 참조하여 불법적인 체크카드 토큰의 이체를 방지하기 위한 다양한 조건을 설정할 수 있다.At this time, the check card token transfer condition may be set by referring to the sender's wallet address corresponding to the sender of the check card token and the receiver's wallet address corresponding to the receiver. For example, if the sender's wallet address is the user's wallet address, the receiver's wallet address is the service provider's wallet address and the user family's user family wallet address corresponding to the user's wallet address. In addition, when the sender's wallet address is the service provider's wallet address, the recipient's wallet address can be confirmed by normal check card token transfer only when the user's wallet address, the service provider's family wallet address corresponding to the service provider's wallet address, and the bank's wallet address. there is. In addition, when the sender's wallet address is the user's family wallet address and the service provider's family wallet address, it can be verified as a normal check card token transfer only when the receiver's wallet address is the service provider's wallet address. However, the present invention is not limited thereto, and various conditions for preventing illegal transfer of check card tokens may be set by referring to the sender's wallet address and the receiver's wallet address.

다음으로, 도 6을 참조하여, 본 발명의 일 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자가 정산을 수행하는 과정을 설명하면 다음과 같다.Next, with reference to FIG. 6, a process in which a service provider performs settlement in a method for performing payment based on a blockchain token according to an embodiment of the present invention will be described as follows.

서비스 제공자는 자신이 제공한 서비스에 대하여 사용자 단말(100)에서 전송된 체크카드 토큰 볼륨을 포함하는 자신이 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위하여 서비스 제공 단말(300)을 통해 정산 요청 정보를 은행 서버(200)로 전송(S41)하여 줄 수 있다. 이때, 정산 요청 정보는 정산 요청을 진행하기 위한 은행 서버(200)에 대한 정보를 요청하는 것일 수 있다.The service provider uses the service provision terminal 300 to settle the settlement request information for the check card token volume it owns, including the check card token volume transmitted from the user terminal 100 for the service provided by the service provider. may be transmitted to the bank server 200 (S41). At this time, the settlement request information may be a request for information about the bank server 200 for proceeding with the settlement request.

그리고, 은행 서버(200)는 서비스 제공 단말(300)로부터의 정산 요청 정보에 대응하여 서비스 제공 단말(300)로 은행 DID 및 은행 월렛 어드레스를 포함하는 은행 서버 정보를 전송(S42)하여 줄 수 있다.In response to the settlement request information from the service providing terminal 300, the bank server 200 may transmit (S42) bank server information including the bank DID and bank wallet address to the service providing terminal 300. .

그러면, 서비스 제공 단말(300)은 은행 서버(200)로부터 전송된 은행 서버 정보를 검증(S43)할 수 있다.Then, the service providing terminal 300 may verify the bank server information transmitted from the bank server 200 (S43).

일 예로, 서비스 제공 단말(300)은 서비스 제공 단말(300)에 저장된 은행 월렛 어드레스를 참조하여 은행 서버(200)로부터 전송된 은행 월렛 어드레스를 검증할 수 있다. 이때, 서비스 제공 단말(300)은 가맹점 등록 과정에서 은행 월렛 어드레스를 수신하여 저장하고 있는 상태일 수 있다.For example, the service providing terminal 300 may verify the bank wallet address transmitted from the bank server 200 by referring to the bank wallet address stored in the service providing terminal 300 . At this time, the service providing terminal 300 may be in a state of receiving and storing the bank wallet address in the affiliate store registration process.

그리고, 은행 월렛 어드레스가 유효한 것으로 검증되면, 서비스 제공 단말(300)은 정산을 위한 정산 체크카드 토큰 볼륨을 서비스 제공자 월렛 어드레스로부터 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 블록체인 네트워크(400)에 등록(S44)하며, 체크카드 토큰 정산 트랜잭션에 대응하는 체크카드 토큰 정산 트랜잭션 아이디를 은행 서버(200)로 전송(S45)하여 줄 수 있다.And, if the bank wallet address is verified as valid, the service providing terminal 300 transmits the check card token settlement transaction for transferring the settlement check card token volume for settlement from the service provider wallet address to the bank wallet address in the blockchain network (400). ), and transmits the check card token settlement transaction ID corresponding to the check card token settlement transaction to the bank server 200 (S45).

그러면, 은행 서버(200)는 체크카드 토큰 정산 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 정산 트랜잭션이 검색되는지를 확인함으로써 정산 체크카드 토큰 볼륨이 은행 월렛 어드레스로 이체되었는지를 확인(S46)할 수 있다. 즉, 블록체인 네트워크(400)에서 체크카드 토큰 정산트랜잭션을 포함하는 블록체인 블록이 생성되지 않을 경우에는 체크카드 토큰 정산 트랜잭션 아이디를 통해 체크카드 토큰 정산 트랜잭션이 검색되지 않으므로 아직 정산 체크카드 토큰 볼륨이 은행 월렛으로 이체가 되지 않은 상태이며, 체크카드 토큰 정산 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 정산 트랜잭션이 검색되면 블록체인 네트워크(400)에서 체크카드 토큰 정산 트랜잭션을 포함하는 블록체인 블록이 생성되어 정산 체크카드 토큰 볼륨이 은행 월렛으로 이체가 된 것으로 확인할 수 있다.Then, the bank server 200 checks whether the settlement check card token volume has been transferred to the bank wallet address by checking whether the check card token settlement transaction is retrieved from the blockchain network 400 using the check card token settlement transaction ID. (S46) Yes. That is, if a blockchain block including the check card token settlement transaction is not created in the blockchain network 400, the check card token settlement transaction is not searched through the check card token settlement transaction ID, so the volume of the check card token settlement is yet to be determined. When the transfer has not been made to the bank wallet and the check card token settlement transaction is retrieved from the blockchain network 400 using the check card token settlement transaction ID, the block chain network 400 includes the check card token settlement transaction It can be confirmed that the block chain block is created and the volume of settlement check card tokens has been transferred to the bank wallet.

이후, 은행 서버(200)는 정산 체크카드 토큰 볼륨이 은행 월렛으로 이체된 것이 확인되면, 레거시 서버로 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 레거시 서버로 하여금 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 서비스 제공자의 금융 계좌로 입금하도록 하여 정산 체크카드 토큰 볼륨에 대한 정산을 수행(S47)할 수 있다. 이때, 은행 서버(200)는 서비스 제공자 DID를 레거시 서버로 전송하여 레거시 서버가 서비스 제공자 DID에 대응되는 서비스 제공자 가맹점 정보를 확인할 수 있도록 하며, 등록된 서비스 제공자 가맹점 정보에 대응되는 서비스 제공자의 금융 계좌를 확인할 수 있도록 할 수 있다.Thereafter, when the bank server 200 confirms that the volume of the settlement debit card token has been transferred to the bank wallet, the bank server 200 requests settlement of the volume of the settlement debit card token to the legacy server, thereby causing the legacy server to pay the amount corresponding to the volume of the settlement debit card token. It is possible to perform the settlement of the settlement check card token volume by depositing the asset into the financial account of the service provider (S47). At this time, the bank server 200 transmits the service provider DID to the legacy server so that the legacy server can check the service provider affiliate store information corresponding to the service provider DID, and the service provider's financial account corresponding to the registered service provider affiliate store information can be checked.

다음으로, 도 7을 참조하여 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자의 체크카드를 등록하는 과정을 설명하면 다음과 같다.Next, referring to FIG. 7, a process of registering a user's check card in a method of performing a payment based on a blockchain token according to another embodiment of the present invention will be described.

사용자에 대한 사용자 DID(decentralized identity), 사용자 DID에 대응되는 사용자 퍼블릭키, 및 사용자 DID에 대응되는 사용자 월렛 어드레스가 블록체인 네트워크(400)에 등록된 상태에서, 사용자는 사용자의 체크카드를 페이먼트 시스템에 등록하기 위하여, 사용자 단말(100)을 통해 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보를 은행 서버(200)로 전송(S51)하여 줄 수 있다.With the user decentralized identity (DID) for the user, the user public key corresponding to the user DID, and the user wallet address corresponding to the user DID registered in the blockchain network 400, the user sends the user's debit card to the payment system. In order to register, check card registration request information including user check card information corresponding to the user's check card may be transmitted to the bank server 200 through the user terminal 100 (S51).

이때, 사용자는 사용자 단말(100)을 통해 사용자 프라이빗키와 사용자 퍼블릭키를 생성하며, 사용자 월렛에 대응되는 사용자 월렛 어드레스를 생성할 수 있다. 그리고, 블록체인 네트워크(400)로 사용자 DID 생성을 요청하여 사용자 DID를 생성하며, 사용자 DID에 대응되는 사용자 퍼블릭키와 사용자 월렛 어드레스가 블록체인 네트워크(400)에 등록되도록 할 수 있다. 또한, 사용자는 사용자 월렛 어드레스에 쉽게 접근하기 위하여 사용자 단말(100)을 통해 사용자 프라이빗키에 비하여 쉬운 단어의 배열인 니모닉(mnemonic)을 생성할 수도 있다. 그리고, 사용자 체크카드 정보는 체크카드 번호, 체크카드 만료일, CVC 번호 등과 같이 사용자 체크카드와 관련한 정보일 수 있다.At this time, the user may generate a user private key and a user public key through the user terminal 100 and generate a user wallet address corresponding to the user wallet. In addition, a user DID may be generated by requesting generation of a user DID to the blockchain network 400, and a user public key and a user wallet address corresponding to the user DID may be registered in the blockchain network 400. In addition, the user may generate a mnemonic, which is an arrangement of words that are easier than the user private key, through the user terminal 100 in order to easily access the user wallet address. Also, the user debit card information may be information related to the user debit card, such as a debit card number, an expiration date of the debit card, and a CVC number.

그러면, 사용자의 체크카드 등록 요청 정보를 획득한 은행 서버(200)는 은행 서버(200)에 대응되는 레거시 서버로 하여금 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 사용자 체크카드 정보를 검증(S52)하도록 할 수 있다.Then, the bank server 200 that has obtained the user's debit card registration request information verifies the user debit card information by referring to the registered debit card information registered in the legacy server to the legacy server corresponding to the bank server 200 (S52 ) can be made.

한편, 사용자 단말(100)은 체크카드 등록을 요청하기 위하여 은행 서버(200)로 사용자 DID와 사용자 체크카드 정보를 사용자 프라이빗키로 암호화한 암호화된 사용자 체크카드 정보를 전송할 수 있으며, 그에 따라, 은행 서버(200)는 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하며 사용자 DID 문서로부터 사용자 퍼블릭키를 획득할 수 있다. 그리고, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 암호화된 사용자 체크카드 정보를 복호화하여 사용자 체크카드 정보를 획득한 다음, 사용자 체크카드 정보를 검증할 수도 있다.Meanwhile, the user terminal 100 may transmit encrypted user debit card information obtained by encrypting the user DID and user debit card information with the user private key to the bank server 200 to request debit card registration, and accordingly, the bank server 200 (200) obtains a user public key from the blockchain network 400 using the user DID, or obtains a user DID document corresponding to the user DID from the blockchain network 400 using the user DID through a resolver server. and obtain the user public key from the user DID document. In addition, the bank server 200 may obtain user debit card information by decrypting encrypted user debit card information using the user public key, and then verify the user debit card information.

이후, 사용자 체크카드 정보가 검증되어 레거시 서버로부터 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 은행 서버(200)는 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 사용자 단말(100)로 전송(S53)하여 줄 수 있다. 이때, 제1 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으나, 이에 한정되지 않으며 은행 서버(200)가 생성하는 임의의 정보를 포함할 수 있다.Then, when the user debit card information is verified and the verification result information on the user debit card information is transmitted from the legacy server, the bank server 200 sends the user information request information including the first signature verification value to the user terminal 100. It can be transmitted (S53). In this case, the first signature verification value may include a nonce, a timestamp, and the like, but is not limited thereto and may include arbitrary information generated by the bank server 200.

그리고, 은행 서버(200)로부터의 사용자 정보 요청에 대응하여 사용자 단말(100)은 사용자 프라이빗키를 이용하여 은행 서버(200)로부터 전송된 제1 서명확인값을 서명하여 제1 사용자 서명값을 생성하고, 사용자 DID 및 제1 사용자 서명값을 포함하는 사용자 정보를 은행 서버(200)로 전송(S54)하여 줄 수 있다.Then, in response to the user information request from the bank server 200, the user terminal 100 signs the first signature verification value transmitted from the bank server 200 using the user private key to generate a first user signature value. and transmits user information including the user DID and the first user signature value to the bank server 200 (S54).

이후, 사용자 단말(100)로부터의 사용자 DID 및 제1 사용자 서명값을 포함하는 사용자 정보를 획득한 은행 서버(200)는 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 퍼블릭키를 획득(S55, S56)하거나, 리졸버 서버로 하여금 사용자 DID를 이용하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 사용자 DID 문서로부터 사용자 퍼블릭키를 획득(S55, S56)할 수 있다.Thereafter, the bank server 200 that obtains the user information including the user DID and the first user signature value from the user terminal 100 refers to the user DID and provides a user public user corresponding to the user DID from the blockchain network 400. Acquiring a key (S55, S56) or obtaining a user public key from a user DID document by having the resolver server obtain a user DID document corresponding to the user DID from the blockchain network 400 using the user DID (S55, S56) can be done.

그리고, 은행 서버(200)는 블록체인 네트워크(400)로부터 획득한 사용자 퍼블릭키를 이용하여 사용자 단말(100)로부터 전송된 사용자 정보를 검증(S57)할 수 있다.Then, the bank server 200 may verify the user information transmitted from the user terminal 100 using the user public key obtained from the blockchain network 400 (S57).

일 예로, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 제1 사용자 서명값 및 제1 서명확인값을 검증할 수 있다. 즉, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 사용자 서명값을 복호화하여 제1 서명확인값을 추출하며, 추출된 제1 서명확인값이 사용자 단말(100)로 전송한 제1 서명확인값과 일치하는지를 확인함으로써 제1 사용자 서명값과 제1 서명확인값을 검증할 수 있다.For example, the bank server 200 may verify the first user signature value and the first signature verification value using the user public key. That is, the bank server 200 decrypts the user signature value using the user public key to extract the first signature verification value, and the extracted first signature verification value is the first signature verification value transmitted to the user terminal 100. It is possible to verify the first user signature value and the first signature verification value by verifying whether they match.

이후, 사용자 정보, 일 예로, 제1 사용자 서명값과 제1 서명확인값이 검증되면, 은행 서버(200)는 레거시 서버로 하여금 사용자 DID를 사용자 체크카드 정보와 매칭하여 저장(S58)하도록 할 수 있다.Subsequently, when the user information, for example, the first user signature value and the first signature verification value are verified, the bank server 200 may cause the legacy server to match and store the user DID with the user debit card information (S58). there is.

다음으로, 도 8을 참조하여 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자의 가맹점을 등록하는 과정을 설명하면 다음과 같다.Next, referring to FIG. 8, a process of registering an affiliated store of a service provider in a method of performing payment based on a blockchain token according to another embodiment of the present invention will be described.

서비스 제공자에 대한 서비스 제공자 DID, 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 블록체인 네트워크(400)에 등록된 상태에서, 서비스 제공자는 서비스 제공자의 가맹점을 페이먼트 시스템에 등록하기 위하여, 서비스 제공 단말(300)을 통해 서비스 제공자의 가맹점에 대응되는 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보를 은행 서버(200)로 전송(S61)하여 줄 수 있다.With the service provider DID for the service provider, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID registered in the blockchain network 400, the service provider is an affiliate of the service provider In order to register in the payment system, affiliate store registration request information including service provider affiliate store information corresponding to the service provider affiliate store may be transmitted to the bank server 200 through the service providing terminal 300 (S61).

이때, 서비스 제공자는 서비스 제공 단말(300)을 통해 서비스 제공자 프라이빗키와 서비스 제공자 퍼블릭키를 생성하며, 서비스 제공자 월렛에 대응되는 서비스 제공자 월렛 어드레스를 생성할 수 있다. 그리고, 블록체인 네트워크(400)로 서비스 제공자 DID 생성을 요청하여 서비스 제공자 DID를 생성하며, 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키와 서비스 제공자 월렛 어드레스가 블록체인 네트워크(400)에 등록되도록 할 수 있다. 또한, 서비스 제공자는 서비스 제공자 월렛 어드레스에 쉽게 접근하기 위하여 서비스 제공 단말(300)을 통해 서비스 제공자 프라이빗키에 비하여 쉬운 단어의 배열인 니모닉을 생성할 수도 있다. 그리고, 서비스 제공자 가맹점 정보는 가맹점 번호 등과 같이 가맹점과 관련한 정보일 수 있다.At this time, the service provider may generate a service provider private key and a service provider public key through the service provider terminal 300 and generate a service provider wallet address corresponding to the service provider wallet. In addition, the service provider DID is generated by requesting the service provider DID generation to the blockchain network 400, and the service provider public key and service provider wallet address corresponding to the service provider DID can be registered in the blockchain network 400. there is. In addition, the service provider may generate a mnemonic, which is an arrangement of easier words than the service provider private key, through the service provider terminal 300 in order to easily access the service provider wallet address. And, the service provider affiliate store information may be information related to affiliate stores, such as an affiliate store number.

그러면, 서비스 제공자의 가맹점 등록 요청 정보를 획득한 은행 서버(200)는 레거시 서버로 하여금 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 서비스 제공자 가맹점 정보를 검증(S62)하도록 할 수 있다.Then, the bank server 200 that has acquired the member store registration request information of the service provider may cause the legacy server to verify the service provider member store information by referring to the registered member store information registered in the legacy server (S62).

한편, 서비스 제공 단말(300)은 가맹점 등록을 요청하기 위하여 은행 서버(200)로 서비스 제공자 DID와 서비스 제공자 가맹점 정보를 서비스 제공자 프라이빗키로 암호화한 암호화된 서비스 제공자 가맹점 정보를 전송할 수 있으며, 그에 따라, 은행 서버(200)는 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버를 통해 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하며 서비스 제공자 DID 문서로부터 서비스 제공자 퍼블릭키를 획득할 수 있다. 그리고, 은행 서버(200)는 서비스 제공자 퍼블릭키를 이용하여 암호화된 서비스 제공자 가맹점 정보를 복호화하여 서비스 사용자 가맹점 정보를 획득한 다음, 서비스 제공자 가맹점 정보를 검증할 수도 있다.Meanwhile, the service providing terminal 300 may transmit encrypted service provider affiliate store information obtained by encrypting the service provider DID and service provider affiliate store information with the service provider private key to the bank server 200 to request affiliate store registration. Accordingly, The bank server 200 obtains the service provider public key from the blockchain network 400 using the service provider DID, or uses the service provider DID through the resolver server to obtain the corresponding service provider DID from the blockchain network 400. The service provider DID document is obtained, and the service provider public key can be obtained from the service provider DID document. In addition, the bank server 200 may decrypt encrypted service provider affiliate store information using the service provider public key to obtain service user affiliate store information, and then verify the service provider affiliate store information.

이후, 서비스 제공자 가맹점 정보가 검증되어 레거시 서버로부터 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 은행 서버(200)는 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 서비스 제공 단말(300)로 전송(S63)하여 줄 수 있다. 이때, 제3 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으나, 이에 한정되지 않으며 은행 서버(200)가 생성하는 임의의 정보를 포함할 수 있다.Then, when the service provider affiliate store information is verified and the verification result information on the service provider affiliate store information is transmitted from the legacy server, the bank server 200 transmits the service provider information request information including the third signature verification value to the service providing terminal 300 ) can be transmitted (S63). In this case, the third signature verification value may include a nonce, a timestamp, and the like, but is not limited thereto and may include arbitrary information generated by the bank server 200.

그리고, 은행 서버(200)로부터의 서비스 제공자 정보 요청에 대응하여 서비스 제공 단말(300)은 서비스 제공자 프라이빗키를 이용하여 은행 서버(200)로부터 전송된 제3 서명확인값을 서명하여 서비스 제공자 서명값을 생성하고, 서비스 제공자 DID 및 서비스 제공자 서명값을 포함하는 서비스 제공자 정보를 은행 서버(200)로 전송(S64)하여 줄 수 있다.Further, in response to the service provider information request from the bank server 200, the service providing terminal 300 signs the third signature verification value transmitted from the bank server 200 using the service provider private key to sign the service provider signature value. may be generated, and service provider information including a service provider DID and a service provider signature value may be transmitted to the bank server 200 (S64).

이후, 서비스 제공 단말(300)로부터의 서비스 제공자 DID 및 서비스 제공자 서명값을 포함하는 서비스 제공자 정보를 획득한 은행 서버(200)는 서비스 제공자 DID를 참조하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키를 획득(S65, S66)하거나, 리졸버 서버로 하여금 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 서비스 제공자 DID 문서로부터 서비스 제공자 퍼블릭키를 획득(S65, S66)할 수 있다.Thereafter, the bank server 200, which has obtained the service provider information including the service provider DID and the service provider signature value from the service providing terminal 300, refers to the service provider DID to obtain the service provider DID from the blockchain network 400. Acquiring the corresponding service provider public key (S65, S66) or having the resolver server acquire the service provider DID document corresponding to the service provider DID from the blockchain network 400 using the service provider DID to obtain the service provider DID document A service provider public key can be obtained from (S65, S66).

그리고, 은행 서버(200)는 블록체인 네트워크(400)로부터 획득한 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 단말(300)로부터 전송된 서비스 제공자 정보를 검증(S67)할 수 있다.In addition, the bank server 200 may verify the service provider information transmitted from the service provider terminal 300 using the service provider public key obtained from the blockchain network 400 (S67).

일 예로, 은행 서버(200)는 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 서명값 및 제3 서명확인값을 검증할 수 있다. 즉, 은행 서버(200)는 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 서명값을 복호화하여 제3 서명확인값을 추출하며, 추출된 제3 서명확인값이 서비스 제공자 단말(300)로 전송한 제3 서명확인값과 일치하는지를 확인함으로써 서비스 제공자 서명값과 제3 서명확인값을 검증할 수 있다.For example, the bank server 200 may verify the service provider signature value and the third signature verification value using the service provider public key. That is, the bank server 200 decrypts the service provider signature value using the service provider public key to extract a third signature verification value, and the extracted third signature verification value is transmitted to the service provider terminal 300. The service provider signature value and the third signature verification value may be verified by verifying whether they match the signature verification value.

이후, 서비스 제공자 정보, 일 예로, 서비스 제공자 서명값과 제3 서명확인값이 검증되면, 은행 서버(200)는 레거시 서버로 하여금 서비스 제공자 DID를 서비스 제공자 가맹점 정보와 매칭하여 저장(S68)하도록 할 수 있다.Subsequently, when the service provider information, for example, the service provider signature value and the third signature verification value are verified, the bank server 200 causes the legacy server to match the service provider DID with the service provider affiliate store information and store it (S68). can

다음으로, 도 9를 참조하여, 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자에게 체크카드 토큰을 발행하여 주는 과정을 설명하면 다음과 같다.Next, referring to FIG. 9, a process of issuing a check card token to a user in a method of performing a payment based on a blockchain token according to another embodiment of the present invention will be described.

사용자가 체크카드 토큰을 발급받기 위하여 사용자 단말(100)을 통해 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보를 은행 서버(200)로 전송(S71)하여 줄 수 있다.In order for the user to receive the check card token, check card token issuance request information including the user DID may be transmitted to the bank server 200 through the user terminal 100 (S71).

그러면, 사용자 단말(100)로부터 체크카드 토큰 발행 요청 정보를 획득한 은행 서버(200)는 사용자 단말(100)로 제2 서명확인값을 포함하는 서명 요청 정보를 전송(S72)하여 줄 수 있다. 이때, 제2 서명확인값은 논스, 타임스탬프 등을 포함할 수 있으나, 이에 한정되지 않으며 은행 서버(200)가 생성하는 임의의 정보를 포함할 수 있다.Then, the bank server 200 that has obtained the check card token issuance request information from the user terminal 100 may transmit the signature request information including the second signature verification value to the user terminal 100 (S72). In this case, the second signature verification value may include a nonce, a timestamp, etc., but is not limited thereto and may include arbitrary information generated by the bank server 200.

그리고, 사용자 단말(100)은 은행 서버(200)로부터 전송된 제2 서명확인값을 사용자 프라이빗키로 서명하여 제2 사용자 서명값을 생성한 다음, 사용자 DID와 제2 사용자 서명값을 은행 서버(200)로 전송(S73)하여 줄 수 있다.Then, the user terminal 100 generates a second user signature value by signing the second signature verification value transmitted from the bank server 200 with the user private key, and then converts the user DID and the second user signature value to the bank server 200. ) can be transmitted (S73).

그러면, 사용자 단말(100)로부터 사용자 DID와 제2 사용자 서명값을 획득한 은행 서버(200)는 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 퍼블릭키를 획득(S74, S75)하거나, 리졸버 서버로 하여금 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하며 사용자 DID 문서로부터 사용자 퍼블릭키를 획득할 수 있다.Then, having obtained the user DID and the second user signature value from the user terminal 100, the bank server 200 refers to the user DID and obtains the user public key corresponding to the user DID from the blockchain network 400 (S74, S75) Alternatively, the resolver server may obtain a user DID document corresponding to the user DID from the blockchain network 400 by referring to the user DID, and the user public key may be obtained from the user DID document.

이후, 은행 서버(200)는 블록체인 네트워크(400)로부터 획득한 사용자 퍼블릭키를 이용하여 제2 사용자 서명값을 검증(S76)할 수 있다.Thereafter, the bank server 200 may verify the second user signature value using the user public key obtained from the blockchain network 400 (S76).

일 예로, 은행 서버(200)는 사용자 퍼블릭키를 이용하여 제2 사용자 서명값을 복호화하여 제2 서명확인값을 추출하며, 제2 사용자 서명값으로부터 추출된 제2 서명확인값이 사용자 단말(100)로 전송한 제2 서명확인값과 일치하는지를 확인함으로써 제2 사용자 서명값 및 제2 서명확인값을 검증할 수 있다.For example, the bank server 200 decrypts the second user signature value using the user public key to extract the second signature verification value, and the second signature verification value extracted from the second user signature value is the user terminal 100 ), it is possible to verify the second user signature value and the second signature verification value by confirming whether they match the second signature verification value transmitted to the user.

그리고, 은행 서버(200)는 제2 사용자 서명값 및 제2 서명확인값이 검증되면, 레거시 서버를 통해 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인(S77)할 수 있다. 이때, 레거시 서버는 사용자 DID에 대응되는 사용자 체크카드 정보를 확인하고, 사용자 체크카드 정보를 참조하여 사용자 체크카드 정보에 대응되는 사용자의 계좌의 금융자산을 확인하며, 확인된 사용자의 금융자산에 대응되는 발급 가능한 토큰 볼륨을 확인하여 줄 수 있다.In addition, when the second user signature value and the second signature verification value are verified, the bank server 200 transmits issueable check card token volume information, which is information on the issueable check card token volume corresponding to the user DID, through the legacy server. It can be confirmed (S77). At this time, the legacy server checks the user debit card information corresponding to the user DID, checks the financial assets of the user's account corresponding to the user debit card information by referring to the user debit card information, and responds to the checked financial assets of the user. You can check the volume of tokens that can be issued.

이후, 은행 서버(200)는 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 월렛 어드레스를 획득(S78, S79)하거나, 리졸버 서버로 하여금 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하며 사용자 DID 문서로부터 사용자 월렛 어드레스를 획득할 수 있다.Thereafter, the bank server 200 refers to the user DID and obtains the user wallet address corresponding to the user DID from the blockchain network 400 (S78 and S79), or causes the resolver server to refer to the user DID and obtains the user wallet address (S78, S79). 400) to obtain a user DID document corresponding to the user DID, and a user wallet address can be obtained from the user DID document.

한편, 상기에서는 블록체인 네트워크(400)로부터 사용자 퍼블릭키와 사용자 월렛 어드레스를 획득하는 프로세스를 각각 수행하였으나, 이와는 달리, 한번의 프로세스에 의해 블록체인 네트워크(400)로부터 사용자 퍼블릭키와 사용자 월렛 어드레스를 획득할 수 있다.Meanwhile, in the above, the process of acquiring the user public key and the user wallet address from the blockchain network 400 was performed, respectively, but unlike this, the user public key and the user wallet address were obtained from the blockchain network 400 in one process. can be obtained

즉, 사용자 단말(100)로부터 사용자 DID와 제2 사용자 서명값을 획득한 은행 서버(200)는 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 퍼블릭키와 사용자 월렛 어드레스를 획득하거나, 리졸버 서버로 하여금 사용자 DID를 참조하여 블록체인 네트워크(400)로부터 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하며 사용자 DID 문서로부터 사용자 퍼블릭키와 사용자 월렛 어드레스를 획득할 수 있다.That is, the bank server 200 that has obtained the user DID and the second user signature value from the user terminal 100 refers to the user DID and obtains the user public key and user wallet address corresponding to the user DID from the blockchain network 400. Alternatively, the resolver server may obtain a user DID document corresponding to the user DID from the blockchain network 400 by referring to the user DID, and the user public key and user wallet address may be obtained from the user DID document.

그리고, 은행 서버(200)는 블록체인 네트워크(400)로부터 획득한 사용자 퍼블릭키를 이용하여 제2 사용자 서명값을 검증할 수 있으며, 제2 사용자 서명값 및 제2 서명확인값이 검증되면, 레거시 서버를 통해 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인할 수 있다.In addition, the bank server 200 may verify the second user signature value using the user public key obtained from the blockchain network 400, and when the second user signature value and the second signature verification value are verified, the legacy It is possible to check issueable check card token volume information, which is information on the issueable check card token volume corresponding to the user DID, through the server.

이후, 은행 서버(200)는 레거시 서버를 통해 확인된 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 블록체인 네트워크(400)에 등록(S80)함으로써 발급 가능 체크카드 토큰 볼륨이 은행 월렛 어드레스로부터 사용자 월렛 어드레스로 전송되도록 할 수 있다. 이때, 은행 서버(200)는 레거시 서버를 통해 사용자의 계좌의 금융자산의 변동 사항을 기설정된 시간 단위로 확인하며, 사용자의 금융자산의 변동 사항에 대응하여 사용자에게 체크카드 토큰을 추가적으로 발급하여 주거나, 사용자에게 발급된 체크카드 토큰을 소각함으로써, 사용자의 금융자산과 사용자가 소유한 체크카드 토큰 볼륨이 서로 대응되도록 할 수 있다.Thereafter, the bank server 200 executes a check card token issuance transaction for transferring the issuable check card token volume corresponding to the issuable check card token volume information confirmed through the legacy server from the bank wallet address to the user wallet address. By registering in the network 400 (S80), the issuable check card token volume can be transferred from the bank wallet address to the user wallet address. At this time, the bank server 200 checks changes in the financial assets of the user's account in units of preset time through the legacy server, and issues additional check card tokens to the user in response to changes in the user's financial assets. , By incinerating the check card token issued to the user, the user's financial assets and the volume of the check card token owned by the user can correspond to each other.

이후, 은행 서버(200)는 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 사용자 단말(100)로 전송(S81)하여 줄 수 있다.Thereafter, the bank server 200 may transmit the check card token issuing transaction ID corresponding to the check card token issuing transaction to the user terminal 100 (S81).

그러면, 사용자 단말(100)은 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있다. 즉, 블록체인 네트워크(400)에서 체크카드 토큰 발행 트랜잭션을 포함하는 블록체인 블록이 생성되지 않을 경우에는 체크카드 토큰 발행 트랜잭션 아이디를 통해 체크카드 토큰 발행 트랜잭션이 검색되지 않으므로 아직 발급 가능 체크카드 토큰 볼륨이 사용자 월렛으로 이체가 되지 않은 상태이며, 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 발행 트랜잭션이 검색되면 블록체인 네트워크(400)에서 체크카드 토큰 발행 트랜잭션을 포함하는 블록체인 블록이 생성되어 발급 가능 체크카드 토큰 볼륨이 사용자 월렛으로 이체가 된 것으로 확인할 수 있다.Then, the user terminal 100 can check whether the issuable check card token volume has been issued by checking whether the check card token issuing transaction is retrieved from the blockchain network 400 using the check card token issuing transaction ID. That is, if a blockchain block including a check card token issuance transaction is not created in the blockchain network 400, the check card token issuance transaction is not searched through the check card token issuance transaction ID, so the check card token volume that can be issued is still available. If the transaction has not been transferred to this user wallet and the check card token issuance transaction is retrieved from the blockchain network (400) using the check card token issuance transaction ID, the check card token issuance transaction is included in the blockchain network (400). It can be confirmed that the block chain block is created and the volume of issuable check card tokens has been transferred to the user's wallet.

한편, 상기에서는 사용자가 체크카드 토큰의 발행을 요청함으로써, 은행 서버(200)가 사용자 체크카드 한도에 대응하여 발급 가능한 체크카드 토큰 볼륨을 확인한 후 체크카드 토큰을 발급하여 주었으나, 이와는 달리, 사용자가 발급을 원하는 체크카드 토큰 볼륨에 대한 발행을 요청할 수 있으며, 이 경우, 은행 서버(200)는 사용자가 발행을 요청한 체크카드 토큰 볼륨이 사용자의 금융자산 내에서 발급 가능한지를 확인한 후 사용자가 요청한 체크카드 토큰 볼륨을 발행하여 줄 수도 있다.Meanwhile, in the above, when a user requests issuance of a check card token, the bank server 200 checks the volume of check card tokens that can be issued in response to the limit of the user's check card, and then issues the check card token. In this case, the bank server 200 checks whether the volume of check card tokens requested by the user can be issued within the user's financial assets, and then requests the issuance of the check card token volume requested by the user. Card token volume can also be issued.

또한, 은행 서버(200)도 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있다.In addition, the bank server 200 can also check whether the issuable check card token volume has been issued by checking whether the check card token issuing transaction is retrieved from the blockchain network 400 using the check card token issuing transaction ID.

다음으로, 도 10을 참조하여, 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 사용자가 체크카드 토큰을 이용하여 서비스 제공자에게 결제하는 과정을 설명하면 다음과 같다.Next, with reference to FIG. 10, a process in which a user pays a service provider using a check card token in a method for performing a payment based on a blockchain token according to another embodiment of the present invention will be described.

사용자가 서비스 제공 단말(300)에서 제공되는 서비스, 즉, 서비스 제공자 가맹점에서 제공받거나 제공받기 위한 서비스를 이용하면, 서비스 제공 단말(300)은 사용자 단말(100)로 결제 요청 정보를 전송(S91)할 수 있다.When a user uses a service provided by the service providing terminal 300, that is, a service to be provided or to be provided from a service provider affiliated store, the service providing terminal 300 transmits payment request information to the user terminal 100 (S91) can do.

이때, 결제 요청 정보는 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보 및 서비스 내역 정보를 포함할 수 있다.At this time, the payment request information may include payment debit card token volume information and service detail information, which are information on the check card token volume to be paid for payment.

또한, 결제 요청 정보는 결제 체크카드 토큰 볼륨 정보 및 서비스 내역 정보 중 적어도 하나를 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값과, 서비스 제공자 DID를 포함할 수 있다. 그러면, 사용자 단말(100)은 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키를 획득(S92, S93)하거나, 리졸버 서버를 통해 서비스 제공자 DID를 이용하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하며 서비스 제공자 DID 문서로부터 서비스 제공자 퍼블릭키를 획득할 수 있으며, 블록체인 네트워크(400)로부터 획득한 서비스 제공자 퍼블릭키를 이용하여 서비스 제공자 서명값을 검증(S94)할 수 있다.In addition, the payment request information may include a service provider signature value in which at least one of the payment debit card token volume information and service detail information is signed with the service provider private key, and the service provider DID. Then, the user terminal 100 obtains the service provider public key corresponding to the service provider DID from the blockchain network 400 using the service provider DID (S92, S93), or uses the service provider DID through the resolver server The service provider DID document corresponding to the service provider DID is acquired from the blockchain network 400, the service provider public key can be obtained from the service provider DID document, and the service provider public key obtained from the blockchain network 400 The service provider signature value can be verified (S94).

이후, 사용자 단말(100)은 서비스 제공자 DID를 참조하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스를 획득(S95, S96)하거나, 리졸버 서버로 하여금 서비스 제공자 DID를 참조하여 블록체인 네트워크(400)로부터 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하며 서비스 제공자 DID 문서로부터 서비스 제공자 월렛 어드레스를 획득한 다음, 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 사용자 월렛 어드레스로부터 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 블록체인 네트워크(400)에 등록(S97)함으로써 결제 체크카드 토큰 볼륨이 사용자 월렛 어드레스로부터 서비스 제공자 월렛 어드레스로 이체되도록 할 수 있다.Thereafter, the user terminal 100 refers to the service provider DID and acquires the service provider wallet address corresponding to the service provider DID from the blockchain network 400 (S95, S96), or causes the resolver server to refer to the service provider DID Obtain the service provider DID document corresponding to the service provider DID from the blockchain network 400, obtain the service provider wallet address from the service provider DID document, and then obtain the payment debit card token volume corresponding to the payment debit card token volume information. By registering the check card token payment transaction for transfer from the user wallet address to the service provider wallet address in the blockchain network 400 (S97), the payment check card token volume can be transferred from the user wallet address to the service provider wallet address. .

그리고, 사용자 단말(100)은 체크카드 토큰 지급 트랜잭션에 대응되는 체크카드 토큰 지급 트랜잭션 아이디를 서비스 제공 단말(300)로 전송(S98)하여 줄 수 있다.Then, the user terminal 100 may transmit the check card token payment transaction ID corresponding to the check card token payment transaction to the service providing terminal 300 (S98).

그러면, 서비스 제공 단말(300)은 체크카드 토큰 지급 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 지급 트랜잭션이 검색되는지를 확인함으로써 결제 체크카드 토큰 볼륨이 서비스 제공자 월렛으로 이체되었는지를 확인할 수 있으며, 결제 체크카드 토큰 볼륨의 이체를 확인함으로써 결제가 완료되었음을 확인(S99)할 수 있다.Then, the service providing terminal 300 checks whether the check card token payment transaction is retrieved from the blockchain network 400 using the check card token payment transaction ID, thereby determining whether the payment check card token volume has been transferred to the service provider wallet. It can be checked, and it can be confirmed that the payment has been completed (S99) by checking the transfer of the payment debit card token volume.

또한, 사용자 단말(100)은 체크카드 토큰 지급 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 지급 트랜잭션이 검색되는지를 확인함으로써 결제 체크카드 토큰 볼륨이 사용자 월렛으로부터 서비스 제공자 월렛으로 이체되었는지를 확인할 수 있다.In addition, the user terminal 100 checks whether the check card token payment transaction is retrieved from the blockchain network 400 using the check card token payment transaction ID, so that the payment check card token volume is transferred from the user wallet to the service provider wallet. You can check if it has been done.

한편, 상기에서와 같은 방법에 의해 체크카드 토큰에 의한 페이먼트가 이루어짐으로써 체크카드 토큰 지급 트랜잭션이 블록체인 네트워크(400)에 등록되면, 은행 서버(200)는 블록체인 네트워크(400)에 등록된 체크카드 토큰 지급 트랜잭션을 확인(S100)하고, 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 체크카드 토큰 지급 트랜잭션이 체크카드 토큰 이체 조건을 만족할 경우에는 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 레거시 서버로 하여금 사용자의 계좌로부터 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행 계좌로 이체(S101)하도록 하며, 체크카드 토큰 지급 트랜잭션이 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 체크카드 토큰 지급 트랜잭션에 의해 전송된 결제 체크카드 토큰 볼륨을 소각처리할 수 있다. 즉, 은행 서버(200)는 체크카드 토큰 지급 트랜잭션을 조회하여 부정 사용이 확인될 경우 해당 체크카드 토큰을 버닝하여 체크카드 토큰의 부정 사용을 방지할 수 있다.On the other hand, when the check card token payment transaction is registered in the blockchain network 400 by making payment by the check card token in the same way as above, the bank server 200 checks the check card registered in the blockchain network 400. It checks the card token payment transaction (S100), checks whether the check card token payment transaction satisfies the predetermined check card token transfer condition, and if the check card token payment transaction satisfies the check card token transfer condition, the check card token payment transaction determines that this is normal, and causes the legacy server to transfer the user's financial assets corresponding to the payment debit card token volume from the user's account to the bank account (S101), and the debit card token payment transaction does not satisfy the debit card token transfer condition. If not, it is determined that the check card token payment transaction is not normal, and the payment check card token volume transmitted by the check card token payment transaction may be incinerated. That is, the bank server 200 can prevent fraudulent use of the check card token by burning the corresponding check card token when fraudulent use is confirmed by inquiring the check card token payment transaction.

이때, 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정될 수 있다. 일 예로, 송신자 월렛 어드레스가 사용자 월렛 어드레스일 경우에는 수신자 월렛 어드레스가 서비스 제공자 월렛 어드레스, 및 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스일 경우에만 정상적인 체크카드 토큰의 이체로 확인할 수 있다. 또한, 송신자 월렛 어드레스가 서비스 제공자 월렛 어드레스일 경우에는 수신자 월렛 어드레스가 사용자 월렛 어드레스, 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 은행 월렛 어드레스일 경우에만 정상적인 체크카드 토큰의 이체로 확인할 수 있다. 이에 더하여, 송신자 월렛 어드레스가 사용자 패밀리 월렛 어드레스 및 서비스 제공자 패밀리 월렛 어드레스일 경우에는 수신자 월렛 어드레스가 서비스 제공자 월렛 어드레스일 경우에만 정상적인 체크카드 토큰의 이체로 확인할 수 있다. 하지만, 본 발명이 이에 한정되지 않으며, 송신자 월렛 어드레스와 수신자 월렛 어드레스를 참조하여 불법적인 체크카드 토큰의 이체를 방지하기 위한 다양한 조건을 설정할 수 있다.At this time, the check card token transfer condition may be set by referring to the sender's wallet address corresponding to the sender of the check card token and the receiver's wallet address corresponding to the receiver. For example, if the sender's wallet address is the user's wallet address, the receiver's wallet address is the service provider's wallet address and the user family's user family wallet address corresponding to the user's wallet address. In addition, when the sender's wallet address is the service provider's wallet address, the recipient's wallet address can be confirmed by normal check card token transfer only when the user's wallet address, the service provider's family wallet address corresponding to the service provider's wallet address, and the bank's wallet address. there is. In addition, when the sender's wallet address is the user's family wallet address and the service provider's family wallet address, it can be verified as a normal check card token transfer only when the receiver's wallet address is the service provider's wallet address. However, the present invention is not limited thereto, and various conditions for preventing illegal transfer of check card tokens may be set by referring to the sender's wallet address and the receiver's wallet address.

다음으로, 도 11을 참조하여, 본 발명의 다른 실시예에 따른 블록체인 토큰 기반의 페이먼트를 수행하는 방법에서 서비스 제공자가 정산을 수행하는 과정을 설명하면 다음과 같다.Next, with reference to FIG. 11, a process in which a service provider performs settlement in a method for performing payment based on a blockchain token according to another embodiment of the present invention will be described.

서비스 제공자는 자신이 제공한 서비스에 대하여 사용자 단말(100)에서 전송된 체크카드 토큰 볼륨을 포함하는 자신이 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위하여 서비스 제공 단말(300)을 통해 정산 요청 정보를 은행 서버(200)로 전송(S111)하여 줄 수 있다. 이때, 정산 요청 정보는 정산 요청을 진행하기 위한 은행 서버(200)에 대한 정보를 요청하는 것일 수 있다.The service provider uses the service provision terminal 300 to settle the settlement request information for the check card token volume it owns, including the check card token volume transmitted from the user terminal 100 for the service provided by the service provider. may be transmitted to the bank server 200 (S111). At this time, the settlement request information may be a request for information about the bank server 200 for proceeding with the settlement request.

그리고, 은행 서버(200)는 서비스 제공 단말(300)로부터의 정산 요청 정보에 대응하여 서비스 제공 단말(300)로 은행 DID 및 은행 월렛 어드레스를 포함하는 은행 서버 정보를 전송(S112)하여 줄 수 있다. 이때, 은행 서버(200)는 은행 프라이빗키, 은행 퍼블릭키, 및 은행 월렛 어드레스를 생성한 다음, 블록체인 네트워크(400)를 통해 은행 DID를 생성하며, 은행 퍼블릭키와 은행 월렛 어드레스가 블록체인 네트워크(400)에 등록한 상태일 수 있다.The bank server 200 may transmit bank server information including the bank DID and bank wallet address to the service providing terminal 300 in response to the settlement request information from the service providing terminal 300 (S112). . At this time, the bank server 200 generates a bank private key, a bank public key, and a bank wallet address, and then generates a bank DID through the blockchain network 400, and the bank public key and bank wallet address are stored in the blockchain network. (400) may be registered.

그러면, 서비스 제공 단말(300)은 은행 서버(200)로부터 전송된 은행 서버 정보를 검증(S115)할 수 있다.Then, the service providing terminal 300 may verify the bank server information transmitted from the bank server 200 (S115).

일 예로, 서비스 제공 단말(300)은 은행 DID를 참조하여 블록체인 네트워크(400)로부터 은행 DID에 대응되는 은행 월렛 어드레스를 획득(S113, S114)하거나, 리졸버 서버로 하여금 은행 DID를 참조하여 블록체인 네트워크(400)로부터 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 은행 DID 문서로부터 은행 월렛 어드레스를 획득하고, 블록체인 네트워크(400)로부터 획득한 은행 월렛 어드레스를 참조하여 은행 서버(200)로부터 전송된 은행 서버 정보, 즉, 은행 월렛 어드레스를 검증할 수 있다.For example, the service providing terminal 300 obtains a bank wallet address corresponding to the bank DID from the blockchain network 400 by referring to the bank DID (S113, S114), or causes the resolver server to refer to the bank DID to obtain a bank wallet address. Obtain a bank DID document corresponding to the bank DID from the network 400, obtain a bank wallet address from the bank DID document, and transmit from the bank server 200 by referring to the bank wallet address obtained from the blockchain network 400. The bank server information, that is, the bank wallet address, can be verified.

그리고, 은행 월렛 어드레스가 유효한 것으로 검증되면, 서비스 제공 단말(300)은 정산을 위한 정산 체크카드 토큰 볼륨을 서비스 제공자 월렛 어드레스로부터 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 블록체인 네트워크(400)에 등록(S116)하며, 체크카드 토큰 정산 트랜잭션에 대응하는 체크카드 토큰 정산 트랜잭션 아이디를 은행 서버(200)로 전송(S117)하여 줄 수 있다.And, if the bank wallet address is verified as valid, the service providing terminal 300 transmits the check card token settlement transaction for transferring the settlement check card token volume for settlement from the service provider wallet address to the bank wallet address in the blockchain network (400). ), and transmits the check card token settlement transaction ID corresponding to the check card token settlement transaction to the bank server 200 (S117).

그러면, 은행 서버(200)는 체크카드 토큰 정산 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 정산 트랜잭션이 검색되는지를 확인함으로써 정산 체크카드 토큰 볼륨이 은행 월렛 어드레스로 이체되었는지를 확인(S118)할 수 있다. 즉, 블록체인 네트워크(400)에서 체크카드 토큰 정산트랜잭션을 포함하는 블록체인 블록이 생성되지 않을 경우에는 체크카드 토큰 정산 트랜잭션 아이디를 통해 체크카드 토큰 정산 트랜잭션이 검색되지 않으므로 아직 정산 체크카드 토큰 볼륨이 은행 월렛으로 이체가 되지 않은 상태이며, 체크카드 토큰 정산 트랜잭션 아이디를 이용하여 블록체인 네트워크로(400)부터 체크카드 토큰 정산 트랜잭션이 검색되면 블록체인 네트워크(400)에서 체크카드 토큰 정산 트랜잭션을 포함하는 블록체인 블록이 생성되어 정산 체크카드 토큰 볼륨이 은행 월렛으로 이체가 된 것으로 확인할 수 있다.Then, the bank server 200 checks whether the settlement check card token volume has been transferred to the bank wallet address by checking whether the check card token settlement transaction is retrieved from the blockchain network 400 using the check card token settlement transaction ID. (S118). That is, if a blockchain block including the check card token settlement transaction is not created in the blockchain network 400, the check card token settlement transaction is not searched through the check card token settlement transaction ID, so the volume of the check card token settlement is yet to be determined. When the transfer has not been made to the bank wallet and the check card token settlement transaction is retrieved from the blockchain network 400 using the check card token settlement transaction ID, the block chain network 400 includes the check card token settlement transaction It can be confirmed that the block chain block is created and the volume of settlement check card tokens has been transferred to the bank wallet.

이후, 은행 서버(200)는 정산 체크카드 토큰 볼륨이 은행 월렛으로 이체된 것이 확인되면, 레거시 서버로 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 레거시 서버로 하여금 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 서비스 제공자의 금융 계좌로 입금하도록 하여 정산 체크카드 토큰 볼륨에 대한 정산을 수행(S119)할 수 있다. 이때, 은행 서버(200)는 서비스 제공자 DID를 레거시 서버로 전송하여 레거시 서버가 서비스 제공자 DID에 대응되는 서비스 제공자 가맹점 정보를 확인할 수 있도록 하며, 등록된 서비스 제공자 가맹점 정보에 대응되는 서비스 제공자의 금융 계좌를 확인할 수 있도록 할 수 있다.Thereafter, when the bank server 200 confirms that the volume of the settlement debit card token has been transferred to the bank wallet, the bank server 200 requests settlement of the volume of the settlement debit card token to the legacy server, thereby causing the legacy server to pay the amount corresponding to the volume of the settlement debit card token. The asset may be deposited into the financial account of the service provider, and the settlement of the settlement check card token volume may be performed (S119). At this time, the bank server 200 transmits the service provider DID to the legacy server so that the legacy server can check the service provider affiliate store information corresponding to the service provider DID, and the service provider's financial account corresponding to the registered service provider affiliate store information can be checked.

한편, 상기에서는 은행 서버(200)가 서비스 제공 단말(300)로 은행 DID와 은행 월렛 어드레스를 전송하여, 서비스 제공 단말(300)이 은행 월렛 어드레스를 검증하도록 하였으나, 이와는 달리, 별도의 검증 프로세스를 진행하지 않고 블록체인 네트워크(400)로부터 획득한 은행 월렛 어드레스를 이용하여 정산 프로세스를 수행할 수도 있다.Meanwhile, in the above, the bank server 200 transmits the bank DID and the bank wallet address to the service providing terminal 300 so that the service providing terminal 300 verifies the bank wallet address. The settlement process may be performed using the bank wallet address obtained from the blockchain network 400 without proceeding.

즉, 은행 서버(200)는 정산 요청 정보에 대응하여 서비스 제공 단말(300)로 은행 DID를 전송함으로써 서비스 제공 단말(300)로 하여금 은행 DID를 참조하여 블록체인 네트워크(400)로부터 은행 DID에 대응되는 은행 월렛 어드레스를 획득하거나, 리졸버 서버로 하여금 은행 DID를 참조하여 블록체인 네트워크(400)로부터 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 은행 DID 문서로부터 은행 월렛 어드레스를 획득하도록 한 다음, 정산 체크카드 토큰 볼륨을 서비스 제공자 월렛 어드레스로부터 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 블록체인 네트워크(400)에 등록하도록 할 수도 있다.That is, the bank server 200 transmits the bank DID to the service providing terminal 300 in response to the settlement request information, so that the service providing terminal 300 refers to the bank DID and responds to the bank DID from the blockchain network 400. obtain a bank wallet address, or have the resolver server obtain a bank DID document corresponding to the bank DID from the blockchain network 400 by referring to the bank DID, and obtain a bank wallet address from the bank DID document, and then settle It is also possible to register a check card token settlement transaction in the blockchain network 400 to transfer the check card token volume from the service provider wallet address to the bank wallet address.

한편, 상기에서는 블록체인 토큰 기반의 카드 토큰을 이용하는 것에 대하여 설명하였으나, 은행 서버(200)는 멤버쉽 포인트 등에 대해서도 멤버쉽 토큰을 발행하여 결제에 사용하도록 할 수도 있다.Meanwhile, although the use of a blockchain token-based card token has been described above, the bank server 200 may issue membership tokens for membership points and the like to be used for payment.

이때, 멤버쉽 토큰은 체크카드 토큰과는 별도의 토큰으로 발행하여 주거나, 체크카드 토큰으로 발행하여 주되 별도의 사용자의 월렛을 이용하여 지급할 수 있다.At this time, the membership token may be issued as a token separate from the check card token, or may be issued as a check card token and paid using a separate wallet of the user.

또한, 은행 서버(200)는 사용자의 카드 사용 실적에 대한 스마트 컨트랙트에 따라 별도의 사용자 월렛 어드레스를 제공하고, 리워드 토큰을 발행하여 줄 수도 있다,In addition, the bank server 200 may provide a separate user wallet address and issue a reward token according to the smart contract for the user's card usage record.

이에 더하여, 은행 서버(200)는 할인 쿠폰 토큰을 발행하여 줄 수도 있다.In addition to this, the bank server 200 may issue a discount coupon token.

그리고, 은행 서버(200)는 가맹점 할부 토큰을 발행하여 줄 수도 있다. 즉, 사용자, 서비스 제공자, 및 은행 사이의 할부 비용 정산을 위한 가맹점 할부 토큰을 발행하여 주고 이를 통해 할부 거래에 대한 지급을 정산할 수 있다.Also, the bank server 200 may issue an affiliate store installment token. That is, an affiliated store installment token is issued for settlement of installment costs between the user, the service provider, and the bank, and payment for the installment transaction can be settled through this.

또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the embodiments according to the present invention described above may 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 instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those produced by a compiler. The hardware device may be configured to act as one or more software modules to perform processing according to the present invention and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described by specific details such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , Those skilled in the art to which the present invention pertains may seek various modifications and variations from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and not only the claims described later, but also all modifications equivalent or equivalent to these claims belong to the scope of the spirit of the present invention. will do it

1000: 페이먼트 시스템
100: 사용자 단말,
200: 은행 서버,
300: 서비스 제공 단말,
400: 블록체인 네트워크
1000: Payment system
100: user terminal,
200: bank server;
300: service providing terminal,
400: blockchain network

Claims (28)

블록체인 토큰 기반으로 페이먼트를 수행하는 방법에 있어서,
(a) 사용자 DID(decentralized identity)와 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버가, 상기 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 단계;
(b) 상기 사용자 단말로부터 상기 사용자 DID, 사용자 월렛 어드레스, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 은행 서버가, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 사용자 월렛 어드레스를 상기 사용자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 단계;
(c) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 은행 서버가, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 단계; 및
(d) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 서비스 제공자 월렛 어드레스, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 은행 서버가, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행 계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 단계;
를 포함하며,
상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
In the method of performing payment based on blockchain token,
(a) In a state where a user DID (decentralized identity) and a user public key corresponding to the user DID are registered in the blockchain network, a check card registration request including user check card information corresponding to the user's check card is requested from the user terminal When the information is obtained, the bank server causes the legacy server corresponding to the bank server to verify the user debit card information by referring to the registered debit card information registered in the legacy server, and the user debit card information is verified transmitting user information request information including a first signature verification value to the user terminal when verification result information on the user check card information is transmitted from the legacy server;
(b) When the user DID, the user wallet address, and the first user signature value obtained by signing the first signature verification value with the user private key are obtained from the user terminal, the bank server refers to the user DID to determine the block Obtain the user public key corresponding to the user DID from the chain network, or cause a resolver server to obtain a user DID document corresponding to the user DID from the blockchain network using the user DID, from the user DID document The user public key is obtained, the first user signature value and the first signature verification value are verified using the user public key, and when the first user signature value and the first signature verification value are verified, the matching and storing a user wallet address with the user DID, and causing the legacy server to match and store the user DID with the user debit card information;
(c) When the check card token issuance request information including the user DID is obtained from the user terminal, the bank server transmits signature request information including a second signature verification value to the user terminal, and the user terminal When a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained from, the user public key corresponding to the user DID is obtained from the blockchain network with reference to the user DID. Alternatively, cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, obtain the user public key from the user DID document, and obtain the user public key When the second user signature value and the second signature verification value are verified using the second user signature value and the second signature verification value, and the second user signature value and the second signature verification value are verified, the issuable check corresponding to the user DID is performed through the legacy server. Checking issuable check card token volume information, which is information on card token volume, and transmitting the issuable check card token volume corresponding to the checked issuable check card token volume information from the bank wallet address to the user wallet address registering a debit card token issuance transaction with the blockchain network so that the issuable debit card token volume is transferred from the bank wallet address to the user wallet address; and
(d) The user's service providing terminal - The service provider DID corresponding to the service providing terminal and the service provider public key corresponding to the service provider DID are registered in the blockchain network, and the service provider wallet corresponding to the service provider DID The address is matched to the service provider DID and stored in the bank server, and the merchant information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server. Corresponds to payment request information transmitted from the providing terminal - the payment request information includes the service provider wallet address, payment check card token volume information, which is information on the check card token volume to be paid for payment, and service details information - When the user terminal registers a check card token payment transaction for transmitting the payment check card token volume corresponding to the payment check card token volume information from the user wallet address to the service provider wallet address in the blockchain network, the The bank server checks whether the check card token payment transaction satisfies a predetermined check card token transfer condition, and if the check card token payment transaction satisfies the check card token transfer condition, the check card token payment transaction is deemed to be normal. and causes the legacy server to transfer the user's financial assets corresponding to the payment debit card token volume from the user's account to a bank account, and determines whether the debit card token payment transaction does not satisfy the debit card token transfer condition. if the check card token payment transaction is not normal, incinerating the payment debit card token volume transmitted by the check card token payment transaction;
Including,
The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A method for performing payment based on a blockchain token, comprising a condition that the wallet address is the service provider wallet address.
삭제delete 제1항에 있어서,
상기 은행 서버가, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
According to claim 1,
The bank server transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card from the blockchain network. A method for performing a payment based on a blockchain token, characterized in that by checking whether a token issuing transaction is retrieved, it is possible to check whether the issuable check card token volume has been issued.
삭제delete 삭제delete 제1항에 있어서,
상기 은행 서버가, 상기 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID, 상기 서비스 제공자 월렛 어드레스, 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 서비스 제공자 월렛 어드레스를 상기 서비스 제공자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
According to claim 1,
The bank server, in a state where the service provider DID and the service provider public key corresponding to the service provider DID are registered in the blockchain network, (i) obtains service provider member store information of the service provider from the service provider terminal When the affiliate store registration request information including is obtained, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server, and the service provider affiliate store information is verified to retrieve the information from the legacy server. When the verification result information on service provider affiliate store information is transmitted, service provider information request information including a third signature verification value is transmitted to the service providing terminal, and (ii) the service provider DID, the When the service provider wallet address and the service provider signature value that signed the third signature verification value with the service provider private key are obtained, the service provider public corresponding to the service provider DID is obtained from the blockchain network by referring to the service provider DID. Obtaining a key, or having a resolver server obtain a service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID to obtain the service provider public key from the service provider DID document; , The service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the service provider wallet address is transferred to the service provider. A method for performing payment based on a blockchain token, characterized in that by matching and storing the DID, and causing the legacy server to match and store the service provider DID with the service provider affiliate store information.
제1항에 있어서,
(e) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태이며, 상기 서비스 제공 단말에 상기 은행 월렛 어드레스가 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, 상기 은행 서버가, 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 서비스 제공 단말에 저장된 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하며, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 단계;
를 더 포함하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
According to claim 1,
(e) Service providing terminal - The service provider DID corresponding to the service providing terminal and the service provider public key corresponding to the service provider DID are registered in the blockchain network, and the service provider wallet address corresponding to the service provider DID is Matched with the service provider DID and stored in the bank server, affiliate store information corresponding to the service provider DID matched with the service provider DID and stored in the legacy server, and storing the bank wallet address in the service providing terminal In the state -, when settlement request information for settlement of the check card token volume owned by the service provider including the check card token volume transmitted from the user terminal is obtained, the bank server, to the service providing terminal By transmitting the bank DID and the bank wallet address, the service providing terminal verifies the bank wallet address transmitted from the bank server by referring to the bank wallet address stored in the service providing terminal, and the bank wallet address is valid. If verified, a check card token settlement transaction for transferring the settlement check card token volume for settlement from the service provider wallet address to the bank wallet address is registered in the blockchain network, and the check card token settlement transaction is the block When registered in the chain network, by requesting settlement of the settlement check card token volume to the legacy server, the legacy server deposits the financial asset corresponding to the settlement check card token volume into the financial account of the service provider. performing settlement on the settlement check card token volume;
A method for performing a payment based on a blockchain token, further comprising.
블록체인 토큰 기반으로 페이먼트를 수행하는 방법에 있어서,
(a) 사용자 DID(decentralized identity), 상기 사용자 DID에 대응되는 사용자 퍼블릭키, 및 상기 사용자 DID에 대응되는 사용자 월렛 어드레스가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버가, 상기 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 단계;
(b) 상기 사용자 단말로부터 상기 사용자 DID, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 은행 서버가, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 단계;
(c) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 은행 서버가, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, (i) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하고, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 월렛 어드레스를 획득하는 프로세스, 및 (ii) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하는 프로세스 중 어느 하나를 프로세스를 수행하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 단계; 및
(d) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 상기 서비스 제공자 DID, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 DID 문서를 획득하도록 하며 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 월렛 어드레스를 획득한 다음, 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 은행 서버가, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 단계;
를 포함하며,
상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
In the method of performing payment based on blockchain token,
(a) In a state where a user decentralized identity (DID), a user public key corresponding to the user DID, and a user wallet address corresponding to the user DID are registered in the blockchain network, When debit card registration request information including user debit card information is obtained, the bank server verifies the user debit card information by referring to the registered debit card information registered in the legacy server to have the legacy server corresponding to the bank server. and when the user check card information is verified and the verification result information on the user check card information is transmitted from the legacy server, transmitting user information request information including a first signature verification value to the user terminal. ;
(b) When the user DID and the first user signature value obtained by signing the first signature verification value with the user private key are obtained from the user terminal, the bank server, referring to the user DID, obtains the user DID from the blockchain network. Obtain the user public key corresponding to the user DID, or cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network using the user DID, and obtain the user public key from the user DID document Obtaining, verifying the first user signature value and the first signature verification value using the user public key, and when the first user signature value and the first signature verification value are verified, the legacy server causes matching and storing the user DID with the user debit card information;
(c) When the check card token issuance request information including the user DID is obtained from the user terminal, the bank server transmits signature request information including a second signature verification value to the user terminal, and the user terminal When a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained from, (i) the user public corresponding to the user DID from the blockchain network with reference to the user DID obtain a key, or cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and obtain the user public key from the user DID document; The second user signature value and the second signature verification value are verified using the public key, and when the second user signature value and the second signature verification value are verified, corresponding to the user DID through the legacy server Check the issueable check card token volume information, which is information on the issueable check card token volume, and obtain the user wallet address corresponding to the user DID from the blockchain network by referring to the user DID, or to the resolver server. a process of obtaining the user DID document corresponding to the user DID from the blockchain network by referring to the user DID and obtaining the user wallet address from the user DID document, and (ii) referring to the user DID The user public key and the user wallet address corresponding to the user DID are obtained from the blockchain network, or the user DID document corresponding to the user DID is obtained from the blockchain network by referring to the user DID by the resolver server. Obtain the user public key and the user wallet address from the user DID document, verify the second user signature value and the second signature verification value using the user public key, and When the signature value and the second signature verification value are verified, any one of the processes for verifying issueable check card token volume information, which is information on the issueable check card token volume corresponding to the user DID, through the legacy server is performed. and by registering a check card token issuance transaction for transferring the issuable check card token volume corresponding to the confirmed issuable check card token volume information from the bank wallet address to the user wallet address in the blockchain network. causing a volume of issueable debit card tokens to be transferred from the bank wallet address to the user wallet address; and
(d) User provides service terminal - The service provider DID corresponding to the service providing terminal, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID are stored in the blockchain network. registered, and affiliate store information corresponding to the service provider DID is matched with the service provider DID and stored in the legacy server - payment request information transmitted from the service providing terminal by using the service provided in - the payment request information includes the service provider DID, payment debit card token volume information, which is information on the check card token volume to be paid for payment, and service detail information - corresponding to the user terminal, referring to the service provider DID Obtains the service provider wallet address corresponding to the service provider DID from the blockchain network, or causes the resolver server to refer to the service provider DID and obtains the service provider DID document corresponding to the service provider DID from the blockchain network. Obtaining the service provider wallet address from the service provider DID document, and then transferring the payment debit card token volume corresponding to the payment debit card token volume information from the user wallet address to the service provider wallet address. When a check card token payment transaction is registered in the blockchain network, the bank server checks whether the check card token payment transaction satisfies a predetermined check card token transfer condition, and the check card token payment transaction is the check card token payment transaction. If the transfer condition is satisfied, it is determined that the check card token payment transaction is normal, and the legacy server transfers the user's financial assets corresponding to the payment check card token volume from the user's account to the bank account. When the card token payment transaction does not satisfy the check card token transfer condition, determining that the check card token payment transaction is not normal and incinerating the payment check card token volume transmitted by the check card token payment transaction step;
Including,
The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A method for performing payment based on a blockchain token, comprising a condition that the wallet address is the service provider wallet address.
삭제delete 제8항에 있어서,
상기 은행 서버가, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
According to claim 8,
The bank server transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card from the blockchain network. A method for performing a payment based on a blockchain token, characterized in that by checking whether a token issuing transaction is retrieved, it is possible to check whether the issuable check card token volume has been issued.
삭제delete 삭제delete 제8항에 있어서,
상기 은행 서버가, 상기 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
According to claim 8,
In the state where the bank server registers the service provider DID, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID to the blockchain network, (i) When affiliate store registration request information including service provider affiliate store information of the service provider is obtained from the service providing terminal, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server. , When the service provider affiliate store information is verified and verification result information on the service provider affiliate store information is transmitted from the legacy server, service provider information request information including a third signature verification value is transmitted to the service providing terminal, (ii) When a service provider signature value obtained by signing the service provider DID and the third signature verification value with a service provider private key is obtained from the service provider terminal, the service provider DID is obtained from the blockchain network by referring to the service provider DID. Obtain the service provider public key corresponding to, or cause the resolver server to obtain the service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID to obtain the service provider DID document from the service provider DID document. A service provider public key is obtained, the service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the legacy A method for performing payment based on a blockchain token, characterized in that causing a server to match and store the service provider DID with the service provider affiliate store information.
제8항에 있어서,
(e) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, 상기 은행 서버가, (i) 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 블록체인 네트워크로부터 획득한 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하고, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스, 및 (ii) 상기 서비스 제공 단말로 상기 은행 DID를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 상기 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스 중 어느 하나의 프로세스를 수행하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 단계;
를 더 포함하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 방법.
According to claim 8,
(e) Service providing terminal - A service provider DID corresponding to the service providing terminal, a service provider public key corresponding to the service provider DID, and a service provider wallet address corresponding to the service provider DID are registered in the blockchain network, , Merchant store information corresponding to the service provider DID is matched to the service provider DID and is stored in the legacy server. Check card token volume owned by the service provider including the check card token volume transmitted from the user terminal from When settlement request information for settlement is obtained, the bank server, (i) transmits the bank DID and the bank wallet address to the service providing terminal, so that the service providing terminal refers to the bank DID to complete the block obtain the bank wallet address corresponding to the bank DID from the chain network, or cause the resolver server to obtain the bank DID document corresponding to the bank DID from the blockchain network by referring to the bank DID; Obtain the bank wallet address from the blockchain network, verify the bank wallet address transmitted from the bank server by referring to the bank wallet address obtained from the blockchain network, and perform settlement when the bank wallet address is verified to be valid. A process for registering a check card token settlement transaction for transferring the settlement check card token volume for a settlement to the bank wallet address from the service provider wallet address to the bank wallet address, and (ii) sending the bank DID to the service providing terminal. By transmitting, the service providing terminal refers to the bank DID to obtain the bank wallet address corresponding to the bank DID from the blockchain network, or the resolver server refers to the bank DID to obtain the bank wallet address from the blockchain network. The check to obtain the bank DID document corresponding to the bank DID and to obtain the bank wallet address from the bank DID document, and to transfer the settlement debit card token volume from the service provider wallet address to the bank wallet address. Any one of the processes for registering the card token settlement transaction in the blockchain network is performed, and when the check card token settlement transaction is registered in the blockchain network, the legacy server determines the volume of the settlement check card token. performing settlement on the settlement check card token volume by requesting settlement so that the legacy server deposits a financial asset corresponding to the settlement check card token volume into a financial account of the service provider;
A method for performing a payment based on a blockchain token, further comprising.
블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버에 있어서,
블록체인 토큰 기반으로 페이먼트를 수행하기 위한 인스트럭션들을 저장하는 메모리; 및
상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 블록체인 토큰 기반으로 페이먼트를 수행하는 프로세서;
를 포함하되,
상기 프로세서는, (I) 사용자 DID(decentralized identity)와 상기 사용자 DID에 대응되는 사용자 퍼블릭키가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 프로세스, (II) 상기 사용자 단말로부터 상기 사용자 DID, 사용자 월렛 어드레스, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 사용자 월렛 어드레스를 상기 사용자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 프로세스, (III) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 프로세스, 및 (IV) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 서비스 제공자 월렛 어드레스, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행 계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 프로세스를 수행하며,
상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
In a bank server that performs payment based on a blockchain token,
A memory for storing instructions for performing a payment based on a blockchain token; and
a processor performing payment based on the blockchain token according to the instructions stored in the memory;
Including,
The processor includes (I) user check card information corresponding to the user's check card from the user terminal in a state in which a user decentralized identity (DID) and a user public key corresponding to the user DID are registered in a blockchain network When the debit card registration request information is obtained, a legacy server corresponding to the bank server verifies the user debit card information by referring to the registered debit card information registered in the legacy server, and the user debit card information is verified and the user debit card information is verified. When the verification result information on the user debit card information is transmitted from the legacy server, a process of transmitting user information request information including a first signature verification value to the user terminal, (II) the user DID from the user terminal, When the user wallet address and the first user signature value obtained by signing the first signature verification value with the user private key are obtained, the user public key corresponding to the user DID is obtained from the blockchain network by referring to the user DID, or , Obtain the user public key from the user DID document by causing the resolver server to obtain a user DID document corresponding to the user DID from the blockchain network using the user DID, and using the user public key to obtain the user DID document corresponding to the user DID document. The first user signature value and the first signature verification value are verified, and when the first user signature value and the first signature verification value are verified, the user wallet address is matched with the user DID and stored, and the legacy server (III) When check card token issuance request information including the user DID is obtained from the user terminal, the user terminal performs second signature verification Signature request information including a value is transmitted, and when a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained from the user terminal, the blockchain is performed by referring to the user DID. Obtain the user public key corresponding to the user DID from the network, or cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and the user DID document Obtaining the user public key from, and verifying the second user signature value and the second signature verification value using the user public key, and when the second user signature value and the second signature verification value are verified, Issuable check card token volume information, which is information on the issuable check card token volume corresponding to the user DID, is checked through the legacy server, and the issuable check card token corresponding to the checked issuable check card token volume information a process of registering a debit card token issuance transaction to transfer volume from a bank wallet address to the user wallet address, thereby causing the issuable debit card token volume to be transferred from the bank wallet address to the user wallet address; and (IV) the user's service providing terminal - the service provider DID corresponding to the service providing terminal and the service provider public key corresponding to the service provider DID are registered in the blockchain network, and the service provider corresponding to the service provider DID The wallet address is matched to the service provider DID and stored in the bank server, and the affiliate store information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server. Payment request information transmitted from the service providing terminal - the payment request information includes the service provider wallet address, payment check card token volume information, which is information on the check card token volume to be paid for payment, and service detail information Correspondingly, when the user terminal registers a check card token payment transaction for transferring the payment check card token volume corresponding to the payment check card token volume information from the user wallet address to the service provider wallet address in the blockchain network, It is checked whether the check card token payment transaction satisfies a predetermined check card token transfer condition, and when the check card token payment transaction satisfies the check card token transfer condition, it is determined that the check card token payment transaction is normal, Causes the legacy server to transfer the user's financial assets corresponding to the payment debit card token volume from the user's account to a bank account, and when the debit card token payment transaction does not satisfy the debit card token transfer condition, the check card token transfer condition is not satisfied. Determining that the card token payment transaction is not normal, performing a process of incinerating the payment check card token volume transmitted by the check card token payment transaction;
The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A bank server performing payment based on a blockchain token, characterized in that it includes a condition that the wallet address is the service provider wallet address.
삭제delete 제15항에 있어서,
상기 프로세서는, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
According to claim 15,
The processor transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card token from the blockchain network. A bank server for performing payment based on a blockchain token, characterized in that for confirming whether the issuable check card token volume has been issued by checking whether the issued transaction is retrieved.
삭제delete 삭제delete 제15항에 있어서,
상기 프로세서는, 상기 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID, 상기 서비스 제공자 월렛 어드레스, 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 서비스 제공자 월렛 어드레스를 상기 서비스 제공자 DID에 매칭하여 저장하며, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
According to claim 15,
The processor, in a state where the service provider DID and the service provider public key corresponding to the service provider DID are registered in the blockchain network, (i) including service provider affiliate store information of the service provider from the service provider terminal When the affiliate store registration request information is obtained, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server, and the service provider affiliate store information is verified to obtain the service from the legacy server. When the verification result information on provider affiliate store information is transmitted, service provider information request information including a third signature verification value is transmitted to the service providing terminal, and (ii) the service provider DID and the service When the service provider signature value that signs the provider wallet address and the third signature verification value with the service provider private key is obtained, the service provider public key corresponding to the service provider DID is obtained from the blockchain network with reference to the service provider DID. Obtaining, or having a resolver server obtain a service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID to obtain the service provider public key from the service provider DID document, The service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the service provider wallet address is converted to the service provider DID. A bank server that performs payment based on a blockchain token, characterized in that it stores the matching and stores the service provider DID by matching it with the service provider affiliate store information.
제15항에 있어서,
상기 프로세서는, (V) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID와 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 서비스 제공자 DID에 매칭되어 상기 은행 서버에 저장되고, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태이며, 상기 서비스 제공 단말에 상기 은행 월렛 어드레스가 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 서비스 제공 단말에 저장된 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하며, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 프로세스를 더 수행하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
According to claim 15,
The processor, (V) service providing terminal - a service provider DID corresponding to the service providing terminal and a service provider public key corresponding to the service provider DID are registered in the blockchain network, and the service corresponding to the service provider DID The provider wallet address is matched with the service provider DID and stored in the bank server, and the affiliate store information corresponding to the service provider DID is matched with the service provider DID and stored in the legacy server. When the settlement request information for settlement of the check card token volume owned by the service provider including the check card token volume transmitted from the user terminal is obtained from the state in which the wallet address is stored, the bank to the service providing terminal By transmitting the DID and the bank wallet address, the service providing terminal verifies the bank wallet address transmitted from the bank server by referring to the bank wallet address stored in the service providing terminal, and it is determined that the bank wallet address is valid. If verified, a check card token settlement transaction for transferring the settlement check card token volume for settlement from the service provider wallet address to the bank wallet address is registered in the blockchain network, and the check card token settlement transaction is When registered in the network, by requesting settlement of the settlement check card token volume to the legacy server, the legacy server deposits financial assets corresponding to the settlement check card token volume into the financial account of the service provider, and the settlement A bank server that performs payment based on blockchain tokens, characterized in that it further performs a process of performing settlement on the volume of check card tokens.
블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버에 있어서,
블록체인 토큰 기반으로 페이먼트를 수행하기 위한 인스트럭션들을 저장하는 메모리; 및
상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 블록체인 토큰 기반으로 페이먼트를 수행하는 프로세서;
를 포함하되,
상기 프로세서는, (I) 사용자 DID(decentralized identity), 상기 사용자 DID에 대응되는 사용자 퍼블릭키, 및 상기 사용자 DID에 대응되는 사용자 월렛 어드레스가 블록체인 네트워크에 등록된 상태에서, 사용자 단말로부터 사용자의 체크카드에 대응되는 사용자 체크카드 정보를 포함하는 체크카드 등록 요청 정보가 획득되면, 은행 서버에 대응되는 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 체크카드 정보를 참조하여 상기 사용자 체크카드 정보를 검증하도록 하며, 상기 사용자 체크카드 정보가 검증되어 상기 레거시 서버로부터 상기 사용자 체크카드 정보에 대한 검증 결과 정보가 전송되면, 제1 서명확인값을 포함하는 사용자 정보 요청 정보를 상기 사용자 단말로 전송하여 주는 프로세스, (II) 상기 사용자 단말로부터 상기 사용자 DID, 및 상기 제1 서명확인값을 사용자 프라이빗키로 서명한 제1 사용자 서명값이 획득되면, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 사용자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 사용자 DID 문서를 획득하도록 하여 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제1 사용자 서명값 및 상기 제1 서명확인값을 검증하고, 상기 제1 사용자 서명값 및 상기 제1 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 사용자 DID를 상기 사용자 체크카드 정보와 매칭하여 저장하도록 하는 프로세스, (III) 상기 사용자 단말로부터 상기 사용자 DID를 포함하는 체크카드 토큰 발행 요청 정보가 획득되면, 상기 사용자 단말로 제2 서명확인값을 포함하는 서명 요청 정보를 전송하며, 상기 사용자 단말로부터 상기 사용자 DID와 상기 제2 서명확인값을 상기 사용자 프라이빗키로 서명한 제2 사용자 서명값이 획득되면, (i) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하고, 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 월렛 어드레스를 획득하는 프로세스, 및 (ii) 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 사용자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 사용자 DID에 대응되는 상기 사용자 DID 문서를 획득하도록 하며 상기 사용자 DID 문서로부터 상기 사용자 퍼블릭키 및 상기 사용자 월렛 어드레스를 획득하며, 상기 사용자 퍼블릭키를 이용하여 상기 제2 사용자 서명값 및 상기 제2 서명확인값을 검증하고, 상기 제2 사용자 서명값 및 상기 제2 서명확인값이 검증되면, 상기 레거시 서버를 통해 상기 사용자 DID에 대응되는 발급 가능한 체크카드 토큰 볼륨에 대한 정보인 발급 가능 체크카드 토큰 볼륨 정보를 확인하는 프로세스 중 어느 하나를 프로세스를 수행하며, 확인된 상기 발급 가능 체크카드 토큰 볼륨 정보에 대응되는 발급 가능 체크카드 토큰 볼륨을 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송하기 위한 체크카드 토큰 발행 트랜잭션을 상기 블록체인 네트워크에 등록함으로써 상기 발급 가능 체크카드 토큰 볼륨이 상기 은행 월렛 어드레스로부터 상기 사용자 월렛 어드레스로 전송되도록 하는 프로세스, 및 (IV) 사용자가 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 에서 제공되는 서비스를 이용함으로써 상기 서비스 제공 단말로부터 전송되는 결제 요청 정보 - 상기 결제 요청 정보는 상기 서비스 제공자 DID, 결제를 위하여 지급하여야 하는 체크카드 토큰 볼륨에 대한 정보인 결제 체크카드 토큰 볼륨 정보, 및 서비스 내역 정보를 포함함 - 에 대응하여 상기 사용자 단말이, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 DID 문서를 획득하도록 하며 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 월렛 어드레스를 획득한 다음, 상기 결제 체크카드 토큰 볼륨 정보에 대응되는 결제 체크카드 토큰 볼륨을 상기 사용자 월렛 어드레스로부터 상기 서비스 제공자 월렛 어드레스로 전송하기 위한 체크카드 토큰 지급 트랜잭션을 상기 블록체인 네트워크에 등록하면, 상기 체크카드 토큰 지급 트랜잭션이 기설정된 체크카드 토큰 이체 조건을 만족하는지를 확인하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족할 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상인 것으로 판단하고, 상기 레거시 서버로 하여금 상기 사용자의 계좌로부터 상기 결제 체크카드 토큰 볼륨에 대응되는 사용자 금융자산을 은행계좌로 이체하도록 하며, 상기 체크카드 토큰 지급 트랜잭션이 상기 체크카드 토큰 이체 조건을 만족하지 않을 경우에는 상기 체크카드 토큰 지급 트랜잭션이 정상이 아닌 것으로 판단하여 상기 체크카드 토큰 지급 트랜잭션에 의해 전송된 상기 결제 체크카드 토큰 볼륨을 소각처리하는 프로세스를 수행하며,
상기 체크카드 토큰 이체 조건은, 체크카드 토큰의 송신자에 대응되는 송신자 월렛 어드레스와 수신자에 대응되는 수신자 월렛 어드레스를 참조하여 설정되며, (i) 상기 송신자 월렛 어드레스가 상기 사용자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스, 및 상기 사용자 월렛 어드레스에 대응되는 사용자 패밀리 사용자 패밀리 월렛 어드레스인 조건, (ii) 상기 송신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 사용자 월렛 어드레스, 상기 서비스 제공자 월렛 어드레스에 대응되는 서비스 제공자 패밀리 월렛 어드레스, 및 상기 은행 월렛 어드레스인 조건, 및 (iii) 상기 송신자 월렛 어드레스가 상기 사용자 패밀리 월렛 어드레스 및 상기 서비스 제공자 패밀리 월렛 어드레스일 경우, 상기 수신자 월렛 어드레스가 상기 서비스 제공자 월렛 어드레스인 조건을 포함하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
In a bank server that performs payment based on a blockchain token,
A memory for storing instructions for performing a payment based on a blockchain token; and
a processor performing payment based on the blockchain token according to the instructions stored in the memory;
Including,
The processor checks a user from a user terminal in a state in which (I) a user decentralized identity (DID), a user public key corresponding to the user DID, and a user wallet address corresponding to the user DID are registered in the blockchain network. When debit card registration request information including user debit card information corresponding to the card is obtained, the legacy server corresponding to the bank server verifies the user debit card information by referring to the registered debit card information registered in the legacy server. and, when the user debit card information is verified and the verification result information for the user debit card information is transmitted from the legacy server, a process of transmitting user information request information including a first signature verification value to the user terminal; (II) When the user DID and the first user signature value obtained by signing the first signature verification value with the user private key are obtained from the user terminal, the user DID corresponding to the user DID is obtained from the blockchain network with reference to the user DID Obtaining the user public key, or obtaining the user public key from the user DID document by causing a resolver server to obtain a user DID document corresponding to the user DID from the blockchain network using the user DID, The first user signature value and the first signature verification value are verified using the user public key, and when the first user signature value and the first signature verification value are verified, the legacy server causes the user DID to be verified. Process of matching and storing user debit card information, (III) when debit card token issuance request information including the user DID is obtained from the user terminal, signature request information including a second signature verification value to the user terminal When a second user signature value obtained by signing the user DID and the second signature verification value with the user private key is obtained from the user terminal, (i) the user DID is referred to the user DID from the blockchain network. Obtain the user public key corresponding to the DID, or cause the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and obtain the user public key from the user DID document. A key is obtained, the second user signature value and the second signature verification value are verified using the user public key, and when the second user signature value and the second signature verification value are verified, the legacy server Check the issuable check card token volume information, which is information on the issuable check card token volume corresponding to the user DID, and obtain the user wallet address corresponding to the user DID from the blockchain network by referring to the user DID. obtaining, or causing the resolver server to obtain the user DID document corresponding to the user DID from the blockchain network by referring to the user DID, and obtaining the user wallet address from the user DID document; and (ii) ) Obtain the user public key and the user wallet address corresponding to the user DID from the blockchain network by referring to the user DID, or cause the resolver server to obtain the user DID from the blockchain network by referring to the user DID Obtain the user DID document corresponding to and obtain the user public key and the user wallet address from the user DID document, and obtain the second user signature value and the second signature verification value using the user public key. and if the second user signature value and the second signature verification value are verified, issueable check card token volume information, which is information on the issueable check card token volume corresponding to the user DID, is checked through the legacy server. Performs any one of the processes, and performs a check card token issuance transaction for transferring the issuable check card token volume corresponding to the confirmed issuable check card token volume information from the bank wallet address to the user wallet address. A process of allowing the issuable check card token volume to be transferred from the bank wallet address to the user wallet address by registering in a blockchain network, and (IV) a service providing terminal by a user - a service provider DID corresponding to the service providing terminal; The service provider public key corresponding to the service provider DID and the service provider wallet address corresponding to the service provider DID are registered in the blockchain network, and the affiliate store information corresponding to the service provider DID is matched with the service provider DID The state stored in the legacy server - Payment request information transmitted from the service providing terminal by using the service provided in - The payment request information is information about the service provider DID and the volume of check card tokens to be paid for payment including payment debit card token volume information and service details information - in response to, the user terminal obtains the service provider wallet address corresponding to the service provider DID from the blockchain network by referring to the service provider DID; or , Instruct the resolver server to obtain the service provider DID document corresponding to the service provider DID from the blockchain network by referring to the service provider DID, and obtain the service provider wallet address from the service provider DID document, When a check card token payment transaction for transferring the payment debit card token volume corresponding to the payment debit card token volume information from the user wallet address to the service provider wallet address is registered in the blockchain network, the check card token payment transaction It is checked whether the predetermined check card token transfer condition is satisfied, and if the check card token payment transaction satisfies the check card token transfer condition, it is determined that the check card token transfer transaction is normal, and the legacy server operates the user transfers the user's financial assets corresponding to the volume of the payment debit card tokens to the bank account from the account of determining that it is not, and performing a process of incinerating the payment check card token volume transmitted by the check card token payment transaction;
The check card token transfer condition is set with reference to a sender wallet address corresponding to the sender of the check card token and a receiver wallet address corresponding to the receiver, and (i) when the sender wallet address is the user wallet address, the receiver A condition that the wallet address is the service provider wallet address and the user family user family wallet address corresponding to the user wallet address, (ii) when the sender wallet address is the service provider wallet address, the receiver wallet address is the user wallet address. address, the service provider family wallet address corresponding to the service provider wallet address, and the bank wallet address, and (iii) when the sender wallet address is the user family wallet address and the service provider family wallet address, the receiver A bank server performing payment based on a blockchain token, characterized in that it includes a condition that the wallet address is the service provider wallet address.
삭제delete 제22항에 있어서,
상기 프로세서는, 상기 체크카드 토큰 발행 트랜잭션에 대응되는 체크카드 토큰 발행 트랜잭션 아이디를 상기 사용자 단말로 전송함으로써 상기 사용자 단말로 하여금 상기 체크카드 토큰 발행 트랜잭션 아이디를 이용하여 상기 블록체인 네트워크로부터 상기 체크카드 토큰 발행 트랜잭션이 검색되는지를 확인함으로써 상기 발급 가능 체크카드 토큰 볼륨이 발행되었는지를 확인할 수 있도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
The method of claim 22,
The processor transmits the check card token issuance transaction ID corresponding to the check card token issuance transaction to the user terminal, so that the user terminal uses the check card token issuance transaction ID to obtain the check card token from the blockchain network. A bank server for performing payment based on a blockchain token, characterized in that for confirming whether the issuable check card token volume has been issued by checking whether the issued transaction is retrieved.
삭제delete 삭제delete 제22항에 있어서,
상기 프로세서는, 상기 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록된 상태에서, (i) 상기 서비스 제공 단말로부터 상기 서비스 제공자의 서비스 제공자 가맹점 정보를 포함하는 가맹점 등록 요청 정보가 획득되면, 상기 레거시 서버로 하여금 상기 레거시 서버에 등록된 등록 가맹점 정보를 참조하여 상기 서비스 제공자 가맹점 정보를 검증하도록 하며, 상기 서비스 제공자 가맹점 정보가 검증되어 상기 레거시 서버로부터 상기 서비스 제공자 가맹점 정보에 대한 검증 결과 정보가 전송되면, 제3 서명확인값을 포함하는 서비스 제공자 정보 요청 정보를 상기 서비스 제공 단말로 전송하여 주며, (ii) 상기 서비스 제공 단말로부터 상기 서비스 제공자 DID 및 상기 제3 서명확인값을 서비스 제공자 프라이빗키로 서명한 서비스 제공자 서명값이 획득되면, 상기 서비스 제공자 DID를 참조하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 상기 서비스 제공자 퍼블릭키를 획득하거나, 리졸버 서버로 하여금 상기 서비스 제공자 DID를 이용하여 상기 블록체인 네트워크로부터 상기 서비스 제공자 DID에 대응되는 서비스 제공자 DID 문서를 획득하도록 하여 상기 서비스 제공자 DID 문서로부터 상기 서비스 제공자 퍼블릭키를 획득하며, 상기 서비스 제공자 퍼블릭키를 이용하여 상기 서비스 제공자 서명값 및 상기 제3 서명확인값을 검증하고, 상기 서비스 제공자 서명값 및 상기 제3 서명확인값이 검증되면, 상기 레거시 서버로 하여금 상기 서비스 제공자 DID를 상기 서비스 제공자 가맹점 정보와 매칭하여 저장하도록 하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
The method of claim 22,
The processor, in a state in which the service provider DID, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID are registered in the blockchain network, (i) the When affiliate store registration request information including service provider affiliate store information of the service provider is obtained from the service providing terminal, the legacy server verifies the service provider affiliate store information by referring to the registered affiliate store information registered in the legacy server, When the service provider affiliate store information is verified and the verification result information on the service provider affiliate store information is transmitted from the legacy server, service provider information request information including a third signature verification value is transmitted to the service providing terminal, ( ii) When a service provider signature value obtained by signing the service provider DID and the third signature verification value with a service provider private key is obtained from the service providing terminal, the service provider DID is obtained from the blockchain network by referring to the service provider DID. Obtain the corresponding service provider public key, or cause a resolver server to obtain a service provider DID document corresponding to the service provider DID from the blockchain network using the service provider DID, thereby obtaining the service from the service provider DID document. A provider public key is obtained, the service provider signature value and the third signature verification value are verified using the service provider public key, and when the service provider signature value and the third signature verification value are verified, the legacy server A bank server that performs payment based on a blockchain token, characterized in that causing the service provider DID to be matched and stored with the service provider affiliate store information.
제22항에 있어서,
상기 프로세서는, (V) 서비스 제공 단말 - 상기 서비스 제공 단말에 대응되는 서비스 제공자 DID, 상기 서비스 제공자 DID에 대응되는 서비스 제공자 퍼블릭키, 및 상기 서비스 제공자 DID에 대응되는 서비스 제공자 월렛 어드레스가 상기 블록체인 네트워크에 등록되며, 상기 서비스 제공자 DID에 대응되는 가맹점 정보가 상기 서비스 제공자 DID에 매칭되어 상기 레거시 서버에 저장된 상태임 - 로부터, 상기 사용자 단말에서 전송된 체크카드 토큰 볼륨을 포함하는 서비스 제공자가 소유한 체크카드 토큰 볼륨에 대하여 정산을 하기 위한 정산 요청 정보가 획득되면, (i) 상기 서비스 제공 단말로 은행 DID 및 상기 은행 월렛 어드레스를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 블록체인 네트워크로부터 획득한 상기 은행 월렛 어드레스를 참조하여 상기 은행 서버로부터 전송된 상기 은행 월렛 어드레스를 검증하도록 하고, 상기 은행 월렛 어드레스가 유효한 것으로 검증되면 정산을 위한 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스, 및 (ii) 상기 서비스 제공 단말로 상기 은행 DID를 전송함으로써 상기 서비스 제공 단말로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 상기 은행 월렛 어드레스를 획득하거나, 상기 리졸버 서버로 하여금 상기 은행 DID를 참조하여 상기 블록체인 네트워크로부터 상기 은행 DID에 대응되는 은행 DID 문서를 획득하도록 하며 상기 은행 DID 문서로부터 상기 은행 월렛 어드레스를 획득하도록 하고, 상기 정산 체크카드 토큰 볼륨을 상기 서비스 제공자 월렛 어드레스로부터 상기 은행 월렛 어드레스로 전송하기 위한 상기 체크카드 토큰 정산 트랜잭션을 상기 블록체인 네트워크에 등록하도록 하는 프로세스 중 어느 하나의 프로세스를 수행하며, 상기 체크카드 토큰 정산 트랜잭션이 상기 블록체인 네트워크에 등록되면, 상기 레거시 서버로 상기 정산 체크카드 토큰 볼륨에 대한 정산을 요청함으로써 상기 레거시 서버로 하여금 상기 정산 체크카드 토큰 볼륨에 대응되는 금융자산을 상기 서비스 제공자의 금융 계좌로 입금하도록 하여 상기 정산 체크카드 토큰 볼륨에 대한 정산을 수행하는 프로세스를 더 수행하는 것을 특징으로 하는 블록체인 토큰 기반으로 페이먼트를 수행하는 은행 서버.
The method of claim 22,
The processor, (V) service providing terminal - the service provider DID corresponding to the service providing terminal, the service provider public key corresponding to the service provider DID, and the service provider wallet address corresponding to the service provider DID are stored in the blockchain Registered in the network, and the affiliated store information corresponding to the service provider DID is matched to the service provider DID and stored in the legacy server - owned by the service provider including the check card token volume transmitted from the user terminal When settlement request information for settlement of the check card token volume is obtained, (i) the bank DID and the bank wallet address are transmitted to the service providing terminal, so that the service providing terminal refers to the bank DID, Obtain the bank wallet address corresponding to the bank DID from the network, or cause the resolver server to obtain a bank DID document corresponding to the bank DID from the blockchain network by referring to the bank DID, and from the bank DID document To obtain the bank wallet address, to verify the bank wallet address transmitted from the bank server by referring to the bank wallet address obtained from the blockchain network, and to verify that the bank wallet address is valid for settlement A process of registering a check card token settlement transaction to the blockchain network for transferring the settlement check card token volume from the service provider wallet address to the bank wallet address, and (ii) transmitting the bank DID to the service providing terminal. By doing so, the service providing terminal obtains the bank wallet address corresponding to the bank DID from the blockchain network by referring to the bank DID, or causes the resolver server to obtain the bank wallet address corresponding to the bank DID from the blockchain network by referring to the bank DID. The debit card token for obtaining a bank DID document corresponding to the DID and obtaining the bank wallet address from the bank DID document, and transferring the settlement debit card token volume from the service provider wallet address to the bank wallet address. Any one of the processes for registering the settlement transaction in the blockchain network is performed, and when the check card token settlement transaction is registered in the blockchain network, the settlement for the settlement check card token volume is performed by the legacy server. Further performing a process of performing settlement for the settlement check card token volume by causing the legacy server to deposit financial assets corresponding to the settlement check card token volume into a financial account of the service provider by requesting A bank server that makes payments based on blockchain tokens.
KR1020200114187A 2019-09-06 2020-09-07 Method of paying based on blockchain token and bank server using them KR102522382B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220117489A KR20220131375A (en) 2019-09-06 2022-09-16 Method of paying based on blockchain token and bank server using them

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190111032 2019-09-06
KR20190111032 2019-09-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220117489A Division KR20220131375A (en) 2019-09-06 2022-09-16 Method of paying based on blockchain token and bank server using them

Publications (2)

Publication Number Publication Date
KR20210029703A KR20210029703A (en) 2021-03-16
KR102522382B1 true KR102522382B1 (en) 2023-04-18

Family

ID=75224186

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200114187A KR102522382B1 (en) 2019-09-06 2020-09-07 Method of paying based on blockchain token and bank server using them
KR1020220117489A KR20220131375A (en) 2019-09-06 2022-09-16 Method of paying based on blockchain token and bank server using them

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220117489A KR20220131375A (en) 2019-09-06 2022-09-16 Method of paying based on blockchain token and bank server using them

Country Status (1)

Country Link
KR (2) KR102522382B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102419853B1 (en) * 2021-09-13 2022-07-12 주식회사 시티랩스 Permission type blockchain platform authentication method and system using DID certificate based on blockchain
KR102643418B1 (en) * 2021-09-17 2024-03-04 금오공과대학교 산학협력단 Mobile Electronic wallet system based on Block chain technology
CN114598531A (en) * 2022-03-10 2022-06-07 上海星图比特信息技术服务有限公司 Identity authentication method and equipment
KR20240016822A (en) 2022-07-29 2024-02-06 명지대학교 산학협력단 System for providing content based on a blockchain state channel and method therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837168B1 (en) * 2017-04-18 2018-03-09 주식회사 코인플러그 Method for approving the use of credit card by using token id based on blockchain and server using the same
CN109003186A (en) * 2018-07-13 2018-12-14 北京创世智链信息技术研究院 A kind of method of commerce for preventing from denying, apparatus and system based on block chain

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101953162B1 (en) * 2017-10-19 2019-05-23 유영근 Issuing method of virtual money based on credit card receivables and Issuing apparatus of virtual money based on credit card receivables
KR102005158B1 (en) * 2017-11-29 2019-07-29 신한카드 주식회사 Apparatus of generating credit virtual currency and apparatus of managing credit virtual currency
KR20190065824A (en) * 2017-12-04 2019-06-12 주식회사 비즈모델라인 Method for Providing Payment by using Cryptocurrency based on Blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837168B1 (en) * 2017-04-18 2018-03-09 주식회사 코인플러그 Method for approving the use of credit card by using token id based on blockchain and server using the same
CN109003186A (en) * 2018-07-13 2018-12-14 北京创世智链信息技术研究院 A kind of method of commerce for preventing from denying, apparatus and system based on block chain

Also Published As

Publication number Publication date
KR20210029703A (en) 2021-03-16
KR20220131375A (en) 2022-09-27

Similar Documents

Publication Publication Date Title
KR102522382B1 (en) Method of paying based on blockchain token and bank server using them
US20170221053A1 (en) Digital asset conversion
US9123044B2 (en) Generation systems and methods for transaction identifiers having biometric keys associated therewith
US20170372417A1 (en) Digital asset account management
JP5186790B2 (en) Electronic money transaction method and electronic money system
KR102522381B1 (en) Method of paying based on blockchain token and card company server using them
CN107392580B (en) Method and system for realizing digital currency conversion deposit based on digital currency
US10637644B1 (en) System and method for authorizing transactions in an authorized member network
JP5536775B2 (en) Method and system for offline account repayment
KR102050271B1 (en) Method for payment based on blockchain and payment server using the same
US10970697B2 (en) Transaction mediation method
US20210334794A1 (en) Resolving a parameter error associated with a primary blockchain
JP2021119544A (en) Transaction commission method and transaction commission system
KR20200096055A (en) Server and method for credit transaction using blockchain network
KR20200129881A (en) System for exchange-paying local currency using block chain and method therefor
US11481766B2 (en) Method for payment authorization on offline mobile devices with irreversibility assurance
KR20220063107A (en) Method for servicing mobile payment using qr code and payment server using them
KR102468511B1 (en) Method for paying with contactless payment card based on decentralized identifier of blockchain network, and mobile device using them
KR102582904B1 (en) Blockchain-based prepaid content billing service method and system
GB2428126A (en) System for processing transactions
KR20050048166A (en) System and method for adopting(operating) payment policy for using contents(merchandise) by using smart card
GHOSH et al. DEVICE AND METHOD FOR ACCEPTING CENTRAL BANK DIGITAL CURRENCY (CBDC) IN PAYMENT NETWORKS
JP2021168177A (en) Transaction delegation method and transaction delegation system
WO2024011057A1 (en) Token services for non-fungible tokens
KR20210011526A (en) Method for processing settlement using electronic code and system therefor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant