KR102363804B1 - Node for verifying and publishing Crypto currency and System paying using Crypto currency - Google Patents
Node for verifying and publishing Crypto currency and System paying using Crypto currency Download PDFInfo
- Publication number
- KR102363804B1 KR102363804B1 KR1020190132434A KR20190132434A KR102363804B1 KR 102363804 B1 KR102363804 B1 KR 102363804B1 KR 1020190132434 A KR1020190132434 A KR 1020190132434A KR 20190132434 A KR20190132434 A KR 20190132434A KR 102363804 B1 KR102363804 B1 KR 102363804B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic check
- node
- cryptocurrency
- verification
- check
- 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/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/403—Solvency checks
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
Abstract
본 문서에 개시되는 일 실시 예에 따른 블록체인 시스템 외부의 암호 화폐 검증 노드는, 상기 블록체인 시스템에 각기 속하는 발행 노드 및 수령 노드와 통신할 수 있는 통신 회로; 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 상기 발행 노드로부터 스마트 컨트랙트(smart contract)에 예치된 암호 화폐를 지급하기 위한 전자 수표에 대한 검증 요청을 수신하고, 상기 전자 수표에 기반한 암호 화폐의 지급 가능성을 확인하고, 상기 암호 화폐를 지급 가능하면, 상기 전자 수표를 전자 서명한 후 전자 수표 정보를 상기 전자 수표와 관련하여 상기 메모리에 저장하고, 상기 수령 노드로 상기 암호 화폐를 지급하기 위하여, 상기 전자 서명된 전자 수표를 상기 발행 노드로 송신하도록 설정될 수 있다.The cryptocurrency verification node outside the blockchain system according to an embodiment disclosed in this document includes a communication circuit capable of communicating with the issuing node and the receiving node belonging to the blockchain system; Memory; and a processor, wherein the processor receives a verification request for an electronic check for disbursing cryptocurrency deposited in a smart contract from the issuing node, and the possibility of payment of cryptocurrency based on the electronic check to confirm, and if it is possible to pay the cryptocurrency, after electronically signing the electronic check, store electronic check information in the memory in connection with the electronic check, and pay the cryptocurrency to the receiving node, the electronic signature The electronic check may be configured to be sent to the issuing node.
Description
본 문서에서 개시되는 다양한 실시 예들은, 암호 화폐 거래 기술과 관련된다.Various embodiments disclosed in this document relate to cryptocurrency trading technology.
온라인에서 블록체인 기판의 암호 화폐가 사용 및 통용되고 있다. 암호 화폐는 온라인 또는 오프라인 상의 재화나 서비스 구매에 이용될 수 있다. 종래의 신용 화폐(fiat currency)와는 달리, 암호 화폐는 중앙권한이나 은행이 없는 운영을 위해 블록체인 시스템에 기초하여 구현된다.Blockchain-based cryptocurrency is being used and used online. Cryptocurrency can be used to purchase goods or services online or offline. Unlike conventional fiat currency, cryptocurrency is implemented based on a blockchain system for operation without a central authority or bank.
블록체인(block chain) 시스템은 새로운 거래가 발생할 때마다 거래 내역을 담은 블록을 생성하고, 현 블록의 해시 코드와 이전 블록의 해시 코드를 이용하여 시스템 내 다른 블록과 사슬(chain) 같이 연결하는 공공 장부를 시스템 내 복수의 노드에 분산 저장한다. 블록체인 시스템 내 거래자 노드(예: 발행 노드, 수령 노드)는 거래 전에 자체 저장된 장부들을 다른 노드들에 송부하고, 다른 노드들로 하여금 각기 저장하고 있는 장부들과 대조하도록 하여 자체 저장된 장부들의 신뢰성을 검증한다.The block chain system creates a block containing the transaction details whenever a new transaction occurs, and uses the hash code of the current block and the hash code of the previous block to connect with other blocks in the system as a chain. distributed and stored in multiple nodes in the system. In the blockchain system, trader nodes (e.g., issuing nodes, receiving nodes) send their own stored books to other nodes before a transaction, and have other nodes compare them with the books they store to ensure the reliability of the self-stored books. verify
블록체인 시스템은 모든 거래들이 블록체인 시스템에 기록되는 온 체인(on chain) 방식과 핵심 데이터만 블록체인 시스템에 기록되고 일부 데이터(예: 빠른 속도 처리가 필요한 데이터)는 다른 시스템에 기록되는 오프 체인 방식이 있다. The blockchain system is an on-chain method in which all transactions are recorded in the blockchain system, and an off-chain method in which only core data is recorded in the blockchain system, and some data (eg, data requiring high-speed processing) is recorded in another system. There is a way.
온 체인 방식의 블록체인 시스템은 기록 내용이 많으므로, 연산 비용이 높고 처리 속도가 느리고 너무 많은 정보가 공개됨에 따라 프라이버시가 침해되는 문제가 있다. 반면, 오프 체인 방식의 블록체인 시스템은 연산 비용이 낮고 처리 속도는 빠르지만, 블록체인 외부에서 이뤄지는 거래의 신뢰성을 보장할 수 없다는 문제가 있다.Since the on-chain blockchain system has a lot of records, there are problems such as high computation cost, slow processing speed, and invasion of privacy as too much information is disclosed. On the other hand, the off-chain blockchain system has a low computational cost and high processing speed, but has a problem in that it cannot guarantee the reliability of transactions made outside the blockchain.
본 문서에 개시되는 다양한 실시 예들은 블록체인 상에서 암호 화폐를 이용한 거래의 처리 속도 및 신뢰성을 높이면서 연산 비용을 낮출 수 있는 암호 화폐 검증 노드, 발행 노드 및 결제 시스템을 제공할 수 있다.Various embodiments disclosed in this document may provide a cryptocurrency verification node, an issuance node, and a payment system that can reduce computation costs while increasing the processing speed and reliability of transactions using cryptocurrency on a block chain.
본 문서에 개시되는 일 실시 예에 따른 검증 노드는, 상기 블록체인 시스템에 각기 속하는 발행 노드 및 수령 노드와 통신할 수 있는 통신 회로; 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 상기 발행 노드로부터 스마트 컨트랙트(smart contract)에 예치된 암호 화폐를 지급하기 위한 전자 수표에 대한 검증 요청을 수신하고, 상기 전자 수표에 기반한 암호 화폐의 지급 가능성을 확인하고, 상기 암호 화폐를 지급 가능하면, 상기 전자 수표를 전자 서명한 후 전자 수표 정보를 상기 전자 수표와 관련하여 상기 메모리에 저장하고, 상기 수령 노드로 상기 암호 화폐를 지급하기 위하여, 상기 전자 서명된 전자 수표를 상기 발행 노드로 송신하도록 설정될 수 있다.A verification node according to an embodiment disclosed in this document may include a communication circuit capable of communicating with an issuing node and a receiving node, respectively, belonging to the block chain system; Memory; and a processor, wherein the processor receives a verification request for an electronic check for disbursing cryptocurrency deposited in a smart contract from the issuing node, and the possibility of payment of cryptocurrency based on the electronic check to confirm, and if it is possible to pay the cryptocurrency, after electronically signing the electronic check, store electronic check information in the memory in connection with the electronic check, and pay the cryptocurrency to the receiving node, the electronic signature The electronic check may be configured to be sent to the issuing node.
또한, 본 문서에 개시되는 일 실시 예에 따른 블록체인 시스템에 속하는 발행 노드는, 상기 블록체인 시스템에 속하는 수령 노드 및 상기 블록체인 시스템 외부의 검증 노드와 통신할 수 있는 통신 회로; 및 프로세서를 포함하고, 상기 프로세서는, 스마트 컨트랙트에 암호 화폐를 예치하고, 상기 수령 노드로 상기 암호 화폐를 지급하기 위한 전자 수표를 발행하고, 상기 전자 수표에 관련된 암호 화폐의 지급에 대한 검증을 상기 검증 노드로 요청하고, 상기 검증 노드가 상기 암호 화폐의 지급을 검증함에 따라 전자 서명한 전자 수표를 수신하면, 상기 암호 화폐의 지급이 가능한 것으로 결정하고, 상기 수신된 전자 수표를 상기 검증 노드로 송신하여, 상기 수신된 전자 수표에 기반한 암호 화폐를 상기 검증 노드로 지급하도록 설정될 수 있다.In addition, the issuing node belonging to the block chain system according to an embodiment disclosed in this document may include a communication circuit capable of communicating with a receiving node belonging to the block chain system and a verification node outside the block chain system; and a processor, wherein the processor deposits cryptocurrency in a smart contract, issues an electronic check for disbursing the cryptocurrency to the receiving node, and performs verification of payment of cryptocurrency related to the electronic check. When a request is made to a verification node and the verification node receives an electronically signed electronic check as the verification node verifies the payment of the cryptocurrency, it is determined that the payment of the cryptocurrency is possible, and the received electronic check is sent to the verification node Thus, it may be set to pay the cryptocurrency based on the received electronic check to the verification node.
또한, 본 문서에 개시되는 일 실시 예에 따른 암호 화폐 결제 시스템은 암호 화폐 결제 시스템은, 암호 화폐를 예치 및 지급할 수 있는 스마트 컨트랙트; 상기 스마트 컨트랙트를 이용하여 상기 스마트 컨트랙트(smart contract)에 예치된 암호 화폐를 지급하기 위한 전자 수표를 발행할 수 있는 발행 노드; 상기 스마트 컨트랙트를 이용하여 상기 전자 수표를 검증할 수 있는 검증 노드; 및 상기 검증 노드를 통한 검증을 거쳐 상기 전자 수표와 관련된 암호 화폐를 수령할 수 있는 발행 노드를 포함하고, 상기 검증 노드는, 상기 발행 노드로부터 상기 암호 화폐를 지급하기 위한 전자 수표에 대한 검증 요청을 수신하고, 상기 발행 노드로부터 상기 발행된 전자 수표에 대한 검증 요청을 수신하고, 상기 전자 수표에 기반한 암호 화폐의 지급 가능성을 확인하고, 상기 암호 화폐를 지급 가능하면, 상기 전자 수표를 전자 서명하고, 전자 서명된 전자 수표 정보를 저장하고, 상기 전자 서명된 전자 수표를 상기 발행 노드로 송신할 수 있다.In addition, the cryptocurrency payment system according to an embodiment disclosed in this document is a cryptocurrency payment system, a smart contract capable of depositing and paying cryptocurrency; an issuance node capable of issuing an electronic check for disbursing cryptocurrency deposited in the smart contract using the smart contract; a verification node capable of verifying the electronic check using the smart contract; and an issuing node capable of receiving cryptocurrency related to the electronic check through verification through the verification node, wherein the verification node receives a verification request for the electronic check for dispensing the cryptocurrency from the issuing node. receiving, receiving a verification request for the issued electronic check from the issuing node, confirming the payability of cryptocurrency based on the electronic check, and electronically signing the electronic check if the cryptocurrency is payable; store electronically signed electronic check information, and transmit the electronically signed electronic check to the issuing node.
본 문서에 개시되는 다양한 실시 예들에 따르면, 블록체인 상에서 암호 화폐를 이용한 거래의 처리 속도 및 신뢰성을 높이면서 연산 비용을 낮출 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.According to various embodiments disclosed in this document, it is possible to increase the processing speed and reliability of transactions using cryptocurrencies on the block chain, while reducing the computational cost. In addition, various effects directly or indirectly identified through this document may be provided.
도 1은 일 실시예에 따른 암호 화폐 결제 시스템을 나타낸다.
도 2는 일 실시예에 따른 암호 화폐 결제 시스템에 포함된 노드의 구성도를 나타낸다.
도 3은 일 실시예에 따른 암호 화폐 결제 방법의 흐름도를 나타낸다.
도 4는 일 실시예에 따른 스마트 컨트랙트에 의한 발행될 전자 수표 검증 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 검증 노드에 의한 발행된 전자 수표 검증 방법을 나타낸다.
도 6은 일 실시예에 따른 거래 과정에서의 스마트 컨트랙트에 의한 전자 수표 검증 방법을 나타낸다.
도 7은 일 실시예에 따른 거래 과정에서의 검증 노드에 의한 전자 수표 검증 방법을 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.1 shows a cryptocurrency payment system according to an embodiment.
2 shows a configuration diagram of a node included in a cryptocurrency payment system according to an embodiment.
3 is a flowchart of a cryptocurrency payment method according to an embodiment.
4 is a view for explaining a method of verifying an electronic check to be issued by a smart contract according to an embodiment.
5 illustrates a method of verifying an electronic check issued by a verification node according to an embodiment.
6 illustrates an electronic check verification method by a smart contract in a transaction process according to an embodiment.
7 illustrates an electronic check verification method by a verification node in a transaction process according to an embodiment.
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.
도 1은 일 실시예에 따른 암호 화폐 결제 시스템을 나타낸다.1 shows a cryptocurrency payment system according to an embodiment.
도 1을 참조하면, 일 실시예에 따른 암호 화폐 결제 시스템(100)은 스마트 컨트랙트(smart contract)(130), 발행 노드(110), 수령 노드(120) 및 검증 노드(140)를 포함할 수 있다. 스마트 컨트랙트(130), 발행 노드(110) 및 수령 노드(120)는 블록체인 시스템(block chain)(또는, 블록체인 데이터베이스)에 속할 수 있다. 검증 노드(140)는 블록체인 시스템의 외부에서 스마트 컨트랙트(130), 발행 노드(110) 및 수령 노드(120)와 유선 또는 무선 통신할 수 있다. 블록체인 시스템은 발행 노드(110) 및 수령 노드(120)를 포함하는 복수의 노드들을 포함할 수 있다. Referring to FIG. 1 , the
일 실시예에 따르면, 스마트 컨트랙트(130)는 실행 가능한 바이트 코드로 컴파일되어, 블록체인 시스템을 구성하는 복수의 노드들(예: 발행 노드(110), 수령 노드(120)) 및 블록체인 시스템 외부의 검증 노드(140)에서 실행될 수 있는 소스 코드일 수 있다. 스마트 컨트랙트(130)는 특정 조건이 만족되면 특정 조건에 따른 지정된 처리를 수행할 수 있다. 상기 지정된 처리는 예를 들면, 암호 화폐 예치, 전자 수표 발행, 전자 수표의 지급 가능성 검증, 전자 수표의 유효성 검증 및 암호 화폐 수령 중 적어도 하나를 포함할 수 있다. 스마트 컨트랙트(130)는 상기 지정된 처리를 위한 트랜잭션(transaction)(또는, 거래) 메시지를 생성할 수 있다. 스마트 컨트랙트(130)는 블록체인 시스템에 포함된 복수의 노드들 중 적어도 일부 노드에 저장 및 실행될 수 있다.According to one embodiment, the
일 실시예에 따르면, 발행 노드(110)는 암호 화폐를 이용하여 재화 또는 서비스를 구매하고자 하는 사용자의 전자 장치일 수 있다. 발행 노드(110)는 스마트 컨트랙트(130)에 암호 화폐를 예치할 수 있다. 발행 노드(110)는 스마트 컨트랙트(130)를 이용(예: 호출)하여, 암호 화폐 중 적어도 일부 화폐를 수령 노드(120)에 지급하기 위한, 전자 수표를 발행할 수 있다. 발행 노드(110)는 발행 노드의 비밀 키에 기반하여 제1 전자 서명하고, 검증 노드(140)로 검증 노드(140)에 의한 제2 전자 서명(또는, 전자 수표의 지급 가능성 검증)을 요청할 수 있다. 발행 노드(110)는 검증 노드(140)로부터 검증 노드(140)의 검증을 거쳐 제2 전자 서명된 전자 수표를 수신할 수 있다. 발행 노드(110)는 수령 노드(120)로 암호 화폐를 지급하기 위하여, 제1 및 제2 전자 서명된 전자 수표를 수령 노드(120)로 송신할 수 있다. 발행 노드(110)는 예를 들면, PC 또는 스마트폰을 포함할 수 있다.According to an embodiment, the issuing
일 실시예에 따르면, 수령 노드(120)는 암호 화폐를 이용하여 재화 또는 서비스를 판매하는 사용자의 전자 장치일 수 있다. 수령 노드(120)는 발행 노드(110)로부터 전자 수표를 수신하면, 전자 수표에 포함된 전자 서명에 기반하여 수신된 전자 수표의 유효성을 검증할 수 있다. 예를 들어, 수령 노드(120)는 전자 수표에 포함된 정보(예: 전자 서명 정보 또는 거래 정보)에 기반하여 전자 수표에 지정된 전자 서명이 포함되는지를 확인함에 따라 전자 수표의 유효성을 검증할 수 있다. 수령 노드(120)는 수신된 전자 수표에 포함된 적어도 일부 정보(예: 해시 값, 거래 금액)를 검증 노드(140)에 저장된 정보와 비교함에 따라 상기 전자 수표의 유효성을 검증할 수 있다. 수령 노드(120)는 예를 들면, POS(point of sale) 단말, PC를 포함할 수 있다.According to an embodiment, the
일 실시예에 따르면, 검증 노드(140)는 암호 화폐를 이용한 거래의 유효성을 검증하는 사용자의 전자 장치(예: 검증 서비스 서버)일 수 있다. 검증 노드(140)는 발행 노드(110)로부터 제1 전자 서명된 전자 수표를 수신하고, 스마트 컨트랙트(130)를 이용하여 전자 수표의 지급 가능성(또는, 유효성)을 검증할 수 있다. 검증 노드(140)는 전자 수표가 지급 가능하면, 전자 수표에 제2 전자 서명하고, 제2 전자 서명된 전자 수표를 발행 노드(110)로 송신할 수 있다. 이 경우, 검증 노드(140)는 전자 수표 정보를 검증 노드(140)의 자체 메모리에 저장할 수 있다. 상기 전자 수표 정보는 예를 들면, 전자 수표의 해시 값, 전자 수표에 의한 거래 금액 및 전자 수표 및 이전 전자 수표 중 미지급된 전자 수표의 총액 중 적어도 하나를 포함할 수 있다. According to an embodiment, the
일 실시예에 따르면, 검증 노드(140)는 수령 노드(120)로부터 전자 수표에 대한 유효성 검증 요청을 수신하면, 전자 수표에 포함된 적어도 일부 정보(예: 해당 전자 수표의 해시 값 및 거래 금액)가 전자 수표 정보와 일치하는지를 확인할 수 있다. 검증 노드(140)는 상기 적어도 일부 정보가 전자 수표 정보와 일치하면, 전자 수표가 유효한 것으로 결정할 수 있다. 검증 노드(140)는 PC, 서비스(예: 전자 수표 검증 서비스) 제공 서버를 포함할 수 있다.According to an embodiment, when the
상술한 실시예에 따르면, 암호 화폐 결제 시스템(100)(예: 발행 노드(110))은 전자 수표를 발행할 때 전자 수표의 지급 가능성을 검토함에 따라 발행된 전자 수표의 신뢰성을 높일 수 있다. 또한, 암호 화폐 결제 시스템(100)(예: 수령 노드(120)) 전자 수표를 지급 받을 때에 스마트 컨트랙트(130) 및 검증 노드(140)를 통해 전자 수표의 유효성을 검증함에 따라, 위/변조된 전자 수표를 지급받고 재화 또는 서비스를 제공하는 것을 방지할 수 있다. 또한, 암호 화폐 결제 시스템(100)은 전자 수표의 지급 가능성 또는 유효성을 오프체인에서 검증(또는, 확인)함에 따라 암호 화폐 거래의 처리 속도를 높이고 처리 비용을 낮출 수 있다.According to the above-described embodiment, the cryptocurrency payment system 100 (eg, the issuing node 110) may increase the reliability of the issued electronic check by examining the payability of the electronic check when issuing the electronic check. In addition, when the cryptocurrency payment system 100 (eg, the receiving node 120) receives the electronic check payment, as the validity of the electronic check is verified through the
도 2는 일 실시예에 따른 암호 화폐 결제 시스템에 포함된 노드의 구성도를 나타낸다.2 shows a configuration diagram of a node included in a cryptocurrency payment system according to an embodiment.
도 2를 참조하면, 일 실시예에 따른 노드(200)(예: 발행 노드(110), 수령 노드(120) 또는 검증 노드(140))는 통신 회로(210), 메모리(220) 및 프로세서(230)를 포함할 수 있다. 일 실시예에서, 노드(200)는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함할 수 있다. 또한, 노드(200)의 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다. 예를 들어, 메모리(220)는 프로세서(230)에 포함될 수 있다. 노드(200)는 발행 노드(110), 수령 노드(120) 또는 검증 노드(140)로 동작할 수 있다. 경우에 따라서, 발행 노드(110)는 수령 노드(120)로 동작하고 수령 노드(120)는 발행 노드(110)로 동작할 수 있다. 하지만, 검증 노드(140)는 발행 노드(110) 또는 수령 노드(120)로 동작 불가한 발행 노드(110) 및 수령 노드(120)와는 별개의 장치일 수 없다. 도 2의 일부 설명에서는 노드(200)가 발행 노드(110), 수령 노드(120) 또는 검증 노드(140)로 동작하는 경우를 구분하여 설명한다.Referring to FIG. 2 , a node 200 (eg, an issuing
통신 회로(210)는 블록체인 시스템에 속하는 발행 노드(110) 및 수령 노드(120) 및 블록체인 시스템 외부의 검증 노드(140) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 발행 노드(110), 수령 노드(120)와 검증 노드(140)는 통신 회로(210)를 통해 통신하지만, 이하의 문서에서는 설명의 편의성을 위하여 통신 회로(210)에 대한 언급을 생략할 수 있다.The
메모리(220)는 노드(200)의 적어도 하나의 구성요소(예: 프로세서(230))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는 예를 들어, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(220)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.The
프로세서(230)는 노드(200)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)(예: 스마트 컨트랙트)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 프로세서(230)는 예를 들어, 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 애플리케이션 프로세서(application processor), 주문형 반도체(ASIC(application specific integrated circuit), FPGA(field programmable gate arrays)) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다. The
< 발행 노드 동작 >< Publish node operation >
노드(200)가 발행 노드(110)일 때, 프로세서(230)는 블록체인 시스템에 배포된 오프체인 거래를 위한 스마트 컨트랙트(130)를 수신하고, 스마트 컨트랙트(130)에 거래에 사용될 암호 화폐를 예치할 수 있다. 이 과정에서, 스마트 컨트랙트(130)에는, 암호 화폐에 관련된 사용자 정보(예: 이름, 계좌 정보, 이더리움 계정 정보), 또는 지갑 정보(예: 지갑 주소, 잔액) 중 적어도 일부를 포함하는, 암호 화폐 정보가 저장될 수 있다.When the
프로세서(230)는 예치된 암호 화폐의 적어도 일부를 이용하여 재화 또는 서비스의 대금을 (수령 노드(120)로) 지급하기 위해서 전자 수표를 발행할 수 있다. 예를 들어, 프로세서(230)는 스마트 컨트랙트(130)를 호출하여 수령인의 지갑 주소 및 거래 금액을 설정(또는, 입력)함에 따라 전자 수표를 발행할 수 있다. 상기 전자 수표는 거래 정보 예컨대, 암호 화폐에 관련된 이전 전자 수표(예: 이전에 발행된 전자 수표)의 해시 값, 수령 노드(120)의 지갑 주소, 거래 금액, 발행 시간 또는 블록 넘버(block number) 중 적어도 하나를 포함할 수 있다. The
프로세서(230)는 발행된 전자 수표에 노드(200)의 비밀 키(private key)에 기반하여 제1 전자 서명할 수 있다. 프로세서(230)는 제1 전자 서명된 전자 수표를 검증 노드(140)로 송신함에 따라 검증 노드(140)로 상기 전자 수표의 지급 가능성에 대한 검증 요청을 송신할 수 있다. 프로세서(230)는 검증 노드(140)가 전자 수표를 검증한 후 검증 노드(140)의 비밀 키에 기반하여 제2 전자 서명한 전자 수표를 검증 노드(140)로부터 수신할 수 있다. The
프로세서(230)는 전자 수표에 관련된 암호 화폐를 재화 또는 서비스의 대금으로 수령 노드(120)에게 지급하기 위해서 제2 전자 서명된 전자 수표를 수령 노드(120)로 송신할 수 있다.The
< 수령 노드 동작>< Receiving node operation >
노드(200)가 수령 노드(120)일 때, 프로세서(230)는 발행 노드(110)로부터 전자 수표를 수신하면, 스마트 컨트랙트(130)를 호출하여 전자 수표의 유효성을 검증할 수 있다. 예를 들어, 프로세서(230)는 전자 수표에 포함된 정보(예: 제1 전자 서명 정보 및 제2 전자 서명 정보)가 스마트 컨트랙트(130)에 저장된 정보(예: 제1 전자 서명 정보 및 제2 전자 서명 정보)와 일치하는지에 기반하여 전자 수표의 유효성을 제1 검증할 수 있다. 프로세서(230)는 예를 들면, 전자 수표에 포함된 제1 및 제2 전자 서명 정보가 스마트 컨트랙트(130)에 저장된 제1 및 제2 전자 서명 정보와 일치하는지를 확인하고, 일치하면 전자 수표의 유효성이 제1 검증된 것으로 결정할 수 있다. When the
프로세서(230)는 전자 수표에 포함된 정보가 검증 노드(140)에 저장된 정보와 일치하는지에 기반하여 전자 수표의 유효성을 제2 검증할 수 있다. 예를 들어, 프로세서(230)는 전자 수표에 포함된 적어도 일부 정보(예: 해시 값, 거래 금액)가 검증 노드(140)에 저장된 전자 수표 정보와 일치하는지를 확인하고, 상호 일치하면 전자 수표의 유효성이 제2 검증된 것으로 결정할 수 있다. 상기 전자 수표 정보는 예를 들면, 전자 수표의 해시 값, 전자 수표에 의한 거래 금액 및 전자 수표 및 이전 전자 수표 중 미지급된 전자 수표의 총액 중 적어도 하나를 포함할 수 있다.The
프로세서(230)는 전자 수표의 유효성이 제1 검증 및 제2 검증되면, 전자 수표가 유효한 것으로 확인할 수 있다. 이 경우, 프로세서(230)는 출력 장치(예: 디스플레이 또는 스피커)를 통해 전자 수표가 유효함을 안내(예: 출력)할 수 있다. When the validity of the electronic check is first verified and the second verified, the
프로세서(230)는 스마트 컨트랙트(130)를 이용하여 전자 수표에 관련된 암호 화폐를 수령할 수 있다. 예를 들어, 프로세서(230)는 통신 회로(210)를 통해 스마트 컨트랙트(130)에 전자 수표를 송신함에 따라 스마트 컨트랙트(130)에 암호 화폐 출력 요청을 송신할 수 있다. 프로세서(230)는 요청에 대한 응답으로 스마트 컨트랙트(130)로부터 수령 노드(120)의 지갑 주소로 암호 화폐를 수령할 수 있다. 추가적으로 또는 대체적으로, 프로세서(230)는 암호 화폐를 실물 화폐로 변환하고 실물 화폐를 수령할 수 있다.The
< 검증 노드 동작 >< Verification node operation >
노드(200)가 검증 노드(140)일 때, 프로세서(230)는 발행 노드(110)로부터 제1 전자 서명된 전자 수표에 대한 검증 요청을 수신하면, 제1 전자 서명된 전자 수표의 지급 가능성을 검증할 수 있다. 예를 들어, 프로세서(230)는 전자 수표에 포함된 거래 정보로부터 전자 수표의 거래 금액을 확인하고, 스마트 컨트랙트(130)를 이용하여 전자 수표에 관련된 암호 화폐의 잔액을 확인할 수 있다. 프로세서(230)는 전자 수표의 거래 금액이 암호 화폐의 잔액 이하인지를 확인하고, 전자 수표의 거래 금액이 암호 화폐의 잔액 이하이면, 전자 수표가 지급 가능한 것으로 결정할 수 있다. 추가적으로 또는 대체적으로, 프로세서(230)는 암호 화폐의 잔액이 전자 수표의 거래 금액 이하이면, 이전에 발행된 전자 수표 중 미지급된 전자 수표의 총합을 확인할 수 있다. 프로세서(230)는 확인된 총합과 현재 전자 수표의 거래 금액을 합산하고, 합산된 총액이 암호 화폐의 잔액 이하인지를 확인할 수 있다. 프로세서(230)는 상기 합산된 총액이 암호 화폐의 잔액 이하이면, 전자 수표를 지급 가능한 것으로 결정할 수 있다. 다른 예를 들어, 프로세서(230)는 제1 전자 서명된 전자 수표에 포함되어 있는 거래 정보에 기반하여 이전 전자 수표를 해시 값을 확인하고, 자체 메모리에 저장된 이전 전자 수표(이전에 발행된 전자 수표)의 해시 값을 확인할 수 있다. 프로세서(230)는 전자 수표에 포함된 이전 전자 수표의 해시 값이 자체 저장된 이전 전자 수표의 해시 값과 일치하는지를 확인하고, 전자 수표에 포함된 이전 전자 수표의 해시 값이 자체 저장된 이전 전자 수표의 해시 값과 일치하면 전자 수표를 지급 가능한 것으로 결정할 수 있다. 다양한 실시예에 따르면, 프로세서(230)는 암호 화폐의 잔액, 전자 수표의 거래 금액, 미지급된 전자 수표 총합 및 이전 전자 수표의 해시 값을 모두 이용하여 전자 수표의 지급 가능성을 확인할 수 있다.When the
프로세서(230)는 전자 수표를 지급 가능하면, 검증 노드(140)의 비밀 키에 기반하여 전자 수표를 제2 전자 서명하고, 제2 전자 서명된 전자 수표를 발행 노드(110)로 송신할 수 있다. 프로세서(230)는 제2 전자 서명 정보(예: 제2 전자 서명된 전자 수표)를 메모리(220)에 저장할 수 있다. 이 과정에서, 프로세서(230)는 제2 전자 서명된 전자 수표와 관련된 암호 화폐와 관련하여 스마트 컨트랙트(130)에 저장할 수 있다.If the electronic check is payable, the
프로세서(230)는 수령 노드(120)로부터 전자 수표를 수신하면, 수신된 전자 수표에 포함된 적어도 일부 정보가 메모리(220)에 저장된 전자 수표 정보와 일치하는지를 확인할 수 있다. 프로세서(230)는 상기 적어도 일부 정보가 전자 수표 정보와 일치하면, 수신된 전자 수표의 유효성이 제2 검증할 수 있다. 이 경우, 프로세서(230)는 수신된 전자 수표의 유효성이 제2 검증되었음을 수령 노드(120)에 안내할 수 있다.When receiving the electronic check from the receiving
상술한 실시예에 따르면, 발행 노드(110)는 전자 수표를 발행할 때 전자수표의 지급 가능성을 검토함에 따라 발행된 전자 수표의 신뢰성을 높일 수 있다. 또한, 수령 노드(120)는 전자 수표를 수신한 때에 스마트 컨트랙트(130) 및 검증 노드(140)를 통해 전자 수표의 유효성을 검증함에 따라, 위/변조된 전자 수표를 지급받고 재화 또는 서비스를 제공하는 것을 방지할 수 있다. 또한, 각 노드(200)는 전자 수표의 지급 가능성 또는 유효성을 오프체인에서 검증(또는, 확인)함에 따라 암호 화폐 거래의 처리 속도를 높이고 처리 비용을 낮출 수 있다.According to the above-described embodiment, the issuing
도 3은 일 실시예에 따른 암호 화폐 결제 방법의 흐름도를 나타낸다.3 is a flowchart of a cryptocurrency payment method according to an embodiment.
도 3을 참조하면, 동작 ①에서, 발행 노드(110)는 암호 화폐를 스마트 컨트랙트(130)에 예치할 수 있다. 예를 들어, 발행 노드(110)는 수령인의 조작에 따라, 스마트 컨트랙트(130)는 암호 화폐에 관련된 사용자 정보(예: 이름, 계좌 정보, 이더리움 계정 정보), 또는 지갑 정보(예: 지갑 주소, 잔액) 중 적어도 일부를 포함하는 암호 화폐 정보를 저장할 수 있다.Referring to FIG. 3 , in operation ①, the issuing
동작 ②에서, 발행 노드(110)는 재화 또는 서비스의 대금을 결제하기 위해서 상기 예치된 암호 화폐와 관련된 전자 수표를 발행할 수 있다. 상기 전자 수표는 예를 들면, 암호 화폐에 관련된 이전 전자 수표(예: 이전에 발행된 전자 수표)의 해시 값, 수령 노드(120)의 지갑 주소, 거래 금액, 발행 시간 또는 블록 넘버(block number) 중 적어도 하나를 거래 정보로서 포함할 수 있다.In operation ②, the issuing
동작 ③에서, 발행 노드(110)는 발행 노드(110)의 비밀 키에 기반하여 전자 수표를 제1 전자 서명할 수 있다. In operation ③, the issuing
동작 ④에서, 발행 노드(110)는 제1 전자 서명된 전자 수표를 검증 노드(140)로 송신하여, 제1 전자 서명된 전자 수표의 지급 가능성에 대한 검증을 요청할 수 있다.In operation ④, the issuing
동작 ⑤에서, 검증 노드(140)는 스마트 컨트랙트(130)를 이용하여 전자 수표의 지급 가능성을 검증할 수 있다. 예를 들어, 검증 노드(140)는 전자 수표에 포함된 거래 정보에 기반하여 전자 수표의 거래 금액을 확인하고, 스마트 컨트랙트(130)와 통신하여 전자 수표에 관련된 암호 화폐의 잔액을 확인할 수 있다. 검증 노드(140)는 전자 수표의 거래 금액이 암호 화폐의 잔액 이하인지를 확인하고, 전자 수표의 거래 금액이 암호 화폐의 잔액 이하이면, 예컨대, 자체 메모리(220)에 저장된 전자 수표 정보에 기반하여 이전 전자 수표 중 미지급된 전자 수표의 총합을 확인할 수 있다. 검증 노드(140)는 미지급된 전자 수표의 총합과 현재 전자 수표의 거래 금액을 합산하고, 합산된 총액이 암호 화폐의 잔액 이하인지를 확인할 수 있다. 검증 노드(140)는 상기 합산된 총액이 암호 화폐의 잔액 이하이면, 전자 수표를 지급 가능한 것으로 결정할 수 있다. 추가적으로, 검증 노드(140)는 전자 수표에 포함되어 있는 거래 정보 및 검증 노드(140)의 자체 메모리로부터 이전 전자 수표(이전에 발행된 전자 수표)의 해시 값을 확인할 수 있다. 프로세서(230)는 상기 거래 정보에 따른 이전 전자 수표의 해시 값이 이전 전자 수표의 해시 값과 일치하는지를 확인하고, 상호 일치하면 전자 수표에 기반하여 암호 화폐를 지급 가능한 것으로 결정할 수 있다. In operation ⑤, the
동작 ⑥에서, 검증 노드(140)는 전자 수표에 기반하여 암호 화폐를 지급 가능하면, 전자 수표에 제2 전자 서명하고, 제2 전자 서명된 전자 수표의 전자 수표 정보를 검증 노드(140)의 자체 메모리에 저장할 수 있다.In operation ⑥, if the
동작 ⑦에서, 검증 노드(140)는 제2 전자 서명된 전자 수표를 발행 노드(110)로 송신할 수 있다.In operation ⑦, the
동작 ⑧에서, 발행 노드(110)는 검증 노드(140)로부터 제2 전자 서명된 전자 수표를 수신한 후 재화나 서비스의 대금을 지급하기 위하여 제1 및 제2 전자 서명된 전자 수표를 수령 노드(120)로 송신할 수 있다.In operation ⑧, the issuing
동작 ⑨에서, 수령 노드(120)는 발행 노드(110)로부터 전자 수표를 수신하면, 수신된 전자 수표의 위/변조 여부를 확인하기 위하여 스마트 컨트랙트(130)를 이용하여 전자 수표의 유효성을 검증할 수 있다. 예를 들어, 발행 노드(110)는 수신된 전자 수표를 스마트 컨트랙트(130)로 송신하고, 수신된 전자 수표의 유효성에 대한 제1 검증을 요청할 수 있다. 스마트 컨트랙트(130)는 스마트 컨트랙트(130)에 저장된 제1 및 제2 전자 서명 정보가 수신된 전자 수표에 포함되어 있는지를 확인하고, 제1 및 제2 전자 서명 정보가 수신된 전자 수표에 포함되어 있으면, 전자 수표의 유효성을 제1 검증할 수 있다. 스마트 컨트랙트(130)는 전자 수표의 유효성이 제1 검증된 것을 수령 노드(120)에 안내할 수 있다.In operation ⑨, when receiving the electronic check from the issuing
동작 ⑩에서, 수령 노드(120)는 전자 수표에 포함된 정보가 검증 노드(140)에 저장된 정보와 일치하는지에 기반하여 전자 수표의 유효성을 제2 검증할 수 있다. 예를 들어, 수령 노드(120)는 수신된 전자 수표를 검증 노드(140)에 송신하고, 검증 노드(140)에 수신된 전자 수표의 유효성에 대한 제2 검증을 요청할 수 있다. 검증 노드(140)는 수신된 전자 수표의 적어도 일부 정보가 검증 노드(140)의 자체 메모리에 저장된 전자 수표 정보에 대응하는지를 확인하고, 상기 적어도 일부 정보가 상기 전자 수표 정보에 대응하면, 전자 수표의 유효성이 제2 검증된 것으로 결정할 수 있다. 검증 노드(140)는 전자 수표의 유효성이 제2 검증된 것을 수령 노드(120)에 안내할 수 있다. In
동작 ⑪에서, 수령 노드(120)는 제1 및 제2 검증된 전자 수표를 스마트 컨트랙트(130)에 송신함에 따라 전자 수표에 관련된 암호 화폐 출금을 요청할 수 있다. 이후, 스마트 컨트랙트(130)는 수령 노드(120)의 지갑 주소로 암호 화폐를 출금할 수 있다.In operation ⑪, the receiving
이하, 도 4 내지 도 7를 참조하여 일 실시예에 따른 전자 수표를 다중 검증하는 암호 화폐 결제 시스템의 효과를 설명한다.Hereinafter, the effect of the cryptocurrency payment system for multiple verification of the electronic check according to an embodiment will be described with reference to FIGS. 4 to 7 .
도 4는 일 실시예에 따른 스마트 컨트랙트에 의한 발행될 전자 수표 검증 방법을 설명하기 위한 도면이다.4 is a view for explaining a method of verifying an electronic check to be issued by a smart contract according to an embodiment.
도 4를 참조하면, 일 실시예에 따른 스마트 컨트랙트(130)를 통해 발행된 전자 수표들(410, 420, 430)은 각기 이전 발행된 전자 수표의 해시 값(예: 411), 해당 전자 수표의 해시 값(예: 413), 지갑 주소(to)(예: 413) 및 거래 금액(Amount)(예: 100)를 포함할 수 있다. 또한, 발행 노드(110)가 전자 수표들(410, 420, 430)에 제1 전자 서명하면, 전자 수표들(410, 420, 430)은 발행 노드(110)에 의한 제1 전자 서명(415)를 더 포함할 수 있다.Referring to FIG. 4 , the
스마트 컨트랙트(130)는 발행 노드(110)의 요청에 따라 전자 수표들(410, 420, 430)을 발행할 수 있다. 예를 들어, 스마트 컨트랙트(130)는 암호 화폐의 잔고(451)가 120원이고 이전 지급된 전자 수표의 해시 값이 #0일 때, 거래 금액을 100원으로 하는 전자 수표들(410, 420)을 발행할 수 있다. 다른 예를 들어, 스마트 컨트랙트(130)는 암호 화폐의 잔고(451)가 120원이고 이전 지급된 전자 수표의 해시 값이 #0일 때, 거래 금액이 120원으로 하는 전자 수표(430)을 발행할 수 있다. 또 다른 예를 들어, 스마트 컨트랙트(130)는 암호 화폐의 잔고(451)가 120원이고 이전 지급된 전자 수표의 해시 값이 #0일 때, 거래 금액을 130원으로 하는 전자 수표(440)의 발행을 거부할 수 있다. 또는, 스마트 컨트랙트(130)는 암호 화폐의 잔고(451)가 120원이고 이전 지급된 전자 수표의 해시 값이 #0일 때, 거래 금액을 130원으로 하는 전자 수표(440)에 대하여 해시 값을 생성하지 않을 수 있다.The
상술한 실시예에 따르면, 스마트 컨트랙트(130)는 암호 화폐의 잔고를 초과하는 금액의 전자 수표를 발행하지 않을 수 있다.According to the above-described embodiment, the
도 5는 일 실시예에 따른 검증 노드에 의한 발행된 전자 수표 검증 방법을 나타낸다.5 illustrates a method of verifying an electronic check issued by a verification node according to an embodiment.
도 5를 참조하면, 검증 노드(140)는 발행 노드(110)로부터 이전 전자 수표의 해시 값이 #0이고 현재 전자 수표의 해시 값 #1001 및 거래 금액 10원으로 하는 현재 전자 수표에 대한 검증 요청을 수신할 수 있다. 이 경우, 현재 전자 수표는 발행 노드(110)에 의한 제1 전자 서명(531)을 포함할 수 있다. 검증 노드(140)는 스마트 컨트랙트(130)를 이용하여 현재 전자 수표에 관련된 암호 화폐의 잔액이 120이고, 이전 지급된 전자 수표의 해시 값이 #0인 것을 확인할 수 있다. 이 경우, 미지급된 전자 수표가 없고 현재 전자 수표의 거래 금액이 암호 화폐의 잔액 이하이므로, 검증 노드(140)는 현재 전자 수표에 제2 전자 서명(532)할 수 있다. 검증 노드(140)는 제2 전자 서명된 전자 수표(511)를 발행 노드(110)로 송신할 수 있다. Referring to FIG. 5 , the
검증 노드(140)는 발행 노드(110)로부터 이전 전자 수표의 해시 값이 #1001이고 현재 전자 수표의 해시 값 #2312 및 거래 금액 100원으로 하며, 제1 전자 서명(531)을 포함하는 전자 수표에 대한 검증 요청을 수신할 수 있다. 검증 노드(140)는 스마트 컨트랙트(130)를 이용하여 현재 전자 수표에 관련된 암호 화폐의 잔액이 120이고 이전 지급된 전자 수표의 해시 값이 #0인 것을 확인할 수 있다. 검증 노드(140)는 미지급된 전자 수표가 있으므로, 현재 전자 수표의 거래 금액 100원과 미지급된 전자 수표의 총액 10원을 합산한 금액이 암호 화폐의 잔고 이하인지를 확인할 수 있다. 합산된 금액이 암호 화폐의 잔고 이하이므로, 검증 노드(140)는 현재 전자 수표에 제2 전자 서명(532)하고, 제2 전자 서명된 전자 수표(512)를 발행 노드(110)로 송신할 수 있다.The
이후, 검증 노드(140)는 발행 노드(110)로부터 이전 전자 수표의 해시 값이 #2312이고 해당 전자 수표의 해시 값 #4712 및 거래 금액 120원으로 하며, 제1 전자 서명(531)을 포함하는 전자 수표에 대한 검증 요청을 수신할 수 있다. 검증 노드(140)는 스마트 컨트랙트(130)를 이용하여 현재 전자 수표에 관련된 암호 화폐의 잔액이 120이고 이전 지급된 전자 수표의 해시 값이 #0인 것을 확인할 수 있다. 검증 노드(140)는 현재 전자 수표의 거래 금액 120원과 미지급된 전자 수표의 총액 110원을 합산하고, 합산된 금액이 암호 화폐의 잔고를 초과하는 것을 확인할 수 있다. 검증 노드(140)는 전자 수표(513)에 전자 서명하지 않고, 해당 전자 수표를 지급 불가함을 발행 노드(110)에 안내할 수 있다. 이와 유사하게, 검증 노드(140)는 이전 전자 수표의 해시 값이 #4712이고 해당 전자 수표의 해시 값을 포함하지 않고, 거래 금액이 120원이며 제1 전자 서명(531)을 포함하는 전자 수표에 대한 검증 요청을 수신하는 경우에, 현재 전자 수표(514)의 서명하지 않고, 현재 전자 수표(514)에 기반하여 암호 화폐를 지급 불가함을 발행 노드(110)에 안내할 수 있다.After that, the
상술한 실시예에 따르면, 검증 노드(140)는 암호 화폐의 잔액보다 낮은 금액을 출금하는 복수의 전자 수표들을 발행함에 따라 전자 수표에 따른 총 출금액이 암호 화폐의 잔액을 초과하는 문제점을 개선할 수 있다.According to the above-described embodiment, as the
도 6은 일 실시예에 따른 거래 과정에서의 스마트 컨트랙트에 의한 전자 수표 검증 방법을 나타낸다.6 illustrates an electronic check verification method by a smart contract in a transaction process according to an embodiment.
도 6을 참조하면, 수령 노드(120)는 발행 노드(110)로부터 전자 수표들(610, 620, 630, 640)를 수신하면, 스마트 컨트랙트(130)를 이용하여 수신된 전자 수표들(610, 620, 630, 640)의 유효성을 제1 검증할 수 있다. 수령 노드(120)는 스마트 컨트랙트(130)가 전자 수표들(610, 620, 630, 640)의 유효성을 제1 검증하도록, 전자 수표들(610, 620, 630, 640)을 각기 스마트 컨트랙트(130)에 송신할 수 있다. 스마트 컨트랙트(130)는 전자 수표들(610, 620, 630, 640) 중 제1 전자 서명(651) 및 제2 전자 서명(652)을 둘 다 포함하는 전자 수표들(610, 620)의 유효성을 제1 검증할 수 있다. 반면, 스마트 컨트랙트(130)는 전자 수표들(610, 620, 630, 640) 중 제1 전자 서명(651) 및 제2 전자 서명(652)를 둘 다 포함하지 않는 전자 수표들(630, 640)을 유효하지 않은 것으로 결정할 수 있다. Referring to FIG. 6 , the receiving
상술한 실시예에 따르면, 수령 노드(120)는 전자 수표들(610, 620, 630, 640)을 수신한 때에 스마트 컨트랙트(130)를 이용하여 수신된 전자 수표들(610, 620, 630, 640)의 유효성을 검증함에 따라, 수령인이 위/변조된 전자 수표들(610, 620, 630, 640)을 지급 받고 재화나 서비스를 제공하는 것을 방지할 수 있다.According to the embodiment described above, the receiving
도 7은 일 실시예에 따른 거래 과정에서의 검증 노드에 의한 전자 수표 검증 방법을 나타낸다.7 illustrates an electronic check verification method by a verification node in a transaction process according to an embodiment.
도 7을 참조하면, 수령 노드(120)는 검증 노드(140)에 전자 수표들(610, 620, 630, 640)을 송신하여, 전자 수표들(610, 620, 630, 640)의 유효성을 제2 검증할 수 있다. Referring to FIG. 7 , the receiving
검증 노드(140)는 수령 노드(120)의 요청에 따라 수신된 전자 수표(610)로부터 현재 전자 수표의 해시 값(#1011)을 확인하고, 확인된 해시 값에 대응하는 자체 메모리에 저장되어 있는 전자 수표 정보(710)를 검색할 수 있다. 검증 노드(140)는 수신된 전자 수표(610)의 적어도 일부 정보(예: 현재 전자 수표의 해시 값, 거래 금액)가 전자 수표 정보(710)와 일치하면, 전자 수표(610)가 유효한(또는, 전자 수표(610)의 유효성이 제2 검증된) 것으로 결정할 수 있다. 추가적으로 또는, 대체적으로, 검증 노드(140)는 수신된 전자 수표(610)에 전자 수표 정보(710)에 따른 제1 전자 서명(651) 및 제2 전자 서명(652)이 포함되면, 전자 수표(610)가 유효한(또는, 전자 수표(610)의 유효성이 제2 검증된) 것으로 결정할 수 있다. 이와 유사하게, 검증 노드(140)는 수신된 전자 수표(620)과 자체 메모리에 저장되어 있는 전자 수표 정보(720)에 기반하여 전자 수표(620)의 유효성을 제2 검증할 수 있다.The
검증 노드(140)는 전자 수표들(630, 640)의 해시 값(#4712, 8821)에 대응하는 전자 수표 정보가 메모리에 저장되어 있지 않으므로, 전자 수표들(630, 640)이 유효하지 않은 것으로 결정할 수 있다. Since the electronic check information corresponding to the hash values #4712 and 8821 of the
상술한 실시예에 따르면, 수령 노드(120)는 전자 수표들(610, 620, 630, 640)을 수신한 때에 스마트 컨트랙트(130) 이외에도 검증 노드(140)를 이용하여 수신된 전자 수표들(610, 620, 630, 640)의 유효성을 추가 검증할 수 있어, 위/변조된 전자 수표들(610, 620, 630, 640)의 통용을 방지할 수 있다.According to the above-described embodiment, the receiving
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, but it should be understood to include various modifications, equivalents, or substitutions of the embodiments. In connection with the description of the drawings, like reference numerals may be used for similar or related components. The singular form of the noun corresponding to the item may include one or more of the item, unless the relevant context clearly dictates otherwise. As used herein, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "A; Each of the phrases such as "at least one of B, or C" may include any one of, or all possible combinations of, items listed together in the corresponding one of the phrases. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish the element from other elements in question, and may refer to elements in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is "coupled" or "connected" to another (eg, second) component, with or without the terms "functionally" or "communicatively". When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. As used herein, the term “module” may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit. A module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions. For example, according to an embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(1401)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(1436) 또는 외장 메모리(1438))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(1440))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(1401))의 프로세서(예: 프로세서(1420))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 1436 or external memory 1438) readable by a machine (eg, electronic device 1401). may be implemented as software (eg, a program 1440) including For example, a processor (eg, processor 1420 ) of a device (eg, electronic device 1401 ) may call at least one command among one or more commands stored from a storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the called at least one command. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. The computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg: smartphones). In the case of online distribution, at least a part of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, a module or a program) of the above-described components may include a singular or a plurality of entities. According to various embodiments, one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg, a module or a program) may be integrated into one component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. or one or more other operations may be added.
Claims (19)
상기 블록체인 시스템에 각기 속하는 발행 노드 및 수령 노드와 통신할 수 있는 통신 회로;
메모리; 및
프로세서를 포함하고, 상기 프로세서는,
상기 발행 노드로부터 스마트 컨트랙트(smart contract)에 예치된 암호 화폐를 지급하기 위한 전자 수표에 대한 검증 요청을 수신하고,
상기 전자 수표에 기반한 암호 화폐의 지급 가능성을 확인하고,
상기 암호 화폐를 지급 가능하면, 상기 전자 수표를 전자 서명한 후 전자 수표 정보를 상기 전자 수표와 관련하여 상기 메모리에 저장하고,
상기 수령 노드로 상기 암호 화폐를 지급하기 위하여, 상기 전자 서명된 전자 수표를 상기 발행 노드로 송신하도록 설정되고,
상기 프로세서는,
상기 전자 수표에 관련된 암호 화폐의 잔고 정보와 상기 전자 수표에 포함된 거래 정보에 기반하여, 상기 거래 정보로부터 상기 전자 수표에 의한 거래 금액을 확인하고, 상기 거래 금액이 상기 잔고 정보에 따른 잔액 이하이거나,
상기 암호 화폐와 관련하여 이전에 발행된 전자 수표 중 미지급된 전자 수표가 있는지를 확인하고, 상기 전자 수표에 의한 거래 금액과 상기 미지급된 전자 수표의 거래 금액 총합을 합산하고, 합산에 따른 총액이 상기 잔고 정보에 따른 잔액 이하이고,
상기 스마트 컨트랙트를 이용하여, 상기 암호 화폐에 관련된 이전 전자 수표의 해시 값이 상기 거래 정보에 포함된 해시 값과 일치하는지를 확인하고, 상기 이전 전자 수표의 해시 값이 상기 전자 수표에 포함된 해시 값과 일치하면,
상기 전자 수표에 관련된 암호 화폐를 지급 가능한 것으로 결정하도록 설정되고,
상기 프로세서는,
상기 스마트 컨트랙트를 인식하면, 상기 스마트 컨트랙트에 상기 통신 회로의 고유 주소를 등록하도록 설정되며,
상기 수령 노드로부터 전자 수표를 수신하고,
상기 수신된 전자 수표에 포함된 적어도 일부 정보 및 상기 전자 수표 정보에 기반하여 상기 수신된 전자 수표의 유효성을 확인하고,
상기 전자 수표의 유효성 여부에 관한 정보를 상기 수령 노드로 송신하도록 설정되고,
상기 적어도 일부 정보 및 전자 수표 정보는,
상기 전자 수표의 해시 값, 상기 전자 수표의 거래 금액 및 상기 전자 수표를 포함하는 미지급된 전자 수표의 총액 중 적어도 일부를 포함하는, 검증 노드.In the cryptocurrency verification node outside the blockchain system,
a communication circuit capable of communicating with the issuing node and the receiving node respectively belonging to the blockchain system;
Memory; and
A processor comprising:
receiving a verification request for an electronic check for disbursing cryptocurrency deposited in a smart contract from the issuing node;
Confirming the payment possibility of cryptocurrency based on the electronic check,
If it is possible to pay the cryptocurrency, after electronically signing the electronic check, electronic check information is stored in the memory in relation to the electronic check,
configured to send the electronically signed electronic check to the issuing node for disbursing the cryptocurrency to the receiving node;
The processor is
Based on the balance information of the cryptocurrency related to the electronic check and the transaction information included in the electronic check, the transaction amount by the electronic check is confirmed from the transaction information, and the transaction amount is less than or equal to the balance according to the balance information, or ,
Check whether there is an unpaid electronic check among the previously issued electronic checks in relation to the cryptocurrency, and add the transaction amount by the electronic check and the total transaction amount of the unpaid electronic check, and the total resulting from the summation is the above less than the balance according to the balance information,
Using the smart contract, it is checked whether the hash value of the previous electronic check related to the cryptocurrency matches the hash value included in the transaction information, and the hash value of the previous electronic check is the hash value included in the electronic check and If match,
It is set to determine that the cryptocurrency related to the electronic check is payable;
The processor is
Upon recognizing the smart contract, it is set to register the unique address of the communication circuit in the smart contract,
receive an electronic check from the receiving node;
Check the validity of the received electronic check based on at least some information included in the received electronic check and the electronic check information;
configured to transmit information regarding the validity of the electronic check to the receiving node;
the at least some information and electronic check information,
a verification node comprising at least a portion of a hash value of the electronic check, a transaction amount of the electronic check, and a total amount of an outstanding electronic check comprising the electronic check.
상기 블록체인 시스템에 속하는 수령 노드 및 상기 블록체인 시스템 외부의 검증 노드와 통신할 수 있는 통신 회로; 및
프로세서를 포함하고, 상기 프로세서는,
스마트 컨트랙트에 암호 화폐를 예치하고,
상기 수령 노드로 상기 암호 화폐를 지급하기 위한 전자 수표를 발행하고,
상기 전자 수표에 관련된 암호 화폐의 지급에 대한 검증을 상기 검증 노드로 요청하고,
상기 검증 노드가 상기 암호 화폐의 지급을 검증함에 따라 전자 서명한 전자 수표를 수신하면, 상기 암호 화폐의 지급이 가능한 것으로 결정하고,
상기 수신된 전자 수표를 상기 수령 노드로 송신하여, 상기 수신된 전자 수표에 기반한 암호 화폐를 상기 수령 노드로 지급하도록 설정되고,
상기 전자 수표는,
거래 금액, 상기 암호 화폐와 관련된 이전 전자 수표의 해시 값, 상기 수령 노드의 지갑 주소, 수표 발행 시간 및 블록 넘버 중 적어도 하나를 포함하고,
상기 프로세서는,
상기 발행 노드의 비밀 키에 기반하여 제1 전자 서명하고,
제1 전자 서명된 전자 수표를 상기 검증 노드로 송신하도록 설정되고,
상기 검증 노드로부터 상기 검증 노드의 비밀 키에 기반하여 제2 전자 서명된 전자 수표를 수신하면, 상기 암호 화폐의 지급이 가능한 것으로 결정하도록 설정되고,
상기 검증 노드로부터 상기 검증 노드의 비밀 키에 기반하여 전자 서명되지 않은 전자 수표를 수신하면, 상기 발행된 전자 수표를 지급 불가한 것으로 확인하도록 설정된 발행 노드.In the issuing node belonging to the blockchain system,
a communication circuit capable of communicating with a recipient node belonging to the blockchain system and a verification node external to the blockchain system; and
A processor comprising:
Deposit cryptocurrency in smart contract,
issue an electronic check for disbursing the cryptocurrency to the receiving node;
request verification of the payment of cryptocurrency related to the electronic check to the verification node;
When the verification node receives an electronically signed electronic check as the verification node verifies the payment of the cryptocurrency, it is determined that the payment of the cryptocurrency is possible,
and sending the received electronic check to the receiving node to pay the receiving node with cryptocurrency based on the received electronic check;
The electronic check is
at least one of a transaction amount, a hash value of a previous electronic check related to the cryptocurrency, a wallet address of the receiving node, a check issuance time, and a block number;
The processor is
first digitally sign based on the secret key of the issuing node;
configured to send a first electronically signed electronic check to the verification node;
when receiving a second digitally signed electronic check from the verification node based on the secret key of the verification node, determine that the payment of the cryptocurrency is possible;
an issuing node configured to, upon receipt of an electronic check that is not electronically signed, from the verification node based on the secret key of the verification node, confirm the issued electronic check as non-payable.
암호 화폐를 예치 및 지급할 수 있는 스마트 컨트랙트;
상기 스마트 컨트랙트를 이용하여 상기 스마트 컨트랙트(smart contract)에 예치된 암호 화폐를 지급하기 위한 전자 수표를 발행할 수 있는 발행 노드;
상기 스마트 컨트랙트를 이용하여 상기 전자 수표를 검증할 수 있는 검증 노드; 및
상기 검증 노드를 통한 검증을 거쳐 상기 전자 수표와 관련된 암호 화폐를 수령할 수 있는 수령 노드를 포함하고,
상기 검증 노드는,
상기 발행 노드로부터 상기 암호 화폐를 지급하기 위한 전자 수표에 대한 검증 요청을 수신하고,
상기 발행 노드로부터 상기 발행된 전자 수표에 대한 검증 요청을 수신하고,
상기 전자 수표에 기반한 암호 화폐의 지급 가능성을 확인하고,
상기 암호 화폐를 지급 가능하면, 상기 전자 수표를 전자 서명하고, 전자 서명된 전자 수표 정보를 저장하고,
상기 전자 서명된 전자 수표를 상기 발행 노드로 송신하고,
상기 검증 노드는,
상기 발행 노드로부터 전자 수표를 수신하고,
상기 전자 수표에 관련된 암호 화폐의 잔고 정보와 상기 전자 수표에 포함된 거래 정보에 기반하여, 상기 전자 수표에 기반한 암호 화폐의 지급 가능성을 확인하도록 설정되고,
상기 검증 노드는,
상기 수령 노드로부터 전자 수표를 수신하고,
상기 수신된 전자 수표에 포함된 전자 서명 및 상기 저장된 전자 수표 정보 중 적어도 하나에 기반하여, 상기 수신된 전자 수표의 유효성을 확인하고,
상기 수신된 전자 수표의 유효성 여부에 관한 정보를 상기 수령 노드로 송신하고,
상기 발행 노드는,
상기 전자 수표에 관련된 암호 화폐의 지급에 대한 검증을 상기 검증 노드로 요청하고,
상기 검증 노드로부터 상기 검증 노드에 의해 전자 서명된 전자 수표를 수신하면, 상기 암호 화폐의 지급이 가능한 것으로 결정하고,
상기 수신된 전자 수표를 상기 수령 노드로 송신하여, 상기 수신된 전자 수표에 기반한 암호 화폐를 상기 수령 노드로 지급하고,
상기 수령 노드는,
상기 발행 노드로부터 상기 발행 노드 및 상기 검증 노드에 의해 전자 서명된 전자 수표를 수신하고,
상기 스마트 컨트랙트 및 상기 검증 노드를 통해 상기 수신된 전자 수표의 전자 서명 정보에 기반하여 상기 수신된 전자 수표의 유효성을 검증하되,
상기 스마트 컨트랙트에 저장된 정보와 상기 수신된 전자 수표에 포함된 정보를 비교하여 상기 수신된 전자 수표의 유효성을 제1 검증하고,
상기 검증 노드에 저장된 정보와 상기 수신된 전자 수표에 포함된 정보를 비교하여 상기 수신된 전자 수표의 유효성을 제2 검증하는, 암호 화폐 결제 시스템.
In the cryptocurrency payment system,
smart contracts for depositing and disbursing cryptocurrencies;
an issuance node capable of issuing an electronic check for disbursing cryptocurrency deposited in the smart contract using the smart contract;
a verification node capable of verifying the electronic check using the smart contract; and
a receiving node capable of receiving the cryptocurrency related to the electronic check through verification through the verification node;
The verification node is
receiving a verification request for an electronic check for disbursing the cryptocurrency from the issuing node;
receiving a verification request for the issued electronic check from the issuing node;
Confirming the payment possibility of cryptocurrency based on the electronic check,
If the cryptocurrency is payable, electronically sign the electronic check, store electronically signed electronic check information,
sending the electronically signed electronic check to the issuing node;
The verification node is
receive an electronic check from the issuing node;
Based on the balance information of the cryptocurrency related to the electronic check and the transaction information included in the electronic check, it is set to confirm the payment possibility of the cryptocurrency based on the electronic check,
The verification node is
receive an electronic check from the receiving node;
Verifies the validity of the received electronic check based on at least one of an electronic signature included in the received electronic check and the stored electronic check information;
sending information regarding the validity of the received electronic check to the receiving node;
The issuing node is
request verification of the payment of cryptocurrency related to the electronic check to the verification node;
Upon receipt of an electronic check digitally signed by the verification node from the verification node, determining that the payment of the cryptocurrency is possible;
sending the received electronic check to the receiving node to pay cryptocurrency based on the received electronic check to the receiving node;
The receiving node is
receive an electronic check electronically signed by the issuing node and the verifying node from the issuing node;
Validating the validity of the received electronic check based on the electronic signature information of the received electronic check through the smart contract and the verification node,
First verify the validity of the received electronic check by comparing the information stored in the smart contract with the information included in the received electronic check,
Comparing information stored in the verification node with information included in the received electronic check, the second verification of validity of the received electronic check is performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190132434A KR102363804B1 (en) | 2019-10-23 | 2019-10-23 | Node for verifying and publishing Crypto currency and System paying using Crypto currency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190132434A KR102363804B1 (en) | 2019-10-23 | 2019-10-23 | Node for verifying and publishing Crypto currency and System paying using Crypto currency |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210048307A KR20210048307A (en) | 2021-05-03 |
KR102363804B1 true KR102363804B1 (en) | 2022-02-16 |
Family
ID=75911042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190132434A KR102363804B1 (en) | 2019-10-23 | 2019-10-23 | Node for verifying and publishing Crypto currency and System paying using Crypto currency |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102363804B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101922963B1 (en) * | 2017-08-28 | 2018-11-28 | 아주대학교산학협력단 | Apparatus and method for generating block chain |
KR101975822B1 (en) * | 2018-10-26 | 2019-05-08 | (주)리그시스템 | Private blockchain network system and method for consensus based on blockchain |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190046486A (en) * | 2017-10-26 | 2019-05-07 | 주식회사 케이티 | Virtual currency processing system and method based on blockchain |
KR20190115553A (en) * | 2018-04-03 | 2019-10-14 | 주식회사 비즈모델라인 | Method for Providing Cryptocurrency Trade based on Verification of Information by using Smart Contract based on Blockchain |
-
2019
- 2019-10-23 KR KR1020190132434A patent/KR102363804B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101922963B1 (en) * | 2017-08-28 | 2018-11-28 | 아주대학교산학협력단 | Apparatus and method for generating block chain |
KR101975822B1 (en) * | 2018-10-26 | 2019-05-08 | (주)리그시스템 | Private blockchain network system and method for consensus based on blockchain |
Also Published As
Publication number | Publication date |
---|---|
KR20210048307A (en) | 2021-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102309819B1 (en) | The trading system and the method based on a blockchain | |
US9292852B2 (en) | System and method for applying stored value to a financial transaction | |
US20150324764A1 (en) | Enabling a User to Transact Using Cryptocurrency | |
CN109074564A (en) | The method and system of usage record guarantee pay down | |
CN109636593B (en) | System and method for authenticating a user in a network transaction | |
CN109804401A (en) | For the method and system via block chain certification discount coupon | |
CN102982441A (en) | Dynamic electronic money | |
KR102249864B1 (en) | Server and method for credit transaction using blockchain network | |
CN102150398A (en) | System and method for providing a secure network on another secure network | |
RU2692969C1 (en) | Client uniqueness management in tokenised systems | |
KR20190108666A (en) | Apparatus and method for automated deposit and withdrawal of funds for cryptocurrency transactions and computer program for the same | |
KR102063628B1 (en) | Method for paying based on blockchain and payment server using the same | |
US11188903B2 (en) | Managing customer uniqueness in tokenised systems | |
US20220005023A1 (en) | Programmable Transactions | |
US11615406B2 (en) | Method and system for providing a service at a self-service machine | |
KR102363804B1 (en) | Node for verifying and publishing Crypto currency and System paying using Crypto currency | |
WO2020154576A1 (en) | Cryptographic transactions supporting real world requirements | |
KR101936417B1 (en) | Method for providing a service of electronic gift certificate based on blockchain, and vending machine and server using the same | |
US20210125177A1 (en) | Authentication network for transaction data | |
CN110675260A (en) | Agricultural product transaction data processing method and device based on block chain | |
CN110570305A (en) | Game data processing method and device based on block chain | |
CN110599344A (en) | Foundation transaction data processing method and device based on block chain | |
CN110544169A (en) | payment data processing method and device based on block chain | |
KR102374232B1 (en) | Cloud-based payment guarantee transaction management server using digital gold tokens and operating method thereof | |
US11144912B2 (en) | Authentication bypass software for merchant terminals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |