KR102331971B1 - Method and System for Providing Voucher based Blockchain - Google Patents
Method and System for Providing Voucher based Blockchain Download PDFInfo
- Publication number
- KR102331971B1 KR102331971B1 KR1020200029568A KR20200029568A KR102331971B1 KR 102331971 B1 KR102331971 B1 KR 102331971B1 KR 1020200029568 A KR1020200029568 A KR 1020200029568A KR 20200029568 A KR20200029568 A KR 20200029568A KR 102331971 B1 KR102331971 B1 KR 102331971B1
- Authority
- KR
- South Korea
- Prior art keywords
- voucher
- recipient
- node
- virtual
- contract
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/045—Payment circuits using payment protocols involving tickets
- G06Q20/0457—Payment circuits using payment protocols involving tickets the tickets being sent electronically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/381—Currency conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 실시예는 블록체인 특히 스마트컨트렉트 기반의 이더리움 플랫폼에서 송신자 계좌와 수신자 계좌의 연결 정보를 노출하지 않고 바우처를 익명으로 전송할 수 있도록 하는 바우처 제공방법 및 그를 위한 시스템에 관한 것이다.This embodiment relates to a method for providing a voucher and a system therefor that allow an anonymous transmission of a voucher without exposing the connection information between the sender account and the recipient account in the Ethereum platform based on a blockchain, particularly a smart contract.
Description
본 발명은 블록체인 기반의 바우처 제공방법 및 시스템에 관한 것이다. 더욱 상세하게는, 블록체인 기반의 바우처 전송 어플리케이션 등에서 바우처를 전송하는 송신자와 수신하는 바우처 수신자 사이에 연결 고리를 노출하지 않는 방법과 그 시스템 구성 방법에 관한 것이다.The present invention relates to a method and system for providing a voucher based on a blockchain. More specifically, it relates to a method of not exposing a link between a sender who transmits a voucher and a recipient of a voucher to receive it in a blockchain-based voucher transmission application and a method for configuring the system.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the present embodiment and does not constitute the prior art.
블록체인 기술은 한번 저장이 되면 모든 노드에 복사가 되고 무결성이 제공되는 시스템적인 특징을 가진 분산원장기술로써, 개인의 민감한 정보(결제정보, 서비스 이용정보, 송금내역 등)가 한번 등록이 되면 사용자의 프라이버시에 매우 큰 영향을 미치고 범죄에 악용될 수 있다는 문제가 존재한다.Blockchain technology is a distributed ledger technology with a systemic feature that provides integrity and is copied to all nodes once stored. There is a problem that it has a very large impact on the privacy of people and can be used for criminal purposes.
종래의 기술은, 암호화폐를 전송하기 위해서는 송신자가 전송하고자 하는 트랜잭션을 자신의 비밀키로 디지털서명을 한 후 전송하게 된다. 이러한, 트랜잭션에는 어떤 사용자가 암호화폐를 수신할 것인지 수신자정보가 들어있으며, 이 정보가 들어있지 않다면 누구에게 암호화폐를 송금하는지 모르기 때문에 반드시 수신자의 정보가 들어 있어야 하고 송신자의 비밀키로 디지털 서명을 해야 정상적인 거래가 이루어지게 된다. 따라서 모든 트랜잭션은 누가 보냈는지 추적이 가능한 특징이 있다.In the prior art, in order to transmit cryptocurrency, the sender digitally signs the transaction to be transmitted with his/her private key and then transmits it. Such a transaction contains the recipient information about which user will receive the cryptocurrency, and if this information is not included, the recipient's information must be included and digitally signed with the sender's private key, because it is unknown to whom the cryptocurrency is sent. Normal transactions take place. Therefore, every transaction has the characteristic of being able to trace who sent it.
이러한 특징 때문에 바우처 시스템을 블록체인 스마트컨트렉트 상에서 개발하게 된다면, 어떤 송신자 계좌가 어떤 수신자 계좌로 얼마의 바우처를 송금했는지 노출하게 된다. 즉, 수신자를 지정하지 않고 바우처를 송금한다면 바우처 스마트 컨트렉트는 수신자를 검증할 수 없게 되고 결국 송금하는 돈의 주인을 찾지 못하게 된다는 한계가 존재한다.Due to these characteristics, if a voucher system is developed on a blockchain smart contract, which sender account and how much voucher is transferred to which receiver account is exposed. In other words, if the voucher is sent without specifying the recipient, the voucher smart contract cannot verify the recipient, and there is a limit in that the owner of the money to be remitted cannot be found.
따라서, 블록체인 특히 스마트컨트렉트 기반의 이더리움 플랫폼에서 송신자 계좌와 수신자 계좌의 연결 정보를 노출하지 않고 바우처를 익명으로 전송하는 기술을 필요로 한다.Therefore, in the Ethereum platform based on blockchain, especially smart contract, a technology is required to anonymously transmit the voucher without exposing the connection information between the sender's account and the receiver's account.
본 발명은 블록체인 특히 스마트컨트렉트 기반의 이더리움 플랫폼에서 송신자 계좌와 수신자 계좌의 연결 정보를 노출하지 않고 바우처를 익명으로 전송할 수 있도록 하는 바우처 제공방법 및 그를 위한 시스템을 제공하고자 하는 데 그 목적이 있다.The purpose of the present invention is to provide a voucher providing method and a system for anonymously transmitting the voucher without exposing the connection information between the sender account and the recipient account on the Ethereum platform based on a blockchain, particularly a smart contract, and a system for the same. There is this.
본 실시예는, 바우처 수신자의 가상화폐 계정정보를 기반으로 하여 기 생성된 바우처 수신자 아이디(rid: recipient id)를 활용하여 바우처 송신을 위한 바우처 아이디(vid: voucher id)를 생성하고, 상기 바우처 아이디 및 바우처 금액을 블록체인 상에 등록하여 스마트 계약에 따른 바우처가 생성되도록 하는 바우처 송신자 노드; 상기 바우처 수신자 아이디를 생성하여 상기 블록체인 상에 등록하며, 상기 바우처 수신자 아이디를 기반으로 한 수신자 인증결과에 따라 상기 바우처에 상응하는 상기 바우처 금액을 제공받는 바우처 수신자 노드; 및 상기 블록체인 및 상기 스마트 계약에 기반하여 상기 바우처를 발행 및 관리하는 바우처 컨트렉트 노드를 포함하는 것을 특징으로 하는 바우처 제공 시스템을 제공한다.In this embodiment, based on the virtual currency account information of the voucher recipient, a voucher ID (vid: voucher id) for sending a voucher is generated using a previously created voucher recipient ID (rid: recipient id), and the voucher ID and a voucher sender node that registers the voucher amount on the blockchain to generate a voucher according to a smart contract; a voucher recipient node that generates the voucher recipient ID and registers it on the blockchain, and receives the voucher amount corresponding to the voucher according to a recipient authentication result based on the voucher recipient ID; and a voucher contract node that issues and manages the voucher based on the block chain and the smart contract.
또한, 본 실시예의 다른 측면에 의하면, 바우처 제공 시스템의 바우처 제공방법에 있어서, 바우처 수신자 노드가 바우처 수신자의 가상화폐 계정정보를 기반으로 하여 바우처 수신자 아이디를 생성하고, 상기 바우처 수신자 아이디를 블록체인 상에 등록하는 과정; 바우처 송신자 노드가 상기 바우처 수신자 아이디를 기반으로 바우처 아이디를 생성하고, 상기 바우처 아이디 및 바우처 금액을 상기 블록체인 상에 등록하여 스마트 계약에 따른 바우처가 생성되도록 하는 과정; 및 상기 바우처 수신자 노드가 상기 바우처를 수신하기 위해 바우처 컨트렉트 노드로부터 상기 바우처 수신자 아이디에 기반하는 수신자 인증을 받고, 인증결과에 따라 상기 바우처에 상응하는 상기 바우처 금액을 제공받는 과정을 포함하는 것을 특징으로 하는 바우처 제공방법을 제공한다.Further, according to another aspect of this embodiment, in the voucher providing method of the voucher providing system, the voucher recipient node generates a voucher recipient ID based on the virtual currency account information of the voucher recipient, and sets the voucher recipient ID on the blockchain the process of enrolling in; a process in which the voucher sender node generates a voucher ID based on the voucher recipient ID, and registers the voucher ID and voucher amount on the blockchain to generate a voucher according to a smart contract; and receiving, by the voucher recipient node, a recipient authentication based on the voucher recipient ID from a voucher contract node to receive the voucher, and receiving the voucher amount corresponding to the voucher according to the authentication result It provides a method of providing a voucher that is characterized.
본 실시예에 의하면, 바우처의 송신자와 수신자의 이더리움 계정정보를 트랜잭션에 포함하지 않기 때문에 송수신자의 민감한 정보를 외부에 노출하지 않고 프라이버시를 제공할 수 있는 효과가 있다.According to this embodiment, since the Ethereum account information of the sender and receiver of the voucher is not included in the transaction, there is an effect that privacy can be provided without exposing the sender's sensitive information to the outside.
또한, 본 실시예에 의하면, 바우처 수신자임을 익명으로 인증 받음과 동시에 바우처 금액을 바로 송금 받지 않고 서비스 토큰으로 발급받아 사용하게 되며, 최종 바우처 금액은 서비스 제공자에게 입금됨으로써 송금내역뿐만 아니라 서비스 사용내역에 대한 프라이버시까지 제공가능하게 되는 효과가 있다.In addition, according to this embodiment, as the recipient of the voucher is anonymously authenticated, the voucher amount is issued and used as a service token without being remitted immediately, and the final voucher amount is deposited to the service provider so that the remittance history as well as the service usage history are displayed. It has the effect of being able to provide privacy for
또한, 본 실시예 따른 블록체인에서 검증 가능한 새로운 아이디의 조합으로 개인정보를 보호하는 방법에 의하는 경우 제3자를 포함하지 않고, 실행 가능한 스마트 컨트랙트 상에서 진행되는 것이므로, 중간자 공격 등에 노출되지 않고, 어느 한쪽의 변심으로 위험에 처할 가능성도 없는 효과가 있다.In addition, in the case of the method of protecting personal information with a combination of a new verifiable ID in the block chain according to this embodiment, since it does not include a third party and proceeds on an executable smart contract, it is not exposed to man-in-the-middle attacks, etc. There is no possibility of risking a change of heart on one side.
또한, 본 실시예에 의하면 바우처 사용자 검증과정에서 아이디 생성에 중요한 요소는 검증 요청자의 실제 이더리움 주소임으로써 요청자가 제3의 인물로 가장하여 바우처 사용자인 척 거짓 요청할 수 있는 가능성이 없으므로 보안위협에 대해서도 탁월한 효과가 있다.In addition, according to this embodiment, an important factor for ID generation in the voucher user verification process is the actual Ethereum address of the verification requester, so there is no possibility that the requestor can pretend to be a voucher user and make a false request by pretending to be a third person. It also has an excellent effect.
도 1은 본 실시예에 따른 블록체인 기반의 바우처 제공 시스템을 설명하기 위한 구조도이다.
도 2는 본 실시예에 따른 익명 바우처 제공을 위한 아이덴티티 체인을 설명하기 위한 개념도이다.
도 3은 본 실시예에 따른 바우처 상태천이를 설명하기 위한 다이어그램을 도시한 도면이다.
도 4는 본 실시예에 따른 바우처 아이디 생성을 위한 단계를 설명하기 위한 개념도이다.
도 5는 본 실시예에 따른 바우처 아이디 검증을 위한 단계를 설명하기 위한 개념도이다.
도 6은 본 실시예에 따른 바우처 제공방법을 설명하기 위한 순서도이다.1 is a structural diagram for explaining a system for providing a voucher based on a block chain according to this embodiment.
2 is a conceptual diagram for explaining an identity chain for providing an anonymous voucher according to the present embodiment.
3 is a diagram illustrating a voucher state transition according to the present embodiment.
4 is a conceptual diagram for explaining the steps for generating a voucher ID according to the present embodiment.
5 is a conceptual diagram for explaining the steps for verifying a voucher ID according to the present embodiment.
6 is a flowchart illustrating a method for providing a voucher according to the present embodiment.
이하, 본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
블록 체인(Blockchain)은 트랜잭션들로 구성된 블록들로 이루어진 컴퓨터 기반의 분산형 분산 시스템으로 구현되는 전자 원장(Ledgers)이다. 각 트랜잭션은 적어도 하나의 입력과 적어도 하나의 출력을 포함한다. 각 블록은 이전 블록의 해시를 포함하여 처음부터 블록 체인에 기록된 모든 트랜잭션에 대하여 영구적이며 변경 불가능한 기록을 생성하도록 해당 블록들이 함께 연결된다.Blockchain is an electronic ledger implemented as a computer-based distributed distributed system made up of blocks composed of transactions. Each transaction includes at least one input and at least one output. Each block is linked together to create a permanent and immutable record of every transaction written to the blockchain from the beginning, including the hash of the previous block.
스마트 계약은 계약 또는 합의 조건의 실행을 자동화하도록 설계된 컴퓨터 프로그램이다. 자연어로 기재된 전통적인 계약과는 달리, 스마트 계약은 결과를 산출하기 위해 입력을 처리할 수 있는 규칙을 포함하는 기계가 실행할 수 있는 프로그램으로, 그 결과들에 따라 수행되어야 하는 액션들이 유발될 수 있다.A smart contract is a computer program designed to automate the execution of the terms of a contract or agreement. Unlike traditional contracts written in natural language, smart contracts are machine-executable programs that contain rules that can process inputs to produce results, from which actions can be triggered to be performed.
본 발명은 이러한, 블록체인 및 스마트 계약을 활용한 바우처 제공방법에 관한 것이다. 더욱 상세하게는 블록체인 기반의 바우처 전송 어플리케이션 등에서 바우처를 전송하는 송신자와 수신하는 바우처 수신자 사이에 연결 고리가 노출되지 않도록 함으로써 바우처를 익명으로 전송할 수 있도록 하는 익명 바우처 제공 서비스 구조를 제안한다.The present invention relates to a method of providing a voucher using such a block chain and smart contract. More specifically, we propose an anonymous voucher providing service structure that enables anonymous transmission of vouchers by preventing the link between the sender sending the voucher and the recipient of the receiving voucher from being exposed in a blockchain-based voucher sending application, etc.
도 1은 본 실시예에 따른 블록체인 기반의 바우처 제공 시스템을 설명하기 위한 구조도이며, 도 2는 본 실시예에 따른 익명 바우처 제공을 위한 아이덴티티 체인을 설명하기 위한 개념도이다.1 is a structural diagram for explaining a system for providing a voucher based on a blockchain according to this embodiment, and FIG. 2 is a conceptual diagram for explaining an identity chain for providing an anonymous voucher according to this embodiment.
이하, 도 1 및 도 2를 함께 참조하여, 본 실시예에 따른 블록체인 기반의 바우처 제공 시스템의 동작에 대하여 설명하도록 한다.Hereinafter, with reference to FIGS. 1 and 2 together, the operation of the blockchain-based voucher providing system according to the present embodiment will be described.
한편, 본 발명에서 블록체인은 스마트 컨트렉트 기술을 지원하는 이더리움을 기반으로 하여 구현될 수 있다.Meanwhile, in the present invention, the blockchain can be implemented based on Ethereum supporting smart contract technology.
본 실시예에 따른 바우처 제공 시스템(100)은 블록체인 네트워크를 구성하는 바우처 송신자 노드(110), 바우처 수신자 노드(120), 바우처 컨트렉트 노드(130) 및 서비스 제공자 노드(140)를 포함한다. 이때, 본 실시예에 따른 바우처 제공 시스템(100)에 포함되는 구성요소는 반드시 이에 한정되는 것은 아니다. 예컨대, 바우처 제공 시스템(100)에 있어서, 바우처 제공을 위해 블록체인 네트워크를 구성하는 노드의 종류는 서비스의 종류에 따라 도시한 것보다 많거나 적은 구성요소 또는 상이한 구성요소의 구성(Configuration)을 가질 수 있음을 인식하여야 한다.The
한편, 본 실시예에 있어서, 바우처 제공 시스템(100)의 블록체인 네트워크를 구성하는 각 노드들은 컴퓨팅 장치에서 프로그램에 의해 구현될 수 있다. 예컨대, 각 노드는 컴퓨팅 장치에서 탈중앙화 앱의 일종인 DAPP(Decentralized Application)에 의해 구현될 수 있다.Meanwhile, in this embodiment, each node constituting the blockchain network of the
이러한, DAPP에 의하는 경우 기본적으로 참여자로 하여금 블록 체인에 있는 장부를 볼 수 있고, 필요한 데이터를 입력시키고 토큰 등을 송수신 가능토록 하는 기능을 제공한다.In the case of such a DAPP, it basically provides a function that allows participants to see the ledger in the block chain, input necessary data, and transmit/receive tokens.
바우처 송신자 노드(110)는 원하는 금액의 암호화폐를 스마트 컨트렉트에 지불하고 그 금액에 해당하는 바우처를 생성하여 바우처 수신자에게 보내는 바우처 송신자용 노드를 의미한다. 이러한, 바우처 송신자 노드(110)는 이더리움 스마트 컨트랙트의 사용자 계정을 소유하고 있으며 EOA_vs(Externally Owned Account_voucher sender)로 정의될 수 있다.The
바우처 송신자 노드(110)는 스마트 컨트렉트 기술을 제공하는 블록체인인 이더리움 플랫폼상에서 바우처 컨트렉트를 통해 바우처를 생성하며, 특정 수신자만 그 바우처를 수신할 수 있도록 지정한다.The
한편, 본 실시예에 있어서, 바우처 송신자 노드(110)는 바우처를 생성함에 있어서, 바우처 수신자의 이더리움 계정을 지정하지 않고, 익명의 바우처 수신자 아이디를 지정 함으로써, 해당 바우처에 대한 송수신자 연결정보가 노출되지 않도록 동작한다.On the other hand, in this embodiment, when the
이를 위해, 바우처 송신자 노드(110)는 이더리움 계정이 드러나지 않지만, 바우처 수신자를 특정할 수 있도록 하는 새로운 아이덴티티 체인을 활용한다.To this end, the
즉, 바우처 송신자 노드(110)는 바우처 수신자의 가상화폐 계정정보를 기반으로 하여 기 생성된 바우처 수신자 아이디(rid: recipient id)를 활용하여 바우처 송신을 위한 바우처 아이디(vid: voucher id)를 생성하고, 이를 기반으로 하여 바우처가 생성될 수 있도록 동작한다.That is, the
이때 사용되는 익명의 바우처 수신자 아이디는 실제 바우처 수신자의 이더리움 계정 정보 등을 기반으로 생성되어 본인 외에 다른 사람들은 만들 수 없으며, 생성된 바우처 수신자 아이디로부터 거꾸로 바우처 수신자의 이더리움 계정을 추적할 수도 없도록 하는 특징이 있다. 동시에, 해당 바우처를 사용 요청했을 때 오직 바우처 수신자만이 진정한 사용자임을 인증 받을 수 있도록 하는 정보를 담고 있는 특징이 있다.The anonymous voucher recipient ID used at this time is generated based on the actual voucher recipient's Ethereum account information, so that no one other than you can create it, and you cannot trace the voucher recipient's Ethereum account backwards from the created voucher recipient ID. has a characteristic that At the same time, there is a feature that contains information that allows only the recipient of the voucher to be authenticated as a true user when the voucher is requested to be used.
다시 말해, 본 실시예에 따른 바우처 송신자 노드(110)는 바우처 수신자에게 바우처를 선물하되, 어떤 수신자에게 얼마의 금액을 선물하였는지 그 근거가 블록체인에 남아 있지 않도록 바우처 수신자 정보를 익명으로 처리 가능한 구조를 갖는다.In other words, the voucher sender
도 2를 참조하여 설명하면, 제안하는 아이덴티티 체인을 구성하는 각 아이디는 여러 아이디와 키 값의 종합적인 해시 값으로 생성된다. 이때, 해시함수는 입력값에 상관없이 일정 길이의 출력을 생성하고, 입력 값이 한 비트만 달라도 전혀 다른 아이디가 생성되므로, 모든 입력 요소가 정확해야 하며, 생성된 출력값으로는 거꾸로 어떤 입력을 사용했는지 추출하지 못하는 단 방향 함수의 특징을 가진다. 따라서 가상의 아이디를 공개하여도 어떤 이더리움 아이디로부터 생성되었는지 추적할 수 없어 익명성을 제공할 수 있다.Referring to FIG. 2 , each ID constituting the proposed identity chain is generated as a comprehensive hash value of several IDs and key values. At this time, the hash function generates an output of a certain length regardless of the input value, and a completely different ID is generated even if the input value is different by just one bit. It has the characteristic of a one-way function that cannot be extracted. Therefore, even if the virtual ID is disclosed, it is not possible to trace which Ethereum ID it was created from, so anonymity can be provided.
이러한, 아이덴티티 체인에 의하는 경우 바우처 송신자 노드(110)는 바우처 송신자의 가상화폐 계정정보를 대체하여 사용하기 위한 가상의 바우처 아이디(vvid: virtual voucher id)를 생성하고, 가상의 바우처 아이디 및 바우처 수신자 아이디를 기반으로 바우처 아이디(vid: voucher id)를 생성한다.In this case, according to the identity chain, the
여기서, 가상의 바우처 아이디는 바우처 송신자가 자신의 송신자 계정 외에 바우처 아이디를 사용하기 위해 생성하는 아이디로서, 바우처 송신자의 가상화폐 계정정보, rccv(randomly created new identity for voucher sender), 랜덤하게 생성한 암호텍스트의 해시 값(hnonce)을 통합한 전체 해시 값을 활용하여 생성될 수 있다(vvid=hash(EOA_vs∥rccv∥hnonce)).Here, the virtual voucher ID is an ID generated by the voucher sender to use the voucher ID in addition to his/her own sender account. It can be generated by using a full hash value that incorporates the hash value (hnonce) of the text (vvid=hash(EOA_vs|rccv|hnonce)).
바우처 아이디는 바우처 송신자가 특정 바우처 수신자에게 보내는 아이디로서, 가상의 바우처 아이디, 바우처 수신자 아이디 및 타임스탬프(time stamp)의 전체 해시 값을 활용하여 생성될 수 있다(vid=hash(rid∥vvid∥ts)). 이러한, 바우처 아이디에 의하는 경우 바우처의 주인이 누구인지 인증할 수 있다.The voucher ID is an ID that the voucher sender sends to a specific voucher recipient, and can be generated by using the full hash value of the virtual voucher ID, voucher recipient ID, and time stamp (vid=hash(rid|vvid|ts) )). In this case, it is possible to authenticate who the owner of the voucher is based on the voucher ID.
바우처 송신자 노드(110)는 바우처 아이디 및 바우처 금액을 블록체인 상에 등록하여 스마트 계약에 따른 바우처가 생성되도록 한다. 이때, 바우처 금액을 등록하는 과정은 바우처 송신자가 보내고자 하는 돈을 바우처 컨트렉트에 송금하는 것을 의미한다.The
바우처 수신자 노드(120)는 바우처 송신자가 전송한 바우처를 수신하여 바우처 금액에 해당하는 서비스 토큰을 수령할 수 있는 바우처의 주인에 상응하는 노드를 의미한다. 이러한, 바우처 수신자 노드(120)는 이더리움 스마트 컨트랙트의 사용자 계정을 소유하고 있으며 EOA_vr(Externally Owned Account_voucher recipient)로 정의될 수 있다.The
먼저, 본 실시예에 있어서, 바우처 수신자 노드(120)는 바우처 수신자의 가상화폐 계정정보를 기반으로 한 익명의 바우처 수신자 아이디를 생성하여 블록체인 상에 등록하며, 이를 기반으로 바우처 수신자에 대한 민감한 정보의 노출없이 바우처 제공 서비스를 지원받을 수 있도록 동작한다.First, in this embodiment, the
도 4를 참조하여 설명하면, 바우처 수신자 노드(120)는 총 3단계에 거쳐 바우처 수신자 아이디를 생성할 수 있다Referring to FIG. 4 , the
단계 1에서 바우처 수신자 노드(120)는 바우처 수신자에 상응하는 20바이트의 새로운 ID인 rccr(randomly created new identity for recipient)을 생성한다.In
단계 1에서 바우처 수신자 노드(120)는 이더리움 암호화 패키지(ethCypto)에서 제공되는 createNewIdentity() 기능을 사용하여 rccr을 생성할 수 있다.In
단계 2에서 바우처 수신자 노드(120)는 단계 1에서 생성한 rccr을 활용하여 바우처 수신자가 자신의 바우처 수신자 아이디를 생성하기 위하여 사용하는 가상의 수신자 아이디(rvid: virtual recipent id)를 생성한다.In step 2, the
단계 2에서 바우처 수신자 노드(120)는 rccr, 바우처 수신자의 가상화폐 계정정보, 랜덤하게 생성한 암호텍스트의 해시 값(hnonce)을 통합한 전체 해시 값을 활용하여 가상의 수신자 아이디를 생성할 수 있다(rvid=hash(EOA_vr∥rccr∥hnonce).In step 2, the
단계 3에서 바우처 수신자 노드(120)는 단계 2에서 생성한 가상의 수신자 아이디를 기반으로 바우처 수신자의 가상화폐 계정정보를 대체하여 외부에 공개되는 정보인 바우처 수신자 아이디를 생성한다.In step 3, the
단계 3에서 바우처 수신자 노드(120)는 가상의 수신자 아이디와 바우처 컨트렉트에서 생성한 타임 스템프의 해시 값으로 구성될 수 있다(rid=hash(rvid∥ts)).In step 3, the
바우처 수신자 노드(120)는 바우처 컨트렉트 노드(130)를 통해 공개되는 바우처를 수신하기 위해 바우처 수신자 아이디를 기반으로 한 바우처 컨트렉트 노드(130)로부터 수신자 인증을 받는다.The
이를 위해, 바우처 수신자 노드(120)는 바우처 수신자 아이디를 생성하는 과정에서 생성한 아이덴티티 정보인 rccr을 이용하여 서명(signature) 정보를 생성하고, 서명 정보 및 기 정의된 암호텍스트의 해시 값으로 구성되는 바우처 수신 요청신호를 바우처 컨트렉트 노드(130)로 송신할 수 있다.To this end, the
이후, 바우처 수신자 노드(120)는 바우처 컨트렉트 노드(130)로부터 바우처 수신자에 대한 인증 결과에 따라 바우처에 상응하는 바우처 금액을 제공받는다. 이때, 바우처 수신자 노드(120)는 바우처 컨트렉트 노드(130)로부터 바우처 금액에 해당하는 서비스 토큰을 제공받는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.Thereafter, the
바우처 수신자 노드(120)는 수신한 서비스 토큰을 서비스 제공자 노드(140)로 전달하고, 서비스 제공자 노드(140)로부터 서비스 토큰에 상응하는 서비스를 제공받는다.The
바우처 컨트렉트 노드(130)는 블록체인 및 스마트 계약에 기반하여 바우처를 발행 및 관리하는 기능을 수행한다. 이러한, 바우처 컨트렉트 노드(130)는 블록체인에 해당하는 스마트 컨트렉트 소프트웨어로서 이더리움 플랫폼에 배포된 바우처 컨트렉트를 의미한다.The
바우처 컨트렉트 노드(130)는 바우처 수신자 노드(120)로부터 생성된 바우처 수신자 아이디를 전달받아 블록체인 상에 등록하고, 이를 활용하여 바우처 발행 및 관리를 수행한다.The
바우처 컨트렉트 노드(130)는 바우처 송신자 노드(110)로부터 바우처 아이디 및 바우처 금액이 등록되는 경우 스마트 계약에 따라 바우처를 생성하며, 이를 활성화시켜 바우처 수신자에게 노출될 수 있도록 한다.When the voucher ID and voucher amount are registered from the
한편, 바우처 컨트렉트 노드(130)는 바우처 송신자 노드(110)로부터의 바우처 금액에 대한 송금 완료가 확인되는 경우 바우처 보다 자세하게는 블록체인 상에 등록된 바우처 금액과 관련한 정보에 바우처 수신자 아이디를 매핑시켜 바우처를 활성화시킨다.On the other hand, the
바우처 컨트렉트 노드(130)는 특정 바우처 수신자가 바우처 수신을 요청하면, 해당 바우처 수신자가 정당한 수신자인지 여부를 검증하고, 검증이 완료되는 경우 한해 바우처 수신자에게 바우처를 제공한다.When a specific voucher recipient requests receipt of a voucher, the
본 실시예에 있어서, 바우처 컨트렉트 노드(130)는 바우처 수신자 아이디를 기반으로 바우처 수신자에 대한 인증을 수행한다. 즉, 바우처 컨트렉트 노드(130)는 인증 대상이 되는 바우처 수신자가 바우처 수신자 아이디를 직접 생성한 이더리움 계정자가 맞는지를 검증함으로써 바우처 수신자에 대한 인증을 수행할 수 있다.In this embodiment, the
예컨대, 바우처 수신자 노드(120)로부터 수신한 바우처 수신 요청신호에 포함되는 서명 정보로부터 바우처 수신자 아이디를 복구하고, 복구한 바우처 수신자 아이디와 바우처 상에 매핑된 바우처 수신자 아이디가 동일한지를 검증하여 바우처 수신자에 대한 인증을 수행한다.For example, the voucher recipient ID is recovered from the signature information included in the voucher reception request signal received from the
도 5를 참조하여 설명하면, 바우처 컨트렉트 노드(130)는 총 3단계에 거처 바우처 수신자에 대한 인증을 수행할 수 있다.Referring to FIG. 5 , the
단계 1에서 바우처 컨트렉트 노드(130)는 바우처 수신 요청신호에 포함된 서명 정보로부터 rccr을 복구한다.In
단계 1에서 바우처 컨트렉트 노드(130)는 이더리움 암호화 패키지의 recoverSigner() 기능을 사용하여 rccr을 복구할 수 있다. 이때, 복구된 rccr은 rccr'로 표기될 수 있다.In
단계 2에서 바우처 컨트렉트 노드(130)는 단계 1에서 복구된 rccr'을 이용하여 rvid'를 복구한다.In step 2, the
단계 2에서 rvid'를 복구하는 과정에서 이용되는 EOA_vr은 검증을 요청하는 바우처 수신자의 이더리움 주소로서 이더리움에서 제공하는 msg.sender 기능을 통해 제공될 수 있으며, 저장하거나 요청하여 묻는 방식이 아니라 시스템 상에서 요청자의 주소를 이용하는 것이므로 거짓 정보를 사용할 수 없게 된다.The EOA_vr used in the process of recovering 'rvid' in step 2 is the Ethereum address of the recipient of the voucher requesting verification, and it can be provided through the msg.sender function provided by Ethereum. Since the requester's address is used in the above, false information cannot be used.
단계 3에서 바우처 컨트렉트 노드(130)는 단계 2에서 복구된 rvid'를 이용하여 rid'를 복구한다.In step 3, the
이후, 바우처 컨트렉트 노드(130)는 복구된 rid'와 바우처와 매핑된 rid가 같다면 인증을 요청한 사용자는 해당 바우처의 수신 자격이 있는 바우처 수신자인 것으로 검증한다. 이때, 각 rid가 상이한 경우에는 최초에 바우처 수신자가 생성한 서명 정보에 다른 ID가 사용된 것이거나, 바우처 수신을 요청하는 수신자의 이더리움 주소가 원래 주인의 주소와 같지 않다는 것이기 때문에 검증에 실패하게 된다.Thereafter, the
바우처 컨트렉트 노드(130)는 바우처 수신자에 대한 인증이 완료되는 경우 바우처 금액에 해당하는 서비스 토큰을 바우처 수신자 노드(120)로 발행한다.The
한편, 블록체인에 한번 등록된 정보는 삭제나 수정이 어렵다는 한계가 존재한다. 이 점에 기인하여, 바우처 컨트렉트 노드(130)는 하나의 바우처와 관련한 이벤트 발생정보에 맞춰 바우처의 상태정보를 지속적으로 업데이트시킴으로써 바우처 상태를 유연하게 적용 가능토록 동작한다.On the other hand, there is a limitation that it is difficult to delete or modify information once registered in the block chain. Due to this, the
도 3은 바우처의 상태정보에 따른 바우처 상태 천이 다이어그램을 예시한 예시도이다.3 is an exemplary diagram illustrating a voucher state transition diagram according to the state information of the voucher.
도 3을 참조하면, 바우처 컨트렉트 노드(130)는 바우처 아이디가 생성되는 경우 바우처 상태정보를 created 단계로 전환한다(S302). 한편, 바우처 아이디가 생성된 것은 바우처 수신자 아이디와 관련한 해싱이 이루어졌다는 뜻이므로 유효한 바이처 수신자 아이디가 이미 바우처 아이디 생성에 사용된 것을 의미한다.Referring to FIG. 3 , the
바우처 컨트렉트 노드(130)는 바우처 송신자가 보내고자 하는 돈이 바우처 컨트렉트에 송금 완료되었는지 여부를 확인하고(S302), 송금 완료가 확인되면 바우처의 상태정보를 delivered로 전환한다(S303). 이러한, delivered 상태는 바우처에 대하여 바우처 수신자의 수신이 가능한 상태임을 의미한다. 이때, 바우처가 바우처 수신자에 의해 accepted 되기 전까지는 바우처 송신자는 바우처의 전송을 취소할 수 있다.The
바우처 컨트렉트 노드(130)는 바우처 수신자가 자신에게 전송된 바우처를 확인하고 수신을 결정하면(S304), 바우처 상태정보를 accepted 상태로 전환한다(S305). 한편, 바우처가 accepted 상태로 전환되는 경우 바우처 송신자도 바우처의 전송을 취소할 수 없게 된다.The
바우처 컨트렉트 노드(130)는 바우처 수신자가 바우처 한도 내에서 원하는 금액을 서비스 토큰으로 발행 요청하면, 바우처 상태정보를 micro-payed 상태로 전환한다(S306).The
바우처 컨트렉트 노드(130)는 바우처 금액이 다 소진되면 바우처 상태를 transferred 상태로 전환하고, 바우처 상태 천이를 종료한다(S307).When the voucher amount is exhausted, the
한편, 바우처 컨트렉트 노드(130)는 바우처 수신자가 바우처 수신을 accepted하기 전에 바우처 송신을 취소하면, 바우처 상태를 cancelled 상태로 전환한다(S308).On the other hand, if the
바우처 컨트렉트 노드(130)는 바우처가 전송된 경우라도, 바우처 수신자가 바우처 수신을 거절하면 바우처의 상태정보를 rejected 상태로 전환한다(S309). 이 경우, 바우처 금액은 바우처 송신자가 환불 요청 시 환불될 수 있다.Even when the voucher is transmitted, the
바우처 컨트렉트 노드(130)는 바우처 송신자가 취소요청하여 cancelled 되었건, 바우처 수신자가 수신을 거절하여 rejected 되었을 경우, 바우처 송신자가 환불 요청을 하면 바우처 상태를 refunded 상태로 전환한다.The
서비스 제공자 노드(140)는 바우처 수신자로부터 바우처 금약에 해당하는 서비스 토큰을 제공받아 암호화 화폐로 교환하고, 암호화 화폐에 상응하는 서비스를 바우처 수신자에게 제공한다. 서비스 제공자는 이더리움 스마트 컨트렉트의 사용자 계정을 소유하고 있으며, EOA_sp(Externally Owned Account_service provider)로 표기될 수 있다.The
도 6은 본 실시예에 따른 바우처 제공방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method for providing a voucher according to the present embodiment.
바우처 수신자 노드(120)는 바우처 수신자의 가상화폐 계정정보를 기반으로 한 익명의 바우처 수신자 아이디를 생성하고, 생성한 바우처 수신자 아이디를 블록체인 상에 등록한다(S602). 단계 S602에서 바우처 수신자 노드(120)는 바우처 수신자에 상응하는 가상의 수신자 아이디를 생성하고, 가상의 수신자 아이디와 타임스템프를 기반으로 바우처 수신자 아이디를 생성한다.The
바우처 송신자 노드(110)는 단계 S602에서 생성된 바우처 수신자 아이디를 기반으로 바우처 아이디를 생성하고, 생성한 바우처 아이디 및 바우처 금액을 블록체인 상에 등록한다(S604). 단계 S604에서 바우처 송신자 노드(110)는 가상의 바우처 아이디를 생성하고, 가상의 바우처 아이디 및 바우처 수신자 아이디를 기반으로 바우처 아이디를 생성한다.The
바우처 수신자 노드(120)는 바우처를 수신하기 위해 바우처 컨트렉트 노드(130)로부터 바우처 수신자 아이디에 기반하는 수신자 인증을 받고, 인증결과에 따라 바우처에 상응하는 바우처 금액을 제공받는다(S606). 단계 S606에서 바우처 컨트렉트 노드(130)는 바우처 수신자 노드(120)로부터 수신한 바우처 수신 요청신호에 포함되는 서명 정보로부터 바우처 수신자 아이디를 복구하고, 복구한 바우처 수신자 아이디와 바우처 상에 매핑된 바우처 수신자 아이디가 동일한지를 검증하여 바우처 수신자에 대한 인증을 수행한다.The
여기서, 단계 S602 내지 S606은 앞서 설명된 바우처 제공 시스템의 각 구성요소의 동작에 대응되므로 더 이상의 상세한 설명은 생략한다.Here, since steps S602 to S606 correspond to the operation of each component of the voucher providing system described above, further detailed description will be omitted.
도 6에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 6에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 6은 시계열적인 순서로 한정되는 것은 아니다.Although it is described that each process is sequentially executed in FIG. 6 , the present invention is not limited thereto. In other words, since it may be applicable to changing and executing the process described in FIG. 6 or executing one or more processes in parallel, FIG. 6 is not limited to a time series sequence.
전술한 바와 같이 도 6에 기재된 바우처 제공 시스템의 바우처 제공방법은 프로그램으로 구현되고 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 기록될 수 있다.As described above, the voucher providing method of the voucher providing system described in FIG. 6 is implemented as a program and readable recording medium (CD-ROM, RAM, ROM, memory card, hard disk, magneto-optical disk, storage device, etc.).
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of this embodiment, and various modifications and variations will be possible by those skilled in the art to which this embodiment belongs without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are intended to explain rather than limit the technical spirit of the present embodiment, and the scope of the technical spirit of the present embodiment is not limited by these embodiments. The protection scope of this embodiment should be interpreted by the following claims, and all technical ideas within the equivalent range should be interpreted as being included in the scope of the present embodiment.
100: 바우처 제공 시스템 110: 바우처 송신자 노드
120: 바우처 수신자 노드 130: 바우처 컨트렉트 노드
140: 서비스 제공자 노드100: Voucher providing system 110: Voucher sender node
120: voucher recipient node 130: voucher contract node
140: service provider node
Claims (12)
상기 바우처 수신자 아이디를 생성하여 상기 블록체인 상에 등록하며, 상기 바우처 수신자 아이디를 기반으로 한 수신자 인증결과에 따라 상기 바우처에 상응하는 상기 바우처 금액을 제공받는 바우처 수신자 노드; 및
상기 블록체인 및 상기 스마트 계약에 기반하여 상기 바우처를 발행 및 관리하는 바우처 컨트렉트 노드
를 포함하는 것을 특징으로 하는 바우처 제공 시스템.Based on the virtual currency account information of the voucher recipient, create a voucher ID (vid: voucher id) for sending the voucher by using the previously created voucher recipient ID (rid: recipient id), and block the voucher ID and voucher amount a voucher sender node that registers on the chain to generate a voucher according to a smart contract;
a voucher recipient node that generates the voucher recipient ID and registers it on the blockchain, and receives the voucher amount corresponding to the voucher according to a recipient authentication result based on the voucher recipient ID; and
A voucher contract node that issues and manages the voucher based on the blockchain and the smart contract
Voucher providing system comprising a.
상기 바우처 송신자 노드는,
바우처 송신자의 가상화폐 계정정보를 대체하여 사용하기 위한 가상의 바우처 아이디(vvid: virtual voucher id)를 생성하고, 상기 가상의 바우처 아이디 및 상기 바우처 수신자 아이디를 기반으로 상기 바우처 아이디를 생성하는 것을 특징으로 하는 바우처 제공 시스템.The method of claim 1,
The voucher sender node,
Creating a virtual voucher id (vvid) for use as a substitute for the virtual currency account information of the voucher sender, and generating the voucher ID based on the virtual voucher ID and the voucher recipient ID Voucher providing system.
상기 바우처 송신자 노드는,
상기 바우처 송신자의 가상화폐 계정정보, rccv(randomly created new identity for voucher sender), 랜덤하게 생성한 암호텍스트의 해시 값(hnonce)을 통합한 전체 해시 값을 활용하여 상기 가상의 바우처 아이디를 생성하며,
상기 가상의 바우처 아이디, 상기 바우처 수신자 아이디 및 타임스탬프(time stamp)의 전체 해시 값을 활용하여 상기 바우처 아이디를 생성하는 것을 특징으로 하는 바우처 제공 시스템.3. The method of claim 2,
The voucher sender node,
The virtual voucher ID is generated by using the entire hash value integrating the virtual currency account information of the voucher sender, rccv (randomly created new identity for voucher sender), and the hash value (hnonce) of the randomly generated cipher text,
Voucher providing system, characterized in that generating the voucher ID by using the virtual voucher ID, the voucher recipient ID and the entire hash value of the time stamp (time stamp).
상기 바우처 수신자 노드는,
상기 바우처 수신자에 상응하는 가상의 수신자 아이디(rvid: virtual recipent id)를 생성하고, 상기 가상의 수신자 아이디와 타임스템프를 기반으로 상기 바우처 수신자의 가상화폐 계정정보를 대체하여 외부에 공개되는 정보인 상기 바우처 수신자 아이디를 생성하는 것을 특징으로 하는 바우처 제공 시스템.The method of claim 1,
The voucher recipient node,
Generates a virtual recipient ID (rvid: virtual recipent id) corresponding to the voucher recipient, and replaces the virtual currency account information of the voucher recipient based on the virtual recipient ID and timestamp. Voucher providing system, characterized in that for generating a voucher recipient ID.
상기 바우처 수신자 노드는,
상기 바우처 수신자에 상응하는 새로운 아이덴티티 정보인 rccr(randomly created new identity for recipient)을 생성하고, 상기 rccr, 상기 바우처 수신자의 가상화폐 계정정보, 랜덤하게 생성한 암호텍스트의 해시 값(hnonce)을 통합한 전체 해시 값을 활용하여 가상의 수신자 아이디를 생성하는 것을 특징으로 하는 바우처 제공 시스템.5. The method of claim 4,
The voucher recipient node,
Generates rccr (randomly created new identity for recipient), which is new identity information corresponding to the voucher recipient, and integrates the rccr, virtual currency account information of the voucher recipient, and hash value (hnonce) of the randomly generated cryptographic text A system for providing a voucher, characterized in that it generates a virtual recipient ID by using the entire hash value.
상기 바우처 수신자 노드는,
상기 바우처 수신자 아이디를 생성하는 과정에서 생성한 아이덴티티 정보인 rccr을 이용하여 서명(signature) 정보를 생성하고, 상기 서명 정보 및 기 정의된 암호텍스트의 해시 값으로 구성되는 바우처 수신 요청신호를 상기 바우처 컨트렉트 노드로 전달하는 것을 특징으로 하는 바우처 제공 시스템.The method of claim 1,
The voucher recipient node,
Generates signature information using rccr, which is the identity information generated in the process of generating the voucher recipient ID, and sends a voucher reception request signal composed of a hash value of the signature information and a predefined cipher text to the voucher controller A system for providing a voucher, characterized in that it is delivered to a tract node.
상기 바우처 컨트렉트 노드는,
상기 바우처 금액에 대한 송금 완료가 확인되는 경우 상기 바우처 상에 상기 바우처 수신자 아이디를 매핑시켜 상기 바우처를 활성화시키는 것을 특징으로 하는 바우처 제공 시스템.The method of claim 1,
The voucher contract node is
When it is confirmed that the remittance of the voucher amount is completed, the voucher providing system characterized in that the voucher is activated by mapping the voucher recipient ID on the voucher.
상기 바우처 컨트렉트 노드는,
상기 바우처 아이디가 생성되는 경우 바우처 상태정보를 생성(created) 단계로 전환하고, 상기 매핑이 이루어지는 경우 상기 바우처의 상태정보를 전달(delivered) 단계로 전환하며, 상기 바우처와 관련한 이벤트 발생정보에 맞춰 상기 바우처의 상태정보를 지속적으로 업데이트시키는 것을 특징으로 하는 바우처 제공 시스템.8. The method of claim 7,
The voucher contract node is
When the voucher ID is generated, the voucher status information is converted to a created step, and when the mapping is made, the voucher status information is converted to a delivered step, and according to the event occurrence information related to the voucher Voucher providing system, characterized in that the status information of the voucher is continuously updated.
상기 바우처 컨트렉트 노드는,
상기 바우처 수신자 노드로부터 수신한 바우처 수신 요청신호에 포함되는 서명 정보로부터 바우처 수신자 아이디를 복구하고, 복구한 바우처 수신자 아이디와 상기 바우처 상에 매핑된 바우처 수신자 아이디가 동일한지를 검증하여 상기 바우처 수신자에 대한 인증을 수행하는 것을 특징으로 하는 바우처 제공 시스템.The method of claim 1,
The voucher contract node is
Authenticate the voucher recipient by recovering the voucher recipient ID from the signature information included in the voucher reception request signal received from the voucher recipient node, and verifying that the recovered voucher recipient ID and the voucher recipient ID mapped on the voucher are the same Voucher providing system, characterized in that to perform.
상기 바우처 컨트렉트 노드는,
상기 바우처 수신자에 대한 인증이 완료되는 경우 상기 바우처 금액에 해당하는 서비스 토큰을 상기 바우처 수신자 노드로 발행하는 것을 특징으로 하는 바우처 제공 시스템.10. The method of claim 9,
The voucher contract node is
When authentication of the voucher recipient is completed, a service token corresponding to the voucher amount is issued to the voucher recipient node.
상기 바우처 수신자로부터 상기 바우처 금액에 해당하는 서비스 토큰을 제공받아 암호화 화폐로 교환하고, 상기 암호화 화폐에 상응하는 서비스를 상기 바우처 수신자에게 제공하는 서비스 제공자 노드를 더 포함하는 것을 특징으로 하는 바우처 제공 시스템.The method of claim 1,
Voucher providing system, characterized in that it further comprises a service provider node that receives a service token corresponding to the voucher amount from the voucher recipient, exchanges it with cryptocurrency, and provides a service corresponding to the cryptocurrency to the voucher recipient.
바우처 수신자 노드가 바우처 수신자의 가상화폐 계정정보를 기반으로 하여 바우처 수신자 아이디를 생성하고, 상기 바우처 수신자 아이디를 블록체인 상에 등록하는 과정;
바우처 송신자 노드가 상기 바우처 수신자 아이디를 기반으로 바우처 아이디를 생성하고, 상기 바우처 아이디 및 바우처 금액을 상기 블록체인 상에 등록하여 스마트 계약에 따른 바우처가 생성되도록 하는 과정; 및
상기 바우처 수신자 노드가 상기 바우처를 수신하기 위해 바우처 컨트렉트 노드로부터 상기 바우처 수신자 아이디에 기반하는 수신자 인증을 받고, 인증결과에 따라 상기 바우처에 상응하는 상기 바우처 금액을 제공받는 과정
을 포함하는 것을 특징으로 하는 바우처 제공방법.In the voucher providing method of the voucher providing system,
A process in which the voucher recipient node generates a voucher recipient ID based on the virtual currency account information of the voucher recipient, and registers the voucher recipient ID on the block chain;
a process in which the voucher sender node generates a voucher ID based on the voucher recipient ID, and registers the voucher ID and voucher amount on the blockchain to generate a voucher according to a smart contract; and
A process in which the voucher recipient node receives recipient authentication based on the voucher recipient ID from the voucher contract node to receive the voucher, and receives the voucher amount corresponding to the voucher according to the authentication result
Voucher providing method comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200029568A KR102331971B1 (en) | 2020-03-10 | 2020-03-10 | Method and System for Providing Voucher based Blockchain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200029568A KR102331971B1 (en) | 2020-03-10 | 2020-03-10 | Method and System for Providing Voucher based Blockchain |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210114585A KR20210114585A (en) | 2021-09-24 |
KR102331971B1 true KR102331971B1 (en) | 2021-11-26 |
Family
ID=77914847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200029568A KR102331971B1 (en) | 2020-03-10 | 2020-03-10 | Method and System for Providing Voucher based Blockchain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102331971B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190096211A (en) * | 2018-02-08 | 2019-08-19 | 주식회사 케이티 | Platform and Method for managing An Electronic Gift Certificate based on Block Chain |
KR102602782B1 (en) * | 2018-06-16 | 2023-11-16 | 조현준 | The Method to protect and use Private Information utilizing Shared Nickname Identification |
-
2020
- 2020-03-10 KR KR1020200029568A patent/KR102331971B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20210114585A (en) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809608B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
US20210194701A1 (en) | Systems and methods for creating a universal record | |
JP7108611B2 (en) | Electronic bill management method, device and storage medium | |
AU2018349940B2 (en) | System and method for information protection | |
US20200127813A1 (en) | Method and system for creating a user identity | |
JP7377312B2 (en) | Systems and methods realized by blockchain | |
CN109102269B (en) | Transfer method and device based on block chain, block chain node and storage medium | |
US20170344983A1 (en) | BIXCoin: A Secure Peer-to-Peer Payment System Based on the Public Payments Ledger | |
US11108566B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
WO2018197491A1 (en) | Method and system for settling a blockchain transaction | |
WO2021008453A1 (en) | Method and system for offline blockchain transaction based on identifier authentication | |
JP6293716B2 (en) | Anonymous communication system and method for joining the communication system | |
CN109274505A (en) | A kind of anonymous electronic voting method based on block chain technology | |
CN113947394A (en) | Block chain-based fair payment method for deletable duplicate data in cloud storage | |
US20200374140A1 (en) | Block-chain based identity system | |
CN113393225A (en) | Digital currency encryption payment method and system | |
CN111915308A (en) | Transaction processing method of blockchain network and blockchain network | |
US7603320B1 (en) | Method and system for protecting sensitive information and preventing unauthorized use of identity information | |
KR20180052838A (en) | Method for Operating Safety Remittance by using Unchangeable Double Record based on Verification of the Remittee | |
KR20200051135A (en) | Method for connecting dapp service with cryptocurrency wallet server and cryptocurrency wallet server therefor | |
KR102331971B1 (en) | Method and System for Providing Voucher based Blockchain | |
CN110363513A (en) | Payment unions method and apparatus based on block chain | |
CN113094748B (en) | Realization method of authenticatable anonymous E-commerce evaluation mechanism based on blockchain | |
CN111062833A (en) | Signature authentication method of contract data and related device | |
JP2006195844A (en) | Method for managing transfer of electronic right through minimal transaction, right transfer process apparatus, right transfer management apparatus for right transfer device, and its program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |