KR102327668B1 - 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법 - Google Patents

블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법 Download PDF

Info

Publication number
KR102327668B1
KR102327668B1 KR1020190163491A KR20190163491A KR102327668B1 KR 102327668 B1 KR102327668 B1 KR 102327668B1 KR 1020190163491 A KR1020190163491 A KR 1020190163491A KR 20190163491 A KR20190163491 A KR 20190163491A KR 102327668 B1 KR102327668 B1 KR 102327668B1
Authority
KR
South Korea
Prior art keywords
electronic receipt
inquiry
block chain
block
user
Prior art date
Application number
KR1020190163491A
Other languages
English (en)
Other versions
KR20210073057A (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 KR1020190163491A priority Critical patent/KR102327668B1/ko
Publication of KR20210073057A publication Critical patent/KR20210073057A/ko
Application granted granted Critical
Publication of KR102327668B1 publication Critical patent/KR102327668B1/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/04Payment circuits
    • G06Q20/047Payment circuits using payment protocols involving electronic receipts
    • 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/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Abstract

본 발명은 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법에 관한 것으로, 결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장하는 과정에서 상기 전자영수증에 관한 블록체인 조회코드를 생성하여 사용자 단말에게 제공하는 조회코드 제공부, 상기 사용자 단말로부터 상기 블록체인 조회코드와 함께 상기 전자영수증에 대한 조회 요청을 수신하는 조회 요청 수신부, 상기 조회 요청에 따라 상기 블록체인에서 상기 블록체인 조회코드에 관한 조회 연산을 수행하여 상기 전자영수증에 관한 데이터 블록을 획득하는 블록체인 조회 연산부, 상기 사용자 단말로부터 수신한 사용자 개인키를 기초로 상기 데이터 블록을 복호화하는 블록 암호화 처리부 및 상기 복호화의 결과로서 획득한 블록 정보를 기초로 상기 전자영수증을 복원하여 상기 사용자 단말에게 제공하는 전자영수증 제공부를 포함한다.

Description

블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING ELECTRONIC RECEIPT USING BLOCKCHAIN INQUIRY CODE}
본 발명은 전자영수증 제공 기술에 관한 것으로, 더욱 상세하게는 블록체인 조회코드에 대한 서버의 해석을 통해 전자영수증을 제공할 수 있는 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법에 관한 것이다.
사용자가 물품을 구매하거나 서비스를 이용한 후 그 비용을 결제하는 경우, 상점에서는 종이영수증을 발행하여 제공하고 있다. 사용자는 이를 수령하여 결제내역을 확인할 수 있고, 향후 구매품에 대한 환불 등을 위해 종이영수증을 보관할 필요가 있다. 하지만, 사용자들은 종이영수증을 수령하여 결제내역을 확인한 후 보관하지 않고 버리는 경우가 많으며, 상점 입장에서도 종이영수증 발급에 따른 비용이 소모되는 문제가 있다.
이러한 종이 영수증 발행의 문제점을 극복하기 위해, 전자화된 영수증(전자영수증)을 발행하는 방식이 제안되고 있으나, 이는 주로 온라인 매매 즉 인터넷을 이용한 거래에서 사용되는 방식이며, 오프라인 매장에서 전자영수증을 제공하는 방식이 필요한 실정이다.
한국등록특허 제10-1255142(2013.04.10)호는 전자영수증 발급방법에 관한 것으로, 물품 구매나 서비스를 제공받은 후 고객은 이동단말로 결제내역이 포함된 전자영수증이나 전자영수증 정보에 해당하는 키값을 전송받아 종이영수증을 사용하지 않음으로써 고객은 종이영수증을 정리/보관할 필요가 없어 편리하고, 가맹점은 종이영수증을 출력하지 않아도 되어 그만큼 종이 낭비와 환경오염의 원인이 되는 탄소배출량을 줄이고, 종이영수증 출력에 소요되는 시간적 낭비도 줄일 수 있는 기술을 개시하고 있다.
한국공개특허 제10-2014-0077443(2014.06.24)호는 전자영수증 발급 장치 및 방법에 관한 것으로, 현금이나 지류 상품권 또는 자기식 신용카드 등을 사용하는 비전자식 결제 방식의 상거래에 대해서 전자영수증을 발급 및 유통할 수 있고, 판매자 입장에서는 종이영수증의 출력에 드는 비용이 절감되고, 구매자 입장에서는 종이영수증을 별도로 보관할 필요가 없는 편의성을 제공하는 기술을 개시하고 있다.
한국등록특허 제10-1255142(2013.04.10)호 한국공개특허 제10-2014-0077443(2014.06.24)호
본 발명의 일 실시예는 블록체인 조회코드에 대한 서버의 해석을 통해 전자영수증을 제공할 수 있는 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 전자영수증을 블록체인에 저장하고 조회 요청시 사용자 단말의 유형에 따라 영수증 템플릿을 결정하여 최적화된 전자영수증을 제공할 수 있는 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 전자영수증의 블록체인 저장과 탐색 및 블록체인으로부터 전자영수증의 복원과 전송에 있어 안전성과 효율성을 제공할 수 있는 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법을 제공하고자 한다.
실시예들 중에서, 블록체인 조회코드를 이용한 전자영수증 제공 장치는 결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장하는 과정에서 상기 전자영수증에 관한 블록체인 조회코드를 생성하여 사용자 단말에게 제공하는 조회코드 제공부, 상기 사용자 단말로부터 상기 블록체인 조회코드와 함께 상기 전자영수증에 대한 조회 요청을 수신하는 조회 요청 수신부, 상기 조회 요청에 따라 상기 블록체인에서 상기 블록체인 조회코드에 관한 조회 연산을 수행하여 상기 전자영수증에 관한 데이터 블록을 획득하는 블록체인 조회 연산부, 상기 사용자 단말로부터 수신한 사용자 개인키를 기초로 상기 데이터 블록을 복호화하는 블록 암호화 처리부 및 상기 복호화의 결과로서 획득한 블록 정보를 기초로 상기 전자영수증을 복원하여 상기 사용자 단말에게 제공하는 전자영수증 제공부를 포함한다.
상기 조회코드 제공부는 상기 전자영수증의 메타데이터를 포함하는 데이터 블록을 생성하고 상기 데이터 블록의 해시값을 상기 블록체인 조회코드로서 생성할 수 있다.
상기 조회 요청 수신부는 상기 조회 요청을 수신하는 과정에서 비밀키로 암호화된 사용자 개인키를 수신하고, 상기 블록 암호화 처리부는 상기 비밀키를 이용하여 상기 사용자 개인키를 복호화하고 복호화된 상기 사용자 개인키를 이용하여 상기 데이터 블록을 복호화할 수 있다.
상기 블록 암호화 처리부는 상기 사용자 단말로부터 수신된 사용자 생체정보를 이용하여 상기 비밀키를 생성한 후 상기 사용자 개인키를 복호화할 수 있다.
상기 전자영수증 제공부는 상기 데이터 블록으로부터 상기 전자영수증의 메타데이터를 상기 블록 정보로서 획득하는 제1 단계, 상기 사용자 단말의 유형에 따라 복수의 템플릿들 중 어느 하나를 영수증 템플릿으로 결정하는 제2 단계, 상기 영수증 템플릿을 구성하는 영수증 개체들을 결정하는 제3 단계, 상기 메타데이터로부터 상기 영수증 개체들에 대한 개체값을 획득하는 제4 단계 및 상기 영수증 개체들 각각의 좌표에 대응하여 상기 영수증 템플릿 상에 상기 개체값을 출력하는 제5단계를 수행함으로써 상기 전자영수증을 복원할 수 있다.
상기 조회 요청 수신부는 상기 사용자 단말로부터 복수의 전자영수증들에 대한 조회 요청을 수신하는 경우 상기 복수의 전자영수증들 각각에 대응하는 복수의 블록체인 조회코드들을 수신하고, 상기 블록 암호화 처리부는 상기 복수의 전자영수증들 각각에 대응되는 데이터 블록들을 복호화하여 데이터 블록 트리를 구축하고, 상기 전자영수증 제공부는 상기 영수증 개체들 각각에 대해 상기 데이터 블록 트리를 탐색하여 상기 복수의 전자영수증들 각각에 대응되는 개체값들을 획득할 수 있다.
상기 전자영수증 제공부는 상기 전자영수증을 상기 사용자 개인키에 대응하는 사용자 공개키로 암호화하여 상기 사용자 단말에게 전송할 수 있다.
실시예들 중에서, 블록체인 조회코드를 이용한 전자영수증 제공 방법은 결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장하는 과정에서 상기 전자영수증에 관한 블록체인 조회코드를 생성하여 사용자 단말에게 제공하는 단계, 상기 사용자 단말로부터 상기 블록체인 조회코드와 함께 상기 전자영수증에 대한 조회 요청을 수신하는 단계, 상기 조회 요청에 따라 상기 블록체인에서 상기 블록체인 조회코드에 관한 조회 연산을 수행하여 상기 전자영수증에 관한 데이터 블록을 획득하는 단계, 상기 사용자 단말로부터 수신한 사용자 개인키를 기초로 상기 데이터 블록을 복호화하는 단계 및 상기 복호화의 결과로서 획득한 블록 정보를 기초로 상기 전자영수증을 복원하여 상기 사용자 단말에게 제공하는 단계를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법은 전자영수증을 블록체인에 저장하고 조회 요청시 사용자 단말의 유형에 따라 영수증 템플릿을 결정하여 최적화된 전자영수증을 제공할 수 있다.
본 발명의 일 실시예에 따른 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법은 전자영수증의 블록체인 저장과 탐색 및 블록체인으로부터 전자영수증의 복원과 전송에 있어 안전성과 효율성을 제공할 수 있다.
도 1은 본 발명에 따른 전자영수증 제공 시스템의 구성을 설명하는 도면이다.
도 2는 도 1에 있는 전자영수증 제공 장치의 물리적 구성을 설명하는 블록도이다.
도 3은 도 1에 있는 전자영수증 제공 장치의 기능적 구성을 설명하는 블록도이다.
도 4는 도 1에 있는 전자영수증 제공 장치에서 수행되는 블록체인 조회코드를 이용한 전자영수증 제공 과정을 설명하는 순서도이다.
도 5는 전자영수증 제공 장치에서 전자영수증을 생성하여 제공하는 과정을 설명하는 도면이다.
도 6은 도 1의 전자영수증 제공 장치에서 수행되는 전자영수증 제공 과정의 일 실시예를 설명하는 흐름도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 전자영수증 제공 시스템의 구성을 설명하는 도면이다.
도 1을 참조하면, 전자영수증 제공 시스템(100)은 사용자 단말(110), 전자영수증 제공 장치(130), 데이터베이스(150) 및 블록체인 서버(170)를 포함할 수 있다.
사용자 단말(110)은 전자영수증에 관한 조회를 요청하여 그 결과를 확인할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 전자영수증 제공 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 전자영수증 제공 장치(130)와 동시에 연결될 수 있다.
전자영수증 제공 장치(130)는 전자영수증의 생성, 저장, 조회 및 복원에 관한 동작을 처리할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 전자영수증 제공 장치(130)는 사용자 단말(110)과 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고 받을 수 있다.
일 실시예에서, 전자영수증 제공 장치(130)는 데이터베이스(150)와 연동하여 전자영수증에 관한 동작을 위해 필요한 데이터를 저장할 수 있다. 한편, 전자영수증 제공 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있고, 별도의 외부 시스템과 연동하여 동작할 수 있다. 예를 들어, 외부 시스템은 전자영수증 생성 과정에서 결제정보 수신을 위한 POS 단말, 데이터 검증을 위한 카드사 서버, 주차 정산을 위한 주차장 서버 등에 해당할 수 있다.
또한, 전자영수증 제공 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.
데이터베이스(150)는 전자영수증 제공 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 복수의 사용자 단말(110)들 각각과 연관된 개인 정보를 저장할 수 있고, 전자영수증의 조회 및 복원을 위한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 전자영수증 제공 장치(130)가 블록체인 기반의 전자영수증을 제공하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
블록체인 서버(170)는 블록체인 네트워크를 관리하는 컴퓨터 또는 프로그램에 해당하는 서버에 해당할 수 있다. 블록체인 서버(170)는 전자영수증 제공 장치(130)와 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 전자영수증 제공 장치(130)와 데이터를 주고 받을 수 있다. 블록체인 서버(170)는 블록체인 네트워크를 구성하는 블록체인 노드를 생성할 수 있고, 특정 정보를 블록체인 노드에 저장하여 블록체인 네트워크의 다른 노드들로 전파시킬 수 있다.
한편, 블록체인 네트워크(또는 블록체인)는 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 데이터 관리 기술에 해당할 수 있다. 블록체인은 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능할 수 있다.
블록체인의 종류는 크게 퍼블릭(public), 프라이빗(private) 및 컨소시엄(consortium)으로 구분할 수 있다. 퍼블릭 블록체인은 누구나 원하면 네트워크에 접근하여 거래내역을 검색, 생성 및 검증할 수 있으며 경제적 보상을 동반한 작업증명(Proof-of Work, PoW)이나 지분증명(Proof-of-Stake, PoS) 방식을 사용할 수 있다. 프라이빗 블록체인은 한 중앙기관이 모든 권한을 갖고 통제 가능하며 참여자를 식별 가능하고 거래 속도가 빠르며 네트워크 확장이 쉬운 특징을 가질 수 있다. 컨소시엄 블록체인은 지정된 개인이나 단체가 참여하여 주체들 간 합의 절차를 검증하는 권한을 가지며 암호화폐가 필요치 않은 부분적 탈중앙화 시스템에 해당할 수 있다.
도 2는 도 1에 있는 전자영수증 제공 장치의 물리적 구성을 설명하는 블록도이다.
도 2를 참조하면, 전자영수증 제공 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.
프로세서(210)는 전자영수증 제공 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 전자영수증 제공 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 전자영수증 제공 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 전자영수증 제공 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 전자영수증 제공 장치(130)는 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 도 1에 있는 전자영수증 제공 장치의 기능적 구성을 설명하는 블록도이다.
도 3을 참조하면, 전자영수증 제공 장치(130)는 조회코드 제공부(310), 조회 요청 수신부(320), 블록체인 조회 연산부(330), 블록 암호화 처리부(340), 전자영수증 제공부(350) 및 제어부(360)를 포함할 수 있다.
조회코드 제공부(310)는 결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장하는 과정에서 전자영수증에 관한 블록체인 조회코드를 생성하여 사용자 단말(110)에게 제공할 수 있다. 전자영수증 제공 장치(130)는 전자영수증 생성 요청에 따라 결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장할 수 있고, 이를 위하여 블록체인 서버(170)와 연동하여 동작할 수 있다.
이 과정에서 조회코드 제공부(310)는 전자영수증에 관한 블록체인 조회코드를 생성할 수 있다. 블록체인 조회코드는 블록체인에 저장된 전자영수증을 검색하는데 사용되는 검색키에 해당할 수 있다. 즉, 블록체인 조회코드는 블록체인에 저장된 전자영수증을 식별할 수 있는 식별정보에 해당할 수 있고, 각 전자영수증에 대응될 수 있는 고유한 방식으로 표현될 수 있다.
일 실시예에서, 조회코드 제공부(310)는 전자영수증의 메타데이터를 포함하는 데이터 블록을 생성하고 데이터 블록의 해시값을 블록체인 조회코드로서 생성할 수 있다. 조회코드 제공부(310)는 전자영수증을 블록체인에 저장하기 위하여 전자영수증에 관한 정보를 포함하는 데이터 블록을 생성할 수 있다.
즉, 데이터 블록은 블록체인의 각 노드에 분산 저장되는 블록에 해당할 수 있고, 적어도 하나의 전자영수증에 관한 메타데이터를 포함하여 생성될 수 있다. 데이터 블록은 블록 헤더(header)와 블록 바디(body)로 구분될 수 있고, 블록 헤더는 블록체인을 구성하기 위한 정보로서 버전, 시간, 해시 및 랜덤정보 등을 포함할 수 있다. 블록 바디는 적어도 하나의 전자영수증에 관한 메타데이터를 포함할 수 있다.
한편, 조회코드 제공부(310)는 데이터 블록의 식별자 역할을 하는 해시값을 생성할 수 있고, 블록체인 조회코드로서 사용할 수 있다. 데이터 블록의 해시값은 블록 헤더에 관한 정보를 기초로 해시 함수를 이용하여 생성될 수 있다.
조회 요청 수신부(320)는 사용자 단말(110)로부터 블록체인 조회코드와 함께 전자영수증에 대한 조회 요청을 수신할 수 있다. 조회 요청 수신부(320)는 복수의 사용자 단말(110)들로부터 전자영수증에 대한 조회 요청을 실시간으로 수신할 수 있고, 수신 시점을 기준으로 정렬하여 처리할 수 있다. 조회 요청 수신부(320)는 조회 요청과 함께 대상이 되는 전자영수증에 관한 식별정보로서 블록체인 조회코드를 수신할 수 있으며, 이를 위한 입력 인터페이스를 제공할 수 있다. 예를 들어, 입력 인터페이스는 사용자 단말(110) 상에 설치되어 동작하는 애플리케이션 형태로 구현될 수 있고, 이 경우 조회 요청 수신부(320)는 사용자 단말(110)에서 동작하는 애플리케이션과 연동하여 동작할 수 있다.
일 실시예에서, 조회 요청 수신부(320)는 조회 요청을 수신하는 과정에서 비밀키로 암호화된 사용자 개인키를 수신할 수 있다. 즉, 조회 요청 수신부(320)는 사용자 단말(110)로부터 조회 요청과 함께 사용자 개인키를 수신할 수 있으며, 사용자 개인키는 공개키 암호 알고리즘에 사용되는 키에 해당할 수 있고 다른 비밀키와 암호 알고리즘에 의해 암호화되어 전송될 수 있다. 한편, 조회 요청 수신부(320)는 사용자 단말(110)로부터 사용자 개인키를 직접 수신할 수도 있으나, 사용자 개인키 생성에 사용되는 필수 정보만을 수신한 후 내부에서 직접 생성하는 방식으로 사용자 개인키를 수신할 수 있다.
일 실시예에서, 조회 요청 수신부(320)는 사용자 단말(110)로부터 복수의 전자영수증들에 대한 조회 요청을 수신하는 경우 복수의 전자영수증들 각각에 대응하는 복수의 블록체인 조회코드들을 수신할 수 있다. 사용자는 특정 전자영수증만을 선택하여 조회하거나 또는 다수의 전자영수증들을 한꺼번에 선택하여 조회할 수 있다. 이를 위하여, 조회 요청 수신부(320)는 복수의 전자영수증들 각각에 대응하는 블록체인 조회코드들로 구성된 테이블을 조회 요청과 함께 수신할 수 있다.
블록체인 조회 연산부(330)는 조회 요청에 따라 블록체인에서 블록체인 조회코드에 관한 조회 연산을 수행하여 전자영수증에 관한 데이터 블록을 획득할 수 있다. 보다 구체적으로, 블록체인 조회 연산부(330)는 블록체인을 관리하는 블록체인 서버(170)에 블록체인 조회코드에 대해 질의할 수 있고, 블록체인 서버(170)로부터 해당 질의에 대한 응답을 수신할 수 있다. 즉, 블록체인 조회 연산부(330)는 블록체인 서버(170)의 응답으로서 전자영수증에 관한 데이터 블록을 획득할 수 있다.
또한, 블록체인 조회 연산부(330)는 복수의 블록체인 조회코드들에 관한 동시 조회를 요청할 수 있고, 블록체인 서버(170)로부터 해당 질의에 대한 응답으로서 복수의 데이터 블록들이 연결된 하나의 데이터 블록 리스트를 획득할 수 있다.
블록 암호화 처리부(340)는 사용자 단말(110)로부터 수신한 사용자 개인키를 기초로 데이터 블록을 복호화할 수 있다. 전자영수증 제공 장치(130)는 전자영수증을 생성한 후 블록체인에 저장하기 위하여 전자영수증에 관한 데이터 블록을 생성할 수 있으며, 보안을 위하여 데이터 블록을 사용자 공개키로 암호화할 수 있다. 따라서, 블록체인 조회 연산부(330)에 의해 획득된 데이터 블록은 그 자체로 암호화된 데이터에 해당할 수 있고, 블록 암호화 처리부(340)는 사용자 공개키에 대응하는 사용자 개인키를 기초로 데이터 블록을 복호화할 수 있다.
일 실시예에서, 블록 암호화 처리부(340)는 비밀키를 이용하여 사용자 개인키를 복호화하고 복호화된 사용자 개인키를 이용하여 데이터 블록을 복호화할 수 있다. 사용자 개인키는 사용자 공개키와 달리 기밀성 유지가 필수인 정보로서 사용자 단말(110)에서 전자영수증 제공 장치(130)로의 전송 과정에서 외부에 노출될 가능성이 존재하기 때문에 사용자 단말(110)에서 암호화된 후 전자영수증 제공 장치(130)로 전송될 수 있다.
따라서, 블록 암호화 처리부(340)는 사용자 개인키를 사용하기 전에 복호화 과정을 수행할 수 있다. 사용자 개인키의 복호화 과정에서 사용되는 비밀키는 사용자 단말(110)에서 사용된 비밀키와 동일할 수 있고, 사용자 단말(110)과 전자영수증 제공 장치(130)는 사전에 동일한 비밀키를 공유할 수 있다.
일 실시예에서, 블록 암호화 처리부(340)는 사용자 단말(110)로부터 수신된 사용자 생체정보를 이용하여 비밀키를 생성한 후 사용자 개인키를 복호화할 수 있다. 사용자 단말(110)과 전자영수증 제공 장치(130)는 사전에 비밀키를 공유할 수 있으나, 비밀키 대신 비밀키 생성 규칙만을 공유할 수 있다. 즉, 블록 암호화 처리부(340)는 사용자 단말(110)로부터 수신된 사용자 생체정보를 기초로 사전 공유된 비밀키 생성 규칙에 따라 비밀키를 생성하여 사용자 개인키에 관한 복호화 과정에 사용할 수 있다.
이 때, 비밀키 생성에 사용되는 사용자 생체정보는 사용자의 얼굴, 홍채, 지문, 음성 및 혈관 구조 등을 포함할 수 있다. 사용자 생체정보는 사용자 단말(110)을 통해 전자영수증 조회 요청 시점을 기준으로 획득될 수 있고, 네트워크를 통해 전자영수증 제공 장치(130)로 전송될 수 있다. 한편, 사용자 단말(110) 역시 사용자 개인키를 전송하기 전에 해당 시점을 기준으로 사용자로부터 사용자 생체정보를 획득하여 비밀키를 생성할 수 있고, 해당 비밀키를 기초로 사용자 개인키를 암호화하여 전자영수증 제공 장치(130)로 전송할 수 있다.
일 실시예에서, 블록 암호화 처리부(340)는 복수의 전자영수증들 각각에 대응되는 데이터 블록들을 복호화하여 데이터 블록 트리를 구축할 수 있다. 사용자가 복수의 전자영수증에 관해 조회 요청하는 경우 전자영수증 제공 장치(130)는 조회 요청 수신부(320)를 통해 조회 요청과 함께 복수의 전자영수증들 각각에 대응하는 복수의 블록체인 조회코드들을 수신할 수 있다. 이 경우, 블록 암호화 처리부(340)는 블록체인 조회 연산부(330)에 의해 획득된 복수의 데이터 블록들을 복호화할 수 있고, 복호화된 데이터 블록들을 기초로 데이터 블록 트리를 생성할 수 있다.
여기에서, 데이터 블록 트리는 데이터 블록을 하나의 노드로 하여 구성되는 트리로서 전자영수증 복원을 위한 정보 탐색을 위한 자료구조에 해당할 수 있다. 즉, 데이터 블록 트리는 전자영수증 복원 과정에서 복수의 전자영수증들로부터 관련 정보를 효과적으로 추출하기 위한 목적으로 구축될 수 있다. 예를 들어, 데이터 블록 트리는 노드 탐색에 효과적인 이진 탐색 트리, AVL 트리 등으로 구축될 수 있다.
전자영수증 제공부(350)는 복호화의 결과로서 획득한 블록 정보를 기초로 전자영수증을 복원하여 사용자 단말(110)에게 제공할 수 있다. 블록 정보는 블록체인에 저장된 전자영수증에 관한 정보로서 데이터 블록의 복호화를 통해 획득할 수 있다. 전자영수증 제공부(350)는 해당 블록 정보를 기초로 필요한 정보들을 추출하고 재배치하여 전자영수증을 생성하는 동작을 수행할 수 있다.
일 실시예에서, 전자영수증 제공부(350)는 데이터 블록으로부터 전자영수증의 메타데이터를 블록 정보로서 획득하는 제1 단계, 사용자 단말(110)의 유형에 따라 복수의 템플릿들 중 어느 하나를 영수증 템플릿으로 결정하는 제2 단계, 영수증 템플릿을 구성하는 영수증 개체들을 결정하는 제3 단계, 메타데이터로부터 영수증 개체들에 대한 개체값을 획득하는 제4 단계 및 영수증 개체들 각각의 좌표에 대응하여 영수증 템플릿 상에 개체값을 출력하는 제5단계를 수행함으로써 전자영수증을 복원할 수 있다.
보다 구체적으로, 전자영수증 제공부(350)는 데이터 블록으로부터 전자영수증의 메타데이터를 블록 정보로서 획득할 수 있다. 전자영수증 제공부(350)는 블록 암호화 처리부(340)를 통해 블록 정보를 획득할 수 있다.
또한, 전자영수증 제공부(350)는 사용자 단말(110)의 유형에 따라 복수의 템플릿들 중 어느 하나를 영수증 템플릿으로 결정할 수 있다. 영수증 템플릿은 전자영수증을 생성하기 위해 미리 정의된 레이아웃(layout)에 해당할 수 있다. 전자영수증 제공부(350)는 사용자 단말(110)의 식별정보를 기초로 디스플레이 화면의 크기, 저장 공간의 용량 등의 단말 정보를 획득할 수 있고, 해당 정보들을 기초로 그룹화되어 정의된 단말 유형에 따라 제공 가능한 템플릿들 중 어느 하나를 영수증 템플릿으로 결정할 수 있다. 전자영수증 제공부(350)는 영수증 템플릿 결정 과정에서 미리 설정된 우선순위를 활용할 수 있다.
또한, 전자영수증 제공부(350)는 영수증 템플릿을 구성하는 영수증 개체들을 결정할 수 있다. 영수증 템플릿은 전자영수증 생성에 필요한 정보들을 포함하여 정의될 수 있고, 예를 들어, 전자영수증에 표시될 정보, 위치 및 크기 등을 포함하여 정의될 수 있다. 전자영수증 제공부(350)는 영수증 템플릿을 기초로 전자영수증 생성에 필요한 항목으로서 영수증 개체들을 결정할 수 있다. 예를 들어, 영수증 개체는 메뉴, 가격, 수량, 결제 장소, 결제 수단 등을 포함할 수 있다.
또한, 전자영수증 제공부(350)는 메타데이터로부터 영수증 개체들에 대한 개체값을 획득할 수 있다. 예를 들어, 전자영수증 제공부(350)는 메타데이터로부터 메뉴, 가격, 수량, 결제 장소, 결제 수단 등에 대응되는 값(value)을 개체값으로서 추출할 수 있다.
또한, 전자영수증 제공부(350)는 영수증 개체들 각각의 좌표에 대응하여 영수증 템플릿 상에 개체값을 출력할 수 있다. 전자영수증 제공부는(350)는 모든 영수증 개체들의 개체값이 영수증 템플릿 상에 출력된 결과로서 전자영수증을 복원할 수 있다.
일 실시예에서, 전자영수증 제공부(350)는 영수증 개체들 각각에 대해 데이터 블록 트리를 탐색하여 복수의 전자영수증들 각각에 대응되는 개체값들을 획득할 수 있다. 사용자가 복수의 전자영수증들에 대한 조회를 요청한 경우, 전자영수증 제공부(350)는 블록 암호화 처리부(340)에 의해 구축된 데이터 블록 트리를 활용하여 복수의 전자영수증들 각각에 대한 관련 정보를 효과적으로 추출할 수 있다.
일 실시예에서, 전자영수증 제공부(350)는 전자영수증을 사용자 개인키에 대응하는 사용자 공개키로 암호화하여 사용자 단말(110)에게 전송할 수 있다. 전자영수증 제공부(350)는 전자영수증에 포함된 개인정보를 보호하고 위변조 방지를 위하여 전자영수증을 암호화한 후 사용자 단말(110)에게 전송할 수 있다. 전자영수증에 대한 암호화는 사용자 공개키를 통해 수행될 수 있다.
일 실시예에서, 전자영수증 제공부(350)는 전자영수증의 특정 정보만을 선별적으로 암호화하여 사용자 단말(110)에게 전송할 수 있다. 보다 구체적으로, 전자영수증 제공부(350)는 전자영수증으로부터 미리 설정된 개인정보만을 추출하여 사용자 공개키로 암호화할 수 있고, 부분 암호화된 전자영수증을 네트워크를 통해 사용자 단말(110)에게 전송할 수 있다.
제어부(360)는 전자영수증 제공 장치(130)의 전체적인 동작을 제어하고, 조회코드 제공부(310), 조회 요청 수신부(320), 블록체인 조회 연산부(330), 블록 암호화 처리부(340) 및 전자영수증 제공부(350) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 도 1에 있는 전자영수증 제공 장치에서 수행되는 블록체인 조회코드를 이용한 전자영수증 제공 과정을 설명하는 순서도이다.
도 4를 참조하면, 전자영수증 제공 장치(130)는 조회코드 제공부(310)를 통해 결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장하는 과정에서 전자영수증에 관한 블록체인 조회코드를 생성하여 사용자 단말(110)에게 제공할 수 있다(단계 S410). 전자영수증 제공 장치(130)는 조회 요청 수신부(320)를 통해 사용자 단말(110)로부터 블록체인 조회코드와 함께 전자영수증에 대한 조회 요청을 수신할 수 있다(단계 S430).
또한, 전자영수증 제공 장치(130)는 블록체인 조회 연산부(330)를 통해 조회 요청에 따라 블록체인에서 블록체인 조회코드에 관한 조회 연산을 수행하여 전자영수증에 관한 데이터 블록을 획득할 수 있다(단계 S450). 전자영수증 제공 장치(130)는 블록 암호화 처리부(340)를 통해 사용자 단말(110)로부터 수신한 사용자 개인키를 기초로 데이터 블록을 복호화할 수 있다(단계 S470). 전자영수증 제공 장치(130)는 전자영수증 제공부(350)를 통해 복호화의 결과로서 획득한 블록 정보를 기초로 전자영수증을 복원하여 사용자 단말(110)에게 제공할 수 있다(단계 S490).
도 5는 전자영수증 제공 장치에서 전자영수증을 생성하여 제공하는 과정을 설명하는 도면이다.
도 5를 참조하면, 전자영수증 제공 장치(530)는 사용자의 발행 요청에 따라 상점에 설치된 POS 단말(510)로부터 결제내역을 수신하여 전자영수증을 생성할 수 있다. 예를 들어, 사용자는 음식점, 의류점, 편의점 등에서 결제와 함께 전자영수증 발급을 요청할 수 있고, 발급 요청에 따라 결제 단말은 전자영수증 제공 장치(530)에게 결제내역을 전달할 수 있다.
전자영수증 제공 장치(530)는 결제내역을 기초로 해당 결제와 연관된 전자영수증을 생성할 수 있으며, 보다 구체적으로, 데이터 검증, 사용자 식별, 전자영수증 정보 가공 및 전자영수증 응답값 생성 등의 단계를 순차적으로 수행함으로써 전자영수증을 생성할 수 있다.
데이터 검증 단계는 매장의 POS 단말(510)로부터 수신한 결제내역이 정상적인 결제의 결과물인지를 검증하는 것으로 실제 결제 처리된 내역과 수신한 내역 간의 비교를 통해 결정될 수 있다. 한편, 실제 결제 처리된 내역은 외부 결제 시스템(예를 들어, 카드사 서버)을 통해 획득될 수 있다. 사용자 식별 단계는 데이터 검증이 완료된 경우 사용자 식별을 위한 정보를 획득하는 단계에 해당할 수 있고, 카드사 서버와 같이 외부 시스템에 결제정보를 기초로 사용자 식별 정보를 요청하여 획득할 수 있다.
또한, 전자영수증 정보 가공 단계는 전자영수증 생성을 위하여 필요한 정보를 항목별로 선별, 생성하는 단계에 해당할 수 있고, 결제내역 정보와 사용자 식별 정보를 이용하여 수행될 수 있다. 전자영수증 생성 단계는 사용자 단말(110)에 제공되는 전자영수증을 생성하는 단계에 해당할 수 있다.
일 실시예에서, 전자영수증 제공 장치(530)는 전자영수증 대신 전자영수증 응답값을 생성하여 제공할 수 있다. 즉, 전자영수증 응답값은 사용자 단말(110) 상에서 전자영수증 열람을 위하여 전자영수증 DB에서의 검색을 위한 검색키에 해당할 수 있다. 예를 들어, 전자영수증 응답값은 블록체인 조회코드에 대응될 수 있고, 전자영수증 DB는 블록체인에 대응될 수 있다.
도 6은 도 1의 전자영수증 제공 장치에서 수행되는 전자영수증 제공 과정의 일 실시예를 설명하는 흐름도이다.
도 6을 참조하면, 전자영수증 제공 장치(130)는 POS 단말로부터 수신한 결제정보를 기초로 전자영수증을 생성하여 블록체인 서버(170)를 통해 블록체인에 저장할 수 있다. 이 때, 전자영수증 제공 장치(130)는 전자영수증에 관한 데이터 블록을 생성하여 블록체인 서버(170)에 제공할 수 있다. 전자영수증 제공 장치(130)는 블록체인에서 데이터 블록의 탐색을 위한 정보로서 블록체인 조회코드를 생성할 수 있고(S610), 사용자 단말(110)에게 제공할 수 있다.
만약 사용자 단말(110)로부터 블록체인 조회코드와 함께 전자영수증 조회 요청이 수신되면(S630), 전자영수증 제공 장치(130)는 블록체인 조회코드를 기초로 블록체인 조회 연산을 수행할 수 있다. 보다 구체적으로, 전자영수증 제공 장치(130)는 블록체인 서버(170)에 블록체인 조회코드를 질의할 수 있고, 블록체인 서버(170)는 질의 처리 과정으로 블록체인 조회코드와 연관된 데이터 블록을 탐색할 수 있다(S650). 블록체인 서버(170)는 질의에 대한 응답으로서 전자영수증 제공 장치(130)에 데이터 블록을 제공할 수 있다.
또한, 전자영수증 제공 장치(130)는 블록체인 서버(170)로부터 수신한 데이터 블록을 복호화할 수 있고(S670), 데이터 블록을 기초로 전자영수증을 복원할 수 있다(S690). 마지막으로, 전자영수증 제공 장치(130)는 복원한 전자영수증을 사용자 단말(110)에게 제공할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 전자영수증 제공 시스템
110: 사용자 단말 130: 전자영수증 제공 장치
150: 데이터베이스 170: 블록체인 서버
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 조회코드 제공부 320: 조회 요청 수신부
330: 블록체인 조회 연산부 340: 블록 암호화 처리부
350: 전자영수증 제공부 360: 제어부
510: POS 단말 530: 전자영수증 제공 장치

Claims (8)

  1. 결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장하는 과정에서 상기 전자영수증에 관한 블록체인 조회코드를 생성하여 사용자 단말에게 제공하는 조회코드 제공부;
    상기 사용자 단말로부터 상기 블록체인 조회코드와 함께 상기 전자영수증에 대한 조회 요청을 수신하고, 복수의 전자영수증들에 대한 조회 요청을 수신하는 경우 상기 복수의 전자영수증들 각각에 대응하는 복수의 블록체인 조회코드들을 수신하는 조회 요청 수신부;
    상기 조회 요청에 따라 상기 블록체인에서 상기 블록체인 조회코드에 관한 조회 연산을 수행하여 상기 전자영수증에 관한 데이터 블록을 획득하는 블록체인 조회 연산부;
    상기 사용자 단말로부터 수신한 사용자 개인키를 기초로 상기 데이터 블록을 복호화하고, 상기 복수의 블록체인 조회코드들에 관한 복수의 데이터 블록들을 복호화하여 데이터 블록 트리를 구축하는 블록 암호화 처리부; 및
    상기 복호화의 결과로서 획득한 블록 정보를 기초로 상기 전자영수증을 복원하여 상기 사용자 단말에게 제공하고, 상기 데이터 블록 트리를 기초로 상기 복수의 전자영수증들을 복원하는 전자영수증 제공부를 포함하는 블록체인 조회코드를 이용한 전자영수증 제공 장치.
  2. 제1항에 있어서, 상기 조회코드 제공부는
    상기 전자영수증의 메타데이터를 포함하는 데이터 블록을 생성하고 상기 데이터 블록의 해시값을 상기 블록체인 조회코드로서 생성하는 것을 특징으로 하는 블록체인 조회코드를 이용한 전자영수증 제공 장치.
  3. 제1항에 있어서,
    상기 조회 요청 수신부는 상기 조회 요청을 수신하는 과정에서 비밀키로 암호화된 사용자 개인키를 수신하고,
    상기 블록 암호화 처리부는 상기 비밀키를 이용하여 상기 사용자 개인키를 복호화하고 복호화된 상기 사용자 개인키를 이용하여 상기 데이터 블록을 복호화하는 것을 특징으로 하는 블록체인 조회코드를 이용한 전자영수증 제공 장치.
  4. 제3항에 있어서, 상기 블록 암호화 처리부는
    상기 사용자 단말로부터 수신된 사용자 생체정보를 이용하여 상기 비밀키를 생성한 후 상기 사용자 개인키를 복호화하는 것을 특징으로 하는 블록체인 조회코드를 이용한 전자영수증 제공 장치.
  5. 제1항에 있어서, 상기 전자영수증 제공부는
    상기 데이터 블록으로부터 상기 전자영수증의 메타데이터를 상기 블록 정보로서 획득하는 제1 단계, 상기 사용자 단말의 유형에 따라 복수의 템플릿들 중 어느 하나를 영수증 템플릿으로 결정하는 제2 단계, 상기 영수증 템플릿을 구성하는 영수증 개체들을 결정하는 제3 단계, 상기 메타데이터로부터 상기 영수증 개체들에 대한 개체값을 획득하는 제4 단계 및 상기 영수증 개체들 각각의 좌표에 대응하여 상기 영수증 템플릿 상에 상기 개체값을 출력하는 제5단계를 수행함으로써 상기 전자영수증을 복원하는 것을 특징으로 하는 블록체인 조회코드를 이용한 전자영수증 제공 장치.
  6. 제5항에 있어서, 상기 전자영수증 제공부는
    상기 영수증 개체들 각각에 대해 상기 데이터 블록 트리를 탐색하여 상기 복수의 전자영수증들 각각에 대응되는 개체값들을 획득하는 것을 특징으로 하는 블록체인 조회코드를 이용한 전자영수증 제공 장치.
  7. 제1항에 있어서, 상기 전자영수증 제공부는
    상기 전자영수증을 상기 사용자 개인키에 대응하는 사용자 공개키로 암호화하여 상기 사용자 단말에게 전송하는 것을 특징으로 하는 블록체인 조회코드를 이용한 전자영수증 제공 장치.
  8. 전자영수증 제공 장치에서 수행되는 방법에 있어서,
    결제정보를 기초로 전자영수증을 생성하여 블록체인에 저장하는 과정에서 상기 전자영수증에 관한 블록체인 조회코드를 생성하여 사용자 단말에게 제공하는 단계;
    상기 사용자 단말로부터 상기 블록체인 조회코드와 함께 상기 전자영수증에 대한 조회 요청을 수신하고, 복수의 전자영수증들에 대한 조회 요청을 수신하는 경우 상기 복수의 전자영수증들 각각에 대응하는 복수의 블록체인 조회코드들을 수신하는 단계;
    상기 조회 요청에 따라 상기 블록체인에서 상기 블록체인 조회코드에 관한 조회 연산을 수행하여 상기 전자영수증에 관한 데이터 블록을 획득하는 단계;
    상기 사용자 단말로부터 수신한 사용자 개인키를 기초로 상기 데이터 블록을 복호화하고, 상기 복수의 블록체인 조회코드들에 관한 복수의 데이터 블록들을 복호화하여 데이터 블록 트리를 구축하는 단계; 및
    상기 복호화의 결과로서 획득한 블록 정보를 기초로 상기 전자영수증을 복원하여 상기 사용자 단말에게 제공하고, 상기 데이터 블록 트리를 기초로 상기 복수의 전자영수증들을 복원하는 단계를 포함하는 블록체인 조회코드를 이용한 전자영수증 제공 방법.
KR1020190163491A 2019-12-10 2019-12-10 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법 KR102327668B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190163491A KR102327668B1 (ko) 2019-12-10 2019-12-10 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190163491A KR102327668B1 (ko) 2019-12-10 2019-12-10 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210073057A KR20210073057A (ko) 2021-06-18
KR102327668B1 true KR102327668B1 (ko) 2021-11-17

Family

ID=76623349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190163491A KR102327668B1 (ko) 2019-12-10 2019-12-10 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102327668B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102638798B1 (ko) * 2023-09-11 2024-02-21 주식회사 페어스퀘어랩 블록체인 네트워크에서 지갑을 관리하기 위한 방법 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101922565B1 (ko) * 2018-05-23 2018-11-27 (주)에스씨씨 이종 블록체인 간에 데이터의 공유를 가능하게 하는 얼라이언스 블록체인 시스템
KR101936758B1 (ko) * 2018-06-08 2019-01-11 주식회사 미탭스플러스 정보 조회 기록의 무결성을 위한 암호화 장치, 방법 및 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치
KR102052036B1 (ko) * 2019-07-30 2019-12-04 주식회사 바스랩 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876003B1 (ko) * 2007-02-14 2008-12-26 에스케이씨앤씨 주식회사 생체정보를 이용하는 사용자 인증방법
KR20110027009A (ko) * 2009-09-09 2011-03-16 김강석 전자 영수증 시스템
KR20120049789A (ko) 2010-11-09 2012-05-17 한대희 전자영수증 발급방법
KR20140077443A (ko) 2012-12-14 2014-06-24 에스케이텔레콤 주식회사 전자영수증 발급 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101922565B1 (ko) * 2018-05-23 2018-11-27 (주)에스씨씨 이종 블록체인 간에 데이터의 공유를 가능하게 하는 얼라이언스 블록체인 시스템
KR101936758B1 (ko) * 2018-06-08 2019-01-11 주식회사 미탭스플러스 정보 조회 기록의 무결성을 위한 암호화 장치, 방법 및 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치
KR102052036B1 (ko) * 2019-07-30 2019-12-04 주식회사 바스랩 블록체인에 분산저장된 데이터의 탐색 및 조합을 통한 데이터 획득방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102638798B1 (ko) * 2023-09-11 2024-02-21 주식회사 페어스퀘어랩 블록체인 네트워크에서 지갑을 관리하기 위한 방법 및 시스템

Also Published As

Publication number Publication date
KR20210073057A (ko) 2021-06-18

Similar Documents

Publication Publication Date Title
US11363015B2 (en) Provisioning transferable access tokens
US10339524B2 (en) Systems and methods for multi-merchant tokenization
CN101978646B (zh) 用于执行文件分发和购买的系统和方法
CN108370315B (zh) 带加密的安全计算机集群
AU2017267715A1 (en) Systems and methods for creating subtokens using primary tokens
CA3019849A1 (en) Digital asset account management
WO2019224719A1 (en) Secure multiple cryptocurrency wallet and methods of use thereof
AU2012240481B2 (en) Method and system to confirm ownership of digital goods
WO2011016450A1 (ja) 電子価格提示システム、電子価格提示装置、及び電子価格提示方法
CN110443047B (zh) 数据交换群组系统及方法
US7926704B2 (en) Method, apparatus and program storage device for providing electronic data delivery
CN105260884A (zh) Pos机密钥分发方法及装置
KR102383492B1 (ko) 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법
US20090076923A1 (en) Secure Customer Relationship Marketing System and Method
US20080232594A1 (en) Symmetric key subscription
JP7156889B2 (ja) 決済処理方法
KR102327668B1 (ko) 블록체인 조회코드를 이용한 전자영수증 제공 장치 및 방법
JP5331834B2 (ja) 情報処理システム、読取端末および処理端末
AU2015255283B2 (en) Method and system to confirm ownership of digital goods
US11928680B2 (en) Techniques for processing pin-inclusive transactions in connection with an electronic device
TWM565363U (zh) 基於區塊鏈的虛擬貨幣整合系統
KR102348741B1 (ko) 블록체인 기반의 전자영수증 관리 장치 및 방법
KR102348739B1 (ko) 블록체인 기반의 전자영수증 저장 장치 및 방법
KR20190090699A (ko) 통합 암호화폐 보관 및 보안강화를 위한 월렛 제공 방법 및 장치
US11948144B2 (en) Knowledge-based authentication for asset wallets

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant