KR102600645B1 - Cancelable transfer method for cryptocurrency - Google Patents

Cancelable transfer method for cryptocurrency Download PDF

Info

Publication number
KR102600645B1
KR102600645B1 KR1020180063038A KR20180063038A KR102600645B1 KR 102600645 B1 KR102600645 B1 KR 102600645B1 KR 1020180063038 A KR1020180063038 A KR 1020180063038A KR 20180063038 A KR20180063038 A KR 20180063038A KR 102600645 B1 KR102600645 B1 KR 102600645B1
Authority
KR
South Korea
Prior art keywords
remittance
smart contract
electronic wallet
sender
recipient
Prior art date
Application number
KR1020180063038A
Other languages
Korean (ko)
Other versions
KR20190136844A (en
Inventor
윤석범
Original Assignee
주식회사 아이센스에프앤비
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이센스에프앤비 filed Critical 주식회사 아이센스에프앤비
Priority to KR1020180063038A priority Critical patent/KR102600645B1/en
Publication of KR20190136844A publication Critical patent/KR20190136844A/en
Application granted granted Critical
Publication of KR102600645B1 publication Critical patent/KR102600645B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules

Abstract

취소 가능한 암호화폐 송금방법은 블록체인 스마트 컨트랙트를 기반으로 하여 송금자의 전자지갑 앱이 블록체인 노드에 연결하여 입력된 송금액, 수령자의 전자지갑 주소 및 송금 동결시간이 설정된 스마트 컨트랙트를 생성하고 배포하고, 송금자의 전자지갑에서 스마트 컨트랙트 주소로 송금액을 송금한 후, 설정된 송금 동결시간 타이머를 시작하여 송금을 동결하고, 송금 동결시간 타이머 만료 시 수령자의 전자지갑 주소로 송금하는 방법을 사용한다. 다만, 송금을 개시한 후 송금 동결시간 타이머 만료 전에 송금자의 요청에 의해 송금 거래를 취소하고 다시 송금자에게 송금액을 환불하는 수단을 제공한다.The cancelable cryptocurrency remittance method is based on a blockchain smart contract, where the sender's e-wallet app connects to the blockchain node to create and distribute a smart contract that sets the entered remittance amount, the recipient's e-wallet address, and the remittance freeze time. After transferring the remittance amount from the sender's electronic wallet to the smart contract address, the transfer is frozen by starting the set transfer freeze time timer, and when the transfer freeze time timer expires, the transfer is sent to the recipient's electronic wallet address. However, after the remittance is initiated and before the remittance freeze timer expires, the remittance transaction is canceled at the request of the remitter and a means is provided to refund the remittance amount to the remitter.

Figure R1020180063038
Figure R1020180063038

Description

취소 가능한 암호화폐 송금방법{CANCELABLE TRANSFER METHOD FOR CRYPTOCURRENCY}CANCELABLE TRANSFER METHOD FOR CRYPTOCURRENCY}

암호화폐를 송금하는 방법에 대한 것으로, 보다 상세하게는 송금 후 송금을 취소할 수 있는 암호화폐 송금방법에 대한 발명이 개시된다.This invention relates to a method of transferring cryptocurrency. More specifically, an invention is disclosed regarding a method of transferring cryptocurrency that allows the transfer to be canceled after the transfer has been made.

일반적으로 암호화폐는 지폐 또는 동전 등의 실물 없이 암호화 기술을 바탕으로 온라인에서 거래되는 화폐를 말한다. 암호화폐는 정부나 중앙은행이 발행하는 일반 화폐와 달리 처음 고안한 사람이 정한 규칙에 따라 가치가 매겨진다. 이들 암호화폐는 정부나 중앙은행이 거래 내역을 관리하지 않고 블록체인 기술을 기반으로 유통되는 특징이 있다. 암호화폐는 암호화 기술을 바탕으로 하며 블록체인에 참여한 노드들이 모두 동일한 거래원장을 보유하고 있기 때문에 해킹으로부터 안전한 것으로 알려져 있다. 대표적인 암호화폐로는 2009년 1월 사토시 나카모토가 개발하여 소스코드를 공개한 암호화폐인 비트코인이 있으며, 그 외에도 이더리움, 리플 등이 있다.In general, cryptocurrency refers to currency that is traded online based on encryption technology without the physical form, such as banknotes or coins. Unlike regular currencies issued by governments or central banks, cryptocurrency is valued according to rules set by the person who first designed it. These cryptocurrencies have the characteristic of being distributed based on blockchain technology without the government or central bank managing transaction details. Cryptocurrency is based on encryption technology and is known to be safe from hacking because all nodes participating in the blockchain have the same transaction ledger. Representative cryptocurrencies include Bitcoin, a cryptocurrency developed by Satoshi Nakamoto and whose source code was released in January 2009, and other cryptocurrencies include Ethereum and Ripple.

블록체인을 기반으로 하는 암호화폐들은 일반 화폐와 마찬가지로 화폐의 소유권을 이전하는 송금 거래가 가능하다. 암호화폐와 함께 급부상한 블록체인 기술은 단순한 송금 거래 이외의 다양한 거래가 가능하도록 발전하고 있다. 제한적이긴 하지만 비트코인 역시 비트코인 스크립트를 이용하여 조건에 따라 자동으로 거래를 수행하는 스마트 컨트랙트를 작성할 수 있다. 다만 비트코인 스크립트는 반복문을 사용할 수 없고, 비트코인 잔고 외의 다른 정보를 관리할 수 없는 한계가 있다.Cryptocurrencies based on blockchain allow remittance transactions that transfer ownership of the currency, just like regular currencies. Blockchain technology, which has emerged rapidly along with cryptocurrency, is developing to enable a variety of transactions beyond simple remittance transactions. Although limited, Bitcoin also allows you to use Bitcoin scripts to create smart contracts that automatically perform transactions according to conditions. However, Bitcoin script has limitations as it cannot use loops and cannot manage information other than Bitcoin balance.

이후 이더리움을 비롯한 다양한 블록체인 플랫폼들이 비트코인 스크립트의 한계를 극복하는 스마트 컨트랙트를 지원하고 있다. 스마트 컨트랙트는 분산 네트워크 환경에서도 신뢰할 수 있는 코드실행 기술이다. 이를 통해 다양한 조건을 갖는 계약이 중앙 시스템이나 인간의 개입이 없이 실행되고 조건에 따라 계약이 진행될 수 있도록 보장된다.Since then, various blockchain platforms, including Ethereum, have been supporting smart contracts that overcome the limitations of Bitcoin script. Smart contracts are a reliable code execution technology even in a distributed network environment. This ensures that contracts with various conditions are executed without central systems or human intervention and that the contracts proceed according to the conditions.

스마트 컨트랙트를 이용하여 암호화폐 잔고 외의 다른 정보를 관리할 수 는 다양한 탈중앙화된 어플리케이션들이 개발되고 있다.A variety of decentralized applications are being developed that can manage information other than cryptocurrency balances using smart contracts.

제안된 발명은 피싱 등으로 인해 잘못 송금된 송금 거래로 인한 손실을 방지하기 위하여 일정시간 동안 송금한 암호화폐를 동결시키고 잘못된 송금인 경우 송금 거래를 취소하고 송금자에게 다시 환불할 수 있는 방법을 제공하는 것을 목적으로 한다.The proposed invention freezes the transferred cryptocurrency for a certain period of time to prevent losses due to incorrectly remitted remittance transactions due to phishing, etc., and provides a method to cancel the remittance transaction and refund the money to the sender in case of an incorrect remittance. The purpose is to

일 양상에 따르면, 취소 가능한 암호화폐 송금방법은 블록체인 스마트 컨트랙트를 기반으로 하여 송금자의 전자지갑 앱이 블록체인 노드에 연결하여 입력된 송금액, 수령자의 전자지갑 주소 및 송금 동결시간이 설정된 스마트 컨트랙트를 생성하고 배포하고, 송금자의 전자지갑에서 스마트 컨트랙트 주소로 송금액을 송금한 후, 설정된 송금 동결시간 타이머를 시작하여 송금을 동결하고, 송금 동결시간 타이머 만료 시 수령자의 전자지갑 주소로 송금하는 방법을 사용한다. 다만, 송금을 개시한 후 송금 동결시간 타이머 만료 전에 송금자의 요청에 의해 송금 거래를 취소하고 다시 송금자에게 송금액을 환불하는 수단을 제공한다.According to one aspect, the revocable cryptocurrency remittance method is based on a blockchain smart contract, where the sender's electronic wallet app connects to the blockchain node and creates a smart contract that sets the entered remittance amount, the recipient's electronic wallet address, and the transfer freeze time. After creating and distributing the remittance amount from the sender's electronic wallet to the smart contract address, use the method of starting the set remittance freeze time timer to freeze the remittance, and sending the money to the recipient's e-wallet address when the remittance freeze time timer expires. do. However, after the remittance is initiated and before the remittance freeze timer expires, the remittance transaction is canceled at the request of the remitter and a means is provided to refund the remittance amount to the remitter.

추가적 양상에 따르면, 수령자의 전자지갑 앱은 즉시 송금을 요청할 수 있고, 이에 대응하여 송금자의 전자지갑 앱은 스마트 컨트랙트에 연결하여 동결시간 타이머 만료 전이라도 즉시 송금하도록 처리할 수 있다.According to an additional aspect, the recipient's electronic wallet app can request an immediate remittance, and in response, the sender's electronic wallet app can connect to a smart contract and process the money to be transferred immediately even before the freeze time timer expires.

제안된 발명은 일정시간 동안 송금한 암호화폐를 동결시키고 잘못된 송금인 경우 송금 거래를 취소하고 송금자에게 다시 환불할 수 있어 피싱 등으로 인해 잘못 송금된 송금 거래로 인한 손실을 최소화할 수 있는 효과가 있다.The proposed invention freezes the transferred cryptocurrency for a certain period of time, cancels the transfer transaction in case of an incorrect transfer, and refunds the money back to the sender. This has the effect of minimizing losses due to incorrectly transferred remittance transactions due to phishing, etc. .

도 1은 블록체인에 배포된 스마트 컨트랙트에 사용자가 접근하여 스마트 컨트랙트를 실행하는 개념도이다.
도 2는 일 실시 예에 따른 스마트 컨트랙트를 이용한 취소 가능한 암호화폐 송금방법의 절차를 도시한 것이다.
도 3은 일 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 경과 후 송금 실행과정을 도시한 흐름도이다.
도 4는 또 다른 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 확인 과정을 도시한 흐름도이다.
도 5는 또 다른 실시 예에 따른 스마트 컨트랙트를 이용한 취소 가능한 암호화폐 송금방법의 절차를 도시한 것이다.
도 6은 또 다른 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 경과 전 즉시 송금 실행과정을 도시한 흐름도이다.
도 7은 또 다른 실시 예에 따른 스마트 컨트랙트를 이용한 취소 가능한 암호화폐 송금방법의 송금 취소 절차를 도시한 것이다.
도 8은 또 다른 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 경과 전 계약 취소 과정을 도시한 흐름도이다.
도 9는 일 양상 예에 따른 취소 가능한 송금방법을 구현한 스마트 컨트랙트의 블록도이다.
Figure 1 is a conceptual diagram of a user accessing a smart contract distributed on a blockchain and executing a smart contract.
Figure 2 illustrates the procedure of a revocable cryptocurrency remittance method using a smart contract according to an embodiment.
Figure 3 is a flowchart illustrating a remittance execution process after the remittance freeze time has elapsed in a remittance method for revocable cryptocurrency according to an embodiment.
Figure 4 is a flowchart illustrating the process of checking the remittance freeze time in the remittance method of revocable cryptocurrency according to another embodiment.
Figure 5 illustrates the procedure of a revocable cryptocurrency remittance method using a smart contract according to another embodiment.
Figure 6 is a flowchart showing the process of executing an immediate remittance before the remittance freeze time has elapsed in a remittance method for revocable cryptocurrency according to another embodiment.
Figure 7 illustrates a remittance cancellation procedure for a revocable cryptocurrency remittance method using a smart contract according to another embodiment.
Figure 8 is a flow chart illustrating a contract cancellation process before the remittance freeze time has elapsed in a remittance method for cancelable cryptocurrency according to another embodiment.
Figure 9 is a block diagram of a smart contract implementing a cancelable remittance method according to an example of an aspect.

전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시 예들을 통해 구체화된다. 각 실시 예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시 예 내에서 다양한 조합이 가능한 것으로 이해된다. 블록도의 각 블록은 어느 경우에 있어서 물리적인 부품을 표현할 수 있으나 또 다른 경우에 있어서 하나의 물리적인 부품의 기능의 일부 혹은 복수의 물리적인 부품에 걸친 기능의 논리적인 표현일 수 있다. 때로는 블록 혹은 그 일부의 실체는 프로그램 명령어들의 집합(set)일 수 있다. 이러한 블록들은 전부 혹은 일부가 하드웨어, 소프트웨어 혹은 이들의 결합에 의해 구현될 수 있다.The foregoing and additional aspects are embodied through embodiments described with reference to the accompanying drawings. It is understood that various combinations of the components of each embodiment are possible within the embodiment as long as there is no other mention or contradiction between them. In some cases, each block in a block diagram may represent a physical part, but in other cases, it may be a logical expression of a part of the function of one physical part or a function across multiple physical parts. Sometimes the entity of a block or part of it may be a set of program instructions. These blocks can be implemented in whole or in part by hardware, software, or a combination of these.

스마트 컨트랙트는 블록체인에서 동작하는 어플리케이션이다. 블록체인의 분산 원장 기술을 이용하여 중개자 없이 이해 당사자 간에 계약 조건을 부과하고 계약 조건을 만족 시 자동으로 계약을 체결하는 기술이다. 스마트 컨트랙트는 솔리디티와 같은 프로그램밍 언어로 작성되고, 컴파일되어 바이트코드 형태로 블록체인에 배포된다. 즉, 블록체인의 블록 안에 바이트코드 형태로 저장된다. 따라서, 블록체인 네트워크에 참가하는 모든 노드는 같은 블록을 가지고 있기 때문에 모든 노드가 배포된 스마트 컨트랙트의 바이트코드를 보유하고 실행할 수 있다. 스마트 컨트랙트를 지원하는 대표적인 블록체인 플랫폼으로 이더리움(Etherium)과 EOS 등이 있다.A smart contract is an application that runs on a blockchain. This is a technology that uses the distributed ledger technology of blockchain to impose contract conditions between interested parties without an intermediary and automatically conclude a contract when the contract conditions are met. Smart contracts are written in a programming language such as Solidity, compiled, and distributed to the blockchain in the form of bytecode. In other words, it is stored in the form of bytecode within the block of the blockchain. Therefore, because all nodes participating in the blockchain network have the same block, all nodes can hold and execute the bytecode of the deployed smart contract. Representative blockchain platforms that support smart contracts include Etherium and EOS.

도 1은 블록체인에 배포된 스마트 컨트랙트에 사용자가 접근하여 스마트 컨트랙트를 실행하는 개념도이다. 도 1에 도시된 바와 같이 사용자1과 사용자2는 전자지갑 형태의 응용 프로그램을 통해 블록체인에 존재하는 스마트 컨트랙트의 바이트코드에 접근한다. 스마트 컨트랙트의 바이트코드는 사용자가 연결한 노드의 블록체인의 가상 머신에서 실행되고, 송금 등을 통해 데이터를 갱신하는 경우에는 갱신 내용이 블록체인 네트워크로 전달된다. 또한 사용자1과 사용자2는 자신의 컴퓨팅 장치의 웹 브라우저를 통해 접속한 블록체인 노드의 웹 어플리케이션 형태로 구현된 전자지갑으로도 접근할 수 있다. Figure 1 is a conceptual diagram of a user accessing a smart contract distributed on a blockchain and executing a smart contract. As shown in Figure 1, User 1 and User 2 access the bytecode of a smart contract existing in the blockchain through an electronic wallet-type application. The smart contract's bytecode is executed in the virtual machine of the blockchain of the node connected by the user, and when data is updated through remittance, etc., the update is transmitted to the blockchain network. Additionally, User 1 and User 2 can also access the electronic wallet implemented in the form of a web application of the blockchain node accessed through the web browser of their computing device.

이하, 단독 실행되는 전자지갑 형태의 응용 프로그램 또는 브라우저에서 실행되는 웹 어플리케이션 전자지갑 모두 전자지갑 앱으로 지칭한다.Hereinafter, both a stand-alone electronic wallet-type application or a web application electronic wallet running in a browser are referred to as electronic wallet apps.

도 1에 도시된 것과 같이 생성된 스마트 컨트랙트는 배포되어 블록체인에 포함되어 있다. 일예로, 블록체인 플랫폼은 이더리움 플랫폼일 수 있다. 이 경우 사용자는 브라우저 등을 통해 이더리움 블록체인의 노드 상의 이더리움 클라이언트에 접속하여 스마트 컨트랙트에 접근할 수 있다. 이더리움의 스마트 컨트랙트는 이더리움 가상 머신(EVM)에서 실행되는 EVM 바이트코드로 블록체인 네트워크에 배포되므로 사용자는 이더리움 클라이언트에서 해당 EVM 바이트코드를 실행할 수 있다.As shown in Figure 1, the created smart contract is distributed and included in the blockchain. As an example, the blockchain platform may be the Ethereum platform. In this case, users can access the smart contract by connecting to the Ethereum client on the node of the Ethereum blockchain through a browser, etc. Ethereum's smart contracts are deployed on the blockchain network as EVM bytecode that runs on the Ethereum Virtual Machine (EVM), allowing users to execute the corresponding EVM bytecode on an Ethereum client.

도 2는 일 실시 예에 따른 스마트 컨트랙트를 이용한 취소 가능한 암호화폐 송금방법의 절차를 도시한 것이다. 발명의 일 실시 예에 따르면, 취소 가능한 암호화폐 송금방법은 블록체인에 배포되어 블록체인 노드의 가상 머신에서 실행되는 스마트 컨트랙트(100)를 기반으로 송금이 실행되며, 스마트 컨트랙트(100)를 생성하여 배포하는 단계와, 스마트 컨트랙트(100) 주소로 송금 처리하는 단계와, 송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계와, 수령자의 전자지갑 주소로 송금 처리하고 종료하는 단계를 포함한다.Figure 2 illustrates the procedure of a revocable cryptocurrency remittance method using a smart contract according to an embodiment. According to one embodiment of the invention, the revocable cryptocurrency remittance method is distributed on the blockchain and the remittance is executed based on a smart contract (100) running on the virtual machine of the blockchain node, and the smart contract (100) is created It includes a distributing step, a step of processing the transfer to the smart contract 100 address, a step of freezing the remittance amount for a remittance freeze time and waiting for the remittance, and a step of processing the remittance to the recipient's electronic wallet address and terminating the transaction.

취소 가능한 암호화폐 송금방법을 구현한 스마트 컨트랙트(100)는 블록체인 가상 머신에서 실행 가능한 명령어 세트로 작성되고 컴파일되어 바이트코드 형태로 배포된다. 취소 가능한 암호화폐 송금방법으로 송금하려는 송금자는 PC, 스마트 폰과 같은 컴퓨팅 장치의 전자지갑 앱을 통해 블록체인 노드에 접속하여 해당 노드의 블록체인 가상 머신에서 스마트 컨트랙트(100)를 실행할 수 있다.The smart contract 100, which implements a revocable cryptocurrency transfer method, is written and compiled as a set of executable instructions on a blockchain virtual machine and distributed in the form of bytecode. A remitter who wants to send money using a revocable cryptocurrency remittance method can access a blockchain node through an electronic wallet app on a computing device such as a PC or smart phone and execute a smart contract (100) on the node's blockchain virtual machine.

스마트 컨트랙트(100)를 생성하여 배포하는 단계는 송금자가 송금자의 컴퓨팅 장치에서 실행되는 전자지갑 앱을 통해 블록체인 노드에 접속하여 블록체인 노드 상의 블록체인 가상 머신에서 스마트 컨트랙트(100)가 실행될 수 있도록 스마트 컨트랙트 객체(인스턴스)를 생성하여 배포하는 단계이다(S1000). 즉 송금자의 전자지갑 앱(200)이 블록체인 노드에 접속하여 스마트 컨트랙트(100)의 생성자를 호출하여 객체(인스턴스)를 생성하고 이 생성된 객체를 블록체인에 배포하는 단계이다. 이때 생성자에 전달되는 파라미터는 송금액과, 수령자의 전자지갑 주소와, 송금 동결시간 정보를 포함한다. 따라서 송금자의 전자지갑 앱(200)은 블록체인 노드에 접속하여 송금액과 수령자의 전자지갑 주소와 송금 동결시간 정보가 설정된 스마트 컨트랙트(100)를 생성하여 블록체인 네트워크로 배포한다. The step of creating and distributing the smart contract (100) involves allowing the remitter to access the blockchain node through an electronic wallet app running on the remitter's computing device so that the smart contract (100) can be executed in the blockchain virtual machine on the blockchain node. This is the step of creating and distributing a smart contract object (instance) (S1000). In other words, this is the step where the sender's electronic wallet app 200 connects to the blockchain node, calls the creator of the smart contract 100, creates an object (instance), and distributes the created object to the blockchain. At this time, the parameters passed to the generator include the remittance amount, the recipient's electronic wallet address, and remittance freeze time information. Therefore, the sender's electronic wallet app 200 connects to the blockchain node, creates a smart contract 100 that sets the remittance amount, the recipient's electronic wallet address, and transfer freeze time information, and distributes it to the blockchain network.

스마트 컨트랙트의 객체를 생성하고 배포하면 일정시간 경과 뒤, 즉 스마트 컨트랙트(100)를 포함하는 블록이 채굴되어 블록체인에 포함된다. 이후 스마트 컨트랙트(100)에 접근하여 계약을 실행할 수 있게 된다. 스마트 컨트랙트(100)에 접근하여 계약을 실행한다는 것은 배포한 스마트 컨트랙트(100)의 주소를 이용하여 객체에 접근하여 객체의 메소드를 호출하는 것을 의미한다. 일예로 이더리움 플랫폼의 경우 스마트 컨트랙트(100)의 내부 상태를 변경시킬 필요가 있는 경우에는 sendTransaction 함수 호출을 통해 객체의 메소드를 실행할 수 있고, 스마트 컨트랙트(100)의 내부 상태를 변경할 필요가 없는 겻우에는 call 함수 호출을 이용하여 객체의 메소드를 실행할 수 있다.When a smart contract object is created and distributed, after a certain period of time, a block containing the smart contract (100) is mined and included in the blockchain. Afterwards, the smart contract 100 can be accessed to execute the contract. Accessing the smart contract 100 and executing the contract means accessing the object using the address of the deployed smart contract 100 and calling the method of the object. For example, in the case of the Ethereum platform, if it is necessary to change the internal state of the smart contract 100, the object method can be executed by calling the sendTransaction function, and there is no need to change the internal state of the smart contract 100. In this case, you can execute an object's method by calling the call function.

발명의 양상에 따라서는, 송금자의 컴퓨팅 장치에서 실행되는 전자지갑 앱에서 스마트 컨트랙트(100)를 생성하여 배포하는 인터페이스를 제공할 수 있다. 사용자는 스마트 컨트랙트 객체 생성 시 필요한 송금액과 수령자의 전자지갑 주소와 송금 동결시간을 입력하고 제공되는 인터페이스의 계약 생성을 위한 버튼을 누르면 전자지갑 앱이 특정 블록체인 노드에 접속하여 스마트 컨트랙트(100)를 생성하고 배포하는 내부 처리를 자동으로 수행할 수 있다.Depending on the aspect of the invention, an interface for creating and distributing a smart contract 100 may be provided in an electronic wallet app running on the remitter's computing device. When creating a smart contract object, the user enters the required remittance amount, the recipient's electronic wallet address, and the transfer freeze time and presses the button for contract creation in the provided interface. The electronic wallet app connects to a specific blockchain node and creates a smart contract (100). The internal processing of creation and distribution can be performed automatically.

스마트 컨트랙트(100) 주소로 송금 처리하는 단계는 송금자의 전자지갑 앱(200)이 생성된 스마트 컨트랙트(100) 주소로 설정된 송금액의 송금을 처리하는 단계로 송금자로부터 수령자에게로 송금액을 송금하기 위하여 먼저 송금자의 계좌에서 송금액만큼의 암호화폐를 인출하는 과정이다(S1100). 즉시 송금되는 종래의 송금방법과 마찬가지로 취소 가능한 암호화폐 송금방법에서도 송금자의 계좌에서 송금액만큼 차감되는 것이다. 다만, 수령자 계좌로 즉시 송금되는 것이 아니라 스마트 컨트랙트(100)의 주소로 송금하였다가 송금을 위한 조건이 달성되면 수령자의 전자지갑으로 송금하여 스마트 컨트랙트(100)를 완료하고, 송금을 위한 조건이 달성되지 않으면 다시 송금자의 전자지갑으로 암호화폐를 환불하고 스마트 컨트랙트(100)를 종료할 수 있도록 한다.The step of processing the remittance to the smart contract (100) address is the step of processing the remittance amount set to the smart contract (100) address where the sender's electronic wallet app (200) is created. In order to transfer the remittance amount from the sender to the recipient. First, it is a process of withdrawing cryptocurrency equivalent to the remittance amount from the sender's account (S1100). As with the conventional remittance method, which involves immediate remittance, the remittance amount is deducted from the sender's account in the cancelable cryptocurrency remittance method. However, rather than being transferred immediately to the recipient's account, the money is sent to the address of the smart contract (100), and when the conditions for the transfer are met, the money is transferred to the recipient's electronic wallet to complete the smart contract (100), and the conditions for the transfer are met. If not, the cryptocurrency is refunded to the sender's electronic wallet and the smart contract (100) can be terminated.

발명의 일 양상에 따르면, 송금자의 컴퓨팅 장치에서 실행되는 송금자의 전자지갑 앱(200)에서 스마트 컨트랙트(100) 주소로 송금액을 송금하는 과정이 자동으로 수행될 수 있다. 발명의 또 다른 양상에 따르면, 송금자의 컴퓨팅 장치에서 실행되는 전자지갑 앱에서 스마트 컨트랙트(100) 주소로 송금액을 송금하는 인터페이스를 제공하고 송금자가 해당 인터페이스를 이용하여 송금하는 방법을 사용할 수 있다. According to one aspect of the invention, the process of transferring the remittance amount from the sender's electronic wallet app 200 running on the sender's computing device to the smart contract 100 address may be automatically performed. According to another aspect of the invention, an electronic wallet app running on the remitter's computing device may provide an interface for remitting the remittance amount to the smart contract 100 address, and the remitter may use the method to remit the remittance using the interface.

송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계는 피싱(Phishing) 등을 방지하기 위해 송금자가 송금자의 전자지갑 앱(200)이 스마트 컨트랙트(100)에 연결하여 스마트 컨트랙트(100)의 송금 동결시간 타이머를 시작시키고 수령자에게 송금되어야 할 송금액을 지정된 송금 동결시간 동안 즉, 타이머가 만료될 때까지 송금액을 동결하며 송금을 대기하는 단계이다(S1200).In the step of freezing the remittance amount for the remittance freeze time and waiting for the remittance, the remitter's electronic wallet app (200) connects to the smart contract (100) to freeze the remittance of the smart contract (100) to prevent phishing, etc. This is the step of starting a timer, freezing the remittance amount to be remitted to the recipient for a designated remittance freeze time, that is, until the timer expires, and waiting for the remittance (S1200).

일반적으로 암호화폐는 뛰어난 보안성으로 인해 해킹이 불가능한 것으로 알려져 있으나, 송금이 개시되면 바로 송금자의 계좌에서 송금액이 차감되고, 차감된 금액만큼 수령자의 계좌가 증가되기 때문에 잘못 송금된 경우 이를 되돌리는 방법이 없다. 즉, 송금과 관련한 트랜잭션은 블록에 기록되어 합의되고 블록체인에 추가되면 더 이상 고칠 수가 없다. 블록체인 기술은 블록체인에 저장된 거래 기록을 되돌릴 수 있는 방법을 제공하고 있지 않기 때문이다. 블록체인에 쓰여진 거래 내용은 한번 쓰여지면 해킹 등을 통해서도 고칠 수 없어 안전하고 신뢰할 수 있는 거래 장부가 되지만 피싱이나 착오 등으로 잘못 송금이 발생한 경우에도 블록체인에 그 거래 내용이 쓰여지면 다시 되돌릴 수 없어 송금자는 암호화폐를 복구할 수 없게 된다. 따라서, 송금자의 전자지갑에서 송금액이 송금을 위해 인출되더라도 일정시간 즉, 정해진 송금 동결시간 동안 수령자의 전자지갑으로 이체되지 않도록 송금액을 동결시키고 잘못된 송금일 경우에 원래의 계좌로 암호화폐를 환불할 수 있도록 하면 블록체인에 송금 거래내용이 기재되었더라도 잘못된 송금을 되돌려 받을 수 있는 방법을 마련할 수 있다.Cryptocurrency is generally known to be impossible to hack due to its excellent security, but as soon as the transfer is initiated, the remittance amount is deducted from the sender's account and the recipient's account is increased by the amount deducted, so there is a way to reverse the transfer if it is incorrectly transferred. There is no In other words, once a transaction related to a remittance is recorded in a block, agreed upon, and added to the blockchain, it can no longer be modified. This is because blockchain technology does not provide a way to restore transaction records stored in the blockchain. Once the transaction details are written on the blockchain, they cannot be modified even through hacking, making them a safe and reliable transaction ledger. However, even if a remittance is made incorrectly due to phishing or mistake, once the transaction details are written on the blockchain, they cannot be reversed. You will not be able to recover your cryptocurrency. Therefore, even if the remittance amount is withdrawn from the sender's e-wallet for remittance, the remittance amount is frozen so that it is not transferred to the recipient's e-wallet for a certain period of time, that is, the remittance freeze time, and in case of an incorrect remittance, the cryptocurrency can be refunded to the original account. If you do so, you can provide a way to get incorrect remittances back even if the remittance transaction details are recorded on the blockchain.

발명의 양상에 따라서는 송금 동결시간은 시스템 상에서 일괄적으로 정해서(예를 들어, 24시간) 지정할 수도 있고, 송금자가 원하는 송금 동결시간을 지정할 수도 있다.Depending on the aspect of the invention, the remittance freezing time may be set uniformly in the system (for example, 24 hours), or the remitter may designate the desired remittance freezing time.

송금자가 송금자의 컴퓨팅 장치에서 실행되는 전자지갑 앱을 통해 스마트 컨트랙트(100)에 연결하여 전자지갑에 의해 제공되는 인터페이스를 통해 송금을 동결시간 타이머를 시작시키면, 스마트 컨트랙트 객체는 지정된 송금 동결시간 타이머가 만료할 때까지 수령자의 전자지갑으로 송금을 처리하지 않고 대기한다. When the sender connects to the smart contract 100 through an electronic wallet app running on the sender's computing device and starts the transfer freeze time timer through the interface provided by the electronic wallet, the smart contract object sets the designated transfer freeze time timer. The transfer will wait until expiration without processing the transfer to the recipient's electronic wallet.

수령자의 전자지갑 주소로 송금 처리하고 종료하는 단계는 스마트 컨트랙트(100)가 송금 동결시간 타이머 만료시 자동으로 스마트 컨트랙트(100) 주소에서 수령자의 전자지갑 주소로 동결된 송금액의 송금을 처리하고 스마트 컨트랙트(100)를 종료한다(S1300). 이때 송금자는 이미 송금을 한 이후이기 때문에(스마트 컨트랙트 주소로 송금됨) 송금을 위한 추가적인 작업이 필요 없고, 수령자는 송금을 받기만 하면 되므로 또한 추가적인 작업이 필요 없다. 따라서 송금 동결시간 타이머가 만료되면 자동으로 송금자의 전자지갑에서 송금된 스마트 컨트랙트(100)의 주소에서 수령자의 전자지갑 주소로 송금액을 송금할 수 있다.In the step of processing and ending the transfer to the recipient's electronic wallet address, the smart contract (100) automatically processes the transfer of the frozen remittance amount from the smart contract (100) address to the recipient's electronic wallet address when the transfer freeze timer expires, and the smart contract (100) ends (S1300). At this time, since the sender has already sent the money (the money is sent to the smart contract address), no additional work is required to send the money, and the recipient only needs to receive the money, so no additional work is required. Therefore, when the remittance freeze time timer expires, the remittance amount can be automatically transferred from the address of the smart contract 100 sent from the sender's electronic wallet to the recipient's electronic wallet address.

도 3은 일 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 경과 후 송금 실행과정을 도시한 흐름도이다. 도 3에 도시된 바와 같이, 송금자로부터 송금액, 수령자의 전자지갑 주소 및 송금 동결시간을 입력 받은 송금자의 전자지갑 앱(200)이 블록체인 노드에 접속하여 입력 받은 항목들을 전달하며 스마트 컨트랙트(100)의 생성자를 호출하여 객체를 생성하고 블록체인 네트워크에 배포한다(S1000). 일정시간 경과 후 스마트 컨트랙트(100)의 바이트코드를 포함하는 블록이 추가되면 송금자는 송금자의 전자지갑 앱(200)을 통해 스마트 컨트랙트(100) 주소로 송금액의 처리를 스마트 컨트랙트(100)로 요청한다(S1100). 스마트 컨트랙트(100)는 송금자의 계좌에서 송금액을 차감하고 스마트 컨트랙트(100) 계정에 추가한다.Figure 3 is a flowchart illustrating a remittance execution process after the remittance freeze time has elapsed in a remittance method for revocable cryptocurrency according to an embodiment. As shown in Figure 3, the sender's electronic wallet app 200, which receives the remittance amount, the recipient's electronic wallet address, and the transfer freeze time from the sender, connects to the blockchain node, delivers the entered items, and executes a smart contract (100). )'s constructor is called to create an object and distribute it to the blockchain network (S1000). After a certain period of time, when a block containing the bytecode of the smart contract 100 is added, the sender requests the smart contract 100 to process the remittance amount to the address of the smart contract 100 through the sender's electronic wallet app 200. (S1100). The smart contract 100 deducts the remittance amount from the sender's account and adds it to the smart contract 100 account.

송금자는 송금자의 전자지갑 앱(200)을 통해 스마트 컨트랙트(100)에 송금 동결시간 타이머를 시작할 것을 요청하고 타이머가 만료될 때까지 송금이 동결되도록 한다(S1200). 발명의 양상에 따라서는 스마트 컨트랙트(100) 주소로 송금을 하는 처리와 송금 동결시간 타이머 시작을 요청하는 처리는 한번의 사용자 동작으로 처리될 수 있다. 즉, 사용자가 특정 버튼(예, 송금 시작)을 선택하면 스마트 컨트랙트(100) 주소로 송금처리를 요청하는 것과 송금 동결시간 타이머 시작을 요청하는 것이 순서대로 일어나도록 구현될 수 있다. 발명의 또 다른 양상에 따르면, 위 두 요청은 별개의 사용자 인터페이스 즉, 스마트 컨트랙트(100) 주소로 송금을 요청하는 버튼을 선택하고, 추가로 동결시간 타이머 시작을 요청하는 송금 시작을 요청하는 버튼을 선택하도록 구현될 수도 있다.The sender requests the smart contract 100 to start a remittance freeze time timer through the remitter's electronic wallet app 200 and causes the remittance to be frozen until the timer expires (S1200). Depending on the aspect of the invention, the process of sending money to the smart contract 100 address and requesting the start of the transfer freeze time timer can be processed with a single user action. In other words, when the user selects a specific button (e.g., start remittance), requesting remittance processing to the smart contract 100 address and requesting the start of the remittance freeze time timer can be implemented in that order. According to another aspect of the invention, the above two requests are made through a separate user interface, that is, selecting a button to request a transfer to the smart contract 100 address, and a button to request the start of a transfer to additionally request the start of the freeze time timer. It may also be implemented to select.

스마트 컨트랙트(100)는 타이머 개시 요청에 따라 타이머를 시작시키고(S1210), 송금액을 동결시킨다. 이후 송금 동결시간 타이머가 만료되면(S1220) 스마트 컨트랙트(100) 주소에서 수령자의 전자지갑 주소로 자동으로 해당 송금액을 송금 처리한다(S1300).The smart contract 100 starts a timer in response to a timer start request (S1210) and freezes the remittance amount. Afterwards, when the remittance freeze time timer expires (S1220), the remittance amount is automatically transferred from the smart contract (100) address to the recipient's electronic wallet address (S1300).

도 4는 또 다른 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 확인 과정을 도시한 흐름도이다. 발명의 또 다른 실시 예에 따르면, 스마트 컨트랙트(100)를 기반으로 하는 취소 가능한 암호화폐 송금방법은 스마트 컨트랙트(100)를 생성하여 배포하는 단계와, 스마트 컨트랙트(100) 주소로 송금 처리하는 단계와, 송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계와, 수령자의 전자지갑 주소로 송금 처리하고 종료하는 단계를 포함하고, 송금액 및 송금 동결시간을 조회하는 단계를 더 포함할 수 있다.Figure 4 is a flowchart illustrating the process of checking the remittance freeze time in the remittance method of revocable cryptocurrency according to another embodiment. According to another embodiment of the invention, a revocable cryptocurrency remittance method based on a smart contract 100 includes the steps of creating and distributing a smart contract 100, processing the remittance to the smart contract 100 address, and , freezing the remittance amount for the remittance freeze time and waiting for the remittance, processing and terminating the remittance to the recipient's electronic wallet address, and may further include the step of inquiring the remittance amount and the remittance freeze time.

스마트 컨트랙트(100)를 생성하여 배포하는 단계는 송금자가 송금자의 컴퓨팅 장치에서 실행되는 전자지갑 앱을 통해 블록체인 노드에 접속하여 블록체인 노드 상의 블록체인 가상 머신에서 스마트 컨트랙트(100)가 실행될 수 있도록 송금액, 수령자의 전자지갑 주소 및 송금 동결시간을 포함하는 파라미터를 전달하며 스마트 컨트랙트 객체(인스턴스)를 생성하여 배포하는 단계이다(S2000).The step of creating and distributing the smart contract (100) involves allowing the remitter to access the blockchain node through an electronic wallet app running on the remitter's computing device so that the smart contract (100) can be executed in the blockchain virtual machine on the blockchain node. This is the step of creating and distributing a smart contract object (instance) by passing parameters including the remittance amount, recipient's electronic wallet address, and remittance freeze time (S2000).

스마트 컨트랙트(100) 주소로 송금 처리하는 단계는 송금자의 전자지갑 앱(200)이 생성된 스마트 컨트랙트(100) 주소로 설정된 송금액의 송금을 처리하는 단계로 송금자로부터 수령자에게로 송금액을 송금하기 위하여 먼저 송금자의 계좌에서 송금액만큼의 암호화폐를 인출하는 단계이다(S2100).The step of processing the remittance to the smart contract (100) address is the step of processing the remittance amount set to the smart contract (100) address where the sender's electronic wallet app (200) is created. In order to transfer the remittance amount from the sender to the recipient. The first step is to withdraw cryptocurrency equivalent to the remittance amount from the sender's account (S2100).

송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계는 피싱 등을 방지하기 위해 송금자가 송금자의 전자지갑 앱(200)이 스마트 컨트랙트(100)에 연결하여 스마트 컨트랙트(100)의 송금 동결시간 타이머를 시작시키고(S2210) 수령자에게 송금되어야 할 송금액을 지정된 송금 동결시간 동안 즉, 타이머가 만료될 때까지 송금액을 동결하며 송금을 대기하는 단계이다(S2200).In the step of freezing the remittance amount for the remittance freeze time and waiting for the remittance, the remitter's electronic wallet app (200) connects to the smart contract (100) and sets the remittance freeze time timer of the smart contract (100) to prevent phishing, etc. This is the step of starting (S2210) and freezing the remittance amount to be sent to the recipient for a designated remittance freeze time, that is, until the timer expires, and waiting for the remittance (S2200).

송금액 및 송금 동결시간을 조회하는 단계는 수령자의 전자지갑 앱(300)이 스마트 컨트랙트(100)에 연결하여 동결된 송금액 및 남은 송금 동결시간을 조회하여 출력하는 단계이다(S2300). 수령자는 스마트 컨트랙트(100)에 접근하여 스마트 컨트랙트(100)에 설정된 송금액을 조회하여 송금액이 계약한 금액과 일치하는 지 확인할 수 있고, 남아있는 송금 동결시간을 조회하여 자신의 계좌로 송금되는 시점을 정확히 파악할 수 있다.The step of checking the remittance amount and the remaining remittance freezing time is a step in which the recipient's electronic wallet app 300 connects to the smart contract 100 to inquire and output the frozen remittance amount and the remaining remittance freezing time (S2300). The recipient can access the smart contract 100 and check the remittance amount set in the smart contract 100 to check whether the remittance amount matches the contracted amount, and check the remaining remittance freeze time to determine when the remittance will be sent to his or her account. You can understand it accurately.

수령자의 전자지갑 주소로 송금 처리하고 종료하는 단계는 스마트 컨트랙트(100)가 송금 동결시간 타이머 만료 시 자동으로 스마트 컨트랙트(100) 주소에서 수령자의 전자지갑 주소로 동결된 송금액의 송금을 처리하고 스마트 컨트랙트(100)를 종료한다(S2400).In the step of processing and ending the transfer to the recipient's electronic wallet address, the smart contract 100 automatically processes the transfer of the frozen remittance amount from the smart contract 100 address to the recipient's electronic wallet address when the transfer freeze timer expires and the smart contract 100 automatically processes the transfer of the frozen remittance amount to the recipient's electronic wallet address. (100) ends (S2400).

도 5는 또 다른 실시 예에 따른 스마트 컨트랙트를 이용한 취소 가능한 암호화폐 송금방법의 절차를 도시한 것이다. 발명의 또 다른 실시 예에 따르면, 스마트 컨트랙트(100)를 기반으로 하는 취소 가능한 암호화폐 송금방법은 스마트 컨트랙트(100)를 생성하여 배포하는 단계와, 스마트 컨트랙트(100) 주소로 송금 처리하는 단계와, 송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계와, 수령자의 전자지갑 주소로 송금 처리하고 종료하는 단계를 포함하고, 즉시 송금을 요청하는 단계와, 즉시 송금을 처리하고 종료하는 단계를 더 포함할 수 있다.Figure 5 illustrates the procedure of a revocable cryptocurrency remittance method using a smart contract according to another embodiment. According to another embodiment of the invention, a revocable cryptocurrency remittance method based on a smart contract 100 includes the steps of creating and distributing a smart contract 100, processing the remittance to the smart contract 100 address, and , including the steps of freezing the remittance amount for a remittance freeze time and waiting for the remittance, processing and terminating the remittance to the recipient's electronic wallet address, requesting an immediate remittance, and further steps of immediately processing and terminating the remittance. It can be included.

스마트 컨트랙트(100)를 생성하여 배포하는 단계는 송금자가 송금자의 컴퓨팅 장치에서 실행되는 전자지갑 앱을 통해 블록체인 노드에 접속하여 블록체인 노드 상의 블록체인 가상 머신에서 스마트 컨트랙트(100)가 실행될 수 있도록 송금액, 수령자의 전자지갑 주소 및 송금 동결시간을 포함하는 파라미터를 전달하며 스마트 컨트랙트 객체(인스턴스)를 생성하여 배포하는 단계이다(S3000).The step of creating and distributing the smart contract (100) involves allowing the remitter to access the blockchain node through an electronic wallet app running on the remitter's computing device so that the smart contract (100) can be executed in the blockchain virtual machine on the blockchain node. This is the step of creating and distributing a smart contract object (instance) by passing parameters including the remittance amount, recipient's electronic wallet address, and remittance freeze time (S3000).

스마트 컨트랙트(100) 주소로 송금 처리하는 단계는 송금자의 전자지갑 앱(200)이 생성된 스마트 컨트랙트(100) 주소로 설정된 송금액의 송금을 처리하는 단계로 송금자로부터 수령자에게로 송금액을 송금하기 위하여 먼저 송금자의 계좌에서 송금액만큼의 암호화폐를 인출하는 단계이다(S3100).The step of processing the remittance to the smart contract (100) address is the step of processing the remittance amount set to the smart contract (100) address where the sender's electronic wallet app (200) is created. In order to transfer the remittance amount from the sender to the recipient. The first step is to withdraw cryptocurrency equivalent to the remittance amount from the sender's account (S3100).

송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계는 피싱 등을 방지하기 위해 송금자가 송금자의 전자지갑 앱(200)이 스마트 컨트랙트(100)에 연결하여 스마트 컨트랙트(100)의 송금 동결시간 타이머를 시작시키고 수령자에게 송금되어야 할 송금액을 지정된 송금 동결시간 동안 즉, 타이머가 만료될 때까지 송금액을 동결하며 송금을 대기하는 단계이다(S3200).In the step of freezing the remittance amount for the remittance freeze time and waiting for the remittance, the remitter's electronic wallet app (200) connects to the smart contract (100) and sets the remittance freeze time timer of the smart contract (100) to prevent phishing, etc. This is the step of starting and waiting for the remittance to be sent to the recipient by freezing the remittance amount for a designated remittance freeze time, that is, until the timer expires (S3200).

즉시 송금을 요청하는 단계는 수령자의 전자지갑 앱(300)이 송금 동결시간 타이머 만료 전 스마트 컨트랙트(100)에 연결하여 송금자의 전자지갑 앱(200)으로 즉시 송금 실행을 요청하는 단계이다(S3300). 송금 동결시간 타이머가 만료되어 자동으로 수령자의 계좌로 송금되는 것 외에 수령자가 송금자의 요구 조건을 이미 달성한 경우 송금 동결시간 만료 전이라도 송금자에게 즉시 송금을 요청하는 수단으로 사용될 수 있다. 이는 단순 송금 계약 이외의 다른 계약으로 확장이 가능하도록 하는 효과가 있다. 예를 들어, 송금자가 수령자가 원격지에서 판매하는 상품을 통신(전화, 인터넷 등)을 통해 구매하고 상품을 수령할 때까지 취소 가능한 송금방법을 활용하여 송금하고 상품을 수령한 경우 수령자가 즉시 송금을 요청할 수 있도록 한다.The step of requesting immediate remittance is a step in which the recipient's electronic wallet app (300) connects to the smart contract (100) before the remittance freeze time timer expires and requests immediate transfer to the sender's electronic wallet app (200) (S3300) . In addition to automatically sending money to the recipient's account when the remittance freeze time timer expires, it can also be used as a means to request an immediate remittance from the sender even before the remittance freeze time expires if the recipient has already met the sender's requirements. This has the effect of enabling expansion into other contracts other than simple remittance contracts. For example, if the sender purchases a product that the recipient sells from a remote location via communication (telephone, Internet, etc.) and sends the money using a remittance method that can be canceled until the product is received, and the recipient receives the product, the recipient immediately sends the money. Allow you to request it.

즉시 송금을 처리하고 종료하는 단계는 스마트 컨트랙트(100)를 종료하는 다른 과정으로 수령자의 즉시 송금 요청에 대응하여 송금자의 전자지갑 앱(200)이 송금 동결시간 타이머 만료 전 스마트 컨트랙트(100)에 연결하여 스마트 컨트랙트(100) 주소에서 수령자의 전자지갑 주소로 동결된 송금액의 송금을 처리하고 스마트 컨트랙트(100)를 종료하는 단계이다(S3400, S3500). 발명의 양상에 따라서는 수령자의 즉시 송금 요청이 없더라도 송금자가 자신이 원하는 계약조건이 달성되면 스스로 즉시 송금 요청을 할 수도 있다.The step of immediately processing and terminating the remittance is another process of terminating the smart contract 100. In response to the recipient's immediate remittance request, the sender's electronic wallet app 200 connects to the smart contract 100 before the remittance freeze timer expires. This is the step of processing the transfer of the frozen remittance amount from the smart contract 100 address to the recipient's electronic wallet address and terminating the smart contract 100 (S3400, S3500). Depending on the aspect of the invention, even if there is no immediate request for remittance from the recipient, the sender may voluntarily request remittance immediately when the desired contract conditions are achieved.

도 6은 또 다른 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 경과 전 즉시 송금 실행과정을 도시한 흐름도이다. 도 6에 도시된 바와 같이, 송금자로부터 송금액, 수령자의 전자지갑 주소 및 송금 동결시간을 입력 받은 송금자의 전자지갑 앱(200)이 블록체인 노드에 접속하여 입력 받은 항목들을 전달하며 스마트 컨트랙트(100)의 생성자를 호출하여 객체를 생성하고 블록체인 네트워크에 배포한다(S3000). 일정시간 경과 후 스마트 컨트랙트(100)의 바이트코드를 포함하는 블록이 추가되면 송금자는 송금자의 전자지갑 앱(200)을 통해 스마트 컨트랙트(100) 주소로 송금액의 처리를 스마트 컨트랙트(100)로 요청한다(S3100). 스마트 컨트랙트(100)는 송금자의 계좌에서 송금액을 차감하고 스마트 컨트랙트(100) 계정에 추가한다.Figure 6 is a flowchart showing the process of executing an immediate remittance before the remittance freeze time has elapsed in a remittance method for revocable cryptocurrency according to another embodiment. As shown in Figure 6, the sender's electronic wallet app 200, which receives the remittance amount, the recipient's electronic wallet address, and the transfer freeze time from the sender, connects to the blockchain node, delivers the entered items, and executes a smart contract (100). )'s constructor is called to create an object and distribute it to the blockchain network (S3000). After a certain period of time, when a block containing the bytecode of the smart contract 100 is added, the sender requests the smart contract 100 to process the remittance amount to the address of the smart contract 100 through the sender's electronic wallet app 200. (S3100). The smart contract 100 deducts the remittance amount from the sender's account and adds it to the smart contract 100 account.

송금자는 송금자의 전자지갑 앱(200)을 통해 스마트 컨트랙트(100)에 송금 동결시간 타이머를 시작할 것을 요청하고 타이머가 만료될 때까지 송금이 동결되도록 한다(S3200). 발명의 양상에 따라서는 스마트 컨트랙트(100) 주소로 송금을 하는 처리와 송금 동결시간 타이머 시작을 요청하는 처리는 한번의 사용자 동작으로 처리될 수 있다. 즉, 사용자가 특정 버튼(예, 송금 시작)을 선택하면 스마트 컨트랙트(100) 주소로 송금처리를 요청하는 것과 송금 동결시간 타이머 시작을 요청하는 것이 순서대로 일어나도록 구현될 수 있다. 발명의 또 다른 양상에 따르면, 위 두 요청은 별개의 사용자 인터페이스 즉, 스마트 컨트랙트(100) 주소로 송금을 요청하는 버튼을 선택하고, 추가로 동결시간 타이머 시작을 요청하는 송금 시작을 요청하는 버튼을 선택하도록 구현될 수도 있다.The remitter requests the smart contract 100 to start a remittance freeze time timer through the remitter's electronic wallet app 200 and causes the remittance to be frozen until the timer expires (S3200). Depending on the aspect of the invention, the process of sending money to the smart contract 100 address and requesting the start of the transfer freeze time timer can be processed with a single user action. In other words, when the user selects a specific button (e.g., start remittance), requesting remittance processing to the smart contract 100 address and requesting the start of the remittance freeze time timer can be implemented in that order. According to another aspect of the invention, the above two requests are made through a separate user interface, that is, selecting a button to request a transfer to the smart contract 100 address, and a button to request the start of a transfer to additionally request the start of the freeze time timer. It may also be implemented to select.

스마트 컨트랙트(100)는 타이머 개시 요청에 따라 타이머를 시작시키고(S3210), 송금액을 동결시킨다. The smart contract 100 starts a timer according to the timer start request (S3210) and freezes the remittance amount.

수령자의 전자지갑 앱(300)이 송금 동결시간 타이머 만료전이라도 송금자의 요구하는 조건을 모두 만족한 경우 스마트 컨트랙트(100)에 연결하여 즉시 송금을 요청할 수 있다(S3300). 즉시 요청을 수령한 스마트 컨트랙트(100)는 송금자의 전자지갑 앱(200)으로 즉시 송금 요청이 있음을 통지한다(S3310). 발명의 양상에 따라서는 이때 송금자의 전자지갑 앱(200)에는 수령자의 즉시 송금 요청을 알리는 메시지를 표시할 수 있다.If the recipient's electronic wallet app (300) satisfies all the conditions required by the sender even before the remittance freeze time timer expires, it can connect to the smart contract (100) and request an immediate remittance (S3300). The smart contract 100, which immediately receives the request, notifies the sender's electronic wallet app 200 that there is an immediate remittance request (S3310). Depending on the aspect of the invention, at this time, the sender's electronic wallet app 200 may display a message notifying the recipient's immediate remittance request.

송금자는 수령자가 자신이 원하는 요구조건이 전부 만족되었는지 확인한 후 즉시 송금 요청에 대응하여 송금 동결시간 타이머가 만료 전 스마트 컨트랙트(100)에 연결하여 스마트 컨트랙트(100) 주소에서 수령자의 전자지갑 주소로 해당 송금액의 송금 처리를 요청할 수 있다(S3400). 이 요청을 받은 스마트 컨트랙트(100)는 수령자의 전자지갑 주소로 해당 송금액의 송금 처리하고 스마트 컨트랙트(100)를 종료한다(S3500).After confirming that the recipient has satisfied all of the requirements, the sender immediately responds to the remittance request, connects to the smart contract (100) before the remittance freeze time timer expires, and corresponds from the smart contract (100) address to the recipient's electronic wallet address. You can request remittance processing of the remittance amount (S3400). The smart contract 100 that receives this request processes the remittance amount to the recipient's electronic wallet address and terminates the smart contract 100 (S3500).

도 7은 또 다른 실시 예에 따른 스마트 컨트랙트를 이용한 취소 가능한 암호화폐 송금방법의 송금 취소 절차를 도시한 것이다. 발명의 또 다른 실시 예에 따르면, 스마트 컨트랙트(100)를 기반으로 하는 취소 가능한 암호화폐 송금방법은 스마트 컨트랙트(100)를 생성하여 배포하는 단계와, 스마트 컨트랙트(100) 주소로 송금 처리하는 단계와, 송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계와, 수령자의 전자지갑 주소로 송금 처리하고 종료하는 단계를 포함하고, 계약을 파기하고 환불을 처리하는 단계를 더 포함할 수 있다.Figure 7 illustrates a remittance cancellation procedure for a revocable cryptocurrency remittance method using a smart contract according to another embodiment. According to another embodiment of the invention, a revocable cryptocurrency remittance method based on a smart contract 100 includes the steps of creating and distributing a smart contract 100, processing the remittance to the smart contract 100 address, and , it may further include a step of freezing the remittance amount for a remittance freeze time and waiting for the remittance, processing and terminating the remittance to the recipient's electronic wallet address, and a step of canceling the contract and processing a refund.

스마트 컨트랙트(100)를 생성하여 배포하는 단계는 송금자가 송금자의 컴퓨팅 장치에서 실행되는 전자지갑 앱을 통해 블록체인 노드에 접속하여 블록체인 노드 상의 블록체인 가상 머신에서 스마트 컨트랙트(100)가 실행될 수 있도록 송금액, 수령자의 전자지갑 주소 및 송금 동결시간을 포함하는 파라미터를 전달하며 스마트 컨트랙트 객체(인스턴스)를 생성하여 배포하는 단계이다(S4000).The step of creating and distributing the smart contract (100) involves allowing the remitter to access the blockchain node through an electronic wallet app running on the remitter's computing device so that the smart contract (100) can be executed in the blockchain virtual machine on the blockchain node. This is the step of creating and distributing a smart contract object (instance) by passing parameters including the remittance amount, recipient's electronic wallet address, and remittance freeze time (S4000).

스마트 컨트랙트(100) 주소로 송금 처리하는 단계는 송금자의 전자지갑 앱(200)이 생성된 스마트 컨트랙트(100) 주소로 설정된 송금액의 송금을 처리하는 단계로 송금자로부터 수령자에게로 송금액을 송금하기 위하여 먼저 송금자의 계좌에서 송금액만큼의 암호화폐를 인출하는 단계이다(S4100).The step of processing the remittance to the smart contract (100) address is the step of processing the remittance amount set to the smart contract (100) address where the sender's electronic wallet app (200) is created. In order to transfer the remittance amount from the sender to the recipient. The first step is to withdraw cryptocurrency equivalent to the remittance amount from the sender's account (S4100).

송금액을 송금 동결시간 동안 동결하며 송금을 대기하는 단계는 피싱 등을 방지하기 위해 송금자가 송금자의 전자지갑 앱(200)이 스마트 컨트랙트(100)에 연결하여 스마트 컨트랙트(100)의 송금 동결시간 타이머를 시작시키고 수령자에게 송금되어야 할 송금액을 지정된 송금 동결시간 동안 즉, 타이머가 만료될 때까지 송금액을 동결하며 송금을 대기하는 단계이다(S4200).In the step of freezing the remittance amount for the remittance freeze time and waiting for the remittance, the remitter's electronic wallet app (200) connects to the smart contract (100) and sets the remittance freeze time timer of the smart contract (100) to prevent phishing, etc. This is the step of starting and waiting for the remittance to be sent to the recipient by freezing the remittance amount for a designated remittance freeze time, that is, until the timer expires (S4200).

계약을 파기하고 환불을 처리하는 단계는 송금자의 전자지갑 앱(200)이 송금 동결시간 타이머 만료 전 스마트 컨트랙트(100)에 연결하여 동결된 송금액을 스마트 컨트랙트(100) 주소에서 송금자의 전자지갑 주소로 환불처리하고 스마트 컨트랙트(100)를 파기하는 단계이다(S4300). 송금자가 피싱 또는 착오로 잘못된 수령자에게 송금을 한 경우 송금 동결시간 타이머가 만료되어 자동으로 수령자의 계좌로 송금되기 전에 이를 취소하고 스마트 컨트랙트(100)를 종료하는 단계이다. 또는 수령자가 송금자가 요구하는 계약조건을 달성할 수 없을 때 동결시간 타이머 만료전에 송금을 취소하고 종료할 수 있는 수단으로 사용될 수 있다.In the step of canceling the contract and processing a refund, the sender's electronic wallet app (200) connects to the smart contract (100) before the transfer freeze timer expires and transfers the frozen remittance amount from the smart contract (100) address to the sender's electronic wallet address. This is the step of processing a refund and destroying the smart contract (100) (S4300). If the sender sends money to the wrong recipient due to phishing or by mistake, the transfer freeze timer expires and the transfer is canceled and the smart contract (100) is terminated before the transfer is automatically transferred to the recipient's account. Alternatively, it can be used as a means to cancel and terminate the transfer before the freeze time timer expires when the recipient is unable to achieve the contractual conditions required by the sender.

도 8은 또 다른 실시 예에 따른 취소 가능한 암호화폐의 송금방법에서 송금 동결시간 경과 전 계약 취소 과정을 도시한 흐름도이다. 도 8에 도시된 바와 같이, 송금자로부터 송금액, 수령자의 전자지갑 주소 및 송금 동결시간을 입력 받은 송금자의 전자지갑 앱(200)이 블록체인 노드에 접속하여 입력 받은 항목들을 전달하며 스마트 컨트랙트(100)의 생성자를 호출하여 객체를 생성하고 블록체인 네트워크에 배포한다(S4000). 일정시간 경과 후 스마트 컨트랙트(100)의 바이트코드를 포함하는 블록이 추가되면 송금자는 송금자의 전자지갑 앱(200)을 통해 스마트 컨트랙트(100) 주소로 송금액의 처리를 스마트 컨트랙트(100)로 요청한다(S4100). 스마트 컨트랙트(100)는 송금자의 계좌에서 송금액을 차감하고 스마트 컨트랙트(100) 계정에 추가한다.Figure 8 is a flow chart illustrating a contract cancellation process before the remittance freeze time has elapsed in a remittance method for cancelable cryptocurrency according to another embodiment. As shown in Figure 8, the sender's electronic wallet app 200, which receives the remittance amount, the recipient's electronic wallet address, and the transfer freeze time from the sender, connects to the blockchain node, delivers the entered items, and executes a smart contract (100). )'s constructor is called to create an object and distribute it to the blockchain network (S4000). After a certain period of time, when a block containing the bytecode of the smart contract 100 is added, the sender requests the smart contract 100 to process the remittance amount to the address of the smart contract 100 through the sender's electronic wallet app 200. (S4100). The smart contract 100 deducts the remittance amount from the sender's account and adds it to the smart contract 100 account.

송금자는 송금자의 전자지갑 앱(200)을 통해 스마트 컨트랙트(100)에 송금 동결시간 타이머를 시작할 것을 요청하고 타이머가 만료될 때까지 송금이 동결되도록 한다(S4200). 발명의 양상에 따라서는 스마트 컨트랙트(100) 주소로 송금을 하는 처리와 송금 동결시간 타이머 시작을 요청하는 처리는 한번의 사용자 동작으로 처리될 수 있다. 즉, 사용자가 특정 버튼(예, 송금 시작)을 선택하면 스마트 컨트랙트(100) 주소로 송금처리를 요청하는 것과 송금 동결시간 타이머 시작을 요청하는 것이 순서대로 일어나도록 구현될 수 있다. 발명의 또 다른 양상에 따르면, 위 두 요청은 별개의 사용자 인터페이스 즉, 스마트 컨트랙트(100) 주소로 송금을 요청하는 버튼을 선택하고, 추가로 동결시간 타이머 시작을 요청하는 송금 시작을 요청하는 버튼을 선택하도록 구현될 수도 있다.The sender requests the smart contract 100 to start a remittance freeze time timer through the remitter's electronic wallet app 200 and causes the remittance to be frozen until the timer expires (S4200). Depending on the aspect of the invention, the process of sending money to the smart contract 100 address and requesting the start of the transfer freeze time timer can be processed with a single user action. In other words, when the user selects a specific button (e.g., start remittance), requesting remittance processing to the smart contract 100 address and requesting the start of the remittance freeze time timer can be implemented in that order. According to another aspect of the invention, the above two requests are made through a separate user interface, that is, selecting a button to request a transfer to the smart contract 100 address, and a button to request the start of a transfer to additionally request the start of the freeze time timer. It may also be implemented to select.

스마트 컨트랙트(100)는 타이머 개시 요청에 따라 타이머를 시작시키고(S4210), 송금액을 동결시킨다. The smart contract 100 starts a timer in response to a timer start request (S4210) and freezes the remittance amount.

송금자의 전자지갑 앱(200)이 송금 동결시간 타이머 만료 전 잘못 송금한 것을 알았거나 수령자가 송금자의 요구하는 조건을 만족하지 못하는 경우 스마트 컨트랙트(100)에 연결하여 송금 취소를 요청할 수 있다(S4250). 송금 취소을 수령한 스마트 컨트랙트(100)는 스마트 컨트랙트(100)의 주소에서 송금자의 전자지갑 주소로 환불처리를 하고 스마트 컨트랙트(100)의 실행을 종료한다(S4300).If the sender's electronic wallet app (200) realizes that the transfer was made incorrectly before the transfer freeze timer expired, or if the recipient does not meet the conditions required by the sender, it can request cancellation of the transfer by connecting to the smart contract (100) (S4250) . The smart contract 100, which has received the remittance cancellation, processes a refund from the address of the smart contract 100 to the sender's electronic wallet address and terminates execution of the smart contract 100 (S4300).

도 9는 일 양상 예에 따른 취소 가능한 송금방법을 구현한 스마트 컨트랙트의 블록도이다. 일 양상 예에 따른 취소 가능한 송금방법을 구현한 스마트 컨트랙트(100)는 수령자의 전자지갑 앱(300)의 송금액 조회 요청에 따라 설정된 송금액의 조회를 처리하는 기능을 수행하는 송금액 조회 처리부(110)와, 수령자의 전자지갑 앱(300)의 송금 동결시간 조회 요청에 따라 타이머 만료까지 남은 송금 동결시간의 조회를 처리하는 기능을 수행하는 송금 동결시간 조회 처리부(120)와, 수령자의 전자지갑 앱(300)의 즉시 송금 요청에 따라 송금자의 전자지갑 앱(200)으로 즉시 송금 요청을 전달하는 기능을 수행하는 즉시 송금 요청 처리부(130)와, 송금자의 즉시 송금 요청에 따라 송금 동결시간 타이머 만료 전 송금액의 송금을 처리하는 기능을 수행하는 즉시 송금 처리부(140)와, 송금 동결시간 타이머 만료시 지정된 수령자의 전자지갑 주소로 설정된 송금액의 송금을 처리하는 기능을 수행하는 송금 처리부(150)와, 송금 동결시간 타이머 만료전 송금자의 전자지갑 주소로 송금액을 되돌리고 계약을 파기하고 종료하는 기능을 처리하는 송금 취소 처리부(160)를 포함할 수 있다.Figure 9 is a block diagram of a smart contract implementing a cancelable remittance method according to an example of an aspect. The smart contract 100, which implements a cancelable remittance method according to one aspect example, includes a remittance amount inquiry processing unit 110 that performs the function of processing the remittance amount inquiry set according to the remittance amount inquiry request from the recipient's electronic wallet app 300; , a remittance freeze time inquiry processing unit 120 that performs the function of processing the remittance freeze time remaining until the expiration of the timer in response to a remittance freeze time inquiry request from the recipient's electronic wallet app 300, and the recipient's electronic wallet app 300. )'s immediate remittance request, an immediate remittance request processing unit 130 that performs the function of transmitting an immediate remittance request to the sender's electronic wallet app 200, and A remittance processing unit 140 that immediately performs the function of processing the remittance, a remittance processing unit 150 that performs the function of processing the remittance amount set to the electronic wallet address of the designated recipient when the remittance freeze time timer expires, and a remittance freeze timer. It may include a remittance cancellation processing unit 160 that processes the function of returning the remittance amount to the sender's electronic wallet address before the timer expires and canceling and terminating the contract.

스마트 컨트랙트(100)는 솔리디티와 같은 프로그래밍 언어로 작성될 수 있으며, 블록체인 플랫폼의 가상 머신에서 실행되는 컴퓨터 프로그램으로 CD??ROM, USB, ROM, RAN 등의 저장매체에 저장될 수 있다.The smart contract 100 can be written in a programming language such as Solidity, and is a computer program that runs on a virtual machine of the blockchain platform and can be stored in a storage medium such as CD??ROM, USB, ROM, or RAN.

이상에서 본 발명을 첨부된 도면을 참조하는 실시 예들을 통해 설명하였지만 이에 한정되는 것은 아니며, 이들로부터 당업자라면 자명하게 도출할 수 있는 다양한 변형 예들을 포괄하도록 해석되어야 한다. 특허청구범위는 이러한 변형 예들을 포괄하도록 의도되었다. In the above, the present invention has been described through embodiments with reference to the attached drawings, but it is not limited thereto, and should be interpreted to encompass various modifications that can be easily derived by those skilled in the art. The claims are intended to cover these variations.

100 : 스마트 컨트랙트
110 : 송금액 조회 처리부
120 : 송금 동결시간 조회 처리부
130 : 즉시 송금 요청 처리부
140 : 즉시 송금 처리부
150 : 송금 처리부
160 : 송금 취소 처리부
200 : 송금자의 전자지갑 앱
300 : 수령자의 전자지갑 앱
100: Smart contract
110: Remittance inquiry processing department
120: Remittance freeze time inquiry processing department
130: Immediate remittance request processing unit
140: Immediate remittance processing department
150: Remittance processing department
160: Remittance cancellation processing department
200: Sender’s electronic wallet app
300: Recipient’s electronic wallet app

Claims (5)

블록체인 노드의 가상 머신에서 실행되는 스마트 컨트랙트 기반의 암호화폐 송금방법에 있어서,
송금자의 전자지갑 앱이 블록체인 노드에 접속하여 송금액, 수령자의 전자지갑 주소 및 송금자가 지정한 송금 동결시간 정보가 설정된 스마트 컨트랙트를 생성하여 블록체인에 배포하는 단계;
송금자의 전자지갑 앱이 생성된 스마트 컨트랙트 주소로 설정된 송금액의 송금을 처리하는 단계;
송금자의 전자지갑 앱이 스마트 컨트랙트에 연결하여 스마트 컨트랙트의 송금 동결시간 타이머를 시작시키고 지정된 송금 동결시간 동안 송금을 대기하는 단계; 및
스마트 컨트랙트가 송금 동결시간 타이머 만료시 스마트 컨트랙트 주소에서 수령자의 전자지갑 주소로 동결된 송금액의 송금을 처리하고 종료하는 단계;
를 포함하되,
수령자의 전자지갑 앱이 송금 동결시간 타이머 만료 전 스마트 컨트랙트에 연결하여 동결된 송금액 및 남은 송금 동결시간을 조회하여 출력하는 단계를 더 포함하는 암호화폐 송금방법.
In a smart contract-based cryptocurrency remittance method running on the virtual machine of a blockchain node,
The sender's electronic wallet app connects to the blockchain node to create a smart contract with the remittance amount, the recipient's electronic wallet address, and the transfer freeze time information specified by the sender and distributes it to the blockchain;
Processing the transfer of the remittance amount set to the smart contract address created by the sender's electronic wallet app;
The sender's electronic wallet app connects to the smart contract, starts the smart contract's remittance freeze time timer, and waits for the remittance for the specified remittance freeze time; and
The smart contract processes and terminates the transfer of the frozen remittance amount from the smart contract address to the recipient's electronic wallet address when the remittance freeze timer expires;
Including,
A cryptocurrency remittance method further comprising the step of connecting the recipient's electronic wallet app to a smart contract before the remittance freeze time timer expires to query and print the frozen remittance amount and remaining remittance freeze time.
삭제delete 제 1 항에 있어서, 상기 방법은
수령자의 전자지갑 앱이 송금 동결시간 타이머 만료 전 스마트 컨트랙트에 연결하여 송금자의 전자지갑 앱으로 즉시 송금 실행을 요청하는 단계; 및
송금자의 전자지갑 앱이 송금 동결시간 타이머 만료 전 스마트 컨트랙트에 연결하여 스마트 컨트랙트 주소에서 수령자의 전자지갑 주소로 동결된 송금액의 송금을 처리하고 스마트 컨트랙트를 종료하는 단계;
를 더 포함하는 암호화폐 송금방법.
The method of claim 1, wherein the method
A step where the recipient's electronic wallet app connects to the smart contract before the transfer freeze timer expires and requests the sender's electronic wallet app to immediately execute the transfer; and
The sender's electronic wallet app connects to the smart contract before the remittance freeze time timer expires, processes the transfer of the frozen remittance amount from the smart contract address to the recipient's electronic wallet address, and terminates the smart contract;
A cryptocurrency remittance method that further includes.
제 1 항에 있어서, 상기 방법은
송금자의 전자지갑 앱이 송금 동결시간 타이머 만료 전 스마트 컨트랙트에 연결하여 동결된 송금액을 스마트 컨트랙트 주소에서 송금자의 전자지갑 주소로 환불처리하고 스마트 컨트랙트를 파기하는 단계;
를 더 포함하는 암호화폐 송금방법.
The method of claim 1, wherein the method
The sender's electronic wallet app connects to the smart contract before the transfer freeze timer expires, refunds the frozen remittance amount from the smart contract address to the sender's electronic wallet address, and destroys the smart contract;
A cryptocurrency remittance method that further includes.
블록체인 노드의 가상 머신에서 실행되는 스마트 컨트랙트가 구현된 컴퓨터 프로그램에 있어서,
수령자의 전자지갑 앱의 송금액 조회 요청에 따라 설정된 송금액의 조회를 처리하는 기능을 수행하는 송금액 조회 처리부;
수령자의 전자지갑 앱의 송금 동결시간 조회 요청에 따라 타이머 만료까지 남은 송금 동결시간의 조회를 처리하는 기능을 수행하는 송금 동결시간 조회 처리부;
수령자의 전자지갑 앱의 즉시 송금 요청에 따라 송금자의 전자지갑 앱으로 즉시 송금 요청을 전달하는 기능을 수행하는 즉시 송금 요청 처리부;
송금자의 즉시 송금 요청에 따라 송금 동결시간 타이머 만료 전 송금액의 송금을 처리하는 기능을 수행하는 즉시 송금 처리부;
송금 동결시간 타이머 만료시 지정된 수령자의 전자지갑 주소로 설정된 송금액의 송금을 처리하는 기능을 수행하는 송금 처리부; 및
송금 동결시간 타이머 만료전 송금자의 전자지갑 주소로 송금액을 되돌리고 계약을 파기하고 종료하는 기능을 수행하는 송금 취소 처리부;
를 포함하여 블록체인 플랫폼의 가상 머신과 결합되어 실행되는 매체에 저장된 스마트 컨트랙트가 구현된 컴퓨터 프로그램.
In a computer program implementing a smart contract running on a virtual machine of a blockchain node,
A remittance inquiry processing unit that performs the function of processing the inquiry of the remittance amount set according to the remittance amount inquiry request from the recipient's electronic wallet app;
A remittance freeze time inquiry processing unit that performs the function of processing the remittance freeze time remaining until the expiration of the timer in response to a remittance freeze time inquiry request from the recipient's electronic wallet app;
An instant remittance request processing unit that performs the function of transmitting an instant remittance request to the sender's e-wallet app according to an instant remittance request from the recipient's e-wallet app;
An immediate remittance processing unit that performs the function of processing the remittance amount before the expiration of the remittance freeze time timer according to the remittance sender's request for immediate remittance;
A remittance processing unit that performs the function of processing the remittance amount set to the electronic wallet address of the designated recipient when the remittance freeze time timer expires; and
A remittance cancellation processing unit that returns the remittance amount to the sender's electronic wallet address before the remittance freeze timer expires and performs the function of canceling and terminating the contract;
A computer program that implements a smart contract stored on a medium that runs in conjunction with a virtual machine on a blockchain platform, including.
KR1020180063038A 2018-05-31 2018-05-31 Cancelable transfer method for cryptocurrency KR102600645B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180063038A KR102600645B1 (en) 2018-05-31 2018-05-31 Cancelable transfer method for cryptocurrency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180063038A KR102600645B1 (en) 2018-05-31 2018-05-31 Cancelable transfer method for cryptocurrency

Publications (2)

Publication Number Publication Date
KR20190136844A KR20190136844A (en) 2019-12-10
KR102600645B1 true KR102600645B1 (en) 2023-11-09

Family

ID=69003071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180063038A KR102600645B1 (en) 2018-05-31 2018-05-31 Cancelable transfer method for cryptocurrency

Country Status (1)

Country Link
KR (1) KR102600645B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102409982B1 (en) * 2020-02-13 2022-06-16 주식회사 소버린월렛 Operation method of blockchain currency remittance service system and electronic wallet for currency remittance
KR20220068812A (en) 2020-11-19 2022-05-26 김형근 Method for stepwise transfer of electronic money
KR102540415B1 (en) * 2020-12-30 2023-06-05 고려대학교 산학협력단 Blockchain-based secure and trusted data trading methods and platform system
WO2023229412A1 (en) * 2022-05-25 2023-11-30 박종배 System and method for trading unstable asset and intermediary asset through stable asset escrow
KR102627289B1 (en) * 2022-11-23 2024-01-23 주식회사 메타월드와이드 Payment apparatus for fixed price products using blockchain-based unstable coin

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6218979B1 (en) * 2017-02-24 2017-10-25 株式会社三井住友銀行 Financial transaction method and system using blockchain

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5812158A (en) * 1981-07-15 1983-01-24 Matsushita Electric Ind Co Ltd Magnetic tape driving device
KR101660627B1 (en) * 2015-02-03 2016-09-28 한양대학교 에리카산학협력단 Method and apparatus for protecting transasction of encrypted currency
KR20160132307A (en) * 2015-05-09 2016-11-17 김성일 Method and storage medium using cryptocurrency for money transfer
KR20170118563A (en) * 2016-04-17 2017-10-25 김성순 Bank transfer managing system and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6218979B1 (en) * 2017-02-24 2017-10-25 株式会社三井住友銀行 Financial transaction method and system using blockchain

Also Published As

Publication number Publication date
KR20190136844A (en) 2019-12-10

Similar Documents

Publication Publication Date Title
KR102600645B1 (en) Cancelable transfer method for cryptocurrency
US20210166203A1 (en) System and process for tokenization of digital media
JP7385706B2 (en) Method of distributing digital assets registered on blockchain and autonomous computing agent
US11792017B2 (en) Systems and methods of secure provenance for distributed transaction databases
CN110163590B (en) Payment withholding method and device based on block chain, electronic equipment and storage medium
JP7316392B2 (en) Methods and systems in which blockchain is realized
WO2020220761A1 (en) Method and device for signing payment deduction agreement employing blockchain, and electronic apparatus.
US20170221053A1 (en) Digital asset conversion
TW202004597A (en) Virtual resource delivery and crowdfunding method and device based on block chain
CN113421156A (en) Asset management method and device based on block chain and electronic equipment
CA3123961A1 (en) Method, system, and computer readable medium for transferring cryptographic tokens
Agrawal et al. Blockchain-based universal loyalty platform
KR20200107685A (en) Method for managing on-line donation with smart contract based on blockchain network, and blockchain node using them
US20210350366A1 (en) Application queue api with database of virtual queues for real-time processing distributed ledger system
CN111881166B (en) Method, device and system for processing operation data based on block chain
CN109117607A (en) A kind of software license management method and system based on privately owned chain
US11276057B2 (en) Computer implemented systems and methods for secure data transactions across disparate computing networks
US10445740B2 (en) Computer implemented systems and methods for fraud prevention in data transactions across disparate computing networks
JP2023171211A (en) Program, information processing device and method
KR20200138077A (en) System and method for trading crypto currency based on blockchain
KR102333810B1 (en) Apparatus constituting a block-chain network and an operation method of the apparatus
KR102070252B1 (en) Blockchain based payment service server and operating method thereof
KR102383017B1 (en) Method and system for blockchain-based mobile anonymous non-currency payment
JP6691174B2 (en) Credit payment processing device, method and program
Díes Filizzola Blockchain tools to facilitate NFT tasks in Oasis network

Legal Events

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