KR20200020326A - Electronic payment system for protection of double spending and payment method therefor - Google Patents

Electronic payment system for protection of double spending and payment method therefor Download PDF

Info

Publication number
KR20200020326A
KR20200020326A KR1020180095893A KR20180095893A KR20200020326A KR 20200020326 A KR20200020326 A KR 20200020326A KR 1020180095893 A KR1020180095893 A KR 1020180095893A KR 20180095893 A KR20180095893 A KR 20180095893A KR 20200020326 A KR20200020326 A KR 20200020326A
Authority
KR
South Korea
Prior art keywords
transaction
transaction message
verification node
server
address
Prior art date
Application number
KR1020180095893A
Other languages
Korean (ko)
Other versions
KR102097995B1 (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 KR1020180095893A priority Critical patent/KR102097995B1/en
Publication of KR20200020326A publication Critical patent/KR20200020326A/en
Application granted granted Critical
Publication of KR102097995B1 publication Critical patent/KR102097995B1/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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • 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

Abstract

According to the present invention, an electronic payment method comprises the steps of: (a) receiving, by a transaction verification node, a transaction message from a server; and (b) confirming, by the transaction verification node, whether the transaction message received in the step (a) is a transaction message processed by the server. In step (a), the transaction message received from the server by the transaction verification node in step (a) includes: a deposit address to deposit; a withdrawal address to withdraw; a deposit amount to be deposited to the deposit address; a signature of an owner of the withdrawal address; a transaction sequence number giving an order to the transaction message; and a signature of the server.

Description

이중 지불 방지를 위한 전자 결제 시스템 및 그 결제 방법{ELECTRONIC PAYMENT SYSTEM FOR PROTECTION OF DOUBLE SPENDING AND PAYMENT METHOD THEREFOR}ELECTRONIC PAYMENT SYSTEM FOR PROTECTION OF DOUBLE SPENDING AND PAYMENT METHOD THEREFOR}

본 발명은 전자 결제 시스템 및 그 결제 방법에 관한 것으로, 더욱 상세하게는 이중 지불 방지를 위한 전자 결제 시스템 및 그 결제 방법에 관한 것이다.The present invention relates to an electronic payment system and a payment method thereof, and more particularly, to an electronic payment system and a payment method for preventing double payment.

도 1은 종래의 전자 결제 시스템(100)의 구성도를 나타낸다.1 shows a configuration diagram of a conventional electronic payment system 100.

비트코인을 선두로 제3의 신뢰기관(금융기관)을 거치지 않는 다양한 개인간 전자 결제 시스템(100)이 시도되고 있으며, 이러한 전자 결제 시스템(100)의 공통적인 목표 중 하나는 특정 온라인 시스템의 과도한 중앙화로 인한 독점적 지위로부터 사용자의 권리와 자산을 보호하는 데 있다. 이러한 분산 시스템의 기술적 구현 방법으로는 주로 전자 서명의 방법과 P2P(Peer-to-Peer) 기반의 네트워크 구조가 사용되나, 이러한 방법만으로는 모든 노드(130)가 동일한 원장을 관리하도록 하는 것이 어렵다. A variety of interpersonal electronic payment systems 100 have been attempted that do not go through third-party trust institutions (financial institutions), leading Bitcoin, and one of the common goals of such electronic payment systems 100 is excessive centralization of specific online systems. Protects users' rights and assets from their monopoly status. As a technical implementation method of such a distributed system, a method of electronic signature and a peer-to-peer (P2P) based network structure are mainly used, but it is difficult for all nodes 130 to manage the same ledger only by this method.

특히, 이중 지불(Double Spending) 문제는 모든 노드(130)가 모든 거래를 인식하고 있어야 확인되는 문제로, 순수 P2P 네트워크 기반의 시스템에서는 해결이 어려운 문제이다. 사토시 나카모토의 2008년 10월 31일 발표한 “비트 코인 : 피어 투 피어 전자 화폐 시스템(Bitcoin : A Peer-to-Peer Electronic Cash System)”에는 제3자(신뢰기관)의 중개 없는 P2P 방식 송금 방법에 대한 다양한 기술적 구현 방안 중 하나로, 작업 증명(PoW) 방식을 이용한 이중 지불에 대한 해법을 제시하였다. 사토시 나카모토의 2008년 10월 31일 발표한 “비트 코인 : 피어 투 피어 전자 화폐 시스템에서는 작업 증명으로 확인된 거래의 모임(블록체인)들은 네트워크에서 합의한 거래의 순차적 단일 이력을 만듦으로써 이중 지불 문제를 해결하였다. 그 밖에 지분 증명(PoS), 위임 지분 증명(DPoS), 방형성 비순환 그래프(DAG) 등 이중 지불 문제를 해결하기 위하여 다양한 합의 알고리즘이 연구되고 있다. In particular, the double payment problem is a problem that all nodes 130 need to be aware of all transactions, which is difficult to solve in a pure P2P network-based system. Satoshi Nakamoto's “Bitcoin: A Peer-to-Peer Electronic Cash System” announced on October 31, 2008 by a peer-to-peer remittance without mediation by a third party (trust agency). As one of the various technical implementations of the method, a solution to the double payment using the proof of work (PoW) method is presented. Satoshi Nakamoto announced October 31, 2008, “Bitcoin: In peer-to-peer electronic money systems, a group of transactions (blockchains) identified as proof of work create a sequential single history of transactions agreed upon in the network, thereby creating a double payment problem. Solved. In addition, various consensus algorithms are being studied to solve the dual payment problem such as proof of equity (PoS), delegation of proof of ownership (DPoS), and non-cyclic graph (DAG).

이중 지불 문제를 해결하기 위한 최초의 블록체인 합의 알고리즘인 작업 증명(PoW)은 완벽하게 작동함에도 불구하고 처리 속도가 느리고, 작업 증명에 필요한 시스템을 유지하는데 너무나 많은 전기를 소모하는 등의 단점이 있다. 지분 증명(PoS) 방법은 지분의 보유에 따라 블록을 생성(단일한 거래 이력을 결정)할 수 있는 권한을 주는 방법으로, 작업 증명 대비 전체 시스템을 공격하기 위해 필요한 비용이 크고, 적은 전기를 소모하나, 아직 검증되지 않은 방법이다. 위임 지분 증명 방법은 거래 수수료가 낮고, 빠른 트랜잭션 처리가 가능하나, 위임된 상위 노드간의 담합의 위험이 있다. 방형성 비순환 그래프를 활용한 방법은 네트워크 확장성이나 거래 비용이 적은 장점이 있으나, 아직 안전성이 검증되지 못하였다.Proof of Work (PoW), the first blockchain consensus algorithm to solve the double payment problem, has the disadvantages of slow processing speed and consumption of too much electricity to maintain the system required for proof of work even though it works perfectly. . Proof-of-Stake (PoS) is a method of authorizing the creation of a block (determining a single transaction history) based on the ownership of a stake, which is expensive and requires less electricity to attack the entire system than proof of work. However, the method has not been verified yet. Delegated equity proof method has low transaction fee and enables fast transaction processing, but there is a risk of collusion between delegated upper nodes. The method using the non-cyclic graphs has the advantage of low network scalability and transaction cost, but its safety has not yet been verified.

본 발명은 전술한 바와 같은 기술적 과제를 해결하는 데 목적이 있는 발명으로서, 전자 결제가 거래 순서에 따라 부여된 거래 순서 번호에 의해 관리되고, 다수의 거래 검증 노드에 의해 원장의 내용을 합의할 수 있어, 이중 지불 방지를 가능하게 하는 전자 결제 시스템 및 그 결제 방법을 제공하는 것에 그 목적이 있다.The present invention has an object to solve the above technical problem, the electronic payment is managed by a transaction sequence number assigned in accordance with the transaction order, and the contents of the ledger can be agreed by a plurality of transaction verification nodes. It is an object of the present invention to provide an electronic payment system and a payment method thereof that enable double payment prevention.

본 발명의 전자 결제 방법은, (a) 거래 검증 노드가 서버로부터 거래 메시지를 수신하는 단계; (b) 상기 거래 검증 노드가 상기 (a) 단계에서 수신한 거래 메시지가 상기 서버에 의해 처리된 거래 메시지인 지를 확인하는 단계; 및 (c) 상기 (b) 단계의 확인이 완료된 후, 상기 거래 검증 노드가 관리하는 원장의 거래 순서 번호와 비교하여 누락된 거래 메시지가 있는지 확인하는 단계;를 포함한다.The electronic payment method of the present invention includes the steps of (a) receiving a transaction message from a server by a transaction verification node; (b) the transaction verification node checking whether the transaction message received in step (a) is a transaction message processed by the server; And (c) after the checking of step (b) is completed, checking whether there is a missing transaction message by comparing with the transaction sequence number of the ledger managed by the transaction verification node.

구체적으로, 상기 (a) 단계에서 상기 거래 검증 노드가 상기 서버로부터 수신한 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 상기 입금 주소로 입금할 입금액; 상기 출금 주소의 소유자 서명; 거래 메시지에 순서를 부여하는 거래 순서 번호; 및 상기 서버의 서명;을 포함하는 것이 바람직하다.Specifically, the transaction message received by the transaction verification node from the server in step (a), the deposit address to deposit; Withdrawal address to withdraw; A deposit amount to be deposited to the deposit address; Owner signature of the withdrawal address; A transaction sequence number to order the transaction message; And the signature of the server.

아울러, 상기 (b) 단계는, (b-1) 상기 거래 검증 노드가 상기 거래 순서 번호 및 상기 서버의 서명의 존재 여부를 확인하는 단계; 및 (b-2) 상기 서버의 서명의 진위 여부를 확인하는 단계;를 포함하는 것을 특징으로 한다.In addition, the step (b), (b-1) the transaction verification node to confirm the presence of the transaction sequence number and the signature of the server; And (b-2) checking the authenticity of the signature of the server.

또한, 본 발명의 전자 결제 방법은, 상기 (c) 단계의 확인 결과, 누락된 거래 메시지가 있는 경우, (d) 상기 거래 검증 노드가 상기 거래 검증 노드의 주변 거래 검증 노드로부터 누락된 거래 메시지를 획득하는 단계;를 더 포함하는 것을 특징으로 한다. 아울러, 본 발명의 전자 결제 방법은, 상기 (d) 단계의 완료 후, 누락된 거래 메시지가 없는 경우, (e) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지의 거래 내용이 유효한 지 확인하는 단계;를 더 포함하는 것이 바람직하다.In addition, according to the electronic payment method of the present invention, if there is a missing transaction message as a result of the checking in step (c), (d) the transaction verification node is missing a transaction message from the neighboring transaction verification node of the transaction verification node Obtaining; characterized in that it further comprises. In addition, in the electronic payment method of the present invention, if there is no missing transaction message after completion of step (d), (e) the transaction verification node of the transaction message received in step (a) is valid. It is preferable to further include; confirming.

구체적으로, (e-1) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지의 입금액이 출금 주소의 잔고 이하인지를 확인하는 단계; 및 (e-2) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지의 출금자인 소유자 서명을 확인하는 단계;를 포함하는 것을 특징으로 한다. 아울러, 상기 (e) 단계는, (e-3) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지와 거래 순서 번호만 상이한 거래 메시지의 존재 여부를 확인하는 단계;를 더 포함하는 것을 특징으로 한다.Specifically, (e-1) checking, by the transaction verification node, whether the deposit amount of the transaction message received in step (a) is less than or equal to the balance of the withdrawal address; And (e-2) checking, by the transaction verification node, an owner signature that is the withdrawal of the transaction message received in step (a). In addition, the step (e) further comprises the step of (e-3) the transaction verification node to determine whether there is a transaction message that differs only in the transaction sequence number and the transaction message received in the step (a); It features.

또한, 본 발명의 전자 결제 방법은, (f) 상기 (e) 단계에 의해 상기 (a) 단계에서 수신된 거래 메시지의 거래 내용이 유효한 것으로 확인된 경우, 상기 거래 검증 노드가 해당 거래 메시지에 유효 거래 순서 번호를 부여하는 단계; 및 (g) 상기 (f) 단계의 완료 후, 상기 거래 검증 노드가, 해당 거래 메시지를 원장에 기록하는 단계;를 더 포함하는 것이 바람직하다.In addition, in the electronic payment method of the present invention, if the transaction contents of the transaction message received in the step (a) is confirmed to be valid by the step (e), the transaction verification node is valid for the transaction message. Assigning a transaction sequence number; And (g) after the completion of the step (f), recording, by the transaction verification node, a corresponding transaction message in the ledger.

상기 (g) 단계의 원장에 기록된 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 상기 입금 주소로 입금할 입금액; 상기 출금 주소의 소유자 서명; 거래 메시지에 순서를 부여하는 거래 순서 번호; 상기 서버의 서명; 및 유효 거래 순서 번호;를 포함하는 것이 바람직하다.The transaction message recorded in the ledger of step (g) may include a deposit address to be deposited; Withdrawal address to withdraw; A deposit amount to be deposited to the deposit address; Owner signature of the withdrawal address; A transaction sequence number to order the transaction message; Signature of the server; And a valid transaction sequence number.

아울러, 본 발명의 전자 결제 방법은, 상기 (g) 단계의 완료 후, (h) 상기 거래 검증 노드가 상기 (g) 단계에서 원장에 기록된 거래 메시지를 주변 거래 검증 노드에 전달하는 단계;를 더 포함하는 것을 특징으로 한다.In addition, the electronic payment method of the present invention, after the completion of the step (g), (h) the transaction verification node forwards the transaction message recorded in the ledger in the step (g) to the neighboring transaction verification node; It further comprises.

또한, 본 발명의 전자 결제 방법은, 상기 (a) 단계 이전에, 상기 서버가 사용자 단말기로부터 거래 메시지를 수신하는 단계;를 더 포함하되, 상기 서버가 상기 사용자 단말기로부터 수신한 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 상기 입금 주소로 입금할 입금액; 및 상기 출금 주소의 소유자 서명;을 포함하는 것이 바람직하다.In addition, the electronic payment method of the present invention, before the step (a), the server further comprises the step of receiving a transaction message from the user terminal; wherein the transaction message received from the user terminal by the server, the deposit An deposit address; Withdrawal address to withdraw; A deposit amount to be deposited to the deposit address; And the owner signature of the withdrawal address.

아울러, 본 발명의 전자 결제 방법은, 상기 (a) 단계 이전에, 상기 서버가 상기 사용자 단말기로부터 수신한 거래 메시지에 거래 순서 번호를 추가하는 단계; 및 거래 메시지에 순서를 부여하는 거래 순서 번호가 추가된 거래 메시지를 해쉬한 값에 상기 서버의 인증키로 서명하는 단계;를 더 포함하는 것을 특징으로 한다.In addition, the electronic payment method of the present invention, before the step (a), the step of adding a transaction sequence number to the transaction message received by the server from the user terminal; And signing a hashed value of the transaction message to which the transaction sequence number to which the transaction message is added is signed with an authentication key of the server.

본 발명의 전자 결제 시스템 및 그 결제 방법에 따르면, 전자 결제가 거래 순서에 따라 부여된 거래 순서 번호에 의해 관리되고, 다수의 거래 검증 노드에 의해 원장의 내용을 합의할 수 있어, 이중 지불 방지를 가능하게 한다.According to the electronic payment system and the payment method of the present invention, the electronic payment is managed by the transaction sequence number assigned according to the transaction order, and the contents of the ledger can be agreed by a plurality of transaction verification nodes, thereby preventing double payment. Make it possible.

도 1은 종래의 전자 결제 시스템의 구성도.
도 2는 본 발명의 바람직한 일실시예에 따른 이중 지불 방지를 위한 전자 결제 시스템의 구성도.
도 3은 종래의 전자 결제 시스템에 따른 사용자 단말기에 의해 생성된 거래 메시지에 의한 거래 설명도.
도 4는 본 발명의 전자 결제 시스템에 따른 사용자 단말기에 의해 생성된 거래 메시지에 의한 거래 설명도.
도 5는 본 발명의 바람직한 일실시예에 따른 거래 메시지 및 원장의 구성에 관한 설명도.
도 6은 본 발명의 바람직한 일실시예에 따른 전자 결제 방법의 흐름도.
1 is a block diagram of a conventional electronic payment system.
2 is a block diagram of an electronic payment system for preventing double payment according to an embodiment of the present invention.
3 is a transaction explanatory diagram by a transaction message generated by a user terminal according to a conventional electronic payment system.
4 is a transaction explanatory diagram by a transaction message generated by a user terminal according to the electronic payment system of the present invention.
5 is an explanatory diagram of the configuration of the transaction message and the ledger according to an embodiment of the present invention.
6 is a flow chart of an electronic payment method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하면서 본 발명의 실시예에 따른 이중 지불 방지를 위한 전자 결제 시스템 및 그 결제 방법에 대해 상세히 설명하기로 한다.Hereinafter, an electronic payment system and a payment method for preventing double payment according to an embodiment of the present invention with reference to the accompanying drawings will be described in detail.

본 발명의 하기의 실시예는 본 발명을 구체화하기 위한 것일 뿐 본 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 발명의 상세한 설명 및 실시예로부터 본 발명이 속하는 기술 분야의 전문가가 용이하게 유추할 수 있는 것은 본 발명의 권리 범위에 속하는 것으로 해석된다.The following examples of the present invention are intended to embody the present invention, but not to limit or limit the scope of the present invention. From the detailed description and examples of the present invention, those skilled in the art to which the present invention pertains can easily be deemed to be within the scope of the present invention.

도 2는 본 발명의 바람직한 일실시예에 따른 이중 지불 방지를 위한 전자 결제 시스템(200)의 구성도를 나타낸다. 아울러, 도 3은 종래의 전자 결제 시스템(100)의 사용자 단말기(110)에 의해 생성된 거래 메시지에 의한 거래 설명도이고, 도 4는 본 발명의 바람직한 일실시예에 따른 사용자 단말기(210)에 의해 생성된 거래 메시지에 의한 거래 설명도를 나타낸다. 또한, 도 5는 본 발명의 바람직한 일실시예에 따른 거래 메시지 및 원장의 구성에 관한 설명도를 나타낸다.2 is a block diagram of an electronic payment system 200 for preventing double payment according to an exemplary embodiment of the present invention. In addition, Figure 3 is a transaction explanatory diagram by a transaction message generated by the user terminal 110 of the conventional electronic payment system 100, Figure 4 is a user terminal 210 according to a preferred embodiment of the present invention The transaction explanatory diagram by the transaction message produced | generated is shown. In addition, Figure 5 shows an explanatory view of the configuration of the transaction message and the ledger according to an embodiment of the present invention.

도 2 내지 도 5에 의해 본 발명의 바람직한 일실시예에 따른 이중 지불 방지를 위한 전자 결제 시스템(200)에 대해 설명하기로 한다.2 to 5, an electronic payment system 200 for preventing double payment according to an exemplary embodiment of the present invention will be described.

본 발명의 바람직한 일실시예에 따른 이중 지불 방지를 위한 전자 결제 시스템(200)은, 사용자 단말기(210), 서버(220) 및 거래 검증 노드(230)를 포함하여 구성된다.The electronic payment system 200 for preventing double payment according to an exemplary embodiment of the present invention includes a user terminal 210, a server 220, and a transaction verification node 230.

본 발명의 바람직한 일실시예에 따른 이중 지불 방지를 위한 전자 결제 시스템(200)에서는, 사용자 단말기(210)는 클라이언트 프로그램을 통해, 임의의 거래 검증 노드(230)로부터 계좌 정보를 조회할 수 있으나, 거래의 요청을 위한 거래 메시지는 반드시 서버(220)로 제출되도록 하는 특징이 있다. In the electronic payment system 200 for preventing double payment according to an embodiment of the present invention, the user terminal 210 can query the account information from any transaction verification node 230 through the client program, The transaction message for requesting a transaction is characterized in that it must be submitted to the server 220.

종래의 전자 결제 시스템(100)의 경우에는, 사용자 단말기(110)는 클라이언트 프로그램을 통해, 거래 검증 노드(230)에 접속하여 자신의 계좌 정보를 조회하거나 거래를 발생시키는 것이 가능하였다.In the case of the conventional electronic payment system 100, the user terminal 110 was able to access the transaction verification node 230 via the client program to inquire its account information or generate a transaction.

이에 반해 본 발명의 한 전자 결제 시스템(200)에서는, 사용자는 사용자 단말기(210)에 의해 거래 검증 노드(230)에 접속하여 자신의 계좌 정보를 조회하고, 서버(220)에 접속하여 거래를 발생시키는 것이 가능하다. 즉, 이를 위해 사용자 단말기(210)에는 클라이언트 프로그램이 설치될 필요가 있다. 구체적으로 사용자 단말기(210)는 다른 사용자 단말기로 전자 결제에 의한 지불을 위해 거래 메시지를 생성하는 역할을 한다. 사용자 단말기(210)에 의해 사용자는 클라이언트 프로그램을 통해 거래 검증 노드(230)로 접속하여 거래 조회를 수행하고, 사용자의 의도에 따라 거래 메시지를 생성하고, 서버(220)에 접속하여 거래 메시지를 제출하게 된다.In contrast, in the electronic payment system 200 of the present invention, the user accesses the transaction verification node 230 by the user terminal 210, inquires his account information, and connects to the server 220 to generate a transaction. It is possible to let. That is, for this purpose, the client program needs to be installed in the user terminal 210. In more detail, the user terminal 210 serves to generate a transaction message for payment by electronic payment to another user terminal. By the user terminal 210, the user accesses the transaction verification node 230 through the client program to perform a transaction inquiry, generates a transaction message according to the user's intention, and accesses the server 220 to submit a transaction message. Done.

사용자 단말기(210)에서 생성된 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 입금 주소로 입금할 입금액; 및 출금 주소의 소유자 서명;을 포함하는 것이 바람직하다. 다만, 사용자 단말기(210)에서 생성된 거래 메시지는, 사용자의 하나의 거래 요청에 대해 하나의 거래 메시지가 생성되되, 하나의 거래 메시지에는, 입금할 입금 주소; 출금할 출금 주소; 및 입금 주소로 입금할 입금액;이 하나 이상 포함될 수 있다.The transaction message generated in the user terminal 210 may include a deposit address to be deposited; Withdrawal address to withdraw; Deposit amount to be deposited to the deposit address; And owner signature of the withdrawal address. However, the transaction message generated in the user terminal 210, one transaction message is generated for one transaction request of the user, one transaction message, a deposit address to deposit; Withdrawal address to withdraw; And a deposit amount to be deposited to the deposit address.

예를 들면, 'A'가 잔고 100만원인 출금 주소로부터 'B'에게 10만원을 송금하고자 할 경우, 'A'의 출금 주소로부터 'B'의 해당 입금 주소로 10만원이 송금되고, 'A'의 출금 주소로부터 잔고 100만원 중 나머지 금액인 90만원이 'A'의 입금 주소로 송금되게 된다. 이때, 입금 주소는 2개, 입금 주소로 입금할 입금액이 2개가 될 수 있다. 아울러, 'A'의 입금 주소는, 'A'의 출금 주소로 갱신되게 된다.For example, if you want to transfer 100,000 won to 'B' from a withdrawal address of 'A' with a balance of 1 million won, 100,000 won will be transferred from the withdrawal address of 'A' to the corresponding deposit address of 'B'. From the withdrawal address of ', the remaining amount of 90 million won of the balance of 1 million won will be remitted to the deposit address of' A '. In this case, the deposit address may be two, and the deposit amount to be deposited to the deposit address may be two. In addition, the deposit address of 'A' is updated to the withdrawal address of 'A'.

만약, 'A'가 2개의 출금 주소로부터 출금하고자 하는 경우, 출금 주소는 2개가 될 수 있다. 예를 들면, 'A'는 2개의 출금 주소로부터 2개의 입금 주소로 송금할 수 있다.If 'A' intends to withdraw from two withdrawal addresses, the withdrawal address may be two. For example, 'A' may transfer money from two withdrawal addresses to two deposit addresses.

본 발명에서의 사용한 입금 주소 및 출금 주소는 각각, 입금에 사용될 거래 주소 및 출금에 사용될 거래 주소를 의미한다. 즉, 입금 주소는 실제 계좌 번호와 같은 의미의 주소이지만, 출금 주소는 출금자가 출금할 금액이 담겨있는 거래 메시지의 주소 값이다.The deposit address and withdrawal address used in the present invention mean a transaction address to be used for the deposit and a transaction address to be used for withdrawal, respectively. In other words, the deposit address is the same as the actual account number, the withdrawal address is the address value of the transaction message that contains the amount to be withdrawn by the withdrawal.

거래 메시지의 주소 값은, 거래 원장 내 다른 거래 메시지와 구분할 수 있는 유일한 ID값으로 거래 순서 번호 또는 거래 메시지의 해쉬값 등을 이용하여 구할 수 있다.The address value of the transaction message is a unique ID value that can be distinguished from other transaction messages in the transaction ledger and can be obtained using a transaction sequence number or a hash value of the transaction message.

아울러, 입금액과 출금액은 송신자(출금자)의 입장이냐, 수신자(입금자)의 입장이냐에 따라 표현을 달리할 뿐, 실질적으로 동일한 의미를 가진다.In addition, the deposit amount and the withdrawal amount differ substantially depending on whether the sender (the sender) or the receiver (the sender) is in a position, and has substantially the same meaning.

서버(220)는, 사용자 단말기(210)에 설치된 클라이언트 프로그램에 의해 사용자 단말기(210)와 연결되어 사용자로부터 거래 요청 내역인 거래 메시지를 수신하여 단일 순번 이력인 거래 순서 번호를 생성하는 역할을 한다. 즉, 서버(220)는, 다수의 사용자 단말기(210)로부터 수신된 거래 메시지의 순서에 따라 순차적으로 일련의 거래 순서 번호를 부여하는 역할을 한다. 즉, 다수의 거래 검증 노드(230)가 거래 메시지를 수신하는 순서에 대한 단일 이력을 생성하기 위한 특수한 슈퍼 노드인 서버(220)를 네트워크에 추가할 필요가 있다. The server 220 is connected to the user terminal 210 by a client program installed in the user terminal 210 and receives a transaction message, which is a transaction request history, from the user to generate a transaction sequence number that is a single sequence history. That is, the server 220 serves to sequentially assign a series of transaction sequence numbers according to the order of transaction messages received from the plurality of user terminals 210. That is, it is necessary to add a server 220, which is a special super node for generating a single history of the order in which multiple transaction verification nodes 230 receive a transaction message, to the network.

서버(220)는 단일 시스템으로 구성되며, 다수의 사용자 단말기(210)로부터 동시에 많은 거래 메시지를 받을 수 있으며, 거래를 수집한 순서대로 유일한 거래 순서 번호를 부여하여 순서가 지정된 거래 메시지를 생성하는 특징이 있다. 아울러, 서버(220)는 단일 순번 이력에 따라 순서인 일련의 거래 순서 번호가 부여된 거래 메시지를 해쉬(Hash)한 값에 서버(220)의 개인 인증키로 서명한 값을 추가함으로써, 거래 메시지를 수신하는 거래 검증 노드(230)에서 거래 메시지가 위변조되지 않았음을 인증할 수 있는 방법을 제공한다.The server 220 is configured as a single system, and can receive many transaction messages from a plurality of user terminals 210 at the same time, and generate an ordered transaction message by assigning a unique transaction sequence number in the order of collecting the transactions. There is this. In addition, the server 220 adds a value signed by the server 220's private authentication key to a value that hashes a transaction message to which a series of transaction sequence numbers are assigned according to a single sequence history, thereby adding a transaction message. The receiving transaction verification node 230 provides a way to authenticate that the transaction message has not been forged.

즉, 서버(220)에 의해 처리된 후의 거래 메시지에는, 사용자 단말기(210)로부터 수신된 거래 메시지에 서버(220)의 서명이 추가되게 된다. 구체적으로, 서버(220)에 의해 처리된 후의 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 입금 주소로 입금할 입금액; 출금 주소의 소유자 서명; 거래 메시지에 순서를 부여하는 거래 순서 번호; 및 서버(220)의 서명;을 포함하는 것이 바람직하다.That is, the signature of the server 220 is added to the transaction message received from the user terminal 210 in the transaction message after being processed by the server 220. Specifically, the transaction message after being processed by the server 220, the deposit address to deposit; Withdrawal address to withdraw; Deposit amount to be deposited to the deposit address; Signature of the owner of the withdrawal address; A transaction sequence number to order the transaction message; And the signature of the server 220.

거래 검증 노드(230)는, 분산 결제 시스템의 노드인 컴퓨팅 장치로서, 서버(220)와 연결이 가능하며, 서버(220)가 부여한 거래 순서 번호에 따라 거래 메시지를 처리하고 원장을 관리하는 역할을 한다. 다수의 거래 검증 노드(230)는, P2P(Peer-to-Peer)로 연결되어 서버(220)로부터 전달받은 거래 순서 번호가 지정된 거래 메시지의 유효성을 검증하고 기록하며, 이웃 거래 검증 노드(230)에 전파하는 역할을 한다.The transaction verification node 230 is a computing device that is a node of a distributed payment system. The transaction verification node 230 is capable of connecting with the server 220 and processes transaction messages and manages ledgers according to the transaction sequence numbers assigned by the server 220. do. The plurality of transaction verification nodes 230 are connected to a peer-to-peer (P2P) to validate and record a transaction message assigned a transaction sequence number received from the server 220, and the neighbor transaction verification node 230. It plays a role in spreading.

다수의 거래 검증 노드(230)는, 서로 순수한 P2P 연결 네트워크로 구성되어 있고, 사용자 단말기(210)의 접속과 서버(220)의 접속을 허용하며, 사용자 단말기(210)로는 거래 조회의 서비스를 제공하고, 서버(220)로부터는 새로운 거래 요청 내역인 거래 메시지를 전달받는다.The plurality of transaction verification nodes 230 are composed of a pure P2P connection network with each other, and allow access of the user terminal 210 and access of the server 220, and provide a service of transaction inquiry to the user terminal 210. And, the server 220 receives a transaction message which is a new transaction request history.

다수의 거래 검증 노드(230) 중 일부는 새로운 거래 메시지를 서버(220)로부터 전달받으며, 다수의 거래 검증 노드(230) 중 나머지는 거래 메시지를 먼저 수신한 거래 검증 노드(230)로부터 전파된 거래 메시지를 전달받는다. 아울러, 거래 검증 노드(230)는 서버(220) 또는 다른 거래 검증 서버(220)로부터 전달받은 거래 메시지 내의 서버(220)의 서명을 검증함으로써 거래 메시지를 인증한다.Some of the plurality of transaction verification nodes 230 receive a new transaction message from the server 220, and others of the plurality of transaction verification nodes 230 propagate from the transaction verification node 230 that first received the transaction message. Receive a message. In addition, the transaction verification node 230 authenticates the transaction message by verifying the signature of the server 220 in the transaction message received from the server 220 or another transaction verification server 220.

또한, 거래 검증 노드(230) 각각은 자신이 새롭게 수신한 거래 메시지 내의 거래 순서 번호가 자신이 관리하고 있는 원장의 마지막 거래 순서 번호와 둘 이상의 차이가 있는 경우, 거래 메시지의 수신이 누락되었음을 인지하고, 누락된 거래 메시지를 주변 거래 검증 노드(230)로부터 수신하여 처리할 때까지 새롭게 수신한 거래 메시지의 처리를 보류하고, 누락된 거래 메시지를 모두 처리한 후에 새롭게 수신한 거래 메시지를 처리한다. 예를 들면, 거래 검증 노드(230)가 수신한 거래 메시지 내의 거래 순서 번호가 100번이고, 원장의 마지막 거래 순서 번호가 97번 인 경우, 거래 검증 노드(230)는 98번 및 99번의 거래 순서 번호의 거래 메시지를 주변 거래 검증 노드(230)로부터 수신하여 처리할 필요가 있다.Also, each of the transaction verification nodes 230 recognizes that the receipt of the transaction message is missing when the transaction sequence number in the newly received transaction message is more than one difference from the last transaction sequence number of the ledger managed by the transaction verification node 230. The processing of the newly received transaction message is suspended until the missing transaction message is received from the neighbor transaction verification node 230 and processed, and the newly received transaction message is processed. For example, if the transaction sequence number in the transaction message received by the transaction verification node 230 is 100 and the last transaction sequence number of the ledger is 97, the transaction verification node 230 is the transaction sequence 98 and 99. The transaction message of the number needs to be received from the neighboring transaction verification node 230 and processed.

아울러, 거래 검증 노드(230)는 거래 순서 번호를 이용하여 모든 거래를 동일한 순서로 처리함으로써, 이중 지불 거래가 발생하는 경우, 나중에 발생한 거래(거래 순서 번호가 큰 거래)를 처리하지 않음으로써, 모든 거래 검증 노드(230)가 동일한 거래만을 처리할 수 있는 방법을 제공하는 특징이 있다. 예를 들면, 거래 순서 번호가 200번인 거래 메시지와 201번인 거래 메시지가 동일한 거래에 대한 이중 지불인 것으로 판정된 경우, 거래 순서 번호가 201번인 유효 거래가 아니므로 유효 거래 번호를 부여하지 않아 처리하지 않는 것이 바람직할 것이다.In addition, the transaction verification node 230 processes all the transactions in the same order by using the transaction sequence number, so that when a double payment transaction occurs, the transaction verification node 230 does not process the transaction that occurred later (the transaction with the large transaction sequence number), The verification node 230 has a feature that provides a way to process only the same transaction. For example, if a transaction message with a transaction sequence number of 200 and a transaction message with a transaction number of 201 are determined to be double payments for the same transaction, the transaction message with a transaction sequence number of 201 is not an effective transaction with a transaction sequence number of 201. It would be desirable.

또한, 거래 검증 노드(230)는 거래 순서 번호가 인증된 거래 메시지에 한하여, 거래 메시지 내의 소유자 서명이 올바른지, 출금 계좌 즉, 출금 주소의 잔고가 입금액 이상 인지 등에 대한 검증을 자신이 관리하고 있는 원장과 비교하여 확인을 하여, 거래 내용 자체를 검증하고 거래가 수립되기 위한 모든 조건을 만족하게 되는, 즉 거래가 성립하는 조건인 경우 유효 거래 순서 번호를 부여하는 것을 특징으로 한다. 거래 검증 노드(230)는 원장에 거래를 기록함에 있어, 서버(220)가 제공한 거래 순서 번호와 서버(220)의 서명을 모두 기록함으로써 순서가 정해진 신뢰할 수 있는 거래의 사슬을 생성하고, 이 높이(거래의 개수)를 파악함으로써 누락된 거래 메시지를 확인할 수 있다. 이에 따라, 거래 검증 노드(230)는 원장에 거래를 기록함에 있어, 유효 거래 순서 번호를 추가하여, 유효 거래 순서 번호를 참조하여 모든 거래 검증 노드(230)가 동일한 원장을 관리하는지 빠르게 확인하고, 원장의 불일치를 조정할 수 있다. 즉, 서버(220)에 의해 거래 순서 번호가 부여된 거래 메시지의 경우에도, 이중 지불 등이 발생한 경우 일부의 거래 메시지는 유효하지 않아 유효 거래 순서 번호가 부여되지 않게 된다.In addition, the transaction verification node 230 is a ledger that manages the verification of whether the owner signature in the transaction message is correct and whether the balance of the withdrawal account, that is, the withdrawal address is greater than or equal to the deposit amount, only for the transaction message whose transaction sequence number is authenticated. In comparison with the verification, the contents of the transaction are verified and all valid conditions for establishing a transaction are satisfied, that is, a valid transaction sequence number is assigned when the transaction is established. The transaction verification node 230, in recording transactions in the ledger, creates an ordered chain of trusted transactions by recording both the transaction sequence number provided by the server 220 and the signature of the server 220, By identifying the height (number of transactions), you can identify missing transaction messages. Accordingly, in recording the transaction in the ledger, the transaction verification node 230 adds a valid transaction sequence number to quickly check whether all the transaction verification nodes 230 manage the same ledger by referring to the valid transaction sequence number, The discrepancies in the ledger can be adjusted. That is, even in the case of a transaction message to which a transaction sequence number is assigned by the server 220, when a double payment or the like occurs, some transaction messages are not valid and thus no valid transaction sequence number is assigned.

구체적으로 거래 검증 노드(230)의 원장에 기록된 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 입금 주소로 입금할 입금액; 출금 주소의 소유자 서명; 거래 메시지에 순서를 부여하는 거래 순서 번호; 서버(220)의 서명; 및 유효 거래 순서 번호;를 포함하는 것을 특징으로 한다. 아울러, 각각의 거래 메시지는, 거래 순서 번호에 따라 원장에서 거래의 사슬을 생성하게 된다.Specifically, the transaction message recorded in the ledger of the transaction verification node 230 may include a deposit address to deposit; Withdrawal address to withdraw; Deposit amount to be deposited to the deposit address; Signature of the owner of the withdrawal address; A transaction sequence number to order the transaction message; Signature of server 220; And a valid transaction sequence number. In addition, each transaction message generates a chain of transactions in the ledger according to the transaction sequence number.

또한, 거래 검증 노드(230)는 자신이 관리하는 원장에 기록된 거래 메시지를 주변 거래 검증 노드(230)에 전달한다.In addition, the transaction verification node 230 transmits a transaction message recorded in the ledger managed by the transaction verification node 230.

상술한 바와 같이 본 발명의 전자 결제 시스템(200)에서는, 거래 순서 번호와 서버(220)의 서명을 같이 원장에 기록하여, 해당 거래가 서버(220)로부터 거래 검증 노드(230)가 전달받은 거래인지를 확인할 수 있도록 하고, 유효 거래 순서 번호를 원장에 저장함으로써 모든 거래 검증 노드(230)가 동일한 유효 거래를 처리하는지 확인할 수 있도록 한다. 아울러, 사용자가 사용자 단말기(210)에 설치된 클라이언트 프로그램을 이용하여 거래 검증 노드(230)로부터 거래를 조회하는 경우, 원장에 기록된 거래의 잔고뿐만 아니라, 서버(220)의 서명도 함께 거래 검증 노드(230)가 검증함으로써, 이 거래가 서버(220)를 통해 처리된 거래인지 확인하여 더욱 안전한 거래의 검증을 수행할 수 있다.As described above, in the electronic payment system 200 of the present invention, the transaction sequence number and the signature of the server 220 are recorded together in the ledger, so that the corresponding transaction is a transaction received from the server 220 by the transaction verification node 230. By verifying the valid transaction order number stored in the ledger, so that all the transaction verification node 230 can process whether the same valid transaction. In addition, when a user inquires a transaction from the transaction verification node 230 using a client program installed in the user terminal 210, the transaction verification node together with the signature of the server 220 as well as the balance of the transaction recorded in the ledger. By verifying 230, the transaction may be verified through the server 220 to verify that the transaction is more secure.

도 6은 본 발명의 바람직한 일실시예에 따른 전자 결제 방법의 흐름도를 나타낸다.6 is a flowchart illustrating an electronic payment method according to an embodiment of the present invention.

본 발명의 바람직한 일실시예에 따른 전자 결제 방법은 상술한 전자 결제 시스템(200)을 이용하므로 별도의 설명이 없더라도 상술한 전자 결제 시스템(200)의 모든 특징을 포함한다. 마찬가지로, 본 발명의 전자 결제 시스템(200)도 하기에 기술할 전자 결제 방법의 특징을 모두 포함함은 물론이다.Since the electronic payment method according to the preferred embodiment of the present invention uses the electronic payment system 200 described above, the electronic payment system 200 includes all the features of the electronic payment system 200 without a separate description. Similarly, of course, the electronic payment system 200 of the present invention includes all the features of the electronic payment method described below.

도 6으로부터 알 수 있는 바와 같이, 본 발명의 바람직한 일실시예에 따른 전자 결제 방법은, 서버(220)가 사용자 단말기(210)로부터 거래 메시지를 수신하는 단계(S10); 서버(220)가 사용자 단말기(210)로부터 수신한 거래 메시지에 거래 순서 번호를 추가하는 단계(S20); 및 서버(220)가 거래 메시지에 순서를 부여하는 거래 순서 번호가 추가된 거래 메시지를 해쉬한 값에 서버(220)의 인증키로 서명하는 단계(S30);를 포함한다.As can be seen from Figure 6, the electronic payment method according to an embodiment of the present invention, the server 220 receives a transaction message from the user terminal 210 (S10); Adding, by the server 220, a transaction sequence number to a transaction message received from the user terminal 210 (S20); And (S30) signing, by the server 220, the authentication key of the server 220 to the hashed value of the transaction message to which the transaction sequence number for assigning the transaction message is added.

S10 단계에서, 서버(220)가 사용자 단말기(210)로부터 수신한 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 입금 주소로 입금할 입금액; 및 출금 주소의 소유자 서명;을 포함하는 것을 특징으로 한다.In operation S10, the transaction message received by the server 220 from the user terminal 210 may include a deposit address to be deposited; Withdrawal address to withdraw; Deposit amount to be deposited to the deposit address; And a signature of the owner of the withdrawal address.

아울러, 본 발명의 바람직한 일실시예에 따른 전자 결제 방법은, 거래 검증 노드(230)가 서버(220)로부터 거래 메시지를 수신하는 단계(S40); 거래 검증 노드(230)가 S40 단계에서 수신한 거래 메시지가 서버(220)에 의해 처리된 거래 메시지인 지를 확인하는 단계(S50); S50 단계의 확인이 완료된 후, 거래 검증 노드(230)가 관리하는 원장의 거래 순서 번호와 비교하여 누락된 거래 메시지가 있는지 확인하는 단계(S60); 및 S60 단계의 확인 결과, 누락된 거래 메시지가 있는 경우, 거래 검증 노드(230)가 거래 검증 노드(230)의 주변 거래 검증 노드(230)로부터 누락된 거래 메시지를 획득하는 단계(S70);를 더 포함하는 것을 특징으로 한다.In addition, the electronic payment method according to an embodiment of the present invention, the transaction verification node 230 receives a transaction message from the server 220 (S40); Confirming, by the transaction verification node 230, that the transaction message received in step S40 is a transaction message processed by the server 220 (S50); After the checking of step S50 is completed, comparing with the transaction order number of the ledger managed by the transaction verification node 230 to check whether there is a missing transaction message (S60); And when there is a missing transaction message as a result of checking in step S60, the transaction verification node 230 obtains the missing transaction message from the neighbor transaction verification node 230 of the transaction verification node 230 (S70). It further comprises.

S40 단계에서 거래 검증 노드(230)가 서버(220)로부터 수신한 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 입금 주소로 입금할 입금액; 출금 주소의 소유자 서명; 거래 메시지에 순서를 부여하는 거래 순서 번호; 및 서버(220)의 서명;을 포함하는 것이 바람직하다. The transaction message received by the transaction verification node 230 from the server 220 in step S40 includes a deposit address to be deposited; Withdrawal address to withdraw; Deposit amount to be deposited to the deposit address; Signature of the owner of the withdrawal address; A transaction sequence number to order the transaction message; And the signature of the server 220.

아울러, S50 단계는, 거래 검증 노드(230)가 거래 순서 번호 및 서버(220)의 서명의 존재 여부를 확인하는 단계(S51); 및 서버(220)의 서명의 진위 여부를 확인하는 단계(S52);를 포함할 수 있다.In addition, step S50, the transaction verification node 230 confirms the existence of the transaction sequence number and the signature of the server 220 (S51); And checking the authenticity of the signature of the server 220 (S52).

또한, 본 발명의 바람직한 일실시예에 따른 전자 결제 방법은, 전자 결제 방법은, S70 단계의 완료 후 S60 단계로 돌아가서, S60 단계의 확인 결과, 누락된 거래 메시지가 없는 경우, 거래 검증 노드(230)가 S40 단계에서 수신된 거래 메시지의 거래 내용이 유효한 지 확인하는 단계(S80);를 더 포함하는 것을 특징으로 한다. S80 단계에서는, 거래와 관련된 모든 내용이 유효한 지 확인하고 검증하는 것이 바람직하다.In addition, the electronic payment method according to an embodiment of the present invention, the electronic payment method, after the completion of step S70 returns to step S60, when the confirmation result of step S60, there is no missing transaction message, transaction verification node 230 ) Confirms whether the transaction contents of the transaction message received in step S40 are valid (S80). In step S80, it is desirable to check and verify that all the contents related to the transaction are valid.

구체적으로 S80 단계는, 거래 검증 노드(230)가 S40 단계에서 수신된 거래 메시지의 입금액이 출금 주소의 잔고 이하인지를 확인하는 단계(S81); 및 거래 검증 노드(230)가 S40 단계에서 수신된 거래 메시지의 출금자인 소유자 서명을 확인하는 단계(S82);를 포함하는 것이 바람직하다. 또한, S80 단계는, 거래 검증 노드(230)가 S40 단계에서 수신된 거래 메시지와 거래 순서 번호만 상이한 거래 메시지가 존재하는 지 여부를 확인하는 단계(S83);를 더 포함하는 것을 특징으로 한다. Specifically, step S80, the transaction verification node 230 confirms whether the deposit amount of the transaction message received in step S40 is less than the balance of the withdrawal address (S81); And confirming, by the transaction verification node 230, the owner signature that is the withdrawal of the transaction message received in step S40 (S82). In addition, the step S80, the transaction verification node 230 confirms whether there is a transaction message that differs only in the transaction sequence number and the transaction message received in step S40 (S83); characterized in that it further comprises.

이에 따라, 거래 검증 노드(230)가 S40 단계에서 수신된 거래 메시지와 거래 순서 번호만 상이한 거래 메시지가 존재하는 경우, 거래 순서 번호가 앞서는 거래 메시지만이 유효한 거래 메시지로 검증되게 된다.Accordingly, if there is a transaction message that differs only in the transaction message and the transaction sequence number received in step S40, the transaction verification node 230 verifies only the transaction message having the preceding transaction sequence number as a valid transaction message.

아울러, 본 발명의 바람직한 일실시예에 따른 전자 결제 방법은, S80 단계에 의해 S40 단계에서 수신된 거래 메시지의 거래 내용이 검증 완료된 경우, 거래 검증 노드(230)가 해당 거래 메시지에 유효 거래 순서 번호를 부여하는 단계(S90); S90 단계의 완료 후, 거래 검증 노드(230)가, 해당 거래 메시지를 원장에 기록하는 단계(S100); 및 S100 단계의 완료 후, 거래 검증 노드(230)가 S100 단계에서 원장에 기록된 거래 메시지를 주변 거래 검증 노드(230)에 전달하는 단계(S110);를 더 포함하는 것이 바람직하다.In addition, the electronic payment method according to an embodiment of the present invention, when the transaction details of the transaction message received in step S40 by step S80 is completed, the transaction verification node 230 is a valid transaction sequence number in the transaction message Giving a step (S90); After the completion of step S90, the transaction verification node 230, the step of recording the transaction message in the ledger (S100); And after the completion of step S100, the transaction verification node 230 transferring the transaction message recorded in the ledger in step S100 to the neighboring transaction verification node 230 (S110).

S100 단계의 원장에 기록된 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 입금 주소로 입금할 입금액; 출금 주소의 소유자 서명; 거래 메시지에 순서를 부여하는 거래 순서 번호; 서버(220)의 서명; 및 유효 거래 순서 번호;를 포함하는 것을 특징으로 한다.Transaction message recorded in the ledger of step S100, the deposit address to be deposited; Withdrawal address to withdraw; Deposit amount to be deposited to the deposit address; Signature of the owner of the withdrawal address; A transaction sequence number to order the transaction message; Signature of server 220; And a valid transaction sequence number.

상술한 바와 같이, 본 발명의 전자 결제 시스템(200) 및 그 결제 방법에 따르면, 전자 결제가 거래 순서에 따라 부여된 거래 순서 번호에 의해 관리되고, 다수의 거래 검증 노드(230)에 의해 원장의 내용을 합의할 수 있어, 이중 지불 방지를 가능하게 함을 알 수 있다.As described above, according to the electronic payment system 200 and the payment method of the present invention, the electronic payment is managed by the transaction sequence number assigned in accordance with the transaction order, and the plurality of transaction verification nodes 230 It can be seen that the contents can be agreed, thus enabling double payment prevention.

100, 200 : 전자 결제 시스템
110, 210 : 사용자 단말기
220 : 서버
130, 230 : 거래 검증 노드
100, 200: electronic payment system
110, 210: user terminal
220: server
130, 230: transaction verification node

Claims (13)

전자 결제 방법에 있어서,
(a) 거래 검증 노드가 서버로부터 거래 메시지를 수신하는 단계; 및
(b) 상기 거래 검증 노드가 상기 (a) 단계에서 수신한 거래 메시지가 상기 서버에 의해 처리된 거래 메시지인 지를 확인하는 단계;를 포함하는 것을 특징으로 하는 전자 결제 방법.
In the electronic payment method,
(a) the transaction verification node receiving a transaction message from a server; And
(b) checking, by the transaction verification node, whether the transaction message received in step (a) is a transaction message processed by the server.
제1항에 있어서,
상기 (a) 단계에서 상기 거래 검증 노드가 상기 서버로부터 수신한 거래 메시지는,
입금할 입금 주소;
출금할 출금 주소;
상기 입금 주소로 입금할 입금액;
상기 출금 주소의 소유자 서명;
거래 메시지에 순서를 부여하는 거래 순서 번호; 및
상기 서버의 서명;을 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 1,
The transaction message received from the server by the transaction verification node in step (a),
Deposit address to be deposited;
Withdrawal address to withdraw;
A deposit amount to be deposited to the deposit address;
Owner signature of the withdrawal address;
A transaction sequence number to order the transaction message; And
Signature of the server; Electronic payment method comprising a.
제2항에 있어서,
상기 (b) 단계는,
(b-1) 상기 거래 검증 노드가 상기 거래 순서 번호 및 상기 서버의 서명의 존재 여부를 확인하는 단계; 및
(b-2) 상기 서버의 서명의 진위 여부를 확인하는 단계;를 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 2,
Step (b),
(b-1) the transaction verification node confirming the existence of the transaction sequence number and the signature of the server; And
(b-2) confirming the authenticity of the signature of the server; electronic payment method comprising a.
제3항에 있어서,
상기 전자 결제 방법은,
(c) 상기 (b) 단계의 확인이 완료된 후, 상기 거래 검증 노드가 관리하는 원장의 거래 순서 번호와 비교하여 누락된 거래 메시지가 있는지 확인하는 단계;를 더 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 3,
The electronic payment method,
(c) after the checking of step (b) is completed, checking whether there is a missing transaction message by comparing with the transaction sequence number of the ledger managed by the transaction verification node; .
제4항에 있어서,
상기 전자 결제 방법은, 상기 (c) 단계의 확인 결과, 누락된 거래 메시지가 있는 경우,
(d) 상기 거래 검증 노드가 상기 거래 검증 노드의 주변 거래 검증 노드로부터 누락된 거래 메시지를 획득하는 단계;를 더 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 4, wherein
The electronic payment method, if there is a missing transaction message as a result of the check in step (c),
(d) the transaction verification node acquiring a missing transaction message from a neighbor transaction verification node of the transaction verification node.
제5항에 있어서,
상기 전자 결제 방법은, 누락된 거래 메시지가 없는 경우,
(e) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지의 거래 내용이 유효한 지 확인하는 단계;를 더 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 5,
The electronic payment method, if there is no missing transaction message,
(e) checking, by the transaction verification node, whether the transaction contents of the transaction message received in step (a) are valid.
제6항에 있어서,
상기 (e) 단계는,
(e-1) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지의 입금액이 출금 주소의 잔고 이하인지를 확인하는 단계; 및
(e-2) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지의 출금자인 소유자 서명을 확인하는 단계;를 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 6,
In step (e),
(e-1) the transaction verification node checking whether the deposit amount of the transaction message received in the step (a) is less than or equal to the balance of the withdrawal address; And
(e-2) checking, by the transaction verification node, an owner signature that is the withdrawal of the transaction message received in step (a).
제6항에 있어서,
상기 (e) 단계는,
(e-3) 상기 거래 검증 노드가 상기 (a) 단계에서 수신된 거래 메시지와 거래 순서 번호만 상이한 거래 메시지의 존재 여부를 확인하는 단계;를 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 6,
In step (e),
(e-3) checking, by the transaction verification node, whether there is a transaction message that differs only in the transaction message number and the transaction sequence number received in step (a).
제6항에 있어서,
상기 전자 결제 방법은,
(f) 상기 (e) 단계에 의해 상기 (a) 단계에서 수신된 거래 메시지의 거래 내용이 유효한 것으로 확인된 경우, 상기 거래 검증 노드가 해당 거래 메시지에 유효 거래 순서 번호를 부여하는 단계;를 더 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 6,
The electronic payment method,
(f) if it is confirmed by step (e) that the transaction contents of the transaction message received in step (a) are valid, the transaction verification node assigns a valid transaction sequence number to the transaction message; Electronic payment method comprising a.
제9항에 있어서,
상기 전자 결제 방법은, 상기 (f) 단계의 완료 후,
(g) 상기 거래 검증 노드가, 해당 거래 메시지를 원장에 기록하는 단계;를 더 포함하되,
상기 (g) 단계의 원장에 기록된 거래 메시지는,
입금할 입금 주소;
출금할 출금 주소;
상기 입금 주소로 입금할 입금액;
상기 출금 주소의 소유자 서명;
거래 메시지에 순서를 부여하는 거래 순서 번호;
상기 서버의 서명; 및
유효 거래 순서 번호;를 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 9,
The electronic payment method, after completion of step (f),
(g) recording, by the transaction verification node, a corresponding transaction message in a ledger;
The transaction message recorded in the ledger of step (g),
Deposit address to be deposited;
Withdrawal address to withdraw;
A deposit amount to be deposited to the deposit address;
Owner signature of the withdrawal address;
A transaction sequence number to order the transaction message;
Signature of the server; And
Electronic transaction method comprising a; valid transaction order number.
제10항에 있어서,
상기 전자 결제 방법은, 상기 (g) 단계의 완료 후,
(h) 상기 거래 검증 노드가 상기 (g) 단계에서 원장에 기록된 거래 메시지를 주변 거래 검증 노드에 전달하는 단계;를 더 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 10,
The electronic payment method, after completion of the step (g),
and (h) the transaction verification node forwarding a transaction message recorded in the ledger in step (g) to a neighboring transaction verification node.
제1항에 있어서,
상기 전자 결제 방법은, 상기 (a) 단계 이전에,
상기 서버가 사용자 단말기로부터 거래 메시지를 수신하는 단계;를 더 포함하되,
상기 서버가 상기 사용자 단말기로부터 수신한 거래 메시지는,
입금할 입금 주소;
출금할 출금 주소;
상기 입금 주소로 입금할 입금액; 및
상기 출금 주소의 소유자 서명;을 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 1,
The electronic payment method, before step (a),
Receiving, by the server, a transaction message from a user terminal;
The transaction message received by the server from the user terminal,
Deposit address to be deposited;
Withdrawal address to withdraw;
A deposit amount to be deposited to the deposit address; And
And an owner signature of the withdrawal address.
제12항에 있어서,
상기 전자 결제 방법은, 상기 (a) 단계 이전에,
상기 서버가 상기 사용자 단말기로부터 수신한 거래 메시지에 거래 순서 번호를 추가하는 단계; 및
거래 메시지에 순서를 부여하는 거래 순서 번호가 추가된 거래 메시지를 해쉬한 값에 상기 서버의 인증키로 서명하는 단계;를 더 포함하는 것을 특징으로 하는 전자 결제 방법.
The method of claim 12,
The electronic payment method, before step (a),
Adding, by the server, a transaction sequence number to a transaction message received from the user terminal; And
And signing the hashed value of the transaction message to which the transaction sequence number to which the transaction message is added is signed using the authentication key of the server.
KR1020180095893A 2018-08-17 2018-08-17 Electronic payment system for protection of double spending and payment method therefor KR102097995B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180095893A KR102097995B1 (en) 2018-08-17 2018-08-17 Electronic payment system for protection of double spending and payment method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180095893A KR102097995B1 (en) 2018-08-17 2018-08-17 Electronic payment system for protection of double spending and payment method therefor

Publications (2)

Publication Number Publication Date
KR20200020326A true KR20200020326A (en) 2020-02-26
KR102097995B1 KR102097995B1 (en) 2020-04-07

Family

ID=69637909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180095893A KR102097995B1 (en) 2018-08-17 2018-08-17 Electronic payment system for protection of double spending and payment method therefor

Country Status (1)

Country Link
KR (1) KR102097995B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210109991A (en) * 2020-02-28 2021-09-07 스마트쿱(주) System for transaction a deposit and withdrawal based a block chain
KR20220001644A (en) * 2020-06-30 2022-01-06 주식회사 트러스트디비 System and method for managing rdbms-based distributed ledger

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002109397A (en) * 2000-09-28 2002-04-12 Matsushita Electric Ind Co Ltd Electronic commerce method and electronic commerce system
KR20160009301A (en) * 2014-07-16 2016-01-26 주식회사 코빗 Private key based e-cash payment system and method thereof
KR101816653B1 (en) * 2017-02-14 2018-02-21 주식회사 코인플러그 Method for providing login flow via authentication based on public key infrastructure in response to user’s login request for using service provided by service provider server in use of smart contract with blockchain database and server using the same
JP2018516030A (en) * 2015-05-05 2018-06-14 ショカード、インコーポレイテッド ID management service using blockchain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002109397A (en) * 2000-09-28 2002-04-12 Matsushita Electric Ind Co Ltd Electronic commerce method and electronic commerce system
KR20160009301A (en) * 2014-07-16 2016-01-26 주식회사 코빗 Private key based e-cash payment system and method thereof
JP2018516030A (en) * 2015-05-05 2018-06-14 ショカード、インコーポレイテッド ID management service using blockchain
KR101816653B1 (en) * 2017-02-14 2018-02-21 주식회사 코인플러그 Method for providing login flow via authentication based on public key infrastructure in response to user’s login request for using service provided by service provider server in use of smart contract with blockchain database and server using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210109991A (en) * 2020-02-28 2021-09-07 스마트쿱(주) System for transaction a deposit and withdrawal based a block chain
KR20220001644A (en) * 2020-06-30 2022-01-06 주식회사 트러스트디비 System and method for managing rdbms-based distributed ledger

Also Published As

Publication number Publication date
KR102097995B1 (en) 2020-04-07

Similar Documents

Publication Publication Date Title
US11651109B2 (en) Permission management method, permission verification method, and related apparatus
US11809608B2 (en) Methods and systems for using digital signatures to create trusted digital asset transfers
JP7241216B2 (en) Computer-implemented method and system for validating tokens for blockchain-based cryptocurrencies
US20200013026A1 (en) Systems and methods for blockchain addresses and owner verification
KR101837166B1 (en) Method for issuing and paying money using updated status of balance database by respective blocks in blockchain, and server using the same
US20200145373A1 (en) System for blockchain based domain name and ip number register
US11108566B2 (en) Methods and systems for using digital signatures to create trusted digital asset transfers
CN111034114A (en) Block chain structure with recording safety
KR20210128455A (en) Computer-implemented systems and methods for implementing transfers via blockchain networks.
US20090320095A1 (en) Obtaining digital identities or tokens through independent endpoint resolution
KR101837167B1 (en) Method for issuing and paying money in use of merkle tree structure on the basis of unspent transaction output protocol, and server using the same
KR101849920B1 (en) Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same
KR101890584B1 (en) Method for providing certificate service based on m of n multiple signatures and server using the same
KR20200020326A (en) Electronic payment system for protection of double spending and payment method therefor
KR20200114324A (en) Block chain based money transfer processing system using cryptocurrency
KR20180041050A (en) Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same
KR101890587B1 (en) Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same
WO2022201581A1 (en) Business audit assistance system and business audit assistance method
KR20180054974A (en) Method for Operating Mobile Lending and Borrowing based on Verification of the Remittee
KR20200133140A (en) Method and system for high speed processing of transaction based on hybrid blockchain
CN114641967A (en) Callback mechanism for blockchain transactions
CN111626735B (en) Data interaction system, method and module
KR20180041053A (en) Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same
KR20180041051A (en) Method for providing certificate service based on m of n multiple signatures and server using the same
Rubasinghe Transaction Verification Model for Peer-to-Peer Service-Oriented Digital Currency Transactions Based on the Foundation of Blockchain Architecture

Legal Events

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