KR102407187B1 - 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템 - Google Patents

블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템 Download PDF

Info

Publication number
KR102407187B1
KR102407187B1 KR1020170135847A KR20170135847A KR102407187B1 KR 102407187 B1 KR102407187 B1 KR 102407187B1 KR 1020170135847 A KR1020170135847 A KR 1020170135847A KR 20170135847 A KR20170135847 A KR 20170135847A KR 102407187 B1 KR102407187 B1 KR 102407187B1
Authority
KR
South Korea
Prior art keywords
transaction
blockchain
payment
block chain
electronic
Prior art date
Application number
KR1020170135847A
Other languages
English (en)
Other versions
KR20180113146A (ko
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 US15/942,094 priority Critical patent/US20180293557A1/en
Publication of KR20180113146A publication Critical patent/KR20180113146A/ko
Application granted granted Critical
Publication of KR102407187B1 publication Critical patent/KR102407187B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures

Landscapes

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

Abstract

블록체인 기반의 전자 화폐 자동 충전 방법이 제공된다. 결제자의 단말로부터, 결제 트랜잭션의 처리 요청이 수신됨에 응답하여, 상기 결제자가 보유한 전자 화폐의 자동 충전 필요 여부를 판정하는 단계, 자동 충전이 필요하다는 판정에 응답하여, 상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 단계, 상기 결제 트랜잭션에 기록된 결제 정보를 기초로 재결제 트랜잭션을 생성하되, 상기 재결제 트랜잭션은 제1 전자 서명과 제2 전자 서명을 포함하고 상기 제1 전자 서명은 상기 서비스 제공 서버에 의해 제공된 것이며 상기 제2 전자 서명은 상기 결제 트랜잭션에 포함된 것인, 단계 및 상기 결제자의 단말로 상기 재결제 트랜잭션에 대한 전자 서명을 요청하지 않고, 복수의 블록체인 노드로 구성된 블록체인 네트워크와 연동하여 상기 재결제 트랜잭션을 처리하는 단계를 포함할 수 있다. 이때, 상기 블록체인 네트워크를 통해 처리되는 트랜잭션은 적어도 두 개의 전자 서명을 포함할 수 있다.

Description

블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템{Method for charging electronic money automatically based on blockchain and system thereof}
본 발명은 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템에 관한 것이다. 보다 자세하게는, 블록체인 기반으로 전자 화폐에 대한 자동 충전 서비스를 제공함에 있어서, 사용자 편의성이 저하되는 문제를 해결하기 위해 고안된 자동 충전 방법 및 그 방법을 수행하는 시스템에 관한 것이다.
블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드들이 상기 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 상기 체인 형태의 자료 구조로 구성된 데이터 그 자체를 의미한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는, 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.
블록체인 네트워크를 구성하는 각각의 블록체인 노드는 도 1에 도시된 바와 같은 자료 구조로 블록들을 관리한다. 여기서, 각 블록에는 이전 블록에 대한 해시 값이 기록되며, 상기 해시 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 트랜잭션 데이터의 위변조는 어려워지고, 각 블록에 기록된 트랜잭션 데이터의 신뢰도는 향상되게 된다.
블록체인에 기반하여 트랜잭션을 처리하는 시스템은 예를 들어 도 2에 도시된 과정에 따라 요청된 트랜잭션을 처리한다. 도 2를 참조하면, 전자 화폐의 지급인 단말로부터 트랜잭션 처리 요청이 수신되면(①), 이중 지불 방지 등을 위해 해당 트랜잭션의 유효성 검증이 수행되고(②), 유효한 경우 트랜잭션 데이터가 블록 생성 노드로 전달된다(③). 다음으로, 상기 블록 생성 노드가 해당 트랜잭션 데이터를 신규 블록에 기록하고(④), 상기 신규 블록을 블록체인 네트워크 상에 전파하여 분산 합의가 이루어지도록 한다(⑤). 상기 분산 합의에 따라 거래가 최종 확정되면, 지급인의 전자 지갑에 보관된 소정의 전자 화폐가 수취인의 전자 지갑으로 이전된다(⑥).
블록체인 기반 시스템은 위와 같은 과정을 통해 중앙 관리 시스템 없이도 거래 당사자 간에 안전한 거래 서비스를 제공할 수 있다는 장점이 있다. 그러나, 위의 과정을 따르는 블록체인 기반 시스템에서, 전자 화폐의 잔고 부족에 의해 트리거(trigger)되는 전자 화폐 자동 충전 서비스를 제공하는 경우, 다음과 같이 사용자 편의성이 저하되는 문제가 발생한다.
첫째는, 자동 충전 후 다시 결제 트랜잭션이 처리될 때까지의 리드 타임(lead time)으로 인해 사용자의 편의성이 저하되는 문제이다. 예를 들어, 전자 지갑에 보관된 사용자의 포인트 잔액이 7,000 포인트이고, 결제 금액이 10,000 포인트라고 가정하면, 최소 3,000 포인트에 대한 자동 충전이 수행되고, 자동 충전이 완료된 후에 다시 결제가 수행되어야 한다. 하지만, 상술한 바와 같은 블록체인 트랜잭션 처리 과정에서, 자동 충전이 완료되기 위해서는 블록 채굴(mining)이 성공할 때까지의 대기 시간이 요구된다. 예를 들어, 비트코인 블록체인은 블록 채굴에 평균 10분의 시간이 소요되므로, 자동 충전이 완료될 때까지 10분의 대기 시간이 발생될 수 있다. 또한, 재결제에 따른 트랜잭션이 승인되기 위해 블록 채굴을 위한 대기 시간이 더 필요하기 때문에, 비트코인 블록체인의 경우 재결제가 완료되기까지 대략 20분의 리드 타임이 발생할 수 있다. 이와 같은 리드 타임의 발생은 즉각적인 결제 처리를 위해 자동 충전 서비스를 이용하는 사용자의 편의성을 크게 저하시킬 수 있다.
둘째는, 트랜잭션의 반복적 전자 서명 요구로 인한 편의성 저하 문제이다. 자동 충전 수행 후, 다시 결제가 수행되기 위해서 재결제 트랜잭션이 새롭게 생성되어야 한다. 재결제 트랜잭션에 포함될 결제 정보는 기존의 결제 트랜잭션에서 곧바로 획득될 수 있으나, 블록체인의 특성 상 재결제 트랜잭션에 대한 전자 서명은 다시 수행되어야 한다. 이에 따라, 결제자는 자동 충전이 발생될 때마다 전자 서명을 다시 수행해야 하기 때문에, 반복적인 전자 서명으로 인해 사용자의 편의성이 저하될 수 있다.
한국공개특허 제2016-0150278호(2016.12.29 공개)
본 발명이 해결하고자 하는 기술적 과제는, 블록체인 기반 전자 화폐 자동 충전 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 자동 충전 및 재결제 트랜잭션이 승인될 때까지의 리드 타임을 최소화할 수 있는 블록체인 기반 전자 화폐 자동 충전 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 결제자의 전자 서명을 요구하지 않고, 재결제 트랜잭션을 처리할 수 있는 블록체인 기반 전자 화폐 자동 충전 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 방법은, 서비스 제공 서버에 의해 수행되는 블록체인 기반 전자 화폐 자동 충전 방법에 있어서, 결제자의 단말로부터, 결제 트랜잭션의 처리 요청이 수신됨에 응답하여, 상기 결제자가 보유한 전자 화폐의 자동 충전 필요 여부를 판정하는 단계, 자동 충전이 필요하다는 판정에 응답하여, 상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 단계, 상기 결제 트랜잭션에 기록된 결제 정보를 기초로 재결제 트랜잭션을 생성하되, 상기 재결제 트랜잭션은 제1 전자 서명과 제2 전자 서명을 포함하고 상기 제1 전자 서명은 상기 서비스 제공 서버에 의해 제공된 것이며 상기 제2 전자 서명은 상기 결제 트랜잭션에 포함된 것인, 단계 및 상기 결제자의 단말로 상기 재결제 트랜잭션에 대한 전자 서명을 요청하지 않고, 복수의 블록체인 노드로 구성된 블록체인 네트워크와 연동하여 상기 재결제 트랜잭션을 처리하는 단계를 포함할 수 있다. 이때, 상기 블록체인 네트워크를 통해 처리되는 트랜잭션은 적어도 두 개의 전자 서명을 포함하는 트랜잭션일 수 있다.
일 실시예에서, 상기 자동 충전 필요 여부를 판정하는 단계는, 상기 블록체인 네트워크로 상기 결제 트랜잭션을 전달하고, 상기 결제 트랜잭션에 대한 유효성 검증 결과를 획득하는 단계 및 상기 유효성 검증 결과에 기초하여, 상기 자동 충전 필요 여부를 판정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 자동 충전 필요 여부를 판정하는 단계는, 상기 블록체인 네트워크로 상기 결제 트랜잭션을 전달하기 전에, 상기 결제자의 전자 지갑의 잔고를 확인하는 단계 및 상기 결제자의 전자 지갑의 잔고 확인 결과에 기초하여, 상기 자동 충전 필요 여부를 판정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 재결제 트랜잭션을 생성하는 단계는, 상기 결제 정보에 포함된 결제 금액을 제1 결제 금액으로 변경하여, 상기 결제 트랜잭션을 제1 재결제 트랜잭션으로 변경하는 단계 및 상기 결제 금액과 상기 제1 결제 금액의 차액을 기초로, 제2 재결제 트랜잭션을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 재결제 트랜잭션을 생성하는 단계는, 상기 결제 트랜잭션을 폐기하는 단계 및 상기 결제 트랜잭션에 기록된 결제 금액과 동일한 결제 금액을 갖는 상기 재결제 트랜잭션을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 단계는, 상기 전자 화폐에 대한 자동 충전 트랜잭션을 생성하는 단계, 상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 자동 충전 트랜잭션을 전달하고, 상기 제1 블록체인 노드로부터 상기 자동 충전 트랜잭션에 대한 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 단계, 유효 트랜잭션을 가리키는 검증 결과의 획득에 응답하여, 전자 결제 서비스 제공 서버를 통해 실물 화폐의 결제가 수행되도록 하고, 상기 전자 결제 서비스 제공 서버로부터 상기 실물 화폐의 결제 처리 결과를 획득하는 제2-1 프로세스를 수행하는 단계, 상기 실물 화폐의 정상 처리를 가리키는 결제 처리 결과의 획득에 응답하여, 상기 결제자의 전자 지갑에 전자 화폐를 충전하는 제2-2 프로세스를 수행하는 단계 및 상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 상기 복수의 블록체인 노드에 의해 분산 관리되는 블록체인 데이터에 상기 자동 충전 트랜잭션에 대한 데이터를 기록하고 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행하는 단계를 포함할 수 있다.
일 실시예에서, 상기 재결제 트랜잭션을 처리하는 단계는, 상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 재결제 트랜잭션을 전달하고, 상기 제1 블록체인 노드로부터 상기 재결제 트랜잭션에 대한 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 단계, 유효 트랜잭션을 가리키는 검증 결과의 획득에 응답하여, 상기 재결제 트랜잭션에 따라 상기 결제자의 전자 지갑에서 수취인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하는 단계 및 상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 상기 복수의 블록체인 노드에 의해 분산 관리되는 블록체인 데이터에 상기 재결제 트랜잭션을 기록하고 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행하는 단계를 포함하되, 상기 제2 프로세스 및 상기 제3 프로세스는 병렬로 수행될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 서비스 제공 서버는, 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 결제자의 단말로부터, 결제 트랜잭션의 처리 요청이 수신됨에 응답하여, 상기 결제자가 보유한 전자 화폐의 자동 충전 필요 여부를 판정하는 오퍼레이션, 자동 충전이 필요하다는 판정에 응답하여, 상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 오퍼레이션, 상기 결제 트랜잭션에 기록된 결제 정보를 기초로 재결제 트랜잭션을 생성하되, 상기 재결제 트랜잭션은 제1 전자 서명과 제2 전자 서명을 포함하고 상기 제1 전자 서명은 상기 서비스 제공 서버에 의해 제공된 것이며 상기 제2 전자 서명은 상기 결제 트랜잭션에 포함된 것인, 오퍼레이션 및 상기 결제자의 단말로 상기 재결제 트랜잭션에 대한 전자 서명을 요청하지 않고, 복수의 블록체인 노드로 구성된 블록체인 네트워크와 연동하여 상기 재결제 트랜잭션을 처리하는 오퍼레이션을 포함할 수 있다. 이때, 상기 블록체인 네트워크를 통해 처리되는 트랜잭션은 적어도 두 개의 전자 서명을 포함하는 트랜잭션일 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 결제자의 단말로부터, 결제 트랜잭션의 처리 요청이 수신됨에 응답하여, 상기 결제자가 보유한 전자 화폐의 자동 충전 필요 여부를 판정하는 단계, 자동 충전이 필요하다는 판정에 응답하여, 상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 단계, 상기 결제 트랜잭션에 기록된 결제 정보를 기초로 재결제 트랜잭션을 생성하되, 상기 재결제 트랜잭션은 제1 전자 서명과 제2 전자 서명을 포함하고 상기 제1 전자 서명은 상기 서비스 제공 서버에 의해 제공된 것이며 상기 제2 전자 서명은 상기 결제 트랜잭션에 포함된 것인, 단계 및 상기 결제자의 단말로 상기 재결제 트랜잭션에 대한 전자 서명을 요청하지 않고, 복수의 블록체인 노드로 구성된 블록체인 네트워크와 연동하여 상기 재결제 트랜잭션을 처리하되, 상기 블록체인 네트워크를 통해 처리되는 트랜잭션은 적어도 두 개의 전자 서명을 포함하는 것인, 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
상술한 본 발명에 따르면, 서비스 제공 서버에 기 저장된 결제자의 비밀키를 이용하여 재결제 트랜잭션에 대한 전자 서명이 자동으로 수행될 수 있다. 이를 통해, 자동 충전에 따라 재결제 트랜잭션이 발생되더라도 결제자의 전자 서명을 요구함 없이 블록체인 시스템을 통해 상기 재결제 트랜잭션이 처리될 수 있다. 따라서, 사용자 편의성이 향상되고, 자동 충전 서비스를 이용하는 사용자의 만족도가 제고될 수 있다.
또한, 퍼미션 기반 블록체인 네트워크를 통해 사전 확보된 신뢰성에 기초하여, 자동 충전 트랜잭션 및 재결제 트랜잭션이 즉각적으로 처리될 수 있다. 이에 따라, 리드 타임 발생으로 인한 사용자 편의성 저하 문제가 해결될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 몇몇 실시예에서 참조될 수 있는 블록체인 데이터의 구조를 설명하기 위한 도면이다.
도 2는 종래의 블록체인 기반 시스템에서 수행되는 트랜잭션 처리 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 시스템의 구성도이다.
도 4a 및 도 4b는 상기 블록체인 기반 전자 화폐 자동 충전 시스템에서 인증된 사용자와 비인증 사용자에 의해 요청된 트랜잭션이 처리되는 과정을 비교 설명하기 위한 도면이다.
도 5a 및 도 5b는 상기 블록체인 기반 전자 화폐 자동 충전 시스템에서 자동 충전 트랜잭션 및 재결제 트랜잭션이 처리되는 과정을 설명하기 위한 개념도이다.
도 6은 상기 블록체인 기반 전자 화폐 자동 충전 시스템의 일 구성 요소인 서비스 제공 서버(100)를 나타내는 예시적인 블록도이다.
도 7은 상기 블록체인 기반 전자 화폐 자동 충전 시스템의 일 구성 요소인 서비스 제공 서버(100)의 하드웨어 구성도이다.
도 8은 본 발명의 일 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 방법의 흐름도이다.
도 9a 내지 도 9c는 본 발명의 몇몇 실시예에서 참조될 수 있는 다중 서명 기법을 설명하기 위한 도면이다.
도 10 및 도 11은 본 발명의 몇몇 실시예에서 참조될 수 있는 재결제 트랜잭션 생성 방법을 설명하기 위한 도면이다.
도 12는 상기 블록체인 기반 전자 화폐 자동 충전 시스템의 관점에서 본 발명의 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
본 명세서에서, 블록체인 데이터란 블록체인 네트워크를 구성하는 각각의 블록체인 노드가 유지하는 데이터로, 적어도 하나의 블록이 체인 형태의 자료 구조로 구성되는 데이터를 의미한다. 각 블록에 기록된 데이터가 트랜잭션 데이터인 경우, 상기 블록체인 데이터는 분산 원장으로 이용될 수 있다. 다만, 각 블록에 기록되는 데이터의 종류는 얼마든지 달라질 수 있다. 상기 블록체인 데이터의 구조는 도 1을 참조하도록 한다.
본 명세서에서, 블록체인 네트워크란, 블록체인 알고리즘에 따라 동작하는 복수의 블록체인 노드로 구성된 P2P 구조의 네트워크를 의미한다.
본 명세서에서, 블록체인 노드란, 블록체인 네트워크를 구성하고 블록체인 알고리즘에 기초하여 블록체인 데이터를 유지하고 관리하는 컴퓨팅 노드를 의미한다. 각 블록체인 노드는 하나의 물리적 컴퓨팅 장치로 구현될 수 있으나, 가상 머신(virtual machine) 등과 같이 하나의 논리적 컴퓨팅 장치로 구현될 수도 있다. 가상 머신으로 구현되는 경우, 독립된 물리적 컴퓨팅 장치에 복수의 블록체인 노드가 존재할 수 있다.
본 명세서에서, 블록 생성 노드란, 블록체인 네트워크를 구성하는 블록체인 노드 중에서 채굴(mining)과 같이 블록체인 알고리즘에 따른 블록 생성 동작을 수행하여 신규 블록을 생성하는 노드를 의미한다.
본 명세서에서, 가상 화폐란, 광의의 의미로 실물 없이 사이버 상으로 거래되는 전자 화폐를 의미한다. 협의의 의미의 가상 화폐는 예를 들어 비트코인과 같이 블록체인 상에 채굴을 통해 발행되는 전자 화폐를 의미하며, 당해 기술 분야에서 네이티브 애셋(native asset) 등의 용어와 혼용되어 사용될 수 있다.
본 명세서에서, 사용자 정의 화폐란, 상기 가상 화폐에 기반하여 사용자에 의해 정의된 화폐를 의미한다. 예를 들어, 상기 사용자 정의 화폐는 오픈 애셋 프로토콜(open asset protocol)을 이용하여 거래 서비스의 운영자에 의해 정의된 화폐가 될 수 있다. 참고로, 상기 가상 화폐 및/또는 상기 사용자 정의 화폐에서 "화폐"란 용어는 교환 수단이 되는 화폐 외에도 거래 대상이 되는 자산까지 포함하는 포괄적인 의미로 이용될 수도 있다. 예를 들어, 상기 사용자 정의 화폐는 포인트, 마일리지 등의 포인트형 화폐, 실물 화폐 외에 주식, 채권 등의 금융 자산까지 포함할 수 있다. 상기 사용자 정의 화폐는 당해 기술 분야에서 커스텀 애셋(custom asset) 등의 용어와 혼용되어 사용될 수 있다.
본 명세서에서, 오픈 애셋 프로토콜은 블록체인 상의 가상 화폐에 기반하여 사용자 정의 화폐를 발행하는 자산 발행 기술을 의미한다. 상기 오픈 애셋 프로토콜은 당해 기술 분야에서 컬러드 코인(colored coin) 등의 용어와 혼용되어 사용될 수 있다.
본 명세서에서, 퍼미션(permission)은 인증(authentication)과 인가(authorization)를 포함하는 포괄적인 개념으로 이해될 수 있다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 시스템의 구성도이다.
도 3을 참조하면, 블록체인 기반 전자 화폐 자동 충전 시스템은 서비스 제공 서버(100), 전자 결제 서비스 제공 서버(200), 블록체인 네트워크(300) 및 사용자 단말(400)을 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 3에 도시된 블록체인 기반 전자 화폐 자동 충전 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 서비스 제공 서버(100) 및 전자 결제 서비스 제공 서버(200)가 하나의 물리적 컴퓨팅 장치로 구현될 수 있고, 서비스 제공 서버(100) 및/또는 전자 결제 서비스 제공 서버(200)가 블록체인 네트워크(300)를 구성하는 적어도 하나의 블록체인 노드로 구현될 수도 있다. 이하, 블록체인 기반 전자 화폐 자동 충전 시스템의 각 구성 요소에 대하여 설명한다.
상기 블록체인 기반 전자 화폐 자동 충전 시스템에서, 서비스 제공 서버(100)는 블록체인 네트워크(300) 및 전자 결제 서비스 제공 서버(200)와 연동하여 전자 화폐 자동 충전 서비스를 제공하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다. 또한, 전자 화폐는 예를 들어 가상 화폐, 사용자 정의 화폐 등이 될 수 있다. 다만, 이해의 편의를 제공하기 위해 별다른 언급이 없는 한, 상기 전자 화폐는 소정의 포인트인 경우를 예시하여 설명하도록 한다. 다만, 상기 예시는 본 발명의 일부 실시예를 설명하기 위한 것일 뿐, 본 발명의 범위가 특정 전자 화폐의 종류에 국한되는 것은 아니다.
서비스 제공 서버(100)는 자동 충전 서비스를 이용하는 사용자의 단말(400)로부터 결제 트랜잭션에 대한 처리 요청을 수신하고, 자동 충전이 필요한지 여부를 판정한다. 또한, 자동 충전 필요 판정에 응답하여, 서비스 제공 서버(100)는 자동으로 포인트에 대한 자동 충전 트랜잭션을 생성하고, 생성된 자동 충전 트랜잭션을 블록체인 네트워크(300)와 연동하여 처리한다.
또한, 서비스 제공 서버(100)는 상기 결제 트랜잭션에 포함된 결제 정보에 기초하여 재결제 트랜잭션을 생성하고, 상기 재결제 트랜잭션을 블록체인 네트워크(300)와 연동하여 처리한다.
본 발명의 실시예에 따르면, 서비스 제공 서버(100)는 다중 전자 서명 기법을 활용하여 상기 재결제 트랜잭션에 대한 전자 서명을 사용자에게 요구하지 않고 처리할 수 있다. 본 실시예에 대한 설명은 도 9a 내지 도 9c 등의 도면을 참조하여 후술하도록 한다.
본 발명의 실시예에 따르면, 서비스 제공 서버(100)는 퍼미션 기반 블록체인 네트워크를 통해 확보된 신뢰성 기반으로 자동 충전 트랜잭션 및 재결제 트랜잭션 처리에 소요되는 리드 타임을 최소화할 수 있다. 본 실시예에 대한 설명은 도 4a 내지 도 5b 등의 도면을 참조하여 후술하도록 한다.
상기 블록체인 기반 전자 화폐 자동 충전 시스템에서, 전자 결제 서비스 제공 서버(200)는 서비스 제공 서버(100)의 요청에 응답하여 자동 충전 포인트에 대응되는 실물 화폐의 전자 결제를 처리하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.
전자 결제 서비스 제공 서버(200)가 전자 결제를 처리하는 방식은 예를 들어 계좌 이체, 카드 결제 등이 될 수 있으며, 어떠한 방식으로 구현되더라도 무방하다.
상기 블록체인 기반 전자 화폐 자동 충전 시스템에서, 블록체인 네트워크(300)는 블록체인 알고리즘에 따라 동작하는 복수의 블록체인 노드를 포함하도록 구성될 수 있다. 상기 복수의 블록체인 노드는 서비스 제공 서버(100)의 트랜잭션 처리 요청에 응답하여 해당 트랜잭션의 유효성을 검증하고, 검증된 트랜잭션을 신규 블록에 기록하며, 블록체인 네트워크(300) 상에 전파한다. 각각의 블록체인 노드는 동일한 블록체인 데이터를 유지한다.
본 발명의 실시예에 따르면, 블록체인 네트워크(300)는 퍼미션 기반 블록체인 네트워크로 구현될 수 있다. 즉, 블록체인 네트워크(300)는 퍼미션이 검증된 참여자(e.g. 사용자, 블록체인 노드)만이 참여할 수 있는 제한된 네트워크일 수 있다. 여기서, 상기 퍼미션 기반 블록체인 네트워크는 당해 기술 분야에서 사설 블록체인 네트워크(private blockchain network) 등의 용어와 혼용되어 사용될 수 있으나, 동일한 의미를 지칭할 수 있다. 본 실시예에 따르면, 불특정 노드의 참여 및 허가되지 않은 사용자의 요청은 제한될 수 있다. 즉, 자동 충전 서비스를 이용하는 사용자, 상기 사용자에 의해 요청된 각종 트랜잭션 및 트랜잭션 처리를 수행하는 블록체인 노드 등에 대한 신뢰성이 사전에 확보될 수 있다. 이에 따라, 블록 생성에 소요되는 과도한 작업 증명(proof of work)의 요건이 완화될 수 있을 뿐만 아니라, 기 확보된 신뢰성에 기초하여 요청된 트랜잭션이 즉각적으로 처리될 수 있다. 본 실시예에 대한 자세한 설명은 도 4a 내지 도 5b를 참조하여 부연 설명하도록 한다.
본 발명의 실시예에 따르면, 블록체인 네트워크(300)는 제1 블록체인 데이터 및 상기 제1 블록체인 데이터와 별개로 구성된 제2 블록체인 데이터를 블록체인 노드에 분산 저장할 수 있다. 이때, 상기 제1 블록체인 데이터는 사용자 및 블록체인 노드의 퍼미션 정보가 기록된 인증 블록체인이고, 상기 제2 블록체인 데이터는 트랜잭션 데이터가 기록된 거래 블록체인을 의미할 수 있다. 즉, 블록체인 네트워크(300)는 서로 다른 용도를 갖는 데이터를 서로 다른 블록체인으로 관리할 수 있다. 상기 제1 블록체인 데이터는 퍼미션 기반 블록체인 네트워크(300)에서 퍼미션 검증의 용도로 이용되고, 상기 제2 블록체인 데이터는 트랜잭션 처리의 용도로 이용될 수 있다. 본 실시예에 대한 설명은 이후 도 4a 및 도 4b를 참조하여 부연 설명하도록 한다.
본 발명의 실시예에 따르면, 블록체인 네트워크(300)를 구성하는 복수의 블록체인 노드 중 적어도 하나의 노드는 모니터링 노드(monitoring node)일 수 있다. 상기 모니터링 노드는 다른 블록체인 노드의 상태 및 동작을 모니터링하는 특수 유형의 노드를 의미한다. 특히, 상기 모니터링 노드는 복수의 블록체인 노드 중 블록 생성 노드의 신규 블록 생성을 모니터링할 수 있다. 구체적으로, 상기 모니터링 노드는 블록체인 네트워크(300) 상에서 전파되는 신규 블록을 수신하고, 상기 신규 블록이 수신됨에 응답하여, 상기 신규 블록에 기록된 타임스탬프 값을 기초로 블록 생성 시간을 산출할 수 있다. 예를 들어, 블록 번호 k(단, k는 1 이상의 자연수)를 갖는 제1 블록 이후에 블록 번호 k+1를 갖는 제2 블록이 수신되면 상기 제1 블록에 기록된 제1 타임스탬프와 상기 제2 블록에 기록된 제2 타임스탬프의 차이를 기초로 블록 생성 시간을 산출할 수 있다. 상기 산출된 블록 생성 시간은 블록체인 관리 장치(미도시)로 전송되어, 상기 블록체인 관리 장치(미도시)에 의해 블록 생성 시간을 제어하는데 이용될 수 있다.
예를 들어, 블록체인 관리 장치(미도시)는 상기 모니터링 노드로부터 블록 생성 시간을 수신하여 평균 블록 생성 시간을 산출하고, 상기 평균 블록 생성 시간을 목표 시간과 비교할 수 있다. 또한, 블록체인 관리 장치(미도시)는 비교 결과에 따라 블록 생성의 난이도를 조정함으로써, 기 설정된 목표 시간에 따라 블록체인 네트워크(300)의 블록 생성 시간을 제어할 수 있다. 참고로, 블록체인 네트워크(300)가 퍼미션 기반 블록체인 네트워크로 구성되는 경우, 블록체인 관리 장치(미도시)는 상기 목표 시간을 작은 값으로 설정함으로써 트랜잭션 확정이 소요되는 시간을 줄일 수 있다.
상기 블록체인 기반 전자 화폐 자동 충전 시스템에서, 사용자 단말(400)은 블록체인 기반의 자동 충전 서비스 및 트랜잭션 처리 서비스를 이용하는 사용자의 단말이다. 상기 사용자는 거래 당사자 중 일방으로 예를 들어 매장에서 상품을 구매하고 상품의 대금을 포인트로 결제하는 결제자일 수 있다. 이하에서, 다른 언급이 없는 한, 상기 사용자는 결제자인 것으로 가정하고, 사용자 단말(400)은 결제자 단말로 명명하도록 한다.
결제자 단말(400)에는 블록체인 네트워크(300)를 통해 각종 트랜잭션 처리 서비스를 제공하는 전자 지갑 어플리케이션이 탑재될 수 있다. 상기 전자 어플리케이션의 퍼미션 검증을 위해 서비스 제공 서버(100) 및/또는 블록체인 관리 장치(미도시) 등에 의해 API(application programming interface) 키가 발급될 수 있다. 발급된 API 키는 각각의 블록체인 노드가 관리하는 블록체인 데이터에 기록되어, 어플리케이션의 퍼미션 검증에 이용될 수 있다.
도 3에 도시된 블록체인 기반 전자 화폐 자동 충전 시스템의 각 구성 요소는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
지금까지, 도 3을 참조하여 본 발명의 일 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 시스템에 대하여 설명하였다. 이하에서는 도 4a 내지 도 5b를 참조하여, 블록체인 기반 전자 화폐 자동 충전 시스템에서 결제 트랜잭션 및 자동 충전 트랜잭션이 처리되는 과정에 대하여 설명하도록 한다.
도 4a 및 도 4b는 인증된 사용자와 비인증 사용자에 의해 요청된 결제 트랜잭션이 처리되는 과정을 비교 설명하기 위한 도면이다. 구체적으로, 도 4a는 인증된 사용자(이하, "제1 결제자"로 명명함)에 의해 요청된 결제 트랜잭션이 처리되는 과정을 도시하고, 도 4b는 비인증 사용자(이하, "제2 결제자"로 명명함)에 의해 요청된 결제 트랜잭션이 처리되는 과정을 도시한다.
먼저 도 4a를 참조하면, 상기 제1 결제자의 단말로부터 결제 트랜잭션 처리 요청이 수신됨에 응답하여(①), 서비스 제공 서버(100)는 상기 제1 결제자에 대한 퍼미션 검증을 수행한다(②). 상기 퍼미션 검증은 인증 블록체인(300a)에 기록된 퍼미션 정보에 기초하여 수행될 수 있다.
구체적으로, 서비스 제공 서버(100)는 상기 결제 트랜잭션 처리 요청과 함께 상기 제1 결제자의 식별 정보를 수신하고, 상기 수신된 식별 정보를 이용하여, 인증 블록체인(300a)에서 상기 제1 결제자의 퍼미션 정보를 획득하며, 상기 획득된 제1 결제자의 퍼미션 정보를 통해 상기 제1 결제자에 대한 퍼미션 검증을 수행할 수 있다. 이때, 상기 식별 정보는 ID, 사용자의 이름, 전자 서명 등이 될 수 있고, 인증 블록체인(300a)에 기록된 퍼미션 정보는 공개키, 인증서, 패스워드 등이 될 수 있으며, 이는 시스템의 구현 형태에 따라 얼마든지 달라질 수 있다. 참고로, 사용자의 공개키가 퍼미션 정보로 이용되는 경우, 결제 트랜잭션에 포함된 상기 제1 결제자의 전자 서명을 검증하는 방식으로 퍼미션 검증이 수행될 수 있다.
본 발명의 실시예에 따르면, 서비스 제공 서버(100)는 상기 제1 결제자의 단말에 탑재된 어플리케이션에 대한 퍼미션 검증을 더 수행할 수 있다. 구체적으로, 서비스 제공 서버(100)가 결제 트랜잭션 처리 요청과 함께 상기 제1 결제자의 단말에 탑재된 전자 지갑 어플리케이션의 API 키 정보를 수신하고, 상기 수신된 API 키 정보가 인증 블록체인(300a)에 기록되어 있는지를 검증하는 방식으로 상기 전자 지갑 어플리케이션에 대한 퍼미션 검증을 수행할 수 있다. 즉, 인증 블록체인(300a)에 화이트 리스트(whitelist)로 구성된 전자 지갑 어플리케이션에 대한 API 키 정보가 분산 저장되고, 상기 화이트 리스트를 이용하여 전자 지갑 어플리케이션에 대한 퍼미션 검증이 수행될 수 있다. 실시예에 따라, 블랙 리스트(blacklist)로 구성된 전자 지갑 어플리케이션에 대한 API 키 정보 또한 인증 블록체인(300a)에 분산 저장될 수 있다.
상술한 바에 따라, 상기 제1 결제자 및/또는 상기 제1 결제자의 단말에 탑재된 전자 지갑 어플리케이션에 대한 퍼미션이 검증되면, 서비스 제공 서버(100)는 상기 제1 결제자의 단말로부터 요청된 결제 트랜잭션을 처리한다(③, ④). 이때, 상기 요청된 결제 트랜잭션의 데이터는 인증 블록체인(300a)과 별개의 체인으로 구성된 거래 블록체인(300b)에 기록될 수 있다. 참고로, 인증 블록체인(300a)과 거래 블록체인(300b)을 분산 관리하는 블록체인 노드는 동일할 수도 있고, 적어도 일부는 상이할 수도 있다. 이는, 실시예에 따라 얼마든지 달라질 수 있다.
다음으로, 도 4b를 참조하여 비인증 사용자인 제2 결제자의 단말로부터 결제 트랜잭션 처리 요청이 수신된 경우에 대하여 설명한다.
도 4b를 참조하면, 상기 제2 결제자의 단말로부터 결제 트랜잭션 처리 요청이 수신됨에 응답하여(①), 서비스 제공 서버(100)는 상기 제2 결제자에 대한 퍼미션 검증을 수행한다(②). 상기 퍼미션 검증은 전술한 바와 같이 상기 제2 결제자에 대한 퍼미션 검증 및/또는 상기 제2 결제자의 단말에 탑재된 전자 지갑 어플리케이션에 대한 검증을 포함할 수 있다.
퍼미션 검증 결과, 인증에 실패하거나 권한이 없는 것으로 판정된 상기 제2 결제자의 결제 트랜잭션 처리 요청은 거부된다(③).
지금까지, 도 4a 및 도 4b를 참조하여, 퍼미션 기반 블록체인 네트워크에서 인증된 사용자와 비인증 사용자에 의해 요청된 트랜잭션이 처리되는 과정을 비교 설명하였다. 상술한 바에 따르면, 사용자에 대한 퍼미션 검증 및 사용자 단말에 탑재된 어플리케이션에 대한 퍼미션 검증이 수행되고, 퍼미션 검증에 따라 신뢰성 있는 사용자 및 어플리케이션에 의해 요청된 거래만이 처리될 수 있다. 이에 따라, 블록체인 네트워크(300)를 통해 처리되는 트랜잭션에 대한 신뢰성이 사전에 확보될 수 있다.
다음으로, 도 5a 도 5b를 참조하여, 자동 충전 트랜잭션 및 재결제 트랜잭션이 처리되는 과정에 대하여 보다 구체적으로 설명하도록 한다. 상기 자동 충전 트랜잭션은 퍼미션 검증을 통과한 결제 트랜잭션이 잔고 부족으로 처리될 수 없는 경우, 자동으로 포인트 충전을 수행하는 트랜잭션이다. 또한, 상기 재결제 트랜잭션은 자동 충전이 완료된 후에 다시 결제를 수행하는 트랜잭션이다.
도 5a를 참조하면, 결제자의 단말로부터 결제 트랜잭션의 처리 요청이 수신됨에 응답하여, 서비스 제공 서버(100)는 먼저 자동 충전이 필요한지 여부를 판정한다(①).
일 실시예에서, 자동 충전 필요 여부 판정 로직은 블록체인 네트워크(300)와 연동하여 수행될 수 있다. 구체적인 판정 로직을 살펴보면, 서비스 제공 서버(100)가 블록체인 네트워크(300)를 구성하는, 정확하게는 거래 블록체인(300b)을 분산 관리하는, 복수의 블록체인 노드 중에서 제1 블록체인 노드로 요청된 결제 트랜잭션을 전달하고, 상기 제1 블록체인 노드로부터 상기 요청된 결제 트랜잭션의 유효성 검증 결과를 획득하는 제1 프로세스를 수행한다(②, ③). 상기 유효성 검증 결과, 포인트의 잔액 부족을 이유로 상기 요청된 결제 트랜잭션이 유효하지 않은 것으로 판정되면, 서비스 제공 서버(100)는 자동 충전이 필요한 것으로 판정할 수 있다.
일 실시예에서, 자동 충전 필요 여부 판정 로직은 블록체인 네트워크(300)과 연동하지 않고 서비스 제공 서버(100)에 의해 자체적으로 수행될 수 있다. 구체적인 판정 로직을 살펴보면, 서비스 제공 서버(100)가 상기 제1 결제자의 전자 지갑의 잔고를 확인하고, 이를 결제 트랜잭션에 포함된 결제 금액과 비교함으로써 자동 충전 필요 여부를 판정할 수 있다.
자동 충전 필요 판정에 응답하여, 서비스 제공 서버(100)는 전자 결제 서비스 제공 서버(200)로 실물 화폐의 전자 결제를 요청하고 상기 요청에 따른 전자 결제 처리 결과를 획득하는 제2-1 프로세스를 수행한다(④, ⑤). 다음으로, 서비스 제공 서버(100)는 상기 전자 결제 처리 결과에 기초하여, 상기 결제자의 전자 지갑에 전자 화폐를 충전하는 제2-2 프로세스를 수행한다.
이와 동시에, 복수의 블록체인 노드 중 제2 블록체인 노드가, 거래 블록체인의 신규 블록에 상기 자동 충전 트랜잭션에 대한 데이터를 기록하고 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행한다(④).
이와 같이, 본 발명의 실시예에 따르면, 상기 제2-1 및 제2-2 프로세스와 상기 제3 프로세스가 병렬로 처리될 수 있다. 이에 따라, 신규 블록에 자동 충전 트랜잭션에 대한 데이터가 기록되기 전이라도, 상기 자동 충전 트랜잭션이 즉각적으로 처리될 수 있다. 또는, 실물 화폐의 결제가 정상적으로 처리된 이후에, 상기 제2-2 프로세스와 상기 제3 프로세스가 병렬로 처리될 수 있다.
다음으로 도 5b를 참조하면, 서비스 제공 서버(100)는 자동 충전이 완료된 후 다시 요청된 결재를 진행하기 위해 재결제 트랜잭션을 생성한다. 이때, 상기 재결제 트랜잭션에 대한 전자 서명은 서비스 제공 서버(100)에 기 보관된 결제자의 전자 서명과 개인키를 이용하여 수행된다. 상기 재결제 트랜잭션을 생성하는 방법에 대한 자세한 설명은 도 9a 내지 도 11을 참조하여 상세하게 설명하도록 한다.
다음으로, 서비스 제공 서버(100)는 블록체인 네트워크(300)를 구성하는, 정확하게는 거래 블록체인(300b)을 분산 관리하는, 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 재결제 트랜잭션을 전달하고, 상기 제1 블록체인 노드로부터 상기 재결제 트랜잭션의 유효성 검증 결과를 획득하는 제1 프로세스를 수행한다(⑥, ⑦).
재결제 트랜잭션이 유효함을 가리키는 검증 결과의 획득에 응답하여, 서비스 제공 서버(100)는 상기 결제자의 전자 지갑에서 매장 운영자의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하고, 트랜잭션 처리 완료 메시지를 결제자 및 매장 운영자의 단말로 통지한다(⑧).
이와 동시에, 블록체인 네트워크(300)을 구성하는, 정확하게는 거래 블록체인(300b)을 분산 관리하는, 복수의 블록체인 노드 중 제2 블록체인 노드 등은 상기 재결제 트랜잭션에 대한 데이터를 신규 블록에 기록하고, 상기 신규 블록을 블록체인 네트워크(300) 상에 전파하는 제3 프로세스를 수행한다(⑧).
이와 같이, 본 발명의 실시예에 따르면, 상기 제2 프로세스와 상기 제3 프로세스가 병렬로 처리될 수 있다. 이에 따라, 신규 블록에 재결제 트랜잭션에 대한 데이터가 기록되기 전이라도, 상기 재결제 트랜잭션이 즉각적으로 처리될 수 있다. 따라서, 결제 트랜잭션의 처리가 완료될 때까지의 리드 타임이 최소화될 수 있고, 사용자의 서비스 만족도 및 편의성이 향상될 수 있다.
한편, 본 발명의 실시예에 따르면, 자동 충전 트랜잭션 또는 재결제 트랜잭션이 기록되고 전파되는 제3 프로세스가 처리되는 과정에서 블록 생성 노드에 대한 퍼미션 검증이 수행될 수 있다.
구체적인 과정을 살펴보면, 채굴 프로세스를 통해 신규 블록을 생성한 블록 생성 노드는 상기 신규 블록에 트랜잭션에 대한 데이터와 함께 자신의 퍼미션 정보(e.g. 전자 서명 정보)를 기록하고, 상기 신규 블록을 전파한다. 상기 신규 블록이 블록체인 네트워크(300) 상에 전파됨에 따라, 상기 신규 블록을 수신한 블록체인 노드는 상기 신규 블록에 기록된 퍼미션 정보와 블록 생성 노드의 화이트 리스트 상의 퍼미션 정보를 비교하여 신규 블록의 추가 여부를 판정할 수 있다. 이때, 상기 블록 생성 노드의 화이트 리스트는 인증 블록체인(300b)에 기 저장된 것일 수 있다. 본 실시예에 따르면, 각 블록체인 노드는 인증 및/또는 인가된 블록 생성 노드에 의해 생성된 신규 블록만을 블록체인 데이터에 추가하도록 동작할 수 있다. 이에 따라, 블록체인 데이터에 추가되는 각 블록에 대한 신뢰성이 사전에 확보될 수 있다.
지금까지, 도 4a 내지 5b를 참조하여 블록체인 기반 전자 화폐 자동 충전 시스템에서 각 트랜잭션이 처리되는 과정에 대하여 설명하였다. 상술한 바에 따르면, 본 발명의 실시예에 따른 퍼미션 기반 블록체인 네트워크에서는, 신뢰성 있는 사용자가 신뢰성 있는 어플리케이션을 이용하여 요청한 트랜잭션만이 처리될 수 있다. 또한, 신뢰성이 있는 블록 생성 노드에 의해 생성된 신규 블록만이 블록체인 데이터에 추가될 수 있다. 따라서, 특정 블록체인 노드에 의해 상기 블록체인 데이터를 통해 유효한 것으로 검증된 트랜잭션은 다른 블록체인 노드들에게도 유효한 거래로 검증될 것으로 예측될 수 있다. 아울러, 유효성이 검증된 트랜잭션은 블록체인 데이터에 반드시 기록될 것으로 예측될 수 있다. 이에 따라, 유효성이 검증된 트랜잭션은 추후 반드시 블록체인 데이터에 기록될 것이라는 예측 하에 즉각적으로 처리될 수 있고, 블록체인 기반 시스템에서 통상적으로 발생되는 리드 타임이 최소화될 수 있다.
이하에서는, 본 발명의 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 시스템의 일 구성 요소인 서비스 제공 서버(100)의 구성 및 동작에 대하여 도 6 및 도 7을 참조하여 설명하도록 한다.
먼저, 도 6은 본 발명의 실시예에 따른 서비스 제공 서버(100)를 나타내는 예시적인 블록도이다.
도 6을 참조하면, 서비스 제공 서버(100)는 서비스 요청 처리부(110), 저장부(150), 인증 처리부(130), 저장부(150), 통신부(170) 및 제어부(190)를 포함하도록 구성될 수 있다. 다만, 도 6에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 6에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 6에 도시된 결제 서비스 제공 서버의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
각 구성 요소를 살펴보면, 서비스 요청 처리부(110)는 결제자 단말(400)로부터 각종 요청을 수신하고, 상기 요청에 따른 결과를 제공한다. 예를 들어, 서비스 요청 처리부(110)는 블록체인 네트워크(300)와 연동하여 결제자 단말(400)로부터 수신된 결제 트랜잭션을 처리한다.
구체적으로, 서비스 요청 처리부(110)는 결제자 단말(400)로부터 수신된 결제 트랜잭션의 처리 요청에 응답하여 결제자 및/또는 결제자 단말(400)에 탑재된 어플리케이션에 대한 퍼미션 검증을 수행하고, 상기 퍼미션 검증이 통과되면 블록체인 네트워크(300)를 통해 요청된 결제 트랜잭션을 처리한다. 이에 대한 설명은, 전술한 바와 같으므로, 중복된 설명을 배제하기 위해 생략하도록 한다. 서비스 요청 처리부(110)의 동작에 대한 추가적인 내용은 도 8 내지 도 12의 설명 내용을 더 참조하도록 한다.
인증 처리부(130)는 결제자에 대한 인증 기능을 제공한다. 예를 들어, 자동 충전 서비스를 가입된 회원에게만 제공하는 경우, 인증 처리부(130)는 자동 충전이 요구되는 결제 트랜잭션을 요청한 결제자에 대한 인증을 수행한다. 이때, 서비스 요청 처리부(110)는 인증이 성공된 경우에 한하여 자동 충전 서비스를 제공하도록 동작할 수 있다. 상기 인증의 방식은 어떠한 방식으로 수행되더라도 무방하다.
저장부(150)는 서비스 제공 서버(100)의 각종 동작을 수행하는 하나 이상의 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 저장부(150)는 ROM(Read Only Memory), PROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
통신부(170)는 블록체인 기반 전자 화폐 자동 충전 시스템의 다른 구성 요소와 데이터 통신을 수행한다. 이를 위해, 통신부(170)는 유선 인터넷 모듈, 이동통신 모듈 또는 무선통신 모듈을 구비할 수 있다.
제어부(190)는 서비스 제공 서버(100)의 각 구성의 전반적인 동작을 제어한다. 제어부(190)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 제어부(190)는 전술한 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 어플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
도 6의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 7은 본 발명의 다른 실시예에 따른 서비스 제공 서버(100)의 하드웨어 구성도이다.
도 7을 참조하면, 서비스 제공 서버(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 블록체인 기반 전자 화폐 자동 충전 소프트웨어(109a)를 저장하는 스토리지(109)를 포함하도록 구성될 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 서비스 제공 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 서비스 제공 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 블록체인 기반 전자 화폐 자동 충전 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 7에서 메모리(103)의 예시로 RAM이 도시되었다.
버스(105)는 서비스 제공 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(107)는 서비스 제공 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(109)는 재결제 트랜잭션의 전자 서명에 이용되는 개인키(109b) 및 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 7에서 상기 하나 이상의 프로그램(109a)의 예시로 블록체인 기반 전자 화폐 자동 충전 소프트웨어(109a)가 도시되었다.
스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
블록체인 기반 전자 화폐 자동 충전 소프트웨어(109a)는 본 발명의 실시예에 따라 블록체인 기반 전자 화폐 자동 충전 방법을 실행할 수 있다. 예를 들어, 블록체인 기반 전자 화폐 자동 충전 소프트웨어(109a)는 메모리(103)에 로드되어, 하나 이상의 프로세서(101)에 의해, 결제자의 단말로부터, 결제 트랜잭션의 처리 요청이 수신됨에 응답하여, 상기 결제자가 보유한 전자 화폐의 자동 충전 필요 여부를 판정하는 오퍼레이션, 상기 판정의 결과, 자동 충전이 필요한 것으로 판정된 경우, 상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 오퍼레이션, 상기 결제 트랜잭션에 기록된 결제 정보를 기초로 재결제 트랜잭션을 생성하되, 상기 재결제 트랜잭션은 제1 전자 서명과 제2 전자 서명을 포함하고 상기 제1 전자 서명은 상기 서비스 제공 서버에 의해 제공된 것이며 상기 제2 전자 서명은 상기 결제 정보에 포함된 것인, 오퍼레이션 및 상기 결제자의 단말로 상기 재결제 트랜잭션에 대한 전자 서명을 요청하지 않고, 복수의 블록체인 노드로 구성된 블록체인 네트워크와 연동하여 상기 재결제 트랜잭션을 처리하는 오퍼레이션을 실행할 수 있다.
지금까지, 도 6 및 도 7을 참조하여 본 발명의 실시예에 따른 서비스 제공 서버(100)의 구성 및 동작에 대하여 설명하였다. 다음으로, 도 8 내지 도 12를 참조하여 본 발명의 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 방법에 대하여 상세하게 설명한다.
이하, 본 발명의 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 서비스 제공 서버(100) 또는 블록체인 기반 전자 화폐 자동 충전 시스템을 구성하는 다른 구성 요소일 수 있다. 다만, 설명의 편의를 위해, 상기 블록체인 기반 전자 화폐 자동 충전 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 블록체인 기반 전자 화폐 자동 충전 방법의 각 단계는 프로세서에 의해 실행되는 컴퓨터 프로그램의 오퍼레이션으로 구현될 수 있다.
도 8은 본 발명의 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 방법의 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 이하, 도 8을 참조하여 설명하도록 한다.
본 발명의 실시예에 따르면, 결제자에게 재결제 트랜잭션에 대한 전자 서명 요청을 방지하기 위해, 다중 전자 서명 기법이 활용된다. 상기 다중 전자 서명 기법이 활용되는 경우, m개(m는 3이상의 자연수)의 페어링된 개인키 중에 n개(n은 2이상의 자연수) 이상의 개인키로 생성된 전자 서명이 포함된 트랜잭션만이 유효한 트랜잭션으로 취급될 수 있다. 이하, 이해의 편의를 제공하기 위해, 상기 m은 "3"이고, 상기 n은 "2"인 경우를 가정하여 설명하도록 한다.
재결제 트랜잭션에 대한 전자 서명 요청을 방지하기 위해, 서비스 제공 서버(100)는 미리 소정의 개인키 또는 전자 서명 정보를 획득할 필요가 있다. 따라서, 단계(S110)에서, 소정의 개인키 또는 상기 개인키로 서명된 전자 서명이 서비스 제공 서버(100)에 미리 보관된다. 이때, 상기 개인키는 결제자의 개인키 또는 서비스 제공 서버(100)에게 직접 발급된 개인키일 수 있다. 즉, 실시예에 따라, 다중 전자 서명에 이용되는 3개의 개인키의 주체 및 보관 장소는 케이스 별로 다양한 조합이 가능할 수 있다. 예를 들어, 제1 케이스에서, 3개의 개인키가 모두 결제자의 개인키이고, 적어도 1개의 개인키는 결제자의 단말에 보관되고, 적어도 1개의 개인키는 서비스 제공 서버(100)에 보관될 수 있다. 제2 케이스에서, 3개의 개인키 중에서 1개의 개인키는 서비스 제공 서버(100)의 개인키이고, 서비스 제공 서버(100)는 자신의 개인키를 포함하여 적어도 1개의 개인키를 보관할 수 있다(e.g. 자신의 개인키 및 결제자의 개인키를 보관할 수도 있음). 이외에도, 다양한 케이스가 존재할 수 있으며, 본 발명의 범위가 특정 케이스가 한정되는 것은 아니다.
도 9a는 서비스 제공 서버(100)가 전자 서명을 획득하는 일 예시를 도시한다. 도 9a에 도시된 바와 같이, 서비스 제공 서버(100)는 결제자가 자동 충전 서비스에 가입할 때 전자 서명을 강제하는 방식으로 전자 서명(511)을 획득할 수 있다. 이와 같은 경우, 3개의 페어링된 개인키 중 결제자의 단말(400)에 제1 개인키(510) 및/또는 제2 개인키(530)가 보관되고, 전자 서명(511)이 서비스 제공 서버(100)에 보관될 수 있다. 또는, 도 9b에 도시된 바와 같이, 상기 3개의 페어링된 개인키 중에서 제3 개인키(550)가 서비스 제공 서버(100)에 미리 보관될 수도 있다. 제3 개인키(550)는 결제자의 개인키일 수도 있고, 서비스 제공 서버(100)의 개인키일 수도 있다. 이는 실시예에 따라 얼마든지 달라질 수 있는 것이다. 예를 들어, 다른 실시예에서, 결제자의 제1 개인키(510)만 결제자 단말(400)에 보관되고, 결제자의 제2 개인키(530)와 서비스 제공 서버(100)의 제3 개인키(550)는 서비스 제공 서버(100)에 보관될 수도 있다.
다시 도 8을 참조하면, 단계(S120)에서, 결제자의 단말(400)로부터 결제자의 전자서명이 포함된 결제 트랜잭션의 처리 요청이 수신된다. 예를 들어, 도 9c에 도시된 바와 같이, 결제자 단말(400)은 제2 개인키(530)의 전자 서명(531)이 포함된 결제 트랜잭션(570)을 서비스 제공 서버(100)로 송신하며 결제 트랜잭션(570)에 대한 처리를 요청할 수 있다.
다시 도 8을 참조하면, 단계(S130)에서, 결제 트랜잭션의 처리 요청에 응답하여, 서비스 제공 서버(100)가 자동 충전이 필요한지 여부를 판정한다. 전술한 바와 같이, 서비스 제공 서버(100)는 블록체인 네트워크(300)와 연동하여 자동 충전 필요 여부를 판정하는 로직 또는 자체적으로 자동 충전 필요 여부를 판정하는 로직 중에 어느 하나의 로직을 이용하여 자동 충전이 필요한지 여부를 판정할 수 있다. 이에 대한 설명은 중복된 설명을 배제하기 위해 생략하도록 한다.
자동 충전 필요 판정에 응답하여, 단계(S140)에서, 결제자의 전자 지갑에 기 설정된 양의 포인트가 충전된다. 구체적으로, 서비스 제공 서버(100)는 자동 충전 트랜잭션을 생성하고, 블록체인 네트워크(300)을 통해 상기 자동 충전 트랜잭션의 유효성 검증 결과를 획득한 뒤에 자동 충전을 수행한다. 이에 대한 자세한 설명은 중복된 설명을 배제하기 위해 생략하도록 한다.
여기서, 충전되는 포인트의 양(또는 금액)은 결제 금액과 포인트 보유량과의 차액(즉, 포인트 부족분)으로 설정될 수 있다. 또는, 상기 충전되는 포인트의 양은 포인트 부족분에 관계 없이 고정된 양으로 설정될 수도 있다. 또는, 상기 충전되는 포인트의 양은 결제자의 실물 화폐 보유량(e.g. 통장 잔고 등)에 기초하여 동적으로 결정될 수도 있다.
단계(S150)에서, 결제 트랜잭션에 포함된 결제 정보를 기초로 재결제 트랜잭션이 생성된다. 이때, 상기 결제 정보는 결제자의 전자 지갑 주소, 수취인의 전자 지갑 주소 및 결제 금액을 포함할 수 있다.
본 발명의 실시예에 따르면, 도 9c에 도시된 바와 같이, 상기 재결제 트랜잭션(590)은 결제 트랜잭션(570)에 포함된 전자 서명(531)과 서비스 제공 서버(100)에 기 보관된 제3 개인키(550)로 서명된 전자 서명(551)을 포함할 수 있다. 본 실시예에서, 전자 서명(551)은 서비스 제공 서버(100)에 의해 자체적으로 제공될 수 있다. 따라서, 결제자에게 재결제 트랜잭션에 대한 전자 서명을 요청하지 않고 서비스 제공 서버(100)가 자체적으로 재결제 트랜잭션(590)을 생성하고 처리할 수 있다. 이에 따라, 자동 충전 서비스를 이용하는 사용자 편의성이 향상될 수 있다.
한편, 도 9c에서 재결제 트랜잭션에 2개의 전자 서명이 포함된 것을 예로써 도시하였으나, 3개의 전자 서명이 포함될 수도 있다. 예를 들어, 기존 결제 트랜잭션에 포함된 2개의 전자 서명과 서비스 제공 서버(100)가 제공하는 1개의 전자 서명(e.g. 미리 보관된 결제자의 개인키에 기초한 전자 서명 또는 서버의 개인키에 기초한 전자 서명)이 상기 재결제 트랜잭션에 포함될 수 있다. 다른 예를 들어, 기존 결제 트랜잭션에 포함된 1개의 전자 서명과 서비스 제공 서버(100)가 제공하는 2개의 전자 서명이 상기 재결제 트랜잭션에 포함될 수 있다. 이때, 서비스 제공 서버(100)가 제공하는 2개의 전자 서명 각각은 결제자의 개인키 또는 서버의 개인키 중 어느 개인키에 기초하더라도 무방하다.
본 발명의 실시예에 따르면, 상기 재결제 트랜잭션은 두 가지 방식으로 생성될 수 있다.
일 실시예에서, 상기 재결제 트랜잭션은 기존 결제 트랜잭션의 결제 금액을 제1 결제 금액으로 변경한 제1 재결제 트랜잭션과 전체 결제 금액과 상기 제1 결제 금액과의 차액을 결제 금액으로 하는 제2 재결제 트랜잭션으로 구성될 수 있다. 이해의 편의를 제공하기 위해, 도 10을 참조하여 부연 설명하도록 한다.
도 10은 전체 결제 금액이 10,000포인트이고, 잔고 부족으로 5,000포인트가 자동 충전된 예를 도시하고 있다.
도 10을 참조하면, 재결제 트랜잭션(630)은 기존 결제 트랜잭션(610)의 결제 금액 10,000포인트를 5,000포인트로 변경한 제1 재결제 트랜잭션(631a)과 5,000포인트의 추가 결제 금액에 대한 제2 재결제 트랜잭션(633a)으로 구성될 수 있다.
일 실시예에서, 상기 재결제 트랜잭션은 하나의 신규 트랜잭션으로 구성될 수 있다. 도 11을 참조하여 부연 설명하면, 전체 결제 금액이 동일하게 10,000포인트인 경우 재결제 트랜잭션은 10,000포인트의 전체 결제 금액에 대하여 다시 결제를 요청하는 재결제 트랜잭션(650)으로 구성될 수 있다.
다시 도 8을 참조하면, 단계(S160)에서, 복수의 블록체인 노드로 구성된 블록체인 네트워크(300)와 연동하여 상기 재결제 트랜잭션이 처리된다. 본 단계(S160)에 대한 설명은 전술한 바와 같으므로 중복된 설명을 배제하기 위해 생략하도록 한다.
한편, 본 발명의 실시예에 따르면, 다중 서명 기법을 활용하지 않고도 재결제 트랜잭션이 처리될 수 있다. 예를 들어, 서비스 제공 서버(100)는 결제자의 단말(400)에 보관된 개인키와 동일한 개인키를 미리 저장하고, 미리 저장된 개인키로 서명된 전자 서명을 이용하여 재결제 트랜잭션을 생성할 수 있다. 본 실시예에 따르더라도, 결제자의 개입이 요구되지 않기 때문에, 자동 충전 서비스를 이용하는 결제자의 편의성은 향상될 수 있다.
지금까지, 도 8 내지 도 11을 참조하여, 본 발명의 실시예에 따른 블록체인 기반 전자 화폐 자동 충전 방법에 대하여 설명하였다. 상술한 바에 따르면, 자동 충전이 수행되어 재결제 트랜잭션이 생성되더라도 결제자에게 다시 전자 서명을 요청하지 않을 수 있다. 이를 통해, 반복적인 전자 서명 요구에 따라 사용자 편의성이 저하되는 문제가 해결될 수 있다.
한편, 도 8의 경우, 서비스 제공 서버(100)의 관점에서 본 발명의 실시예에 따른 전자 화폐 자동 충전 방법에 대하여 설명하였다. 이하에서는, 보다 이해의 편의를 제공하기 위해, 블록체인 기반 전자 화폐 충전 시스템의 관점에서 본 발명의 실시예에 따른 전자 화폐 자동 충전 방법에 대하여 도 12를 참조하여 설명하도록 한다. 중복된 설명을 배제하기 위해, 전술한 바와 동일한 부분에 대한 설명은 생략하도록 한다.
도 12를 참조하면, 단계(S210)에서, 서비스 제공 서버(100)가 결제자 단말(400)로부터 결제 트랜잭션의 처리 요청을 수신한다(S210).
단계(S220)에서, 상기 처리 요청에 응답하여, 서비스 제공 서버(100)가 자동 충전 필요 여부를 판정한다.
자동 충전이 필요 판정에 응답하여, 단계(S230)에서, 서비스 제공 서버(100)가 자동 충전 트랜잭션을 생성한다(230). 예를 들어, 서비스 제공 서버(100)는 결제 트랜잭션에 포함된 결제자의 전자 지갑 주소와 기 설정된 시스템 전자 지갑 주소를 이용하여 자동 충전 트랜잭션을 생성할 수 있다. 충전되는 포인트의 양은 실시예에 따라 달라질 수 있다.
단계(S240)에서, 서비스 제공 서버(100)가 블록체인 네트워크(300)으로 자동 충전 트랜잭션의 유효성 검증을 요청하고, 상기 요청에 따른 유효성 검증 결과를 수신한다(S240).
유효를 가리키는 검증 결과의 수신에 응답하여, 단계(S250)에서, 서비스 제공 서버(100)가 전자 결제 서비스 제공 서버(200)로 실물 화폐의 결제 처리를 요청하고, 상기 요청에 따른 결제 처리 결과를 수신한다.
실물 화폐의 결제가 정상적으로 처리된 경우, 단계(S260)에서, 서비스 제공 서버(100)가 포인트 자동 충전을 수행한다.
포인트의 자동 충전이 완료되면, 단계(S270)에서, 서비스 제공 서버(100)가 재결제 트랜잭션을 생성한다. 구체적으로, 서비스 제공 서버(100)는 결제 트랜잭션에 포함된 결제 정보, 기존 결제 트랜잭션에 포함된 제1 전자 서명 및 자체적으로 제공하는 제2 전자 서명을 이용하여 상기 재결제 트랜잭션을 생성한다.
단계(S280)에서, 서비스 제공 서버(100)는 블록체인 네트워크(300)로 상기 재결제 트랜잭션의 유효성 검증을 요청하고, 상기 요청에 따른 유효성 검증 결과를 수신한다.
유효를 가리키는 검증 결과의 수신에 응답하여, 단계(S290)에서, 서비스 제공 서버(100)가 결제 트랜잭션에 따라 포인트 차감 처리를 수행하고, 결제 승인을 가리키는 결제 처리 완료 메시지를 결제자 단말(400)로 통지한다.
단계(S300)에서, 자동 충전 트랜잭션에 대한 데이터가 복수의 블록체인 노드 각각이 관리하는 블록체인 데이터에 기록되고, 단계(S310)에서, 서비스 제공 서버(100)는 상기 자동 충전 트랜잭션에 대한 확정 통지를 수신한다.
단계(S320)에서, 재결제 트랜잭션에 대한 데이터가 복수의 블록체인 노드 각각이 관리하는 블록체인 데이터에 기록되고, 단계(S330)에서, 서비스 제공 서버(100)는 상기 재결제 트랜잭션에 대한 확정 통지를 수신한다.
참고로, 도 12에서, 단계(S300)이 단계(S260) 이후에 수행되는 것으로 도시되어 있으나, 이는 일반적으로 블록 생성에 소정의 시간이 소요되는 것을 반영한 것일 뿐이고, 두 단계(S300, S260)의 선후가 존재하는 것을 의미하는 것은 아니다. 전술한 바와 같이, 자동 충전 트랜잭션이 검증된 이후에 수행되는 단계(S260, S300)는 서로 병렬적으로 수행될 수 있다. 동일한 이유로, 단계(S290)와 단계(S320) 또한 병렬적으로 수행될 수 있다.
지금까지, 도 12를 참조하여, 블록체인 기반 전자 화폐 자동 충전 시스템의 관점에서 본 발명의 실시예에 따른 전자 화폐 자동 충전 방법이 수행되는 과정에 대하여 설명하였다.
지금까지 도 3 내지 도 12를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (11)

  1. 서비스 제공 서버에 의해 수행되는 블록체인 기반 전자 화폐 자동 충전 방법에 있어서,
    결제자의 단말로부터, 결제 트랜잭션의 처리 요청이 수신됨에 응답하여, 상기 결제자가 보유한 전자 화폐의 자동 충전 필요 여부를 판정하는 단계;
    자동 충전이 필요하다는 판정에 응답하여, 상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 단계;
    상기 충전된 전자 화폐에 기초한 재결제 트랜잭션을 생성하되, 상기 재결제 트랜잭션은 제1 전자 서명과 제2 전자 서명을 포함하고 상기 제1 전자 서명은 상기 서비스 제공 서버에서 보관중이거나 상기 서비스 제공 서버에 의해 서명된 것이고 상기 제2 전자 서명은 상기 결제 트랜잭션으로부터 획득된 것인, 단계; 및
    상기 결제자의 단말로 상기 재결제 트랜잭션에 대한 전자 서명을 요청하지 않고, 복수의 블록체인 노드로 구성된 블록체인 네트워크와 연동하여 상기 재결제 트랜잭션을 처리하는 단계를 포함하되,
    상기 제1 전자 서명과 상기 제2 전자 서명을 기초로 상기 재결제 트랜잭션에 대한 유효성이 상기 블록체인 네트워크에서 검증되는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  2. 제1 항에 있어서,
    상기 자동 충전 필요 여부를 판정하는 단계는,
    상기 블록체인 네트워크로 상기 결제 트랜잭션을 전달하고, 상기 결제 트랜잭션에 대한 유효성 검증 결과를 획득하는 단계; 및
    상기 유효성 검증 결과에 기초하여, 상기 자동 충전 필요 여부를 판정하는 단계를 포함하는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  3. 제1 항에 있어서,
    상기 자동 충전 필요 여부를 판정하는 단계는,
    상기 블록체인 네트워크로 상기 결제 트랜잭션을 전달하기 전에, 상기 결제자의 전자 지갑의 잔고를 확인하는 단계; 및
    상기 결제자의 전자 지갑의 잔고 확인 결과에 기초하여, 상기 자동 충전 필요 여부를 판정하는 단계를 포함하는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  4. 제1 항에 있어서,
    상기 결제 트랜잭션에 결제 정보가 포함되고,
    상기 재결제 트랜잭션을 생성하는 단계는,
    상기 결제 정보에 포함된 결제 금액을 제1 결제 금액으로 변경하여, 상기 결제 트랜잭션을 제1 재결제 트랜잭션으로 변경하는 단계; 및
    상기 결제 금액과 상기 제1 결제 금액의 차액을 기초로, 제2 재결제 트랜잭션을 생성하는 단계를 포함하는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  5. 제1 항에 있어서,
    상기 결제 트랜잭션에 결제 정보가 포함되고,
    상기 재결제 트랜잭션을 생성하는 단계는,
    상기 결제 트랜잭션을 폐기하는 단계; 및
    상기 결제 정보에 기록된 결제 금액과 동일한 금액을 갖는 상기 재결제 트랜잭션을 생성하는 단계를 포함하는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  6. 제1 항에 있어서,
    상기 결제자의 전자 지갑에 기 설정된 양의 전자 화폐를 충전하는 단계는,
    상기 전자 화폐에 대한 자동 충전 트랜잭션을 생성하는 단계;
    상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 자동 충전 트랜잭션을 전달하고, 상기 제1 블록체인 노드로부터 상기 자동 충전 트랜잭션에 대한 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 단계;
    유효 트랜잭션을 가리키는 검증 결과의 획득에 응답하여, 전자 결제 서비스 제공 서버를 통해 실물 화폐의 결제 처리가 수행되도록 하고, 상기 전자 결제 서비스 제공 서버로부터 상기 실물 화폐의 결제 처리 결과를 획득하는 제2-1 프로세스를 수행하는 단계;
    상기 실물 화폐의 정상 처리를 가리키는 결제 처리 결과의 획득에 응답하여, 상기 결제자의 전자 지갑에 전자 화폐를 충전하는 제2-2 프로세스를 수행하는 단계; 및
    상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 상기 복수의 블록체인 노드에 의해 분산 관리되는 블록체인 데이터에 상기 자동 충전 트랜잭션에 대한 데이터를 기록하고 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행하는 단계를 포함하는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  7. 제6 항에 있어서,
    상기 제2-2 프로세스와 상기 제3 프로세스는 병렬로 수행되는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  8. 제1 항에 있어서,
    상기 재결제 트랜잭션을 처리하는 단계는,
    상기 복수의 블록체인 노드 중 제1 블록체인 노드로 상기 재결제 트랜잭션을 전달하고, 상기 제1 블록체인 노드로부터 상기 재결제 트랜잭션에 대한 유효성 검증 결과를 획득하는 제1 프로세스를 수행하는 단계;
    유효 트랜잭션을 가리키는 검증 결과의 획득에 응답하여, 상기 재결제 트랜잭션에 따라 상기 결제자의 전자 지갑에서 수취인의 전자 지갑으로 전자 화폐가 이전되도록 하는 제2 프로세스를 수행하는 단계; 및
    상기 복수의 블록체인 노드 중 제2 블록체인 노드가, 상기 복수의 블록체인 노드에 의해 분산 관리되는 블록체인 데이터에 상기 재결제 트랜잭션을 기록하고 상기 블록체인 네트워크 상에 전파하는 제3 프로세스를 수행하는 단계를 포함하되,
    상기 제2 프로세스 및 상기 제3 프로세스는 병렬로 수행되는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  9. 제8 항에 있어서,
    상기 블록체인 네트워크는,
    허가된 결제자 및 허가된 블록체인 노드만이 참여하는 퍼미션 기반 블록체인 네트워크(permission-based blockchain network)인 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  10. 제9 항에 있어서,
    상기 복수의 블록체인 노드는,
    복수의 블록이 체인 구조로 연결된 제1 블록체인 데이터 및 상기 제1 블록체인 데이터와 별개로 구성된 제2 블록체인 데이터를 분산 저장하되,
    상기 제1 블록체인 데이터는 결제자 및 블록체인 노드의 퍼미션 정보를 포함하고,
    상기 제2 블록체인 데이터는 트랜잭션 데이터를 포함하는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
  11. 제8 항에 있어서,
    상기 제3 프로세스를 수행하는 단계는,
    채굴 프로세스를 통해 신규 블록을 생성하는 단계;
    상기 신규 블록에 상기 재결제 트랜잭션에 대한 데이터 및 상기 제2 블록체인 노드의 퍼미션 정보를 기록하는 단계; 및
    상기 신규 블록을 상기 블록체인 네트워크 상에 전파하는 단계를 포함하되,
    상기 복수의 블록체인 노드 중 상기 신규 블록을 수신한 블록체인 노드는, 상기 블록체인 데이터에 기 저장된 블록 생성 노드의 퍼미션 정보와 상기 신규 블록에 기록된 퍼미션 정보의 비교 결과에 기초하여 상기 신규 블록의 추가 여부를 판정하는 것을 특징으로 하는,
    블록체인 기반 전자 화폐 자동 충전 방법.
KR1020170135847A 2017-04-05 2017-10-19 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템 KR102407187B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/942,094 US20180293557A1 (en) 2017-04-05 2018-03-30 Method of charging electronic currency automatically based on blockchain and system thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170044430 2017-04-05
KR20170044430 2017-04-05

Publications (2)

Publication Number Publication Date
KR20180113146A KR20180113146A (ko) 2018-10-15
KR102407187B1 true KR102407187B1 (ko) 2022-06-10

Family

ID=63865945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170135847A KR102407187B1 (ko) 2017-04-05 2017-10-19 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102407187B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112019008171A2 (pt) * 2018-11-07 2019-09-10 Alibaba Group Holding Ltd método implementado por computador para validar as transações blockchain com base em modelos de conta, meio de armazenamento legível por computador e sistema
KR102206940B1 (ko) * 2018-11-27 2021-01-26 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 스마트 계약을 사용하여 다자간 트랜잭션을 실행하는 방법
KR102256377B1 (ko) 2019-01-24 2021-05-27 주식회사 더휴먼플러스 블록체인 기반 가상화폐 자동이체 방법 및 그를 위한 서버
KR102194048B1 (ko) * 2019-01-28 2020-12-22 김철웅 모바일 게임을 이용한 암호화폐 마이닝 시스템 및 방법
CN111242591A (zh) * 2020-01-10 2020-06-05 厦门顺势共识信息科技有限公司 基于联合签名的区块链交易处理方法、系统及存储介质
CN111422078B (zh) * 2020-03-09 2021-11-16 上海能链众合科技有限公司 一种基于区块链的电动汽车充电数据调配监测方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242021B1 (ko) * 2011-01-14 2013-03-11 시큐어플랫폼즈테크놀로지(주) 자동충전 제어 방법과 이를 위한 보안응용모듈
KR20160009301A (ko) * 2014-07-16 2016-01-26 주식회사 코빗 개인키 기반 전자 화폐의 결제 대행 서비스 및 이를 위한 방법
KR101660627B1 (ko) * 2015-02-03 2016-09-28 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
KR101784219B1 (ko) 2016-06-15 2017-10-12 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법

Also Published As

Publication number Publication date
KR20180113146A (ko) 2018-10-15

Similar Documents

Publication Publication Date Title
KR102384340B1 (ko) 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
KR102407187B1 (ko) 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템
US10762479B2 (en) Method and system for processing blockchain-based real-time transaction
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
AU2022200068B2 (en) Telecommunication system and method for settling session transactions
KR102382127B1 (ko) 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법
KR102322646B1 (ko) 블록체인 내의 스마트 계약에 기초하여 거래 활동의 민감한 데이터를 보호하기 위한 방법 및 디바이스
US11095432B2 (en) System for processing data based on blockchain and operating method thereof
EP3613189B1 (en) Secure blockchain-based consensus
CN111034114B (zh) 具有记录安全性的区块链架构
KR102349401B1 (ko) 블록체인 기반의 사용자 정의 화폐 거래 시스템 및 그 동작 방법
KR101950912B1 (ko) 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
US20160203477A1 (en) Cryptographic security for electronic transactions
JP6729334B2 (ja) トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置
EP3739538A1 (en) System and method of supporting reflection of transactions between blockchain networks
KR20180113144A (ko) 블록체인 기반 결제 처리 방법 및 그 장치
KR20180128874A (ko) 트랜잭션 검증을 이용한 암호화폐 거래소 입금 승인 장치 및 방법
JP2018136657A (ja) 仮想通貨管理装置、仮想通貨管理方法、およびプログラム
KR20200114324A (ko) 블록체인 기반의 암호화폐를 이용한 송금 처리 시스템
Suliyanti et al. Evaluation of hash rate-based double-spending based on proof-of-work blockchain
US20230237476A1 (en) Electronic wallet, server for executing the same, and method for atomic exchange of blockchain tokens using the server
CN113159940A (zh) 用于增强型比特币钱包的交易方法、系统及计算机设备
CN112422534A (zh) 电子证书的信用评估方法以及设备
CN111695096B (zh) 一种身份验证的方法及装置
JP2018136915A (ja) 仮想通貨管理装置、仮想通貨管理方法、およびプログラム

Legal Events

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