KR102050271B1 - Method for payment based on blockchain and payment server using the same - Google Patents

Method for payment based on blockchain and payment server using the same Download PDF

Info

Publication number
KR102050271B1
KR102050271B1 KR1020180076092A KR20180076092A KR102050271B1 KR 102050271 B1 KR102050271 B1 KR 102050271B1 KR 1020180076092 A KR1020180076092 A KR 1020180076092A KR 20180076092 A KR20180076092 A KR 20180076092A KR 102050271 B1 KR102050271 B1 KR 102050271B1
Authority
KR
South Korea
Prior art keywords
hash value
payment
information
blockchain
value
Prior art date
Application number
KR1020180076092A
Other languages
Korean (ko)
Other versions
KR20190043071A (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 주식회사 코인플러그
Priority to PCT/KR2018/012287 priority Critical patent/WO2019078623A1/en
Publication of KR20190043071A publication Critical patent/KR20190043071A/en
Application granted granted Critical
Publication of KR102050271B1 publication Critical patent/KR102050271B1/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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • G06Q20/023Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] the neutral party being a clearing house
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 주문 요청 정보가 획득되면, 주문 요청 정보에 포함된 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 제1 블록체인으로부터 획득하고, 주문 요청 정보에 대응하는 주문 아이디를 생성하며, 주문 아이디와 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 제1 블록체인에 등록하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값을 제2 블록체인에 등록하고, 푸시 토큰 아이디와 서명 요청 정보를 사용자 단말로 전송하며, 사용자 단말로부터의 서명값이 획득되면, 서명값을 검증하여 유효일 경우, 지급 수단 토큰 아이디, 주문 아이디, 및 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하고, 펀드 소스 서버로부터의 승인 결과 정보를 제1 블록체인에 등록하고, 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값을 제2 블록체인에 등록하며, 승인 결과 정보에 대응한 승인 완료 정보를 서비스 제공 단말로 전송하여 주는 결제 방법 및 이를 이용한 지급 결제 서버에 관한 것이다.According to the present invention, when order request information is obtained, a push token ID corresponding to user identification information included in the order request information is obtained from the first blockchain, an order ID corresponding to the order request information is generated, the order ID and the order A second hash generated by applying a hash function to the transaction data when a triggering condition for registering transaction data including at least one of the information in the first blockchain and registering a predetermined hash value in the second blockchain is satisfied. Register a second representative hash value obtained by calculating at least one neighboring hash value matching the value and the second hash value in the second blockchain, and transmit the push token ID and the signature request information to the user terminal, If the signature value is obtained, the signature value is verified and at least one of payment means token ID, order ID, and order request information, if valid. The third hash value and the third hash value generated by transmitting the approval request information including the one or more to the fund source server, registering the approval result information from the fund source server in the first blockchain, and applying a hash function to the approval result information. 3 A payment method for registering a third representative hash value that calculates at least one neighboring hash value matching the hash value in the second blockchain, and transmitting approval completion information corresponding to the approval result information to the service providing terminal, and It relates to a payment server used.

Description

블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버{METHOD FOR PAYMENT BASED ON BLOCKCHAIN AND PAYMENT SERVER USING THE SAME}Blockchain-based payment method and payment server using the same {METHOD FOR PAYMENT BASED ON BLOCKCHAIN AND PAYMENT SERVER USING THE SAME}

본 발명은 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버에 관한 것으로, 보다 상세하게는, 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함하는 주문 요청 정보가 획득되면, 주문 요청 정보에 포함된 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 제1 블록체인으로부터 획득하고, 주문 요청 정보에 대응하는 주문 아이디를 생성하며, 주문 아이디와 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 제1 블록체인에 등록하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값을 제2 블록체인에 등록하며, 푸시 토큰 아이디와 서명 요청 정보를 사용자 단말로 전송하며, 사용자 단말로부터의 서명값이 획득되면, 서명값을 검증하여 유효일 경우, 지급 수단 토큰 아이디, 주문 아이디, 및 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하고, 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 승인 결과 정보를 제1 블록체인에 등록하고, 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값을 제2 블록체인에 등록하며, 승인 결과 정보에 대응한 승인 완료 정보를 서비스 제공 단말로 전송하여 주는 결제 방법 및 이를 이용한 지급 결제 서버에 관한 것이다.The present invention relates to a blockchain-based payment method and a payment settlement server using the same. More specifically, when order request information including at least one or more of user identification information and order information is obtained, the order request information is included in the order request information. Obtaining a push token ID corresponding to the received user identification information from the first blockchain, generating an order ID corresponding to the order request information, and transmitting transaction data including at least one of the order ID and the order information to the first blockchain. At least one neighboring hash value matching the second hash value and the second hash value generated by applying a hash function to the transaction data when the triggering condition for registering and registering a predetermined hash value in the second blockchain is satisfied. Registers the second representative hash value calculated on the second blockchain, and inputs the push token ID and the signature request information. If the signature value is obtained from the user terminal, the signature value is verified, and if the signature value is valid, the authorization request information including at least one of payment means token ID, order ID, and order request information is transmitted to the fund source server. And if the approval result information from the fund source server is obtained, registering the approval result information in the first blockchain and matching the third hash value and the third hash value generated by applying the hash function to the approval result information. The present invention relates to a payment method for registering a third representative hash value for calculating one neighbor hash value in a second blockchain and transmitting approval completion information corresponding to the approval result information to the service providing terminal, and a payment settlement server using the same. .

인터넷 온라인 쇼핑몰 및 오프라인 상점에서의 신용카드 사용자가 증가하면서 신용카드는 현금과 함께 중요한 결제 수단으로 자리잡고 있다.With the increase of credit card users in online shopping malls and offline stores, credit cards are becoming an important payment method along with cash.

종래에 신용카드를 이용한 결제 시스템은 도 1과 같이 나타내어질 수 있다. 도 1에서의 카드 결제의 흐름은 다음과 같다.In the related art, a payment system using a credit card may be represented as shown in FIG. 1. The flow of card payment in FIG. 1 is as follows.

우선, 사용자가 특정 상품 또는 서비스를 구매하기 위하여 쇼핑몰, 일 예로, 온라인 쇼핑몰 또는 오프라인 쇼핑몰과 같은 서비스 제공자(10)에게 구매 요청을 하고, 온라인 인증사(20), 일 예로, 신용카드 인증 제공자에게 카드 번호를 입력한다.First, a user makes a purchase request to a service provider 10 such as a shopping mall, for example, an online shopping mall or an offline shopping mall, in order to purchase a specific product or service, and then to an online certification company 20, for example, a credit card authentication provider. Enter your card number.

그러면, 온라인 인증사(20)는 카드사(30)에 카드 번호의 인증을 요청하고, 카드사(30)로부터 카드 번호의 인증 결과를 전달받는다. 인증 결과가 성공적이면, 온라인 인증사(20)는 서비스 제공자(10)에게 인증번호를 전달하고, 쇼핑몰인 서비스 제공자(10)는 암호화된 카드 번호와 인증번호를 결제 대행사(PG사; payment gateway사)(40)에 전달하며, 결제 대행사(40)는 이를 VAN사(50)에 전달하고, VAN사(50)는 이를 다시 카드사(30)에 전달하는 연쇄적인 전달이 이루어진다. 그리고 카드사(30)로부터 나온 승인결과가 다시 VAN사(50)에 전달되고, VAN사(50)로부터 결제 대행사(40)에, 결제 대행사(40)로부터 서비스 제공자(10)에게 전달되어, 최종적인 승인 결과를 사용자가 전달받게 된다.Then, the online certification company 20 requests the card company 30 to authenticate the card number, and receives the authentication result of the card number from the card company 30. If the authentication result is successful, the online certification company 20 transmits the authentication number to the service provider 10, and the service provider 10, which is a shopping mall, sends the encrypted card number and the authentication number to a payment agent (PG company). ) 40, the payment agency 40 delivers it to the VAN company 50, and the VAN company 50 delivers it back to the card company 30. Then, the approval result from the card company 30 is again transmitted to the VAN company 50, from the VAN company 50 to the payment agency 40, from the payment agency 40 to the service provider 10, the final The user receives the approval result.

종래의 이와 같은 일반적인 결제 방식은 결제 대행사와 VAN사를 통해 서비스 제공자와 카드사 사이의 가드 결제에 대한 동작이 수행되므로 시스템이 복잡할 뿐만 아니라 각각의 결제 중개사에 의한 수수료도 증가하게 되는 문제점이 있다.The conventional payment method of the related art has a problem that the operation of the guard payment between the service provider and the card company is performed through the payment agent and the VAN company, and thus the system is complicated and the fee by each payment broker is increased.

또한, 최근에는 서비스 제공자에 의해 제공되는 서비스는 다양한 플랫폼에 의해 이루어지고 있다. 즉, 서비스 제공자는 pc나 모바일을 위한 웹 기반 서비스, iOS, AOS 등을 이용한 앱 기반 서비스, iOS, AOS, 윈도우 등을 이용한 POS 기반 서비스 등을 제공하고 있다. 따라서, 이러한 다양한 플랫폼을 수용하기 위하여 PHP, JAVA, Ruby, Python, Node.is, ASP, Object C, MFC 등의 개발언어와 서비스 환경을 제공하기 위한 결제 인터페이스 제공자(60)가 서비스 제공자와 결제 대행사 사이에서 결제 인터페이스를 제공하고 있다.In recent years, services provided by service providers have been provided by various platforms. In other words, the service provider provides a web-based service for a pc or a mobile, an app-based service using an iOS, an AOS, and a POS-based service using an iOS, an AOS, and a Windows. Therefore, a payment interface provider 60 for providing a development language and a service environment such as PHP, JAVA, Ruby, Python, Node.is, ASP, Object C, MFC, etc. to accommodate such various platforms is provided by a service provider and a payment agency. It provides a payment interface.

하지만, 이러한 종래의 카드 결제 시스템에서는 결제 인터페이스 제공자, 결제 대행사, VAN사 등에 의한 결제 대행 수수료에 의해 서비스 제공자가 부담하여야 하는 카드 결제 수수료, 인터페이스 연동 이용수수료, 결제 대행사 이용 수수료, 카드 결제 수수료 등이 증가될 뿐만 아니라, 카드사가 결제 중개사들에게 지급하여야 하는 수수료 등도 증가되는 문제점이 있다.However, in such a conventional card payment system, a card payment fee, an interface interworking fee, a billing agency fee, a card payment fee, and the like that a service provider must pay by a payment agent fee by a payment interface provider, a payment agent, a VAN company, etc. In addition to the increase, there is a problem that the card company to pay the payment brokers, etc. are also increased.

KRKR 10-2018-007545010-2018-0075450 AA

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

또한, 본 발명은 카드 사용에 대한 승인 과정에서 수수료를 최소화하는 것을 다른 목적으로 한다.The present invention also aims to minimize the fee in the approval process for the use of the card.

또한, 본 발명은 카드 사용에 관한 트랜잭션을 블록체인에 등록하고 관리함으로써 카드 사용 정보의 위변조가 불가능하도록 하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to make forgery of card usage information impossible by registering and managing transactions related to card usage in a blockchain.

또한, 본 발명은 카드 사용의 승인에서 VAN사나 PG사를 이용하지 않고 블록체인을 이용함으로써 시스템을 간소화할 수 있을 뿐만 아니라 유지 비용을 절감할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, the present invention is another object of not only simplifying the system but also reducing the maintenance cost by using the blockchain in the approval of the use of the card without using the VAN company or the PG company.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 블록체인 기반의 결제 방법에 있어서, (a) 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 가 획득되면, 지급 결제 서버가, 상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디와 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 제공 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 단계; (b) 상기 사용자 단말로부터의 서명값이 획득되면, 상기 지급 결제 서버가, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 지급 결제 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 단계; 및 (c) 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 지급 결제 서버가, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 제공 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 제공 단말로 전송하도록 지원하는 단계; 를 포함하는 결제 방법이 제공된다.According to an embodiment of the present invention for achieving the above object, in the blockchain-based payment method, (a) a payment means token ID corresponding to the payment means of the user, user identification information for identifying the user, the Register the push token ID corresponding to the app installed in the user's user terminal, and the user's public key in the first blockchain, the payment means token ID, the user identification information, the push token ID, and the user's public A first hash value generated by applying a hash function to a key and at least one neighbor hash value matching the first hash value, or a value obtained by processing the first representative hash value; Order request information corresponding to the purchase and payment information of the user terminal from the service providing terminal in the state registered in the blockchain-the order request information Includes at least one or more of user identification information and order information-when a payment settlement server is obtained, the first representative hash from the second blockchain with reference to the user identification information included in the order request information. A value obtained by processing the first representative hash value or a value obtained by processing the first representative hash value or by another device interworking with the payment settlement server, by processing the first representative hash value or the first representative hash value from the second blockchain. And acquire Merkle tree information and leaf node information registered in the first blockchain in association with the first representative hash value or the processed value of the first representative hash value, or interworking with the payment server. Support other devices to obtain the Merkle tree information and leaf node information, refer to the Merkle tree information and leaf node information To obtain the push token ID from the first blockchain or to allow other devices linked to the payment settlement server to obtain the push token ID, generate an order ID corresponding to the order request information, and generate the order Register the transaction data including at least one of an ID and the order information in the first blockchain or register the transaction data in the first blockchain through another device linked to the payment settlement server. When a triggering condition for registering a predetermined hash value in the blockchain is satisfied, a second hash value generated by applying a hash function to the transaction data and at least one neighboring hash value matching the second hash value are calculated. A second representative hash value or a value obtained by processing the second representative hash value; And register the second representative hash value or the processed value of the second representative hash value to the second blockchain by allowing another device registered with the payment settlement server or interworking with the payment settlement server to request the push token ID and the signature. Transmitting information to the user terminal or transmitting the push token ID and the signature request information to the user terminal through another device linked to the payment settlement server or the service providing terminal; (b) when the signature value is obtained from the user terminal, the payment settlement server supports the verification of the signature value through another device linked to the payment settlement server or by verifying the signature value. If valid, the authorization request information including at least one or more of the payment means token ID, the order ID, and the order request information is transmitted to a fund source server or through another device linked with the payment settlement server. Supporting the transfer to the fund source server; And (c) when the approval result information from the fund source server is obtained, the payment settlement server registers the approval result information on the first blockchain or through another device linked to the payment settlement server. And a third hash value generated by applying a hash function to the approval result information when a triggering condition for registering information to the first blockchain and registering a predetermined hash value in the second blockchain is satisfied. Registering a third representative hash value for calculating at least one neighboring hash value matching the third hash value or a value for processing the third representative hash value in the second blockchain or interworking with the payment server. Support the device to register the third representative hash value or the processed value of the third representative hash value in the second blockchain, and The method comprising supporting a transfer approval completion information to the service provider terminal, or via other apparatus linked to the payment server to transmit the authorization information to complete the service providing terminal; A payment method including a is provided.

또한, 본 발명의 일 실시예에 따르면, 블록체인 기반의 결제를 수행하는 지급 결제 서버에 있어서, 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 를 획득하는 통신부; 및 상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디 또는 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 제공 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 프로세스와, 상기 사용자 단말로부터의 서명값이 획득되면, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 지급 결제 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 프로세스와, 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 제공 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 제공 단말로 전송하도록 지원하는 프로세스를 수행하는 프로세서; 를 포함하는 지급 결제 서버가 제공된다.In addition, according to an embodiment of the present invention, in the payment settlement server for performing a blockchain-based payment, payment means token ID corresponding to the payment means of the user, user identification information for identifying the user, the user's The push token ID corresponding to the app installed in the user terminal, and the public key of the user is registered in the first blockchain, and the payment means token ID, the user identification information, the push token ID, and the public key of the user The second blockchain includes a first hash value calculated by applying a hash function and at least one neighbor hash value matched with the first hash value, or a value obtained by processing the first representative hash value. Order request information corresponding to the purchase and payment information of the user terminal from the service providing terminal in the state of registering with the service request terminal; User identification information, and the order including the at least one of the information-communication unit for obtaining; And another device that obtains a value obtained by processing the first representative hash value or the first representative hash value from the second blockchain with reference to the user identification information included in the order request information or is linked to the payment server. Assisting to obtain a value obtained by processing the first representative hash value or the first representative hash value from the second blockchain, and is related to a value obtained by processing the first representative hash value or the first representative hash value. To obtain Merkle tree information and leaf node information registered in the first blockchain or to allow other devices linked to the payment server to acquire the Merkle tree information and leaf node information, and the Merkle tree information and leaf Obtain the push token ID from the first blockchain with reference to node information or link to the payment server Supports other devices to obtain the push token ID, generates an order ID corresponding to the order request information, and transmits transaction data including at least one of the order ID or the order information to the first blockchain. When the triggering condition for registering the transaction data in the first blockchain through registration or another device linked to the payment server and registering a predetermined hash value in the second blockchain is satisfied, the transaction A second hash value generated by applying a hash function to data and at least one neighbor hash value matching the second hash value, or a value obtained by processing the second representative hash value; 2 The second representative hash value or other device registered on the blockchain or linked to the payment server It supports to register the processed value of the second representative hash value in the second blockchain, and transmits the push token ID and the signature request information to the user terminal or provide the other device or the service linked to the payment server. A process for supporting the push token ID and the signature request information to the user terminal through a terminal; and when the signature value from the user terminal is obtained, another device that verifies the signature value or interworks with the payment server. Support verification of the signature value, and if the signature value is valid, transmit authorization request information including at least one or more of the payment means token ID, the order ID, and the order request information to a fund source server; The approval request information is obtained through another device linked with the payment server. A process for supporting the transfer to the fund source server, and when the approval result information from the fund source server is obtained, the approval result information is registered in the first blockchain or through another device linked to the payment settlement server. A third hash generated by applying a hash function to the approval result information when a triggering condition for registering approval result information in the first blockchain and registering a predetermined hash value in the second blockchain is satisfied. Registering a third representative hash value or a value obtained by processing the third representative hash value or the third representative hash value calculated by calculating a value and at least one neighboring hash value matching the third hash value, or interworking with the payment settlement server. Enable other devices to register the third representative hash value or a value obtained by processing the third representative hash value in the second blockchain, A processor configured to transmit the approval completion information corresponding to the approval result information to the service providing terminal or to transmit the approval completion information to the service providing terminal through another device linked to the payment settlement server; Payment payment server comprising a.

이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.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, the following effects are obtained.

본 발명은 카드 사용에 대한 승인 과정에서 수수료를 최소화할 수 있다.The present invention can minimize the fee in the approval process for the use of the card.

또한, 본 발명은 카드 사용에 관한 트랜잭션을 블록체인에 등록하고 관리함으로써 카드 사용 정보의 위변조가 불가능하도록 할 수 있다.In addition, the present invention can be made forgery of the card use information by registering and managing the transaction on the card use in the blockchain.

또한, 본 발명은 카드 사용의 승인에서 VAN사나 PG사를 이용하지 않고 블록체인을 이용함으로써 시스템을 간소화할 수 있을 뿐만 아니라 유지 비용을 절감할 수 있다.In addition, the present invention can not only simplify the system but also reduce maintenance costs by using a blockchain without using a VAN company or a PG company in approving the use of a card.

도 1은 종래의 카드 결제 시스템을 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 결제 시스템을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 결제 방법을 개략적으로 도시한 것이고,
도 4와 도 5는 본 발명의 일 실시예에 따른 블록체인 기반의 결제 방법에서 결제와 관련한 트랜잭션을 블록체인에 등록하는 다른 실시예를 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따른 블록체인 기반의 결제 방법에서 지불 정보를 등록하는 방법을 개략적으로 도시한 것이다.
1 schematically shows a conventional card payment system,
2 schematically shows a blockchain-based payment system according to an embodiment of the present invention.
3 schematically illustrates a blockchain-based payment method according to an embodiment of the present invention.
4 and 5 schematically show another embodiment of registering a transaction related to payment in the blockchain in the blockchain-based payment method according to an embodiment of the present invention,
6 schematically illustrates a method of registering payment information in a blockchain-based payment method according to an embodiment of the present invention.

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

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

도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 결제 시스템을 개략적으로 도시한 것으로, 시스템은 사용자 단말(100), 서비스 제공 단말(200), 지급 결제 서버(300), 및 펀드 소스 서버(400)를 포함할 수 있다.2 schematically illustrates a blockchain-based payment system according to an embodiment of the present invention. The system includes a user terminal 100, a service providing terminal 200, a payment settlement server 300, and a fund source server. 400 may be included.

먼저, 사용자 단말(100)은 사용자에게 서비스되는 정보를 표시하여 주며 결제를 위한 정보의 입력 및 표시를 위한 디바이스로, PC, 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿 등을 포함할 수 있다. 그리고, 사용자 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등의 모든 통신 디바이스를 포함할 수 있다. 또한, 사용자 단말(100)은 정보의 송수신을 지원하는 통신부와 정보를 처리하는 프로세서를 포함할 수 있다. 이에 더하여, 사용자 단말(100)은 지급 결제 서버(300) 또는 서비스 제공 단말(200)에서 제공하는 사용자 인터페이스인 앱(APP; application)을 포함할 수 있다.First, the user terminal 100 displays information serviced to a user and is a device for inputting and displaying information for payment, and may include a PC, a mobile computer, a PDA / EDA, a mobile phone, a smartphone, a tablet, and the like. Can be. The user terminal 100 is not limited thereto, and may include all communication devices such as a portable game machine, a digital camera, and a personal navigation device having a wired / wireless communication function. In addition, the user terminal 100 may include a communication unit that supports the transmission and reception of information and a processor that processes the information. In addition, the user terminal 100 may include an application (APP) which is a user interface provided by the payment settlement server 300 or the service providing terminal 200.

다음으로, 서비스 제공 단말(200)은 사용자가 사용할 수 있는 다양한 서비스를 제공하여 주는 것으로, 정보의 송수신을 지원하는 통신부와 정보를 처리하는 프로세서를 포함할 수 있다. 또한, 서비스 제공 단말(200)은 사용자 단말(100)에 의한 구매 및 지불 정보에 대응되는 주문 요청 정보를 생성하여 사용자의 결제 펀드 소스에 대응되는 지급 수단에 따른 결제를 수행하는 단말로, 오프라인 쇼핑몰의 결제 단말 또는 온라인 쇼핑몰의 결제 서버를 포함할 수 있으며, 오프라인 쇼핑몰의 결제 단말 또는 온라인 쇼핑몰의 결제 서버와 연동하여 사용자에게 제공된 서비스 또는 물품에 대한 결제를 수행하는 서버를 포함할 수 있다. 이에 더하여, 서비스 제공 단말(200)은 온라인 또는 오프라인에서 서비스 제공 또는 제품의 구매에 대응하는 비용을 사용자 소유의 펀드 소스에 대응하는 지급 수단을 이용하여 결제할 수 있도록 하는 모든 단말을 포함할 수 있다Next, the service providing terminal 200 provides various services that can be used by a user, and may include a communication unit that supports transmission and reception of information and a processor that processes the information. In addition, the service providing terminal 200 is a terminal that generates order request information corresponding to the purchase and payment information by the user terminal 100 and performs payment according to the payment means corresponding to the user's payment fund source. It may include a payment terminal or a payment server of the online shopping mall, and may include a server for payment of services or goods provided to the user in conjunction with the payment terminal of the offline shopping mall or the payment server of the online shopping mall. In addition, the service providing terminal 200 may include any terminal that enables payment of a cost corresponding to a service provision or a purchase of a product online or offline using a payment means corresponding to a user's own fund source.

다음으로, 지급 결제 서버(300)는 블록체인 기반의 결제를 수행하는 것으로, 통신부와 프로세서를 포함할 수 있다. 동일한 참조 부호를 이용하여 나타낸 것은 설명의 편의를 위한 것일 뿐, 이들 개별 장치들이 동일하다는 의미로 의도된 것은 아니다. 그리고, 본 발명의 다른 실시예에서의 방법은 서버를 상이하게 구성하여 해당 방법을 수행하거나 동일한 지급 결제 서버(300)를 통해 해당 방법을 수행할 수도 있다. 또한, 지급 결제 서버(300)는 블록체인의 각각의 노드에 대응하는 서버이거나, 블록체인의 노드를 관리하는 서버 또는 트랜잭션 서버일 수 있다.Next, the payment server 300 performs a blockchain-based payment, and may include a communication unit and a processor. The same reference numerals are used for the convenience of description and are not intended to mean that these individual devices are the same. In addition, the method in another embodiment of the present invention may be configured differently to perform the method or to perform the method through the same payment server (300). In addition, the payment server 300 may be a server corresponding to each node of the blockchain, or may be a server or transaction server that manages the nodes of the blockchain.

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

이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.The communication unit of such a computing device may transmit and receive a request and a response with another computing device to which the computing device is interworking. As an example, the request and response may be made by the same TCP session, but is not limited thereto. It may be sent and received as a gram.

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

다음으로, 펀드 소스 서버(400)는 통신부와 프로세서를 포함할 수 있으며, 사용자의 지급 수단 사용에 대한 승인 및 서비스 제공자의 정산에 대한 서비스를 제공하여 줄 수 있다. 이때, 정산에 대한 서비스는 지급 결제를 위한 매입, 청구, 및 정산을 포함할 수 있다. 그리고, 펀드 소스 서버(400)는 사용자가 지급 결제에 사용하고자 하는 펀드 소스를 관리하는 서버일 수 있으나, 이에 한정되는 것은 아니며, 펀드 소스에 대응되는 지급 수단에 대한 승인 서비스를 제공하는 모든 서버를 포함할 수 있다. 또한, 펀드 소스 서버(400)는 지급 결제 서버(300)와의 통신을 통해 지급 수단 사용에 필요한 각종 정보의 확인 동작을 수행할 수 있다. 이때, 펀드 소스는 사용자의 은행 계좌, 신용카드, 상품권, 멤버쉽카드, 쿠폰, 포인트 등을 포함할 수 있으나, 이에 한정되지 않으며, 지급 결제가 가능한 모든 가치 보유 장치 또는 정보를 포함할 수 있으며, 지급 수단은 펀드 소스에 대응하여 펀드 소스를 인식할 수 있도록 하는 장치 또는 정보일 수 있다.Next, the fund source server 400 may include a communication unit and a processor, and may provide a service for approval of a user's use of payment means and settlement of a service provider. In this case, the service for settlement may include purchase, billing, and settlement for payment settlement. The fund source server 400 may be a server that manages a fund source that a user wants to use for payment. However, the fund source server 400 is not limited thereto, and any server providing an approval service for a payment method corresponding to the fund source may be provided. It may include. In addition, the fund source server 400 may perform a check operation of various information necessary for using the payment means through communication with the payment settlement server 300. In this case, the fund source may include a user's bank account, credit card, gift certificate, membership card, coupon, points, etc., but is not limited to this, and may include any value holding device or information that can be paid for payment. The means may be an apparatus or information that enables to recognize the fund source in correspondence with the fund source.

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

이와 같이 구성된 시스템을 통해 본 발명의 일 실시예에 따른 블록체인 기반의 결제 시스템에서 결제를 수행하는 방법을 도 3을 참조하여 설명하면 다음과 같다.A method of performing payment in the blockchain-based payment system according to an embodiment of the present invention through the system configured as described above will be described with reference to FIG. 3.

먼저, 사용자의 지불 정보, 일 예로, 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 사용자를 식별하기 위한 사용자 식별 정보, 사용자의 사용자 단말(100)에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 사용자의 퍼블릭 키가 블록체인(500)에 등록된 상태에서, 사용자가 온라인 또는 오프라인에서 서비스 이용 또는 제품 구매 등에 따른 비용을 결제하기 위하여 서비스 제공 단말(200)로 사용자의 펀드 소스에 따른 지급 수단에 대응하는 사용자 식별 정보를 입력하거나 제공하여 주문 정보에 대한 결제를 요청하면(S1), 서비스 제공 단말(200)은 사용자에 의해 주문된 서비스 또는 제품들에 대한 정보인 주문 정보를 저장하고, 사용자 식별 정보와 주문 정보를 포함하는 주문 요청 정보를 지급 결제 서버(300)로 전송하거나 서비스 제공 단말(200)에 연동되는 타 장치로 하여금 주문 요청 정보를 지급 결제 서버(300)로 전송하도록 지원한다(S2). 이때, 주문 정보는 상품명, 상품 수량, 단가, 가격 등과 같이 사용자가 구매하거나 이용한 제품 또는 서비스에 대한 상세 정보를 포함할 수 있다. 또한, 사용자 식별 정보는 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보로서, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 전화번호, 및 이들 각각의 해시값 중 적어도 하나 이상을 포함할 수 있다. 또한, 블록체인(500)은 다수의 블록체인으로 구성될 수 있으며. 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지불 정보는 제1 블록체인에 등록되며, 지불 정보에 해시함수를 적용하여 생성한 제1 해시값과 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값이 제2 블록체인에 등록될 수 있다.First, payment information of a user, for example, a payment means token ID corresponding to a user's payment means, user identification information for identifying a user, a push token ID corresponding to an app installed in the user terminal 100 of the user, and the user With the public key of registered in the blockchain 500, the user corresponding to the payment means according to the user's fund source to the service providing terminal 200 in order to pay the costs for using the service or product purchase online or offline When requesting payment for order information by inputting or providing user identification information (S1), the service providing terminal 200 stores order information, which is information about services or products ordered by the user, and user identification information. The order request information including the order information and payment to the payment server 300 or linked to the service providing terminal 200 Supports allow the other device to send an order request information to the payment server (300) (S2). In this case, the order information may include detailed information about the product or service purchased or used by the user, such as a product name, a product quantity, a unit price, a price, and the like. In addition, the user identification information is unique information given for each user to identify the user, and includes a user ID, a social security number, a user terminal ID, an IP address of the user terminal, a MAC address of the user terminal, a phone number, and hash values thereof. It may include at least one. In addition, the blockchain 500 may be composed of a plurality of blockchains. When the blockchain 500 is composed of the first blockchain and the second blockchain, the payment information is registered in the first blockchain, and the first hash value and the first hash value generated by applying the hash function to the payment information. The first representative hash value obtained by calculating at least one neighboring hash value matched with or processed by the first representative hash value may be registered in the second blockchain.

그러면, 지급 결제 서버(300)는 서비스 제공 단말(200)로부터 획득되는 주문 요청 정보의 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 블록체인(500)으로부터 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 사용자 식별 정보에 대응하는 푸시 토큰 아이디를 블록체인(500)으로부터 획득하도록 지원한다(S3)(S4). 일 예로, 지급 결제 서버(300)는 사용자 식별 정보에 대응하는 블록체인 트랜잭션 아이디를 확인하며, 블록체인 트랜잭션 아이디를 이용하여 블록체인(500)에 등록된 지불 정보 트랜잭션을 획득하며, 획득된 지불 정보 트랜잭션에 포함된 푸시 토큰 아이디를 확인하게 된다.Then, the payment settlement server 300 obtains a push token ID corresponding to the user identification information of the order request information obtained from the service providing terminal 200 from the blockchain 500 or is linked to the payment settlement server 300. Support the device to obtain a push token ID corresponding to the user identification information from the blockchain 500 (S3) (S4). For example, the payment server 300 confirms the blockchain transaction ID corresponding to the user identification information, obtains the payment information transaction registered in the blockchain 500 using the blockchain transaction ID, and obtains the payment information. You will see the push token ID included in the transaction.

한편, 블록체인(500)이 다수의 블록체인으로 구성될 수 있으며, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지급 결제 서버(300)는 주문 요청 정보에 포함된 사용자 식별 정보를 참조하여 제2 블록체인으로부터 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제2 블록체인으로부터 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값과 관련되어 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원한다. 그리고, 지급 결제 서버(300)는 획득된 머클 트리 정보 및 리프 노드 정보를 참조하여 제1 블록체인으로부터 푸시 토큰 아이디를 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 푸시 토큰 아이디를 획득하도록 지원할 수 있다.On the other hand, the blockchain 500 may be composed of a plurality of blockchain, if the blockchain 500 is composed of the first blockchain and the second blockchain, payment server 300 is included in the order request information The first representative hash value or the value obtained by processing the first representative hash value from the second blockchain with reference to the user identification information, or the other device linked to the payment settlement server 300 causes the first device to be linked to the first blockchain from the second blockchain. Merkle tree information and leaf nodes registered in the first blockchain in relation to a value obtained by processing the representative hash value or the first representative hash value, and associated with the processed values of the first representative hash value or the first representative hash value Supports other devices that acquire information or interoperate with the payment settlement server 300 to obtain Merkle tree information and leaf node information. In addition, the payment server 300 obtains a push token ID from the first blockchain with reference to the obtained merkle tree information and leaf node information, or enables another device linked to the payment server to obtain the push token ID. Can be supported.

그리고, 지급 결제 서버(300)는 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 적어도 생성된 주문 아이디와 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 블록체인(500)에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치를 통해 트랜잭션 데이터가 블록체인(500)에 등록하도록 지원한다(S5). 이때, 지급 결제 서버(300)는 주문 정보들을 리프노드로 한 머클트리를 연산하며, 연산된 머클트리의 루트 해시값 또는 루트 해시값을 가공한 값을 주문 아이디로 생성한다.The payment settlement server 300 generates an order ID corresponding to the order request information and registers transaction data including at least one of the generated order ID and the order information in the blockchain 500 or the payment settlement server ( It supports to register the transaction data in the blockchain 500 through the other device linked to 300 (S5). At this time, the payment server 300 calculates the Merkle tree with the order information as a leaf node, and generates a calculated value of the processed route hash value or the root hash value as the order ID.

한편, 상기에서는 트랜잭션 데이터를 블록체인(500)에 등록하였으나, 블록체인(500)이 다수로 이루어질 수 있으며, 일 예로, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지급 결제 서버(300)가 트랜잭션 데이터를 제1 블록체인과 제2 블록체인에 등록하는 과정을 상세히 설명하면 다음과 같다.Meanwhile, although the transaction data is registered in the blockchain 500, the blockchain 500 may be formed in plural. For example, when the blockchain 500 is composed of a first blockchain and a second blockchain. In detail, the payment settlement server 300 registers the transaction data in the first blockchain and the second blockchain as follows.

지급 결제 서버(300)는 트랜잭션 데이터를 제1 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제1 블록체인에 등록하도록 한다.The payment settlement server 300 registers transaction data in the first blockchain or allows other devices linked to the payment settlement server 300 to register in the first blockchain.

그리고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 지급 결제 서버(300)는 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 제2 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산함으로써 머클 루트인 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 생성한다.When the triggering condition for registering the predetermined hash value in the second blockchain is satisfied, the payment server 300 matches the second hash value and the second hash value generated by applying the hash function to the transaction data. By calculating at least one neighboring hash value, a value obtained by processing the second representative hash value or the second representative hash value that is the Merkle root is generated.

또한, 지급 결제 서버(300)는 생성된 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 제2 블록체인에 등록하도록 할 수 있다.In addition, the payment settlement server 300 registers the generated second representative hash value or the value of the second representative hash value in the second blockchain or other device or first blockchain linked to the payment settlement server 300. The second representative hash value or a value obtained by processing the second representative hash value may be registered in the second blockchain.

한편, 지급 결제 서버(300)는 제2 해시값과 적어도 하나의 이웃 해시값을 소정의 데이터 구조로 저장하여 관리할 수 있다. 여기서, 데이터 구조는 다양할 수 있는 데, 일 예로 머클 트리(merkle tree) 구조가 될 수도 있다.Meanwhile, the payment settlement server 300 may store and manage the second hash value and the at least one neighbor hash value in a predetermined data structure. Here, the data structure may vary, for example, may be a merkle tree structure.

즉, 지급 결제 서버(300)는 제2 해시값이 특정 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원할 수 있고, 트리거링 조건이 만족되면, 제2 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 머클 루트인 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다.That is, the payment settlement server 300 may support to generate or generate a merkle tree in which the second hash value is assigned to a specific leaf node, and if the triggering condition is satisfied, at least one matching the second hash value. Register the second representative hash value or the processed second representative hash value, which is a Merkle root generated by calculating a hash value assigned to another leaf node of the second blockchain, or is linked to the payment settlement server 300. The device or the first blockchain may be supported to register with the second blockchain.

좀더 구체적으로 설명하면, (x1) 지급 결제 서버(300)는, (i) 제2 해시값과 (ii) 제2 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 연산하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 연산하도록 지원하고, 연산값에 대한 해시값을 노드의 부모 노드에 할당하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 부모 노드에 할당하도록 지원할 수 있다. (x2) 만일, 부모 노드가 머클 트리의 루트 노드이면, 부모 노드에 할당된 해시값이 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값이 된다. (x3) 반면, 부모 노드가 머클 트리의 루트 노드가 아니면, 지급 결제 서버(300)는, 부모 노드에 할당된 해시값을 제2 해시값으로 하여 (x1) 내지 (x3)를 반복하여 수행한다.In more detail, (x1) the payment settlement server 300 calculates a hash value assigned to the sibling node of the node to which (i) the second hash value and (ii) the second hash value is assigned or the payment settlement server. It is possible to support other devices linked to the 300 operation, and to assign a hash value for the calculated value to the parent node of the node or to support other devices linked to the payment settlement server 300 to the parent node. . (x2) If the parent node is the root node of the Merkle tree, the hash value assigned to the parent node is a value obtained by processing the second representative hash value or the second representative hash value. (x3) On the other hand, if the parent node is not the root node of the Merkle tree, the payment settlement server 300 repeats (x1) to (x3) by using the hash value assigned to the parent node as the second hash value. .

그리고, 지급 결제 서버(300)는 최종적으로 머클 트리의 루트 노드에 할당된 해시값을 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값으로서 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원한다. 이때, 제2 대표 해시값을 가공한 값은, 예를 들어, 제2 대표 해시값에 hex 연산이 수행된 결과값일 수 있다.In addition, the payment server 300 registers the hash value finally allocated to the root node of the Merkle tree as a value obtained by processing the second representative hash value or the second representative hash value, or registers the hash value in the second blockchain or the payment settlement server 300. ) To allow other devices or the first blockchain linked to the second blockchain to register with the second blockchain. In this case, the processed value of the second representative hash value may be, for example, a result value of performing a hex operation on the second representative hash value.

한편, 지급 결제 서버(300)가 제2 해시값과 적어도 하나의 이웃 해시값을 소정의 제1-1 데이터 구조로 저장하고, 이후 제1-1 데이터 구조와 동일한 형태의 제1-2 데이터 구조를 저장하여 관리하는 경우, 제1-1 데이터 구조와 제1-2 데이터 구조는 체인 형태로 연결될 수 있다.On the other hand, the payment server 300 stores the second hash value and at least one neighboring hash value in a predetermined 1-1 data structure, and thereafter, the 1-2 data structure having the same form as the 1-1 data structure. In the case of storing and managing the data, the 1-1 data structure and the 1-2 data structure may be connected in a chain form.

특히, 상술한 예에서와 같이 제1-1 데이터 구조 및 제1-2 데이터 구조가 머클 트리인 경우, 제1-1 데이터 구조의 루트값 또는 루트값의 해시값이 제1-2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다.In particular, when the first-first data structure and the first-second data structure are Merkle trees as in the above-described example, the root value of the first-first data structure or the hash value of the root value is determined by the first-second data structure. Can be assigned to the first leaf node.

또한, 제1-2 데이터 구조를 생성할 때는 제1-1 데이터 구조에 대한 검증이 이루어짐으로써 데이터 integrity가 좀더 보장될 수 있다. 제1-2 데이터 구조의 검증에 대해서는 후술하기로 한다.In addition, when the 1-2 data structure is generated, data integrity may be more guaranteed by verifying the 1-1 data structure. The verification of the 1-2 data structure will be described later.

또한, 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리의 경우, 첫번째 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해시값 또는 이를 가공한 값이 할당될 수 있다. 예를 들어, 머클 트리 생성시 지급 결제 서버(300)에 의해 최초로 부여된 입력 메시지의 해시값이 할당될 수 있다.In addition, in the case of the first Merkle tree of at least one Merkle tree connected in a chain form, the first leaf node of the first Merkle tree may be assigned a hash value of a predetermined message data composed of text, numbers, or symbols or a processed value thereof. have. For example, a hash value of an input message initially given by the payment settlement server 300 may be assigned when generating the merkle tree.

도 4 및 도 5는 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 것이다.4 and 5 show examples of merkle trees created according to one embodiment of the invention.

도 4에서는 리프 노드의 개수가 4개인 머클 트리가 도시된다. 도시된 머클 트리는 첫번째 머클 트리이기 때문에(tree_id=0), 첫번째 리프 노드인 h0 노드에는 소정의 메시지 데이터의 해시값 (sha256(coinplug_unique_message))이 할당되었음을 알 수 있다. 기록 데이터에 대한 등록 요청이 있는 경우, 지급 결제 서버(300)는 현재 구성 중인 머클 트리의 가장 마지막 리프 노드의 다음 리프 노드를 생성하여 제2 해시값 또는 제2 해시값을 가공한 값을 할당하거나 할당하도록 지원한다. 예를 들어, 도 4의 머클 트리에서 두번째 리프 노드인 h1 노드까지 값 할당이 완료된 상태에서 새로운 리프 노드를 생성하여야 하는 경우, 다음 리프 노드인 h2 노드를 생성하여 제2 해시값 또는 제2 해시값을 가공한 값(sha256(input2))을 할당할 수 있다. 또한, 지급 결제 서버(300)는 (i) h2 노드에 할당된 제2 해시값과 (ii) h2 노드의 형제 노드인 h3 노드에 할당된 해시값을 연산하거나 연산하도록 지원할 수 있다. 연산값에 대한 해시값은 h2 노드와 h3 노드의 부모 노드(h23 노드)에 할당된다. 부모 노드(h23 노드)가 머클 트리의 루트 노드가 아니므로 지급 결제 서버(300)는 h23 노드에 할당된 해시값을 제2 해시값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해시값을 제2 해시값으로 하고, h23 노드에 할당된 해시값과 h01 노드에 할당된 해시값을 연산하여 h23 노드와 h01 노드의 부모 노드(h0123 노드)에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로 지급 결제 서버(300)는, h0123 노드에 할당된 해시값을 가공한 값(hex(h{node_index}))을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다4 shows a Merkle tree with four leaf nodes. Since the illustrated Merkle tree is the first Merkle tree (tree_id = 0), it can be seen that a hash value (sha256 (coinplug_unique_message)) of predetermined message data is allocated to the h0 node, which is the first leaf node. If there is a registration request for the historical data, the payment server 300 generates a next leaf node of the last leaf node of the Merkle tree currently being configured and assigns a second hash value or a processed value of the second hash value; Support to assign For example, when a new leaf node needs to be created in a state where value allocation is completed to the second leaf node h1 node in the merkle tree of FIG. 4, a second hash value or a second hash value is generated by creating a next leaf node h2 node. You can assign the processed value (sha256 (input2)). In addition, the payment server 300 may support to calculate or calculate (i) the second hash value assigned to the h2 node and (ii) the hash value assigned to the h3 node that is the sibling node of the h2 node. The hash value for the operation value is assigned to the parent node (h23 node) of node h2 and node h3. Since the parent node (h23 node) is not the root node of the Merkle tree, the payment settlement server 300 may repeat the above process by using the hash value assigned to the h23 node as the second hash value. That is, the hash value assigned to the h23 node is used as the second hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node are calculated to be assigned to the parent node (h0123 node) of the h23 node and the h01 node. Can be. At this time, since the h0123 node is the root node of the Merkle tree, the payment settlement server 300 registers a value (hex (h {node_index})) of the hash value assigned to the h0123 node in the second blockchain or the payment settlement server. It is possible to support another device or the first blockchain linked to the 300 to register with the second blockchain.

한편, 전술한 트리거링 조건이란, (i) 소정의 개수만큼 결제와 관련한 트랜잭션이 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 제1 블록체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함할 수 있다.Meanwhile, the triggering condition described above includes (i) a condition in which transactions related to payment are generated by a predetermined number, (ii) a condition in which a predetermined time elapses, (iii) a condition in which a block is generated in the first blockchain, (iv) ) May include at least one of conditions for service characteristics.

한편, 예를 들어, 결제와 관련한 트랜잭션이 머클 트리의 리프 노드 수만큼 획득되면 지급 결제 서버(300)는 머클 트리를 생성하고, 머클 트리의 루트값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 등록하도록 지원할 수 있다.On the other hand, for example, if a transaction related to payment is acquired by the number of leaf nodes of the Merkle tree, the payment settlement server 300 generates the Merkle tree, registers the root value of the Merkle tree in the second blockchain, or pays the payment settlement server ( Other devices linked to 300 may be supported to register.

또한, 지급 결제 서버(300)는 소정 시간 단위로 전술한 머클 트리의 루트값을 생성할 수 있다(상기 (ii) 조건). 이 경우 지급 결제 서버(300)는 소정의 시간이 경과되면 그때까지의 입력값을 이용하여 머클 트리를 생성하고 머클 트리의 루트값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다.In addition, the payment server 300 may generate the root value of the aforementioned Merkle tree in predetermined time units (condition (ii) above). In this case, when a predetermined time elapses, the payment settlement server 300 generates a Merkle tree using the input values up to that time and registers the root value of the Merkle tree in the second blockchain or is linked to the payment settlement server 300. It is possible to support other devices or the first blockchain to register with the second blockchain.

그런데, 이 경우에는 소정 시간이 경과하였음에도 머클 트리의 특정 해시값이 할당된 노드의 형제 노드에 값이 할당되지 않을 수 있다. 이처럼 트리거링 조건이 만족되었음에도 제2 해시값이 할당된 노드의 형제 노드에 해시값이 할당되어 있지 않은 경우, 지급 결제 서버(300)는, 형제 노드에 소정의 해시값을 할당하거나 할당하도록 지원하여 전술한 방식으로 머클 트리의 루트값이 산출되도록 할 수 있다. 예를 들어, 지급 결제 서버(300)는 제2 해시값을 복제하여 형제 노드에 할당하거나 할당하도록 지원할 수 있다.In this case, however, a value may not be assigned to a sibling node of a node to which a specific hash value of the Merkle tree is assigned even after a predetermined time has elapsed. When the triggering condition is satisfied and the hash value is not assigned to the sibling node of the node to which the second hash value is assigned, the payment settlement server 300 supports to assign or assign a predetermined hash value to the sibling node. In one way, the root value of the Merkle tree can be calculated. For example, the payment server 300 may duplicate the second hash value and allocate or assign the sibling node to the sibling node.

그리고, 서비스 특성이란, 결제와 관련한 트랜잭션을 발행한 발행자가 제공한 비용 정보, 결제 관련 트랜잭션 등록이 이루어지는 시간대 정보, 결제 관련 트랜잭션 등록 서비스가 이루어지는 지역 정보, 결제 관련 트랜잭션 등록 요청을 한 회사 타입 정보 중 적어도 일부가 될 수 있다. 다만, 여기서 기재한 것에 한정할 것은 아니고, 통상적으로 인정되는 차등적 서비스가 제공될 수 있는 다양한 조건 정보를 포함한다.In addition, the service characteristics are among the cost information provided by the issuer who issued the transaction related to payment, the time zone information on which payment related transactions are registered, the regional information on which payment related transactions are registered, and the company type information on which payment related transactions are registered. It can be at least part of it. However, the present invention is not limited to the above description and includes various condition information in which a generally accepted differential service can be provided.

한편, 새로운 머클 트리 생성이 시작되고, 결제 관련 트랜잭션이 없는 상태에서 트리거링 조건이 만족되면, 지급 결제 서버(300)는, 소정의 메시지 데이터가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 머클 트리의 루트값 또는 이를 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동된 타 장치 또는 제1 블록체인으로 하여금 제2 블록체인에 등록하도록 지원할 수 있다. 이 경우에는 리프 노드 2개짜리 머클 트리가 생성될 수도 있는 것이다.On the other hand, when the new Merkle tree generation is started and the triggering condition is satisfied in the absence of a payment related transaction, the payment settlement server 300 generates a Merkle tree in which predetermined message data is assigned to the first leaf node and the second leaf node. Or register the root value or the processed value of the Merkle Tree in the second blockchain or allow another device or first blockchain linked to the payment settlement server 300 to register in the second blockchain. Can be. In this case, a two leaf node Merkle tree may be created.

또한, 전술한 것처럼 지급 결제 서버(300)가 제2 해시값과 적어도 하나의 이웃 해시값을 소정의 제1-1 데이터 구조로 저장하고, 이후 제1-1 데이터 구조와 동일한 형태의 제1-2 데이터 구조를 저장하여 관리하는 경우, 제1-1 데이터 구조와 제1-2 데이터 구조는 체인 형태로 연결될 수 있다. 특히, 제1-1 데이터 구조 및 제1-2 데이터 구조가 머클 트리인 경우, 제1-1 데이터 구조의 루트값 또는 루트값의 해시값이 제1-2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다.In addition, as described above, the payment settlement server 300 stores the second hash value and the at least one neighboring hash value in a predetermined first-first data structure, and thereafter, the first one having the same form as the first-first data structure. When storing and managing the two data structures, the 1-1 data structure and the 1-2 data structure may be connected in a chain form. In particular, when the 1-1 data structure and the 1-2 data structure are Merkle trees, a root value of the 1-1 data structure or a hash value of the root value may be assigned to the first leaf node of the 1-2 data structure. Can be.

도 5는 본 발명의 일 실시예에 따라 제1-2 데이터 구조로서 생성된 머클 트리를 도시한 도면이다.5 is a diagram illustrating a Merkle tree generated as a 1-2 data structure according to an embodiment of the present invention.

도 5를 참조하면, 도 4의 머클 트리(tree_id=0)의 루트값(hex(h0123))이 새로운 머클 트리의 첫번째 리프 노드(h4 노드)에 할당되었음을 알 수 있다(sha256(input4)). 본 발명은 이와 같이 트랜잭션 발생시 생성되는 복수의 데이터 구조를 연결함으로써 중간에 데이터가 변조가 발생되는 경우라도 쉽게 트래킹이 가능하여 데이터 integrity를 향상시키는 장점을 가진다.Referring to FIG. 5, it can be seen that the root value hex (h0123) of the merkle tree (tree_id = 0) of FIG. 4 is allocated to the first leaf node (h4 node) of the new merkle tree (sha256 (input4)). The present invention has an advantage of improving data integrity by easily tracking even when data is tampered with by connecting a plurality of data structures generated when a transaction occurs.

다시, 도 3을 참조하면, 지급 결제 서버(300)는 푸시 토큰 아이디와 서명 요청 정보를 사용자 단말(100)로 전송하거나, 서비스 제공 단말(200)을 통해 푸시 토큰 아이디와 서명 요청 정보가 사용자 단말(100)로 전송되도록 한다(S6)(S7). 이때, 서명 요청 정보에는 주문 정보 또는 검증 확인값을 포함할 수 있다.Again, referring to FIG. 3, the payment settlement server 300 transmits the push token ID and the signature request information to the user terminal 100 or the push token ID and the signature request information through the service providing terminal 200. 100 to be transmitted (S6) (S7). In this case, the signature request information may include order information or a verification confirmation value.

그러면, 사용자 단말(100)은 푸시 토큰 아이디에 대응하는 결제 요청된 펀드 소스에 해당하는 앱을 실행하고, 사용자에게 검증 확인값에 대한 전자 서명을 요청하거나, 주문 정보에 대한 확인과 전자 서명에 대한 요청 정보를 표시하여 주며(S8), 사용자가 전자 서명 요청을 확인하거나 주문 정보가 자신이 주문한 내용과 일치하는 것을 확인한 후, 비밀번호, PIN 코드, 지문, 및 생체 정보 중 적어도 하나를 포함하는 자신이 설정한 확인 정보를 입력하면, 사용자 단말(100)은 사용자에 의해 입력되는 확인 정보가 사용자에 의해 기설정된 확인 정보와 일치하는 지를 확인한다.Then, the user terminal 100 executes the app corresponding to the payment requested fund source corresponding to the push token ID, requests the user to electronically sign the verification confirmation value, or checks the order information and the electronic signature. Display request information (S8), and after the user confirms the electronic signature request or confirms that the order information matches the contents of his order, the user includes at least one of a password, a PIN code, a fingerprint, and biometric information. When the set confirmation information is input, the user terminal 100 confirms whether the confirmation information input by the user matches the confirmation information preset by the user.

그리고, 사용자에 의해 입력된 확인 정보가 기설정된 확인 정보와 일치할 경우, 사용자 단말(100)은 검증 확인값 또는 주문 정보에 대한 사용자 서명값을 생성하여(S9) 지급 결제 서버(300)로 전송하거나 서비스 제공 단말(200)을 통해 지급 결제 서버(300)로 전송되도록 지원한다(S10). 일 예로, 사용자 단말(100)은 사용자에 의해 입력된 확인 정보가 기설정된 확인 정보와 일치할 경우 저장된 사용자의 프라이빗 키에 대한 접근이 허용되며, 그에 따라 사용자의 프라이빗 키로 검증 확인값 또는 주문 정보를 서명한 사용자 서명값을 생성하며, 생성된 사용자 서명값을 지급 결제 서버(300)로 전송하여 주거나 서비스 제공 단말(200)을 통해 지급 결제 서버(300)로 전송되도록 한다.And, if the confirmation information input by the user matches the preset confirmation information, the user terminal 100 generates a user confirmation value for the verification confirmation value or order information (S9) and transmits to the payment server (300) Or it supports to be transmitted to the payment settlement server 300 through the service providing terminal 200 (S10). For example, if the confirmation information input by the user matches the preset confirmation information, the user terminal 100 is allowed to access the stored private key of the user, and accordingly the verification confirmation value or the order information with the user's private key. Generates a signed user signature value and transmits the generated user signature value to the payment settlement server 300 or to the payment settlement server 300 through the service providing terminal 200.

그러면, 지급 결제 서버(300)는 사용자 단말(100)로부터의 검증 확인값 또는 주문 정보를 서명한 사용자 서명값을 획득하며, 획득된 사용자 서명값이 유효한지를 확인하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 서명값이 유효한지를 확인하도록 지원한다(S11). 일 예로, 지급 결제 서버(300)는 사용자 식별 정보에 대응하여 블록체인(500)에 등록된 사용자의 퍼블릭 키를 획득하며, 획득된 퍼블릭 키를 이용하여 사용자 서명값이 유효한지를 확인한다. 즉, 지급 결제 서버(300)는 퍼블릭 키를 이용하여 서명값으로부터 주문 정보 또는 검증 확인값을 추출하며, 서명값으로부터 추출된 주문 정보 또는 검증 확인값이 서명 요청 정보에 포함된 주문 정보 또는 검증 확인값과 일치하는지를 확인하여 서명값의 유효 여부를 판단할 수 있다.Then, the payment server 300 obtains the user signature value that signed the verification confirmation value or the order information from the user terminal 100, checks whether the obtained user signature value is valid or linked to the payment server (300) It supports the other device to check whether the signature value is valid (S11). For example, the payment server 300 obtains the public key of the user registered in the blockchain 500 in response to the user identification information, and checks whether the user signature value is valid using the obtained public key. That is, the payment settlement server 300 extracts the order information or the verification confirmation value from the signature value using the public key, and the order information or the verification confirmation that the order information or the verification confirmation value extracted from the signature value is included in the signature request information. The validity of the signature value can be determined by checking whether the value matches.

한편, 블록체인(500)은 제1 블록체인과 제2 블록체인으로 구성될 수 있으며, 퍼블릭 키는 제1 블록체인에 등록되고, 제2 블록체인에는 퍼블릭 키의 해시값을 리프 노드로 한 머클 트리의 루트 해시값이 등록될 수 있다. 이 경우, 지급 결제 서버(300)는 사용자 식별 정보에 대응하여 제2 블록체인에 등록된 루트 해시값을 확인하고, 제2 블록체인에서 확인된 루트 해시값에 대응하여 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 확인하며, 머클 트리 정보 및 리프 노드 정보를 참조하여 제1 블록체인에 등록된 퍼블릭 키를 확인하거나 타 장치로 하여금 확인하도록 지원할 수 있다.On the other hand, the blockchain 500 may be composed of a first blockchain and a second blockchain, a public key is registered in the first blockchain, and the second blockchain is a merkle with a hash value of the public key as a leaf node. The root hash value of the tree can be registered. In this case, the payment settlement server 300 checks the root hash value registered in the second blockchain in response to the user identification information, and registers in the first blockchain in response to the root hash value confirmed in the second blockchain. The merkle tree information and leaf node information may be checked, and the public key registered in the first blockchain may be checked with reference to the merkle tree information and leaf node information or may be supported by another device.

다시 도 3을 참조하면, 지급 결제 서버(300)는 사용자 서명값이 유효한 것으로 판단되면, 사용자 식별 정보에 대응하는 지급 수단 토큰 아이디를 블록체인(500)으로부터 획득하고, 지급 수단 토큰 아이디, 주문 아이디, 및 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버(400)로 전송하거나 지급 결제 서버(300)와 연동하는 타 장치를 통해 승인 요청 정보를 펀드 소스 서버(400)로 전송하도록 지원한다(S12). 이때, 블록체인(300)이 다수의 블록체인으로 구성되며, 일 예로, 제1 블록체인에 지급 수단 토큰 아이디가 등록되며, 제2 블록체인에 지급 수단 토큰 아이디에 대응되는 루트 해시값이 등록된 경우에도 지급 결제 서버(300)는 상기에서와 같은 방법에 의해 루트 해시값을 이용하여 지급 수단 토큰 아이디를 획득할 수 있다.Referring again to FIG. 3, when the payment settlement server 300 determines that the user signature value is valid, the payment settlement server 300 obtains the payment means token ID corresponding to the user identification information from the blockchain 500, and the payment means token ID and the order ID. , Approval request information including at least one or more of the order request information to the fund source server 400 or through the other device linked with the payment settlement server 300 to transmit the authorization request information to the fund source server 400 To support (S12). At this time, the blockchain 300 is composed of a plurality of blockchain, for example, the payment means token ID is registered in the first blockchain, the root hash value corresponding to the payment means token ID is registered in the second blockchain Even if the payment server 300 may obtain the payment means token ID by using the root hash value in the same manner as described above.

그러면, 펀드 소스 서버(400)는 승인 요청 정보에 포함된 지급 수단 토큰 아이디의 유효성을 확인하며, 주문 정보를 검증하고, 검증 결과에 대응하는 승인 결과를 지급 결제 서버(300)로 전송하거나 타 장치로 하여금 전송하도록 지원한다(S13). 이때, 펀드 소스 서버(400)는 블록체인(500)을 통한 주문 정보를 참조하여 머클 트리에 의한 루트 해시값을 생성하고, 승인 요청 정보에 포함된 주문 아이디와 비교하여 주문 정보를 검증할 수 있다.Then, the fund source server 400 checks the validity of the payment means token ID included in the approval request information, verifies the order information, and transmits the approval result corresponding to the verification result to the payment settlement server 300 or other device. It supports to transmit (S13). In this case, the fund source server 400 may generate a root hash value by the Merkle tree with reference to the order information through the blockchain 500, and verify the order information by comparing the order ID included in the approval request information. .

그리고, 지급 결제 서버(300)는 펀드 소스 서버(400)로부터 승인 결과가 획득되면, 주문 요청에 대한 승인 결과 정보를 블록체인(500)에 등록하거나 타 장치로 하여금 등록하도록 지원하고, 승인 완료 정보를 서비스 제공 단말(200) 또는 사용자 단말(100)로 전송하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 승인 완료 정보를 전송하도록 지원한다(S14)(S15). 이때, 지급 결제 서버(300)는 블록체인(500)에 등록된 승인 결과 정보의 블록체인(500) 상의 위치 정보를 나타내는 승인 결과 트랜잭션 아이디를 획득하고, 승인 결과 트랜잭션 아이디를 승인 결과 정보에 포함할 수 있다.When the payment result server 300 obtains an approval result from the fund source server 400, the payment settlement server 300 registers the approval result information for the order request in the blockchain 500 or supports another device to register, and the approval completion information. To the service providing terminal 200 or the user terminal 100 or to allow other devices linked to the payment settlement server 300 to transmit the approval completion information (S14) (S15). At this time, the payment server 300 obtains the approval result transaction ID indicating the location information on the block chain 500 of the approval result information registered in the block chain 500, and includes the approval result transaction ID in the approval result information. Can be.

또한, 블록체인(500)은 제1 블록체인과 제2 블록체인으로 구성될 수 있으며, 지급 결제 서버(300)는 승인 결과 정보를 제1 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제1 블록체인에 등록하도록 지원하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 지급 결제 서버(300)는 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 제3 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산함으로써 머클 루트인 제3 대표 해시값 또는 제3 대표 해시값을 가공한 값을 생성하며, 생성된 제3 대표 해시값 또는 제3 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제3 대표 해시값 또는 제3 대표 해시값을 가공한 값을 제2 블록체인에 등록하도록 할 수 있다. 이에 대한 상세한 설명은 트랜잭션 데이터를 등록하는 과정으로부터 용이하게 확인할 수 있으므로 생략하기로 한다.In addition, the blockchain 500 may be composed of a first blockchain and a second blockchain, and the payment settlement server 300 registers the approval result information in the first blockchain or is linked to the payment settlement server 300. When the triggering condition for supporting other devices to register in the first blockchain and registering a predetermined hash value in the second blockchain is satisfied, the payment server 300 generates the application by applying a hash function to the approval result information. Compute a third representative hash value or a third representative hash value that is the Merkle root by calculating one third hash value and at least one neighboring hash value matching the third hash value, and generate the generated third representative hash value. Register the value or the third representative hash value in the second blockchain or allow another device or first blockchain that is linked to the payment settlement server 300 to process the third representative hash value or the third representative hash value. One value to the second label You can register with the lockchain. The detailed description thereof will be omitted since it can be easily confirmed from the process of registering transaction data.

한편, 상기와 같은 방법에 의해 주문 정보들에 대한 결제를 수행하며, 펀드 소스 서버(400)로부터의 정산 데이터 요청 정보가 획득되면(S21), 지급 결제 서버(300)는, 정산 데이터 요청 정보에 대응하는 트랜잭션 데이터를 참조하여 블록체인(500)으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 정산 데이터를 블록체인(500)으로부터 획득하도록 지원하며(S22)(S23), 블록체인(500)으로부터 획득된 정산 데이터를 펀드 소스 서버(400)로 전송하거나 지급 결제 서버(300)에 연동되는 타 장치를 통해 펀드 소스 서버(400)로 전송하도록 지원함으로써(S24) 펀드 소스 서버(400)로 하여금 정산 데이터를 참조하여 비용을 정산하도록 한다. 이때, 비용의 정산은 매입, 청구의 개념도 포함할 수 있다. 또한, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성된 경우에도, 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값, 즉, 루트 해시값을 이용하여 상기에서와 같은 방법에 의해 정산 데이터를 확인할 수 있다.On the other hand, when the payment for the order information by the method described above, and the settlement data request information from the fund source server 400 is obtained (S21), the payment settlement server 300, the settlement data request information Obtain settlement data including order information requested for settlement from the blockchain 500 with reference to the corresponding transaction data or allow other devices linked to the payment settlement server 300 to obtain settlement data from the blockchain 500. Support (S22) (S23), and transmits the settlement data obtained from the blockchain 500 to the fund source server 400 or to the fund source server 400 through another device linked to the payment settlement server 300 By supporting (S24) the fund source server 400 to settle the cost with reference to the settlement data. In this case, the settlement of costs may also include the concept of purchase and billing. In addition, even when the blockchain 500 is composed of the first blockchain and the second blockchain, a value obtained by processing the second representative hash value or the second representative hash value, that is, the root hash value is used as described above. The settlement data can be confirmed by the method.

즉, 지급 결제 서버(300)는, 정산 데이터 요청 정보에 대응하는 트랜잭션 데이터를 참조하여 제2 블록체인으로부터 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 획득하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값을 획득하도록 지원하고, 제2 대표 해시값 또는 제2 대표 해시값을 가공한 값과 관련되어 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 지급 결제 서버(300)에 연동된 타 장치로 하여금 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하며, 머클 트리 정보 및 리프 노드 정보를 참조하여 제1 블록체인으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 정산 데이터를 제1 블록체인으로부터 획득하도록 지원하며, 제1 블록체인으로부터 획득된 정산 데이터를 펀드 소스 서버(400)로 전송하거나 지급 결제 서버(300)에 연동되는 타 장치를 통해 정산 데이터를 펀드 소스 서버(400)로 전송하도록 지원함으로써 펀드 소스 서버(400)로 하여금 정산 데이터를 참조하여 비용을 정산하도록 할 수 있다.That is, the payment settlement server 300 obtains a value obtained by processing the second representative hash value or the second representative hash value from the second blockchain with reference to the transaction data corresponding to the settlement data request information or the payment settlement server 300. And other devices linked to the first block to obtain a value obtained by processing a second representative hash value or a second representative hash value, and related to a value obtained by processing a second representative hash value or a second representative hash value. Acquiring Merkle tree information and leaf node information registered in the chain or allowing other devices linked to the payment settlement server 300 to acquire Merkle tree information and leaf node information, and with reference to the Merkle tree information and leaf node information Obtaining settlement data including order information requested for settlement from the first blockchain or allowing another device linked to the payment settlement server 300 to settle the settlement data in the first block. And the settlement data obtained from the first blockchain is transmitted to the fund source server 400 or the settlement data is transmitted to the fund source server 400 through another device linked to the payment settlement server 300. The fund source server 400 may allow the fund source server 400 to settle the cost by referring to the settlement data.

그리고, 상기에서의 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 포함하는 지불 정보를 블록체인(500)에 등록하는 방법을 도 6을 참조하여 설명하면 다음과 같다.And, the payment means token ID corresponding to the payment means of the user, the user identification information for identifying the user, a push token ID corresponding to the app installed in the user terminal of the user, and the user's public key A method of registering payment information to the blockchain 500 will now be described with reference to FIG. 6.

먼저, 사용자가 사용하고자 하는 펀드 소스를 등록하기 위하여 사용자 단말(100)에 설치된 펀드 소스에 대응되는 앱을 통해 펀드 소스 서버(400)에 접속한 상태에서, 사용자 단말(100)이 지불 정보 등록을 위한 개인 정보, 사용자 식별 정보, 지급 수단 정보, 및 퍼블릭 키 등을 포함하는 사용자 인증 및 지불 정보 등록 요청을 펀드 소스 서버(400)로 전송하거나 사용자 단말(100)에 연동되는 타 장치를 통해 펀드 소스 서버(400)로 전송하도록 지원한다(S31). 이때, 개인 정보는 사용자의 성명, 생년월일, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 및 전화번호 중 적어도 어느 하나 이상을 포함할 수 있으며, 사용자 식별 정보는 개인 정보 중 특정 개인 정보로서 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보일 수 있다. 그리고, 지급 수단 정보는 펀드 소스를 이용한 비용 지급을 위한 결제 수단에 대한 정보일 수 있다. 일 예로, 지급 수단은 카드, 상품권, 포인트, 멤버쉽 카드, 디지털 전자 지갑 등을 포함할 수 있으며, 지급 수단 정보는 이들을 식별할 수 있도록 하는 식별 정보, 즉, 발급 주체인 펀드 소스 정보, 유효 기간, 사용자 정보 등을 포함할 수 있다.First, in order to register a fund source that a user wants to use, the user terminal 100 registers payment information while accessing the fund source server 400 through an app corresponding to the fund source installed in the user terminal 100. Fund authentication through a user device for transmitting user authentication and payment information registration request, including personal information, user identification information, payment means information, and a public key, to the fund source server 400 or interworking with the user terminal 100. Support to transmit to the server 400 (S31). In this case, the personal information may include at least one or more of a user's name, date of birth, user ID, social security number, user terminal ID, IP address of the user terminal, MAC address of the user terminal, and telephone number, user identification information May be unique information given for each user for identification of the user as specific personal information among the personal information. The payment means information may be information on a payment means for payment using a fund source. For example, the means of payment may include cards, gift certificates, points, membership cards, digital wallets, etc., and the means of payment information includes identification information for identifying them, that is, fund source information, issuance period, validity period, User information and the like.

이때. 사용자 단말(100)은 사용자의 개인 정보, 사용자 식별 정보를 사용자가 입력하도록 하는 것과는 달리, 사용자 단말(100)의 저장부로부터 추출하여 전송하여 줄 수도 있다.At this time. The user terminal 100 may extract and transmit the user's personal information and the user identification information from the storage of the user terminal 100, unlike the user input.

그러면, 펀드 소스 서버(400)는 사용자 단말(100)로부터 개인 정보, 사용자 식별 정보, 지급 수단 정보, 및 퍼블릭 키 등을 포함하는 사용자 인증 및 지불 정보 등록 요청 정보를 획득하고, 사용자 인증을 수행한다(S32). 이때, 사용자 인증은 아이디/패스워드에 의한 인증, 스마트카드나 생체인식에 의한 인증, 공개키기반의 전자서명을 이용한 인증, 공인인증서를 이용한 인증 등 다양한 방법에 의해 수행될 수 있다.Then, the fund source server 400 obtains user authentication and payment information registration request information including personal information, user identification information, payment means information, and a public key from the user terminal 100, and performs user authentication. (S32). In this case, the user authentication may be performed by various methods such as authentication by ID / password, authentication by smart card or biometrics, authentication using a public key based digital signature, authentication using a public certificate.

또한, 펀드 소스 서버(400)는 지급 수단에 대한 검증을 수행한다. 이때, 지급 수단에 대한 검증은 사용자 단말(100)로부터 전송된 지급 수단 정보가 등록된 지급 수단 원장 정보와 일치하는지를 확인함으로써 수행될 수 있다.In addition, the fund source server 400 performs the verification of the payment means. In this case, the verification of the payment means may be performed by checking whether the payment means information transmitted from the user terminal 100 matches the registered payment means ledger information.

이후, 펀드 소스 서버(400)는 인증된 사용자에 대한 지불 정보를 생성한다(S33). 이때, 지불 정보는 지급 수단 토큰 아이디, 사용자 식별 정보, 푸시 토큰 아이디, 및 퍼블릭 키를 포함할 수 있다. 그리고, 지급 수단 토큰 아이디는 지급 수단 정보의 노출을 방지하기 위하여 지급 수단을 토큰화한 것이며, 푸시 토큰 아이디는 사용자 단말(100)에 설치된 펀드 소스 관련 앱을 호출할 수 있는 토큰 아이디일 수 있다.Thereafter, the fund source server 400 generates payment information for the authenticated user (S33). In this case, the payment information may include a payment means token ID, user identification information, push token ID, and a public key. In addition, the payment means token ID is a tokenized payment means to prevent exposure of the payment means information, the push token ID may be a token ID that can call the fund source-related app installed in the user terminal (100).

그리고, 펀드 소스 서버(400)는 생성된 지불 정보에 대한 등록 요청을 지급 결제 서버(300)로 전송하거나 펀드 소스 서버(400)에 연동되는 타 장치로 하여금 지불 정보 등록 요청을 지급 결제 서버(300)로 전송하도록 지원할 수 있다(S34).In addition, the fund source server 400 transmits a registration request for the generated payment information to the payment settlement server 300 or enables another device linked to the fund source server 400 to send a payment information registration request to the payment settlement server 300. (S34).

그러면, 지급 결제 서버(300)는 펀드 소스 서버(400)로부터의 지불 정보 등록 요청에 대응하여 지급 수단 토큰 아이디, 사용자 식별 정보, 푸시 토큰 아이디, 및 퍼블릭 키를 포함하는 지불 정보를 블록체인(500)에 등록하며(S35)(S36), 지불 정보 등록 완료에 대한 정보를 펀드 소스 서버(400)로 전송하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 지불 정보 등록 완료 신호를 펀드 소스 서버(400)로 전송하도록 지원할 수 있다(S37).Then, the payment settlement server 300 in response to the request for registration of payment information from the fund source server 400, the blockchain 500 receives payment information including payment means token ID, user identification information, push token ID, and public key. (S35) (S36), and transmits the information on the payment information registration completion to the fund source server 400 or other devices linked to the payment payment server 300 to send the payment information registration completion signal to the fund source server In operation S37, it may support the transmission.

이때, 블록체인(500)은 다수의 블록체인으로 구성될 수 있으며, 일 예로, 블록체인(500)이 제1 블록체인과 제2 블록체인으로 구성될 경우, 지급 결제 서버(300)는 지불 정보를 제1 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치로 하여금 제1 블록체인에 등록하도록 지원하고, 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 지급 결제 서버(300)는 지불 정보에 해시함수를 적용하여 생성한 제1 특정 해시값과 제1 특정 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산함으로써 머클 루트인 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 생성하며, 생성된 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록하거나 지급 결제 서버(300)에 연동되는 타 장치 또는 제1 블록체인으로 하여금 제1 대표 해시값 또는 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록하도록 할 수 있다.In this case, the blockchain 500 may be composed of a plurality of blockchains. For example, when the blockchain 500 is composed of a first blockchain and a second blockchain, the payment server 300 may provide payment information. If the triggering condition for registering the first blockchain or other devices linked to the payment settlement server 300 to register with the first blockchain and registering a predetermined hash value in the second blockchain is satisfied, The payment settlement server 300 calculates a first specific hash value generated by applying a hash function to payment information and at least one neighboring hash value matching the first specific hash value, thereby calculating the first representative hash value or the first root hash value. 1 generates a processed value of the representative hash value, and registers the generated first representative hash value or the processed value of the first representative hash value in the second blockchain or other devices or third parties linked to the payment server 300; 1 blockchain The first representative hash value or a value obtained by processing the first representative hash value may be registered in the second blockchain.

또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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 may be executed by various computer components, and may be recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.

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

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

100: 사용자 단말,
200: 서비스 제공 단말,
300: 지급 결제 서버,
400: 펀드 소스 서버,
500: 블록체인
100: user terminal,
200: service providing terminal,
300: payment server,
400: fund source server,
500: blockchain

Claims (22)

블록체인 기반의 결제 방법에 있어서,
(a) 사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 가 획득되면, 지급 결제 서버가, 상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디와 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 제공 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 단계;
(b) 상기 사용자 단말로부터의 서명값이 획득되면, 상기 지급 결제 서버가, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 지급 결제 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 단계; 및
(c) 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 지급 결제 서버가, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 제공 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 제공 단말로 전송하도록 지원하는 단계;
를 포함하되,
상기 (a) 단계 이전에,
상기 펀드 소스 서버로부터의 지불 정보 - 상기 지불 정보는 상기 사용자 단말의 사용자 인증 및 지불 정보 등록 요청에 대응하여 상기 펀드 소스 서버가 사용자 인증을 수행한 사용자에 대응되는 정보인 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 퍼블릭 키를 포함함 - 등록 요청이 획득되면, 상기 지급 결제 서버가, 상기 지불 정보를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 지불 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 지불 정보에 해시함수를 적용하여 생성한 상기 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 단계;
를 더 포함하는 것을 특징으로 하는 결제 방법.
In the blockchain-based payment method,
(a) a first block comprising a payment means token ID corresponding to a payment means of the user, user identification information for identifying the user, a push token ID corresponding to an app installed in the user terminal of the user, and the public key of the user; At least one registered in the chain, the first hash value generated by applying a hash function to the payment means token ID, the user identification information, the push token ID, and the user's public key and the first hash value Order request information corresponding to the purchase and payment information of the user terminal from the service providing terminal in a state in which the first representative hash value for which the neighboring hash value of is calculated or the processed value for the first representative hash value is registered in the second blockchain. The order request information includes at least one of user identification information and order information. Another device which obtains a value obtained by processing the first representative hash value or the first representative hash value from the second blockchain with reference to the user identification information included in the order request information or is linked to the payment settlement server; Assisting to obtain a value obtained by processing the first representative hash value or the first representative hash value from the second blockchain, and is related to a value obtained by processing the first representative hash value or the first representative hash value. To obtain Merkle tree information and leaf node information registered in the first blockchain or to allow other devices linked to the payment server to acquire the Merkle tree information and leaf node information, and the Merkle tree information and leaf Obtain the push token ID from the first blockchain with reference to node information or link to the payment server Supports other devices to obtain the push token ID, generates an order ID corresponding to the order request information, and transmits transaction data including at least one of the order ID and the order information to the first blockchain. When the triggering condition for registering the transaction data in the first blockchain through registration or another device linked to the payment server and registering a predetermined hash value in the second blockchain is satisfied, the transaction A second hash value generated by applying a hash function to data and at least one neighbor hash value matching the second hash value, or a value obtained by processing the second representative hash value; The second representative hash value or the other device registered in the blockchain or linked to the payment server It supports to register the processed value of the second representative hash value in the second blockchain, and transmits the push token ID and the signature request information to the user terminal or linked to the payment payment server or the service providing terminal Supporting to transmit the push token ID and the signature request information to the user terminal through;
(b) when the signature value is obtained from the user terminal, the payment settlement server supports the verification of the signature value through another device linked to the payment settlement server or by verifying the signature value. If valid, the authorization request information including at least one or more of the payment means token ID, the order ID, and the order request information is transmitted to a fund source server or through another device linked with the payment settlement server. Supporting the transfer to the fund source server; And
(c) when the approval result information from the fund source server is obtained, the payment settlement server registers the approval result information in the first blockchain or through another device linked to the payment settlement server. Is registered in the first blockchain, and if a triggering condition for registering a predetermined hash value in the second blockchain is satisfied, the third hash value generated by applying a hash function to the approval result information and the Another device that registers a third representative hash value for calculating at least one neighboring hash value matching the third hash value or a value for processing the third representative hash value in the second blockchain or is linked to the payment server. And register a value obtained by processing the third representative hash value or the third representative hash value in the second blockchain, and corresponding to the approval result information. Transmitting the approval completion information to the service providing terminal or transmitting the approval completion information to the service providing terminal through another device linked to the payment settlement server;
Including,
Before step (a) above,
Payment information from the fund source server-the payment information is the payment means token ID which is information corresponding to a user for which the fund source server has performed user authentication in response to a user authentication and payment information registration request of the user terminal, the And user identification information, the push token ID, and the public key-when the registration request is obtained, the payment settlement server registers the payment information on the first blockchain or is linked to the payment settlement server. Assisting the user to register the payment information in the first blockchain, and if a triggering condition for registering a predetermined hash value in the second blockchain is satisfied, the first generated by applying a hash function to the payment information. The first representative solution that computes one hash value and at least one neighboring hash value matching the first hash value A value obtained by processing the first representative hash value or the first representative hash value by registering a value or a value obtained by processing the first representative hash value in the second blockchain or by another device linked to the payment settlement server. Supporting registration with the second blockchain;
Payment method characterized in that it further comprises.
제1항에 있어서,
(d) 상기 펀드 소스 서버로부터의 정산 데이터 요청 정보가 획득되면, 상기 지급 결제 서버는, 상기 정산 데이터 요청 정보에 대응하는 상기 트랜잭션 데이터를 참조하여 상기 제2 블록체인으로부터 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하며, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 정산 데이터를 상기 제1 블록체인으로부터 획득하도록 지원하며, 상기 제1 블록체인으로부터 획득된 상기 정산 데이터를 상기 펀드 소스 서버로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 정산 데이터를 상기 펀드 소스 서버로 전송하도록 지원함으로써 상기 펀드 소스 서버로 하여금 상기 정산 데이터를 참조하여 비용을 정산하도록 하는 단계;
를 더 포함하는 것을 특징으로 하는 결제 방법.
The method of claim 1,
(d) if the settlement data request information from the fund source server is obtained, the payment settlement server may refer to the transaction data corresponding to the settlement data request information, the second representative hash value from the second blockchain, or Acquire a value obtained by processing the second representative hash value or enable another device linked to the payment settlement server to obtain a value obtained by processing the second representative hash value or the second representative hash value; Acquiring merkle tree information and leaf node information registered in the first blockchain in association with a representative hash value or a value obtained by processing the second representative hash value or causing another device linked to the payment settlement server to perform the merkle tree information. And leaf node information, and from the first blockchain with reference to the Merkle tree information and leaf node information. Acquiring settlement data including settlement request order information or allowing another device linked to the payment settlement server to acquire settlement data from the first blockchain, and the settlement data obtained from the first blockchain Transmitting the settlement data to the fund source server through another device linked to the payment source server or other payment interworking server to allow the fund source server to settle the cost with reference to the settlement data. ;
Payment method characterized in that it further comprises.
제1항에 있어서,
상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건은,
(i) 소정의 개수만큼 상기 결제와 관련한 트랜잭션이 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 상기 제1 블록체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 결제 방법.
The method of claim 1,
The triggering condition for registering a predetermined hash value in the second blockchain is:
(i) a condition in which transactions related to the payment are generated by a predetermined number, (ii) a condition in which a predetermined time elapses, (iii) a condition in which a block is generated in the first blockchain, and (iv) a condition in terms of service characteristics Payment method comprising at least one of.
제1항에 있어서,
상기 (a) 단계에서,
상기 지급 결제 서버는, 상기 제2 해시값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제2 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며,
상기 (c) 단계에서,
상기 지급 결제 서버는, 상기 제3 해시값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제3 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 것을 특징으로 하는 결제 방법.
The method of claim 1,
In the step (a),
The payment server supports the generation or generation of a merkle tree in which the second hash value is assigned to a leaf node, and if a triggering condition for registering a predetermined hash value in the second blockchain is satisfied. And registering the second representative hash value or the processed second representative hash value generated by calculating a hash value assigned to at least one other leaf node that matches the second hash value in the second blockchain. Or to allow other devices linked to the payment settlement server to register the second representative hash value or the processed value of the second representative hash value in the second blockchain.
In the step (c),
The payment settlement server supports generating or generating a merkle tree in which the third hash value is assigned to a leaf node, and when a triggering condition for registering a predetermined hash value in the second blockchain is satisfied. And registering the third representative hash value or the processed third representative hash value generated by calculating a hash value assigned to at least one other leaf node matching the third hash value, to the second blockchain. Or assisting another device linked to the payment settlement server to register the third representative hash value or the processed value of the third representative hash value in the second blockchain.
제4항에 있어서,
상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 트리인 경우, 상기 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자 또는 기호로 이루어진 소정의 메시지 데이터의 해시값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 결제 방법.
The method of claim 4, wherein
When the Merkle tree is a first tree of at least one Merkle tree connected in a chain form, the first leaf node of the Merkle tree is assigned a hash value of a predetermined message data consisting of text, numbers, or symbols, or a processed value thereof. Characteristic payment method.
제4항에 있어서,
상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면,
(x1) 상기 지급 결제 서버는, (i) 상기 제2 또는 제3 해시값과 (ii) 상기 제2 또는 제3 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 연산하거나 연산하도록 지원하고, 연산값에 대한 해시값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 대표 해시값으로서 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 등록하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 해시값으로 하여 상기 (x1) 내지 (x2)을 반복하여 수행하는 것을 특징으로 하는 결제 방법.
The method of claim 4, wherein
If a triggering condition for registering a predetermined hash value in the second blockchain is satisfied,
(x1) the payment settlement server supports calculating or calculating a hash value assigned to a sibling node of a node to which (i) the second or third hash value and (ii) the second or third hash value is assigned. And assign or assign a hash value for the operation value to the parent node of the node,
(x2) if the parent node is the root node of the Merkle tree, register a hash value assigned to the parent node as the second or third representative hash value in the second blockchain or interwork with the payment settlement server; To allow the device to register,
(x3) if the parent node is not the root node of the Merkle tree, repeating the steps (x1) to (x2) by using the hash value assigned to the parent node as the second or third hash value. Payment method.
제6항에 있어서,
상기 (x1)에서
상기 소정의 조건이 만족되었음에도 상기 제2 또는 제3 특정 해시값이 할당된 노드의 형제 노드에 해시값이 할당되어 있지 않은 경우, 상기 지급 결제 서버는, 상기 형제 노드에 소정의 해시값을 할당하거나 할당하도록 지원하여 상기 (x1) 내지 (x3)를 수행하는 것을 특징으로 하는 결제 방법.
The method of claim 6,
In (x1) above
If a hash value is not assigned to a sibling node of a node to which the second or third specific hash value is assigned even though the predetermined condition is satisfied, the payment settlement server allocates a predetermined hash value to the sibling node. And (x1) to (x3) to perform the assignment.
제1항에 있어서,
상기 지급 결제 서버가 상기 제2 또는 제3 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결되는 것을 특징으로 하는 결제 방법.
The method of claim 1,
The payment settlement server stores the second or third hash value and the at least one neighbor hash value in a predetermined first data structure, and then stores and manages a second data structure having the same form as the first data structure. If so, wherein the first data structure and the second data structure is connected in a chain form.
제8항에 있어서,
상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해시값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당되는 것을 특징으로 하는 결제 방법.
The method of claim 8,
When the first data structure and the second data structure are Merkle trees, a root value of the first data structure or a hash value of the root value is assigned to the first leaf node of the second data structure. Way.
제1항에 있어서,
상기 (a) 단계에서,
상기 지급 결제 서버는, 상기 주문 정보를 리프노드로 한 머클트리를 연산하며, 상기 연산된 머클트리의 루트 해시값 또는 상기 루트 해시값을 가공한 값을 상기 주문 아이디로 생성하는 것을 특징으로 하는 결제 방법.
The method of claim 1,
In the step (a),
The payment settlement server calculates a Merkle tree using the order information as a leaf node, and generates a settlement value of the calculated route hash value or the route hash value of the calculated Merkle tree as the order ID. Way.
제1항에 있어서,
상기 사용자 식별 정보는,
상기 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보로서, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 전화번호, 및 이들 각각의 해시값 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 결제 방법.
The method of claim 1,
The user identification information,
The unique information given for each user for identification of the user, includes at least one of a user ID, a social security number, a user terminal ID, an IP address of the user terminal, a MAC address of the user terminal, a phone number, and their respective hash values. Payment method characterized in that.
제1항에 있어서,
상기 (a) 단계에서,
상기 지급 결제 서버가, 상기 서명 요청 정보에, 상기 주문 정보 또는 검증 확인값을 포함하여 상기 사용자 단말로 하여금 상기 사용자의 프라이빗 키를 이용하여 상기 주문 정보 또는 상기 검증 확인값을 서명하도록 요청하며,
상기 (b) 단계에서,
상기 지급 결제 서버가, 상기 블록체인에 등록된 상기 사용자의 퍼블릭 키를 이용하여 상기 서명값으로부터 상기 주문 정보 또는 상기 검증 확인값을 추출하며, 상기 서명값으로부터 추출된 상기 주문 정보 또는 상기 검증 확인값이 상기 서명 요청 정보에 포함된 상기 주문 정보 또는 상기 검증 확인값과 일치하는지를 확인하여 상기 서명값의 유효 여부를 판단하는 것을 특징으로 하는 결제 방법.
The method of claim 1,
In the step (a),
The payment settlement server requests the user terminal to sign the order information or the verification confirmation value using the private key of the user, including the order information or the verification confirmation value in the signature request information.
In step (b),
The payment settlement server extracts the order information or the verification confirmation value from the signature value using the public key of the user registered in the blockchain, and the order information or the verification confirmation value extracted from the signature value. And confirming whether the signature value is valid by checking whether the order information included in the signature request information or the verification confirmation value matches.
삭제delete 블록체인 기반의 결제를 수행하는 지급 결제 서버에 있어서,
사용자의 지급 수단에 대응되는 지급 수단 토큰 아이디, 상기 사용자를 식별하기 위한 사용자 식별 정보, 상기 사용자의 사용자 단말에 설치된 앱에 대응되는 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키를 제1 블록체인에 등록하며, 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 사용자의 퍼블릭 키에 해시함수를 적용하여 생성한 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 제2 블록체인에 등록한 상태에서, 서비스 제공 단말로부터 사용자 단말의 구매 및 지불 정보에 대응하는 주문 요청 정보 - 상기 주문 요청 정보는 사용자 식별 정보, 및 주문 정보 중 적어도 하나 이상을 포함함 - 를 획득하는 통신부; 및
상기 주문 요청 정보에 포함된 상기 사용자 식별 정보를 참조하여 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 블록체인으로부터 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 획득하도록 지원하며, 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하고, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 상기 푸시 토큰 아이디를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 푸시 토큰 아이디를 획득하도록 지원하며, 상기 주문 요청 정보에 대응하는 주문 아이디를 생성하고, 상기 주문 아이디 또는 상기 주문 정보 중 적어도 하나를 포함하는 트랜잭션 데이터를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 트랜잭션 데이터를 상기 제1 블록체인에 등록하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 트랜잭션 데이터에 해시함수를 적용하여 생성한 제2 해시값과 상기 제2 해시값에 매칭되는 적어도 하나의 이웃 해시값을 연산한 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 푸시 토큰 아이디와 서명 요청 정보를 상기 사용자 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치 또는 상기 서비스 제공 단말을 통해 상기 푸시 토큰 아이디와 상기 서명 요청 정보를 상기 사용자 단말로 전송하도록 지원하는 프로세스와, 상기 사용자 단말로부터의 서명값이 획득되면, 상기 서명값을 검증하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 서명값을 검증하도록 지원하고, 상기 서명값이 유효일 경우, 상기 지급 수단 토큰 아이디, 상기 주문 아이디, 및 상기 주문 요청 정보 중 적어도 하나 이상을 포함하는 승인 요청 정보를 펀드 소스 서버로 전송하거나 상기 지급 결제 서버와 연동하는 타 장치를 통해 상기 승인 요청 정보를 상기 펀드 소스 서버로 전송하도록 지원하는 프로세스와, 상기 펀드 소스 서버로부터의 승인 결과 정보가 획득되면, 상기 승인 결과 정보를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 결과 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 승인 결과 정보에 해시함수를 적용하여 생성한 제3 해시값과 상기 제3 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며, 상기 승인 결과 정보에 대응한 승인 완료 정보를 상기 서비스 제공 단말로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 승인 완료 정보를 상기 서비스 제공 단말로 전송하도록 지원하는 프로세스를 수행하는 프로세서;
를 포함하되,
상기 프로세서가,
상기 펀드 소스 서버로부터의 지불 정보 - 상기 지불 정보는 상기 사용자 단말의 사용자 인증 및 지불 정보 등록 요청에 대응하여 상기 펀드 소스 서버가 사용자 인증을 수행한 사용자에 대응되는 정보인 상기 지급 수단 토큰 아이디, 상기 사용자 식별 정보, 상기 푸시 토큰 아이디, 및 상기 퍼블릭 키를 포함함 - 등록 요청이 획득되면, 상기 지불 정보를 상기 제1 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 지불 정보를 상기 제1 블록체인에 등록하도록 지원하며, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 지불 정보에 해시함수를 적용하여 생성한 상기 제1 해시값과 상기 제1 해시값과 매칭되는 적어도 하나의 이웃 해시값을 연산한 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 프로세스를 더 수행하는 것을 특징으로 하는 지급 결제 서버.
In the payment settlement server that performs blockchain-based payment,
Register a payment means token ID corresponding to the user's payment means, user identification information for identifying the user, a push token ID corresponding to an app installed in the user's user terminal, and the user's public key in the first blockchain. And a first hash value generated by applying a hash function to the payment means token ID, the user identification information, the push token ID, and the user's public key, and at least one neighboring hash that matches the first hash value. Order request information corresponding to the purchase and payment information of the user terminal from the service providing terminal in a state in which the first representative hash value having calculated the value or the processed value of the first representative hash value is registered in the second blockchain-the order The requesting information includes at least one or more of user identification information and order information; And
Obtaining a value obtained by processing the first representative hash value or the first representative hash value from the second blockchain with reference to the user identification information included in the order request information, or to another device linked to the payment server. Assist to obtain a value obtained by processing the first representative hash value or the first representative hash value from the second blockchain, and associated with a value obtained by processing the first representative hash value or the first representative hash value. Acquire the Merkle tree information and leaf node information registered in the first blockchain or allow other devices linked to the payment settlement server to acquire the Merkle tree information and leaf node information, and the Merkle tree information and leaf node information. Obtaining the push token ID from the first blockchain with reference to the information or linked to the payment server Support other devices to obtain the push token ID, generate an order ID corresponding to the order request information, and register transaction data including at least one of the order ID or the order information in the first blockchain; Or to register the transaction data in the first blockchain through another device linked to the payment server, and if the triggering condition for registering a predetermined hash value in the second blockchain is satisfied, the transaction data. A second hash value generated by applying a hash function to a second representative hash value calculated from at least one neighboring hash value matching the second hash value, or a value obtained by processing the second representative hash value; The second representative hash value or the other device registered in the blockchain or linked to the payment server It supports to register the processed value of the second representative hash value in the second blockchain, and transmits the push token ID and the signature request information to the user terminal or linked to the payment payment server or the service providing terminal A process for supporting the push token ID and the signature request information to the user terminal through a process, and when the signature value is obtained from the user terminal, verifying the signature value or interworking with the payment server. Support verification of the signature value and, if the signature value is valid, transmit authorization request information including at least one of the payment means token ID, the order ID, and the order request information to a fund source server, or Send the approval request information through another device linked with the payment server. The process of supporting the transfer to the fund source server, and if the approval result information from the fund source server is obtained, the approval result information is registered in the first blockchain or through another device linked to the payment settlement server. A third hash value generated by applying a hash function to the approval result information when a triggering condition for registering a result hash value in the second block chain is satisfied; And register a third representative hash value obtained by calculating at least one neighboring hash value matching the third hash value, or a value obtained by processing the third representative hash value in the second blockchain or interworked with the payment server. It allows the other device to register the third representative hash value or the processed value of the third representative hash value in the second blockchain. Transmit a completion acknowledgment information corresponding to the authorization result information to the service provider terminal or a processor to perform a process for supporting to transmit the authorization information to complete the service providing terminal via the other device to be linked to the payment server;
Including,
The processor,
Payment information from the fund source server-the payment information is the payment means token ID which is information corresponding to a user for which the fund source server has performed user authentication in response to a user authentication and payment information registration request of the user terminal, the And user identification information, the push token ID, and the public key. When a registration request is obtained, the payment information may be registered in the first blockchain or other devices linked to the payment settlement server may receive the payment information. And a first hash value generated by applying a hash function to the payment information when a triggering condition for registering a predetermined hash value in the second blockchain is satisfied. The first representative hash value or the first representative of calculating at least one neighboring hash value matching a one hash value Register the hash value in the second blockchain or allow another device linked to the payment settlement server to process the first representative hash value or the first representative hash value in the second blockchain. Payment payment server, characterized in that further performing a process to support registration.
제14항에 있어서,
상기 프로세서는,
상기 펀드 소스 서버로부터의 정산 데이터 요청 정보가 획득되면, 상기 정산 데이터 요청 정보에 대응하는 상기 트랜잭션 데이터를 참조하여 상기 제2 블록체인으로부터 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 획득하도록 지원하고, 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 관련되어 상기 제1 블록체인에 등록된 머클 트리 정보 및 리프 노드 정보를 획득하거나 상기 지급 결제 서버에 연동된 타 장치로 하여금 상기 머클 트리 정보 및 리프 노드 정보를 획득하도록 지원하며, 상기 머클 트리 정보 및 리프 노드 정보를 참조하여 상기 제1 블록체인으로부터 정산 요청된 주문 정보를 포함하는 정산 데이터를 획득하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 정산 데이터를 상기 제1 블록체인으로부터 획득하도록 지원하며, 상기 제1 블록체인으로부터 획득된 상기 정산 데이터를 상기 펀드 소스 서버로 전송하거나 상기 지급 결제 서버에 연동되는 타 장치를 통해 상기 정산 데이터를 상기 펀드 소스 서버로 전송하도록 지원함으로써 상기 펀드 소스 서버로 하여금 상기 정산 데이터를 참조하여 비용을 정산하도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 지급 결제 서버.
The method of claim 14,
The processor,
When the settlement data request information from the fund source server is obtained, the second representative hash value or the second representative hash value is processed from the second blockchain with reference to the transaction data corresponding to the settlement data request information. Acquire a value or enable another device linked to the payment settlement server to obtain a value obtained by processing the second representative hash value or the second representative hash value, and the second representative hash value or the second representative hash value Acquire merkle tree information and leaf node information registered in the first blockchain in association with a processed value, or allow other devices linked to the payment settlement server to acquire the merkle tree information and leaf node information; Order information requested from the first blockchain with reference to the merkle tree information and leaf node information; Acquiring the settlement data or other devices linked to the payment settlement server to obtain the settlement data from the first blockchain, and transmitting the settlement data obtained from the first blockchain to the fund source server. And transmitting the settlement data to the fund source server through another device linked to the payment settlement server, thereby causing the fund source server to settle the cost by referring to the settlement data. Payment server.
제14항에 있어서,
상기 프로세서는,
상기 제2 해시값이 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제2 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하며,
상기 제3 해시값이 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면, 상기 제3 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 연산하여 생성되는 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 상기 제3 대표 해시값 또는 상기 제3 대표 해시값을 가공한 값을 상기 제2 블록체인에 등록하도록 지원하는 것을 특징으로 하는 지급 결제 서버.
The method of claim 14,
The processor,
The second hash value supports generating or generating a merkle tree assigned to a leaf node, and if a triggering condition for registering a predetermined hash value in the second blockchain is satisfied, at least one of the second hash value matches the second hash value. Another device that registers the second representative hash value or the processed value of the second representative hash value generated by calculating a hash value assigned to one other leaf node in the second blockchain or is linked to the payment settlement server. Assist the user to register the second representative hash value or the processed value of the second representative hash value in the second blockchain,
The third hash value supports generating or generating a merkle tree assigned to a leaf node, and if a triggering condition for registering a predetermined hash value in the second blockchain is satisfied, at least one of the third hash value matches the third hash value. Another device that registers the third representative hash value or the processed value of the third representative hash value generated by calculating a hash value assigned to one other leaf node in the second blockchain or is linked to the payment settlement server. And allow the third representative hash value or the processed value of the third representative hash value to be registered in the second blockchain.
제14항에 있어서,
상기 제2 블록체인에 소정의 해시값을 등록하기 위한 트리거링 조건이 만족되면,
(x1) 상기 프로세서는, (i) 상기 제2 또는 제3 해시값과 (ii) 상기 제2 또는 제3 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 연산하거나 연산하도록 지원하고, 연산값에 대한 해시값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 대표 해시값으로서 상기 제2 블록체인에 등록하거나 상기 지급 결제 서버에 연동되는 타 장치로 하여금 등록하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해시값을 상기 제2 또는 제3 해시값으로 하여 상기 (x1) 내지 (x2)을 반복하여 수행하는 것을 특징으로 하는 지급 결제 서버.
The method of claim 14,
If a triggering condition for registering a predetermined hash value in the second blockchain is satisfied,
(x1) the processor supports (i) calculating or calculating a hash value assigned to a sibling node of a node to which the second or third hash value and (ii) the second or third hash value is assigned, Supports assigning or assigning a hash value for an operation value to a parent node of the node,
(x2) if the parent node is the root node of the Merkle tree, register a hash value assigned to the parent node as the second or third representative hash value in the second blockchain or interwork with the payment settlement server; To allow the device to register,
(x3) if the parent node is not the root node of the Merkle tree, repeating the steps (x1) to (x2) by using the hash value assigned to the parent node as the second or third hash value. Payment server.
제14항에 있어서,
상기 프로세서가 상기 제2 또는 제3 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결되는 것을 특징으로 하는 지급 결제 서버.
The method of claim 14,
The processor storing the second or third hash value and the at least one neighboring hash value in a predetermined first data structure, and then storing and managing a second data structure having the same form as the first data structure. And the first data structure and the second data structure are connected in a chain form.
제14항에 있어서,
상기 프로세서는,
상기 주문 정보를 리프노드로 한 머클트리를 연산하며, 상기 연산된 머클트리의 루트 해시값 또는 상기 루트 해시값을 가공한 값을 상기 주문 아이디로 생성하는 것을 특징으로 하는 지급 결제 서버.
The method of claim 14,
The processor,
And calculating a merkle tree having the order information as a leaf node, and generating the calculated route hash value or the processed value of the root hash value as the order ID.
제14항에 있어서,
상기 사용자 식별 정보는,
상기 사용자의 식별을 위하여 사용자 별로 주어지는 고유 정보로서, 사용자 아이디, 주민번호, 사용자 단말 아이디, 사용자 단말의 아이피 주소, 사용자 단말의 MAC 어드레스, 전화번호, 및 이들 각각의 해시값 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 지급 결제 서버.
The method of claim 14,
The user identification information,
The unique information given for each user for identification of the user, includes at least one of a user ID, a social security number, a user terminal ID, an IP address of the user terminal, a MAC address of the user terminal, a phone number, and their respective hash values. Payment payment server, characterized in that.
제14항에 있어서,
상기 프로세서가,
상기 서명 요청 정보에, 상기 주문 정보 또는 검증 확인값을 포함하여 상기 사용자 단말로 하여금 상기 사용자의 프라이빗 키를 이용하여 상기 주문 정보 또는 상기 검증 확인값을 서명하도록 요청하며,
상기 블록체인에 등록된 상기 사용자의 퍼블릭 키를 이용하여 상기 서명값으로부터 상기 주문 정보 또는 상기 검증 확인값을 추출하며, 상기 서명값으로부터 추출된 상기 주문 정보 또는 상기 검증 확인값이 상기 서명 요청 정보에 포함된 상기 주문 정보 또는 상기 검증 확인값과 일치하는지를 확인하여 상기 서명값의 유효 여부를 판단하는 것을 특징으로 하는 지급 결제 서버.
The method of claim 14,
The processor,
Requesting the user terminal to sign the order information or the verification confirmation value by using the private key of the user, including the order information or the verification confirmation value in the signature request information,
The order information or the verification confirmation value is extracted from the signature value by using the public key of the user registered in the blockchain, and the order information or the verification confirmation value extracted from the signature value is added to the signature request information. Payment check server, characterized in that to determine the validity of the signature value by checking whether the included order information or the verification confirmation value.
삭제delete
KR1020180076092A 2017-10-17 2018-06-29 Method for payment based on blockchain and payment server using the same KR102050271B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/012287 WO2019078623A1 (en) 2017-10-17 2018-10-17 Blockchain-based payment method, and payment server using same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170134454 2017-10-17
KR1020170134454 2017-10-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190036445A Division KR20190043118A (en) 2017-10-17 2019-03-29 Method for payment based on blockchain and payment server using the same

Publications (2)

Publication Number Publication Date
KR20190043071A KR20190043071A (en) 2019-04-25
KR102050271B1 true KR102050271B1 (en) 2020-01-08

Family

ID=66283765

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020180076091A KR102050276B1 (en) 2017-10-17 2018-06-29 Method for payment based on blockchain and payment server using the same
KR1020180076092A KR102050271B1 (en) 2017-10-17 2018-06-29 Method for payment based on blockchain and payment server using the same
KR1020190036444A KR20190043117A (en) 2017-10-17 2019-03-29 Method for payment based on blockchain and payment server using the same
KR1020190036445A KR20190043118A (en) 2017-10-17 2019-03-29 Method for payment based on blockchain and payment server using the same

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180076091A KR102050276B1 (en) 2017-10-17 2018-06-29 Method for payment based on blockchain and payment server using the same

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020190036444A KR20190043117A (en) 2017-10-17 2019-03-29 Method for payment based on blockchain and payment server using the same
KR1020190036445A KR20190043118A (en) 2017-10-17 2019-03-29 Method for payment based on blockchain and payment server using the same

Country Status (1)

Country Link
KR (4) KR102050276B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220036684A (en) 2020-09-16 2022-03-23 주식회사 엘지유플러스 Multi-memperships integrated management system and method to provide integrated use among multi-memberships and prevent forgery/counterfeiting of automatic settlement

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188910B2 (en) 2019-06-03 2021-11-30 Advanced New Technologies Co., Ltd. Blockchain-based reconciliation system, method, and apparatus and electronic device
KR102131206B1 (en) * 2019-08-30 2020-08-05 비씨카드(주) Method, service server and authentication server for providing corporate-related services, supporting the same
KR102131207B1 (en) * 2019-10-23 2020-07-07 비씨카드(주) Method, device and payment server for providing payment services based on bio information and supporting the same
KR102295231B1 (en) * 2020-11-09 2021-08-31 (주)서울옥션블루 Method for distributing collectables ownership based on blockchain networks by using multi-signature and online transaction server using the same
CN112734449B (en) * 2021-01-13 2024-03-08 京东科技信息技术有限公司 After-sales service data processing method and device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101680260B1 (en) * 2015-12-14 2016-11-29 주식회사 코인플러그 Certificate issuance system and method based on block chain
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type
KR101773073B1 (en) 2016-04-28 2017-08-31 주식회사 코인플러그 Method for allowing a transaction to be processed and server using the same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101712119B1 (en) * 2015-07-09 2017-03-03 국민대학교산학협력단 Apparatus and method of informing a user of bitcoin trade
KR101780636B1 (en) * 2016-05-16 2017-09-21 주식회사 코인플러그 Method for issuing certificate information and blockchain-based server using the same
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
KR20170091069A (en) * 2017-07-26 2017-08-08 주식회사 비즈모델라인 System for Card Payment using Program Identity
KR20180075450A (en) 2018-06-15 2018-07-04 정기영 Peer to peer transmission based data marketplace with cryptocurrency payment, building method of the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101680260B1 (en) * 2015-12-14 2016-11-29 주식회사 코인플러그 Certificate issuance system and method based on block chain
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type
KR101773073B1 (en) 2016-04-28 2017-08-31 주식회사 코인플러그 Method for allowing a transaction to be processed and server using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220036684A (en) 2020-09-16 2022-03-23 주식회사 엘지유플러스 Multi-memperships integrated management system and method to provide integrated use among multi-memberships and prevent forgery/counterfeiting of automatic settlement
KR102480754B1 (en) * 2020-09-16 2022-12-23 주식회사 엘지유플러스 Multi-memperships integrated management system and method to provide integrated use among multi-memberships and prevent forgery/counterfeiting of automatic settlement

Also Published As

Publication number Publication date
KR20190043071A (en) 2019-04-25
KR20190043118A (en) 2019-04-25
KR20190043070A (en) 2019-04-25
KR20190043117A (en) 2019-04-25
KR102050276B1 (en) 2020-01-08

Similar Documents

Publication Publication Date Title
KR102050271B1 (en) Method for payment based on blockchain and payment server using the same
CN110892676B (en) Token provisioning with secure authentication system
CN105960776B (en) Token authentication using limited-use credentials
KR101877345B1 (en) Method for approving the use of credit card by using token id based on blockchain and merkle tree structure related thereto, and server using the same
RU2438172C2 (en) Method and system for performing two-factor authentication in mail order and telephone order transactions
US20170372417A1 (en) Digital asset account management
JP2020517201A (en) Method for approving card use by using blockchain-based token ID and server using the same {METHOD FOR APPROVING USE OF CARD BY USING BLOCKCHAIN-BASED TOKEN ID AND SERVER USING METHOD}
AU2019283784A1 (en) Methods and systems for providing 3-D secure service on-behalf-of merchants
CN103975352A (en) Securely reloadable electronic wallet
KR101384846B1 (en) Simple payment method using mobile terminal
JP5779615B2 (en) ARS authentication based payment system and payment method using various payment means
AU2015347054A1 (en) Providing online cardholder authentication services on-behalf-of issuers
KR102063628B1 (en) Method for paying based on blockchain and payment server using the same
US20160232525A1 (en) Online form fill for tokenized credentials
KR101936417B1 (en) Method for providing a service of electronic gift certificate based on blockchain, and vending machine and server using the same
KR20220063107A (en) Method for servicing mobile payment using qr code and payment server using them
KR101596434B1 (en) Method for authenticating electronic financial transaction using payment informaion seperation
EP3690782A1 (en) Secure and confidential payment

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant