KR102462625B1 - 웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램 - Google Patents

웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102462625B1
KR102462625B1 KR1020220044322A KR20220044322A KR102462625B1 KR 102462625 B1 KR102462625 B1 KR 102462625B1 KR 1020220044322 A KR1020220044322 A KR 1020220044322A KR 20220044322 A KR20220044322 A KR 20220044322A KR 102462625 B1 KR102462625 B1 KR 102462625B1
Authority
KR
South Korea
Prior art keywords
remittance
user
service server
recipient
web document
Prior art date
Application number
KR1020220044322A
Other languages
English (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 KR1020220044322A priority Critical patent/KR102462625B1/ko
Application granted granted Critical
Publication of KR102462625B1 publication Critical patent/KR102462625B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/42Confirmation, e.g. check or permission by the legal debtor of payment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

블록체인(blockchain) 기반의 송금 방법은, 컴퓨팅 장치에 의하여 실행됨으로써, 상기 컴퓨팅 장치가 웹 문서를 수신하는 단계; 상기 컴퓨팅 장치가, 상기 웹 문서에 포함된 수신인 정보와 연관된 송금 관련 객체를 상기 웹 문서에 삽입한 가공된 문서를 생성하는 단계; 상기 컴퓨팅 장치가 상기 가공된 문서 상의 상기 송금 관련 객체를 이용하여 사용자로부터 송금 지시를 수신하는 단계; 및 상기 컴퓨팅 장치가, 상기 송금 지시에 대한 응답으로, 송금 서비스 서버에 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰(token) 송금을 요청하는 단계를 포함할 수 있다. 상기 블록체인 기반의 송금 방법에 의하면, 웹 문서의 열람을 위하여 사용하는 웹 브라우저(web browser)를 통해 동작하는 확장 기능 컴포넌트에서 특정 문자열을 갖는 웹 문서 또는 특정 도메인의 웹 문서에 블록체인 기반의 토큰(token) 송금을 위한 객체를 삽입하여 사용자에게 표시함으로써, 사용자가 직접 전자지갑 주소 등을 입력할 필요 없이 토큰 송금을 위한 객체와 상호작용하는 것을 통하여 쉽고 빠르게 송금을 처리할 수 있는 이점이 있다.

Description

웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램{SYSTEM AND METHOD FOR REMITTANCE BASED ON BLOCKCHAIN USING WEB DOCUMENT AND COMPUTER PROGRAM FOR THE SAME}
실시예들은 블록체인(blockchain) 기반의 송금 방법, 송금 서비스 서버와 컴퓨팅 장치 및 이를 위한 컴퓨터 프로그램에 관한 것이다. 보다 상세하게는, 실시예들은 웹 브라우저(web browser)를 통해 동작되는 확장 기능 컴포넌트에서 웹 문서의 특정 문자열 또는 특정 도메인의 웹 문서에 토큰(token) 송금을 위한 객체를 삽입함으로써 송금이 쉽고 빠르게 이루어질 수 있도록 하는 기술에 대한 것이다.
최근 블록체인(blockchain) 관련 기술이 주목을 받으면서, 블록체인 기술은 기존의 가상화폐를 위한 기술을 넘어 보안, 인증, 핀테크(fintech), 게임 등 다양한 분야로 사용이 확대되고 있다. 블록체인이란 블록 단위의 데이터를 체인처럼 연결하여 저장하는 분산원장 기술을 의미하며, 이때 블록체인에 저장되는 데이터는 트랜잭션(transaction) 단위로 생성되어 각 블록에 트랜잭션의 집합이 포함된다.
사용자들은 블록체인 네트워크 상에 트랜잭션 형태로 거래 이력이 기록되는 블록체인 상의 토큰(token)(즉, 가상자산)을 송금함으로써 자신의 다른 전자지갑 또는 다른 사용자의 전자지갑으로 자산을 이전할 수 있다. 또한, 블록체인을 기반으로 한 온체인(on-chain) 서비스는 서비스에 관련된 대금의 지불이 서비스 이용자의 전자지갑으로부터 송금되는 토큰을 통하여 이루어지며, 대금 지불에 상응하는 서비스 제공 내용 등이 블록체인 상의 데이터로 기록되는 형태를 갖는다.
가상자산 거래소 또는 전자지갑 애플리케이션에서 다른 사용자에게 토큰을 전송하고자 하는 송신인은, 가상자산 거래소 또는 전자지갑 애플리케이션에 송신인인 자신의 전자지갑 주소 및 수신인의 전자지갑 주소를 입력하고, 전송할 토큰의 종류를 선택하며, 전송할 토큰의 수량을 입력하여야 한다. 이때, 송신인 및 수신인의 전자지갑 주소는 블록체인상의 거래를 위한 각 사용자의 공개키(public key)를 해쉬(hash) 함수에 의해 처리한 것으로서, 단어를 형성하지 않는 숫자 및 알파벳들이 수십 자리 나열된 형태를 갖는다.
토큰을 전송하고자 하는 송신인은 복잡한 형태를 갖는 전자지갑 주소를 포함한 전송 내역을 직접 입력하여야 한다. 설령 가상자산 거래소나 전자지갑 애플리케이션에 송신인의 전자지갑 주소가 저장되는 경우에도, 수신인의 전자지갑 주소 및 전송할 토큰 수량과 종류는 송신인이 직접 입력할 수밖에 없다. 그러나, 전자지갑 주소는 수십 자리에 달하는 매우 복잡한 형태이므로 이를 일일이 입력하는 것은 사용자들에게 매우 어렵고 번거로운 절차일 뿐만 아니라, 한 자리라도 잘못 입력될 경우 토큰의 전송이 실패하거나 또는 전혀 의도되지 않은 대상자에게 토큰이 전송될 수 있는 문제점을 안고 있다.
공개특허공보 제10-2018-0093387호
본 발명의 일 측면에 따르면, 웹 브라우저(web browser)를 통해 동작되는 확장 기능 컴포넌트에서 특정 문자열을 갖는 웹 문서 또는 특정 도메인의 웹 문서에 블록체인(blockchain) 기반의 토큰(token) 송금을 위한 객체를 삽입함으로써, 사용자가 해당 객체를 이용하여 토큰 송금을 요청할 수 있도록 하는 블록체인 기반의 송금 방법, 송금 서비스 서버와 컴퓨팅 장치 및 이를 위한 컴퓨터 프로그램을 제공할 수 있다.
본 발명의 일 측면에 따른 블록체인(blockchain) 기반의 송금 방법은, 컴퓨팅 장치에 의하여 실행됨으로써, 상기 컴퓨팅 장치가 웹 문서를 수신하는 단계; 상기 컴퓨팅 장치가, 상기 웹 문서에 포함된 수신인 정보와 연관된 송금 관련 객체를 상기 웹 문서에 삽입한 가공된 문서를 생성하는 단계; 상기 컴퓨팅 장치가 상기 가공된 문서 상의 상기 송금 관련 객체를 이용하여 사용자로부터 송금 지시를 수신하는 단계; 및 상기 컴퓨팅 장치가, 상기 송금 지시에 대한 응답으로, 송금 서비스 서버에 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰(token) 송금을 요청하는 단계를 포함한다.
일 실시예에서, 상기 가공된 문서를 생성하는 단계는, 상기 컴퓨팅 장치가, 상기 웹 문서로부터 상기 수신인 정보에 상응하는 미리 설정된 문자열을 추출하는 단계; 및 상기 컴퓨팅 장치가, 상기 미리 설정된 문자열과 연관되어 동작되는 상기 송금 관련 객체를 상기 웹 문서에 삽입하는 단계를 포함한다.
일 실시예에서, 상기 가공된 문서를 생성하는 단계는, 상기 컴퓨팅 장치가 상기 웹 문서에 상응하는 도메인을 결정하는 단계; 및 상기 컴퓨팅 장치가, 상기 웹 문서가 미리 설정된 도메인에 상응하는 것으로 결정되는 것에 대한 응답으로, 상기 웹 문서 내의 미리 설정된 위치에 상기 송금 관련 객체를 삽입하는 단계를 포함한다.
본 발명의 또 다른 측면에 따른 블록체인 기반의 송금 방법은, 블록체인 기반의 송금 서비스 서버가, 사용자 장치에 수신되는 웹 문서에 송금 관련 객체를 삽입하도록 상기 사용자 장치에서 동작 가능한 컴포넌트를 제공하는 단계; 상기 송금 서비스 서버가, 상기 송금 관련 객체를 이용하여 생성되며 수신인 정보를 포함하는 송금 요청을 상기 사용자 장치로부터 수신하는 단계; 및 상기 송금 서비스 서버가, 상기 송금 요청에 대한 응답으로, 상기 수신인 정보를 이용하여 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰 송금을 실행하는 단계를 포함한다.
일 실시예에 따른 블록체인 기반의 송금 방법은, 상기 송금 요청을 상기 사용자 장치로부터 수신하는 단계 전에, 상기 송금 서비스 서버가, 상기 사용자 장치의 사용자에 연관된 전자지갑 주소를 수신하는 단계를 더 포함한다. 이때, 상기 토큰 송금을 실행하는 단계는, 상기 송금 서비스 서버가, 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 포함하는 트랜잭션(transaction)을 블록체인 네트워크 상에 업로드하는 단계를 포함한다.
일 실시예에 따른 블록체인 기반의 송금 방법은, 상기 송금 요청을 상기 사용자 장치로부터 수신하는 단계 전에, 상기 송금 서비스 서버가, 지갑 서비스 서버에 대한 상기 사용자 장치의 사용자의 가입 정보를 수신하는 단계를 더 포함한다. 이때, 상기 토큰 송금을 실행하는 단계는, 상기 송금 서비스 서버가, 상기 가입 정보를 이용하여 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 상기 지갑 서비스 서버에 요청하는 단계를 포함한다.
일 실시예에서, 상기 토큰 송금을 실행하는 단계는, 상기 송금 서비스 서버가, 상기 수신인 정보를 이용하여 네임 서비스 서버로부터 상기 수신인의 전자지갑 주소를 획득하는 단계; 상기 송금 서비스 서버가, 상기 수신인의 전자지갑 주소를 상기 사용자 장치에 전송하는 단계; 및 상기 송금 서비스 서버가, 상기 사용자 장치로부터, 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 포함하는 트랜잭션을 수신하는 단계를 포함한다.
일 실시예에 따른 블록체인 기반의 송금 방법은, 상기 송금 요청을 상기 사용자 장치로부터 수신하는 단계 전에, 상기 송금 서비스 서버가, 상기 사용자 장치의 사용자에 연관된 전자지갑 주소를 수신하는 단계를 더 포함한다. 이때, 상기 토큰 송금을 실행하는 단계는, 상기 송금 서비스 서버가, 상기 송금 서비스 서버가, 상기 사용자의 전자지갑 주소로부터의 토큰 송금을 포함하는 스마트 컨트랙트(smart contract) 주소를 상기 사용자 장치에 전송하는 단계; 및 상기 송금 서비스 서버가, 상기 스마트 컨트랙트의 실행을 위한 상기 수신인의 지갑 정보를 상기 블록체인 네트워크에 업로드하는 단계를 포함한다.
본 발명의 일 측면에 따른 컴퓨터 프로그램은 하드웨어와 결합되어 전술한 실시예들에 따른 블록체인 기반의 송금 방법을 실행하기 위한 것으로서 컴퓨터로 판독 가능한 매체에 저장된 것일 수 있다.
본 발명의 일 측면에 따른 컴퓨팅 장치는, 실행 가능한 명령어가 저장된 메모리; 서버와 통신 가능하게 구성된 통신 모듈; 및 상기 메모리 및 상기 통신 모듈과 통신 가능하게 연결된 프로세서를 포함한다. 이때, 상기 프로세서는, 상기 명령어를 실행함으로써, 웹 문서를 수신하고, 상기 웹 문서에 포함된 수신인 정보와 연관된 송금 관련 객체를 상기 웹 문서에 삽입한 가공된 문서를 생성하며, 상기 가공된 문서상의 상기 송금 관련 객체를 이용하여 사용자로부터 송금 지시를 수신하고, 상기 송금 지시에 대한 응답으로, 송금 서비스 서버에 상기 사용자로부터 상기 수신인에게의 블록체인 기반의 토큰 송금을 요청하도록 구성된다.
일 실시예에서, 상기 프로세서는, 상기 웹 문서로부터 미리 설정된 문자열 또는 상기 웹 문서에 상응하는 도메인을 탐지함으로써 상기 송금 관련 객체가 삽입될 위치를 결정하도록 더 구성된다.
본 발명의 일 측면에 따른 블록체인 기반의 송금 서비스 서버는, 사용자 장치에 수신되는 웹 문서에 송금 관련 객체를 삽입하도록 상기 사용자 장치에서 동작 가능한 컴포넌트를 제공하도록 구성된 확장 기능 제공부; 상기 사용자 장치의 사용자에 연관된 지갑 정보를 저장하도록 구성된 데이터베이스; 상기 송금 관련 객체를 이용하여 생성되며 수신인 정보를 포함하는 송금 요청을 상기 사용자 장치로부터 수신하도록 구성된 요청 수신부; 및 상기 송금 요청에 대한 응답으로, 상기 수신인 정보를 이용하여 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰 송금을 실행하도록 구성된 거래 실행부를 포함한다.
일 실시예에 따른 블록체인 기반의 송금 서비스 서버는, 상기 사용자 장치의 사용자에 연관된 지갑 정보를 저장하도록 구성된 데이터베이스를 더 포함한다. 이때, 상기 거래 실행부는, 상기 지갑 정보를 이용하여 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 실행하도록 더 구성된다.
본 발명의 일 측면에 따른 블록체인(blockchain) 기반의 송금 방법, 송금 서비스 서버 및 컴퓨팅 장치를 이용하면, 웹 서핑(web surfing)에 사용되는 웹 브라우저(web browser)를 통해 동작하는 확장 기능 컴포넌트에서 특정 문자열을 갖는 웹 문서 또는 특정 도메인의 웹 문서에 토큰(token) 송금을 위한 객체를 삽입하여 사용자에게 표시함으로써, 사용자가 해당 객체를 이용하여 토큰 송금을 요청하도록 할 수 있다.
본 발명의 실시예들에 따르면 사용자는 직접 전자지갑 주소 등을 입력할 필요 없이 토큰 송금을 위한 객체와 상호작용하는 것을 통하여 쉽고 빠르게 송금을 요청할 수 있고, 송금 서비스 서버에서 토큰 송금에 필요한 송신인 및/또는 수신인의 전자지갑 주소 등을 불러오거나 또는 연동된 지갑 서비스를 통해 획득하여 송금 트랜잭션(transaction)이 블록체인 네트워크 상에 브로드캐스트(broadcast)되도록 할 수 있다. 또는, 송금 서비스 서버가 이더리움 네임 서비스(Ethereum Name Service)와 같은 네임 서비스를 통해 수신인의 전자지갑 주소를 확인하고, 이를 사용자 장치에 전달하여 사용자 장치에서 트랜잭션이 생성되도록 할 수도 있다.
또한, 본 발명의 일 실시예에서 사용자가 요청한 토큰의 송금은 일정 조건을 만족할 경우 블록체인 네트워크 상에서 자동으로 실행되는 스마트 컨트랙트(smart contract)의 형태로 저장되어, 송금인의 송금 요청 후 일정 시간 내에 송금인 또는 서비스 사업자에 의해 지정된 특정 조건(예컨대, 수신인의 서비스 가입 등)을 만족하는 경우 자동으로 송금이 이루어지고 그렇지 않을 경우에는 환불이 이루어지도록 할 수도 있다.
도 1은 일 실시예에 따른 블록체인(blockchain) 기반의 송금 서비스 서버의 구성을 나타내는 개략적인 블록도이다.
도 2는 일 실시예에 따른 블록체인 기반의 송금 방법을 수행하기 위한 컴퓨팅 장치의 구성을 나타내는 개략적인 블록도이다.
도 3은 일 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다.
도 4는 또 다른 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다.
도 5는 또 다른 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다.
도 6은 일 실시예에 따른 블록체인 기반의 송금 방법에서 웹 문서에 표시되는 송금 관련 객체를 나타내는 예시적인 개념도이다.
도 7a 및 7b는 또 다른 실시예에 따른 블록체인 기반의 송금 방법에서 웹 문서에 표시되는 송금 관련 객체를 나타내는 예시적인 개념도이다.
도 8은 또 다른 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다.
이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.
도 1은 일 실시예에 따른 블록체인(blockchain) 기반의 송금 서비스 서버의 구성을 나타내는 개략적인 블록도이다.
도 1을 참조하면, 본 실시예에 따른 송금 서비스 서버(3)는 사용자 장치(1)로부터 블록체인 기반의 토큰(token)에 대한 송금 요청을 수신하고 이를 실행하도록 구성된다. 사용자들은 사용자 장치(1) 상에서 실행되는 웹 브라우저(web browser)를 통하여 유선 및/또는 무선 네트워크를 통해 웹 서버(web server)(2)가 제공하는 웹 문서를 열람하면서, 사용자 장치(1) 상에서 동작하는 특정 기능 컴포넌트에 의하여 웹 문서 내에 삽입된 객체를 이용하여 송금 서비스 서버(3)에 토큰의 송금을 요청할 수 있다.
본 명세서에서 웹 문서란 유선 및/또는 무선 연결된 글로벌 네트워크 또는 로컬 네트워크를 통하여 서버-클라이언트 방식으로 전송 가능한 임의의 형식의 데이터를 의미한다. 예를 들어, 웹 서버(2)는 HTTP(Hyper Text Transfer Protocol) 또는 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer 프로토콜을 통하여 접속 가능한 웹 페이지를 제공하는 서버일 수 있으나, 이에 한정되는 것은 아니며, 실시예에 따라서는 TCP/IP (Transmission Control Protocol / Internet Protocol), FTP (File Transfer Protocol) 등 다른 상이한 통신 프로토콜을 통해 클라이언트에 정보를 제공하는 서버가 본 명세서의 웹 서버(2)에 해당될 수 있다.
또한, 본 명세서에서는 설명의 편의를 위하여 '문서'로 지칭되나 웹 문서의 데이터 형태는 애플리케이션 또는 미디어 등 텍스트 이외의 형태를 가질 수 있다.
사용자 장치(1)는 웹 서버(2)에서 수신한 웹 문서가 특정 조건을 만족하는 경우 토큰 송금을 위한 객체를 웹 문서에 삽입하여 가공된 웹 문서를 사용자에게 표시함으로써, 사용자가 희망할 경우 해당 객체를 통하여 송금 서비스 서버(3)에 토큰 송금을 요청하도록 할 수 있다. 이상의 동작을 위하여, 사용자 장치(1) 상에는 웹 문서를 가공하고 송금 서비스 서버(3)와 통신을 수행하기 위한 컴포넌트가 동작될 수 있다. 예를 들어, 상기 컴포넌트는 사용자 장치(1)에서 실행되는 웹 브라우저(web browser)에 설치되는 확장 기능(extension)의 형태를 가질 수 있다.
송금 서비스 서버(3)가 제공하는 송금 서비스를 이용하고자 하는 사용자는, 이러한 확장 기능을 수신하여 사용자 장치(1)에 설치할 수 있다. 예를 들어, 사용자는 사용자 장치(1)를 이용하여 송금 서비스 서버(3)가 제공하는 특정 웹 페이지에 접속함으로써 확장 기능을 다운로드할 수 있다. 또는, 다른 실시예에서 사용자는 송금 서비스 서버(3)와 별도로 애플리케이션 또는 확장 기능 등을 구매 가능한 디지털 스토어(store)를 제공하는 다른 서버(미도시)로부터 송금 서비스 이용을 위한 확장 기능을 다운로드할 수도 있다. 이때 스토어 제공 서버는 송금 서비스 서버(3)와 상이한 사업자에 의하여 운영되는 것일 수도 있다.
송금 서비스 서버(3)는, 이러한 확장 기능이 실행되는 사용자 장치(1)와 통신함으로써 사용자의 송금 관련 객체 조작에 따른 송금 요청을 수신하고, 블록체인 네트워크(4) 상의 토큰을 이용하여 송금 요청에 상응하는 토큰의 트랜잭션(transaction)을 생성하고 처리할 수 있다. 즉, 송금 서비스 서버(3)는 대금의 지불, 서비스 참여 사용자 간의 자산의 교환, 또는 사업자와 사용자 사이의 정산 등이 토큰 트랜잭션에 의해 이루어질 수 있도록 사용자가 요청하는 토큰 송금에 해당하는 트랜잭션이 블록체인 네트워크(4) 상의 분산원장에 기록되도록 한다.
한편, 다른 실시예에서 송금 서비스 서버(3)는 사용자 장치(1)로부터 송금 요청을 수신하면 송금을 위한 수신인 정보로부터 수신인의 전자지갑(wallet) 주소를 사용자 장치(1)에 제공하며, 송신인 및 수신인 전자지갑 주소를 이용한 트랜잭션의 생성은 사용자 장치(1)에 의해 이루어질 수도 있다. 예를 들어, 사용자 장치(1)에는, 전술한 웹 문서의 가공을 위한 확장 기능과 별도로, 송신인 및 수신인의 전자지갑 주소를 이용하여 트랜잭션을 생성하기 위한 또 다른 확장 기능(또는, 구별을 위하여 본 명세서에서 "지갑 확장 기능"으로도 지칭한다)이 설치될 수도 있다.
이상의 동작을 위하여, 실시예들에서 사용자 장치(1), 송금 서비스 서버(3), 및 지갑 서비스 서버(5, 6)는 유선 및/또는 무선 네트워크를 통하여 상호 간에 통신 가능하게 연결되도록 구성된다. 또한, 송금 서비스 서버(3) 및/또는 지갑 서비스 서버(5, 6)는 복수 개의 노드(node)(40)로 이루어지는 블록체인 네트워크(4)와 통신 가능하도록 구성된다. 또한 도면에 도시되지는 않았으나, 트랜잭션을 생성 및 브로드캐스팅(broadcasting)하는 송금 서비스 서버(3) 또는 지갑 서비스 서버(5, 6)는 각각 해당하는 마이닝(mining) 서비스 서버(미도시)를 통하여 블록체인 네트워크(4)와 통신 가능하도록 구성될 수도 있다.
또한 일 실시예에서, 송금 서비스 서버(3)는 이더리움 네임 서비스(Ethereum Name Service)와 같은 네임 서비스를 제공하는 네임 서비스 서버(8)와 더 통신하도록 구성될 수도 있다. 네임 서비스란 ENS와 같이 사용자의 지갑 주소를 나타내는 공개키(public key)를 사용자들이 쉽게 읽을 수 있는 문자열(또는 도메인)로 변경해주는 서비스를 지칭하며, 사용자들은 네임 서비스에서 원하는 문자열을 선택 또는 구매한 후 자신의 지갑 주소에 연결하여 사용할 수 있다.
본 명세서의 통신 방법은 유선 및/또는 무선 네트워크를 통하여 객체와 객체가 네트워킹 할 수 있는 모든 통신 방법을 포함할 수 있으며, 유선 통신, 무선 통신, 3G, 4G, 혹은 그 이외의 방법으로 제한되지 않는다. 예를 들어, 유선 및/또는 무선 통신 네트워크는 LAN(Local Area Network), MAN(Metropolitan Area Network), GSM(Global System for Mobile Network), EDGE(Enhanced Data GSM Environment), HSDPA(High Speed Downlink Packet Access), W-CDMA(Wideband Code Division Multiple Access), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), 블루투스(Bluetooth), 지그비(Zigbee), 와이-파이(Wi-Fi), VoIP(Voice over Internet Protocol), LTE Advanced, IEEE802.16m, WirelessMAN-Advanced, HSPA+, 3GPP Long Term Evolution (LTE), Mobile WiMAX (IEEE 802.16e), UMB (formerly EV-DO Rev. C), Flash-OFDM, iBurst and MBWA (IEEE 802.20) systems, HIPERMAN, Beam-Division Multiple Access (BDMA), Wi-MAX(World Interoperability for Microwave Access) 및 초음파 활용 통신으로 이루어진 군으로부터 선택되는 하나 이상의 통신 방법에 의한 통신 네트워크를 지칭할 수 있으나, 이에 한정되는 것은 아니다.
블록체인 네트워크(4)는 상호 간에 통신 가능하도록 연결되며 소정의 노드 소프트웨어를 통하여 채굴(mining)을 수행하고 블록체인에 대한 정보를 얻는 복수 개의 노드(40)로 이루어진다. 각각의 노드(40)에서는 거래 정보를 일시적으로 자신의 멤풀(mempool)에 저장하고 블록체인의 특성에 따라 권한증명이나 작업증명 등 다양한 방식으로 멤풀에 있는 트랜잭션들을 포함하는 데이터 블록을 생성한다. 이때, 블록체인 상의 합의 알고리즘에 의하여 각각의 노드(40)는 공통된 분산원장(400)을 보유하도록 구성되고, 서로 충돌하는 데이터 블록들이 있을 경우 체인의 길이가 더 짧은 데이터 블록들이 폐기됨으로써 분산원장(400)의 무결성이 유지된다.
일 실시예에서 송금 서비스 서버(3)는 토큰의 송신인 및/또는 수신인의 전자지갑(wallet) 주소를 서비스에 대한 가입 정보로 저장하고, 이를 이용하여 토큰 송금을 위한 트랜잭션을 블록체인 네트워크(4)상에 브로드캐스팅(broadcasting)할 수 있다. 이는 해당 트랜잭션이 포함된 데이터 블록을 생성하고 생성된 블록을 합의를 위하여 블록체인 네트워크(4) 상의 모든 노드(40)에 전파하는 것을 지칭한다.
그러나, 다른 실시예에서 송신인 및/또는 수신인의 전자지갑 주소는 해당 사용자가 이용하는 지갑 서비스 서버(5, 6)에 각각 저장되며, 송금 서비스 서버(3)는 지갑 서비스 서버(5, 6)의 연동을 위한 사용자의 가입 정보만을 저장하고, 트랜잭션의 생성과 브로드캐스팅은 지갑 송신인의 지갑 서비스 서버(5) 및/또는 수신인의 지갑 서비스 서버(6)를 통하여 수행될 수도 있다. 또 다른 실시예에서, 송금 서비스 서버(3)는 송신인의 가입 정보만을 저장하며, 수신인의 전자지갑 주소를 송금 서비스 서버(3)가 네임 서비스 서버(8)로부터 획득하여 사용자 장치(1)에 전달하면 사용자 장치(1)에서 트랜잭션의 생성이 이루어질 수도 있다. 나아가, 송금 서비스 서버(3) 및/또는 지갑 서비스 서버(5, 6)는 직접 트랜잭션을 브로드캐스팅하거나, 또는 각각 상응하는 마이닝 서비스 서버(미도시)를 통하여 브로드캐스팅을 요청할 수도 있다. 이상의 동작에 대해서는 상세히 후술한다.
본 발명의 실시예들에서 사용자는 사용자 장치(1) 상에 표시되는 송금 관련 객체가 제공하는 간단한 사용자 인터페이스(User Interface; UI)를 통하여 송금 서비스 서버(3)에 토큰의 송금을 요청할 수 있고, 이때 사용자는 자신 또는 토큰을 수신할 수신인의 전자지갑 주소를 입력할 필요가 없다. 따라서, 토큰 전송을 위하여 단어를 형성하지 않는 수십 자리의 숫자 및 알파벳들로 이루어진 전자지갑 주소를 사용자가 직접 입력하여야 하는 불편을 해소할 수 있고, 전자지갑 주소의 오기로 인한 송금 오류나 착오 송금 등을 방지할 수 있다.
일 실시예에서, 송금 서비스 서버(3)는 데이터베이스(database; DB)(30), 확장기능 제공부(31), 요청 수신부(32) 및 거래 실행부(33)를 포함한다. 실시예들에 따른 송금 서비스 서버(3)를 구성하는 각 부(unit)는, 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 송금 서비스 서버(3)의 DB(30), 확장기능 제공부(31), 요청 수신부(32) 및 거래 실행부(33)는 특정 형식 및 내용의 데이터를 처리하거나 또는/또한 전자통신 방식으로 주고받기 위한 하드웨어 및 이에 관련된 소프트웨어를 통칭할 수 있다.
본 명세서에서 "부", "모듈", "장치", "단말기", "서버" 또는 "시스템" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 하드웨어에 의해 구동되는 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
또한, 송금 서비스 서버(3)를 구성하는 각각의 요소는 반드시 서로 물리적으로 구분되는 별개의 장치를 지칭하는 것으로 의도되지 않는다. 즉, 도 1에 도시된 각 DB 또는 부(30-33)는 송금 서비스 서버(3)를 구성하는 하드웨어를 해당 하드웨어에 의해 수행되는 동작에 따라 기능적으로 구분한 것일 뿐, 반드시 각각의 부가 서로 독립적으로 구비되어야 하는 것이 아니다. 물론, 이러한 각 DB 또는 부(30-33) 중 하나 이상이 서로 물리적으로 구분되는 별개의 장치로 구현되는 것도 가능하다.
확장기능 제공부(31)는, 사용자 장치(1) 상에서 실행되며 사용자 장치(1)에 수신되는 웹 문서에 송금 관련 객체를 삽입하도록 동작되는 컴포넌트를 제공한다. 예를 들어, 상기 컴포넌트는 사용자 장치(1) 상에서 실행되는 웹 브라우저에 설치되는 확장 기능의 형태를 가질 수 있다. 확장기능 제공부(31)는 직접 상기 컴포넌트를 사용자 장치(1)에 전송할 수 있으나, 이에 한정되는 것은 아니며, 확장기능 제공부(31)는 사용자 장치(1)에서 다운로드 가능한 애플리케이션 또는 확장 기능 등이 업로드되어 있는 스토어 제공 서버에 확장 기능 컴포넌트를 제공할 수도 있다.
DB(30)는 송금 서비스 서버(3)가 제공하는 블록체인 기반의 송금 서비스에 가입한 사용자들의 사용자 정보를 저장하도록 구성된다. 일 실시예에서, 사용자 정보는 사용자의 토큰이 보유된 전자지갑 주소에 관련된 지갑 정보를 포함한다. 이때 지갑 정보는 사용자 개인의 전자지갑 주소를 포함할 수 있으나 지갑 정보가 반드시 전자지갑 주소 자체를 의미하는 것은 아니며, 예를 들어, 지갑 서비스 서버(5, 6)에 대한 사용자 ID 등 지갑 서비스 서버(5, 6)와의 연동을 위한 가입 정보가 지갑 정보로서 저장될 수도 있다.
또 다른 실시예에서, 사용자 정보는 지갑 정보를 포함하지 않는 임의의 사용자 식별 정보일 수도 있다. 예를 들어, 사용자 장치(1)의 지갑 확장 기능이 사용자의 전자지갑 주소를 저장하고 트랜잭션을 생성하는 경우, 송금 서비스 서버(3)는 사용자의 전자지갑 주소를 저장하거나 획득할 필요가 없다. 따라서, 이 경우 송금 서비스 서버(3)는 해당 사용자를 식별할 수 있는 임의의 식별 정보, 예컨대, 사용자의 개인 정보 또는 지갑 확장 기능 ID 등을 사용자 정보로서 저장할 수도 있다.
요청 수신부(32)는, 확장기능 제공부(31)가 제공하는 컴포넌트가 실행된 사용자 장치(1)와 통신함으로써, 웹 문서 내에 삽입된 송금 관련 객체를 이용하여 생성되며 토큰의 수신인 정보를 포함하는 송금 요청을 사용자 장치(1)로부터 수신하도록 구성된다.
거래 실행부(33)는, 요청 수신부(32)에 송금 요청이 수신되는 것에 대한 응답으로, 사용자 장치(1)의 사용자로부터 수신인에게의 토큰 송금을 실행하도록 구성된다. 본 명세서에서 거래 실행부(33)가 토큰 송금을 실행한다는 것은, 거래 실행부(33)가 DB(30)에 저장된 전자지갑 주소를 이용하여 직접 토큰 송금 트랜잭션을 생성 및 브로드캐스팅하는 것을 의미할 수도 있고, 또는 DB(30)에 저장된 사용자의 지갑 서비스 ID 등 가입 정보를 이용하여 지갑 서비스 서버(5, 6)에 트랜잭션의 처리를 요청하는 것을 의미할 수도 있으며, 또는 DB(30) 또는 네임 서비스 서버(8)로부터 확인되는 수신인의 전자지갑 주소를 트랜잭션 생성을 위하여 사용자 장치(1)에 전송하는 것을 의미할 수도 있다. 각각에 의한 토큰 송금의 실행 방식에 대해서는 상세히 후술한다.
도 2는 일 실시예에 따른 블록체인 기반의 송금 방법을 수행하기 위한 컴퓨팅 장치의 구성을 나타내는 개략적인 블록도로서, 도 2에 도시된 컴퓨팅 장치는 도 1에 도시된 사용자 장치(1)에 해당된다. 그러나, 실시예에 따라서는 사용자 장치가 아닌 서버 또는 다른 임의의 형태의 장치가 본 명세서의 컴퓨팅 장치에 해당될 수도 있다.
도 2를 참조하면, 사용자 장치(1)는 통신 모듈(11), 메모리(12) 및 프로세서(13)를 포함한다. 일 실시예에서 사용자 장치(1)는 표시 모듈(14)을 더 포함한다.
또한, 도면에 도시되지는 않으나, 실시예들에 따른 사용자 장치(1)는 각 부품을 전기적으로 및/또는 통신 가능하게 연결하기 위한 인터페이스를 포함하고, 상기 인터페이스에는 고속 인터페이스 및 저속 인터페이스가 포함된다. 각 부품들은 서로 다른 버스를 통해 서로 연결되고, 공공 메인보드에 장착되거나 또는 수요에 따라 기타 방식으로 장착될 수 있다. 프로세서(13)는 전자 기기에서 실행되는 명령어를 실행할 수 있고, 상기 명령어는 메모리(12)에 저장되어 표시 모듈(14)에 GUI의 그래픽 정보를 표시하기 위한 명령어를 포함할 수 있다.
도 2에는 설명의 편의를 위하여 하나의 메모리(12) 및 프로세서(13)가 도시되었으나, 사용자 장치(1)는 복수의 프로세서 및/또는 복수의 버스 및 복수의 메모리를 복수의 메모리와 함께 사용될 수 있다.
본 명세서에서 메모리(12)는 비휘발성의 컴퓨터로 판독 가능한 저장 매체를 의미한다. 메모리(12)에는 적어도 하나의 프로세서(13)에 의해 실행될 수 있는 명령어가 저장되어 있어, 프로세서(13)로 하여금 본 발명의 실시예들에 따라 웹 문서를 가공하여 이를 표시 모듈(14)을 통해 표시할 수 있도록 하고, 가공된 웹 문서에 대한 사용자 입력에 따라 통신 모듈(11)을 통해 송금 서비스 서버에 송금을 요청할 수 있도록 한다. 즉, 메모리(12)의 저장 매체에는 컴퓨팅 장치가 실시예들에 따른 블록체인 기반의 송금 방법을 실행할 수 있도록 하는 실행 가능한 명령어가 저장된다.
메모리(12)는 RAM(Random Access Memory)를 포함할 수도 있고, 예를 들어, 적어도 하나의 디스크 저장 디바이스, 플래시 메모리 디바이스, 또는 기타 비휘발성 고체 저장 디바이스와 같은 비휘발성 메모리를 포함할 수도 있다. 또한 일 실시예에서, 메모리(12)는 프로세서(13)에 대해 원격으로 설치된 메모리를 포함할 수 있고, 이러한 원격 메모리가 유선 및/또는 무선 네트워크를 통해 프로세서(13)에 연결됨으로써 블록체인 기반의 송금 방법의 실행을 위한 단말을 구현할 수도 있다.
즉, 실시예에 따라서는 사용자 장치(1)의 중 일부 또는 전부가 동일한 하나의 장치 내에 집적화될 수 있으며, 또는 하나 이상의 구성요소가 다른 구성요소와 물리적으로 구분되는 별개의 장치로 구현될 수도 있다. 예컨대, 사용자 장치(1)의 각 구성요소는 분산 컴퓨팅 환경 하에서 서로 통신 가능하게 연결된 컴포넌트들일 수도 있다.
일 실시예에서, 메모리(12)는 운영체제(Operating System), 적어도 하나의 기능에 필요한 애플리케이션 또는 웹 문서 등을 저장할 수 있다. 또한, 메모리(12)는 프로세서(13)의 동작에 의해 생성된 웹 문서 및 이에 대한 사용자의 상호작용에 의해 생성된 데이터 등을 저장할 수 있다. 즉, 일 실시예에서 메모리(12)는 프로그램 저장 영역과 데이터 저장 영역으로 구분될 수도 있다.
사용자들은 사용자 장치(1)를 이용하여 웹 문서를 열람하면서, 프로세서(13)가 실행하는 컴포넌트의 동작에 의하여 송금 관련 객체가 삽입된 웹 문서를 보고 송금 관련 객체와 상호작용할 수 있다. 이를 위하여 사용자 장치(1)는 입력 장치를 더 포함할 수 있다. 사용자 장치(1)는 가공된 웹 문서가 표시 모듈(14)의 UI를 통하여 표시되도록 하고, 사용자는 입력 장치를 이용하여 송금 관련 객체를 선택하는 동작을 통해 송금을 요청할 수 있다.
예를 들어, 사용자 장치(1)의 입력 장치는 터치스크린, 키 패드, 마우스, 트랙패드, 터치패드, 인디케이터 로드, 하나 또는 복수의 마우스버튼, 트랙 볼 등을 포함할 수 있으며, 표시 모듈(14)은 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이 및 플라스마 디스플레이 등의 표시 장치, 보조 조명장치(예를 들어, LED) 및 촉각 피드백 장치(예를 들어, 진동모터) 등을 포함할 수 있으나, 이에 한정되지 않는다. 일 실시예에서, 표시 모듈(14)은 입력 장치와 일체화된 터치스크린일 수도 있다.
일 실시예에서, 메모리(12)에 저장된 명령어는 통신 모듈(11)을 통해 송금 서비스 서버에 송금을 요청하는 것뿐만 아니라, 사용자 장치에서 직접 트랜잭션을 생성하기 위한 것을 포함할 수 있다. 이 경우, 프로세서(13)는 상기 명령어를 실행함으로써 송신인의 전자지갑 주소로부터 수신인의 전자지갑 주소로의 트랜잭션을 생성할 수 있다. 또한, 프로세서(13)는 통신 모듈(11)로 하여금 생성된 트랜잭션을 브로드캐스팅을 위하여 송금 서비스 서버에 전송하도록 할 수도 있다.
도 3은 일 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다. 본 실시예에 따른 블록체인 기반의 송금 방법은 본 발명의 실시예들에 따른 컴퓨팅 장치, 예컨대, 사용자 장치(1)를 이용하여 수행될 수 있다.
도 3을 참조하면, 사용자는 사용자 장치(1)를 이용하여 송금 서비스 서버(3)와 통신함으로써, 송금 서비스 서버(3)가 제공하는 블록체인 기반의 송금 서비스에 가입할 수 있다(S11). 송금 서비스에 대한 가입 시 사용자는 자신의 지갑 정보를 송금 서비스 서버(3)에 전송할 수 있다. 이때 지갑 정보란 사용자 장치(1)를 사용하는 사용자의 전자지갑 주소 그 자체일 수도 있다. 또는, 지갑 정보란 외부의 지갑 서비스 서버와 연동하여 사용자의 전자지갑 주소를 조회하거나 지갑 서비스 서버에 송금을 요청할 수 있도록 지갑 서비스에 대한 사용자의 ID 등 가입 정보일 수도 있다.
한편, 다른 실시예에서 사용자는 지갑 주소 대신 다른 형태의 개인 식별 정보를 송금 서비스 서버(3)에 전송할 수도 있다. 예를 들어, 도 8을 참조하여 후술하는 실시예와 같이 사용자 장치(1)상에서 지갑 확장 기능을 이용하여 트랜잭션의 생성이 이루어지는 경우, 사용자는 자신의 지갑 정보 대신 지갑 확장 기능 ID 등을 입력하여 송금 서비스에 가입할 수도 있다.
또한, 블록체인 기반의 송금 서비스에 대한 가입 절차의 일부로서 또는 서비스 가입과 별개의 절차로서, 사용자는 웹 문서의 가공 및 송금 서비스 서버(2)와의 통신을 위해 사용자 장치(1) 상에서 동작 가능한 컴포넌트를 송금 서비스 서버(3) 또는 별도의 스토어 제공 서버(미도시) 등으로부터 다운로드할 수 있다(S11). 예를 들어, 이러한 컴포넌트는 사용자 장치(1) 상의 웹 브라우저에 설치되는 확장 기능의 형태일 수 있으나, 이에 한정되는 것은 아니다.
이후, 사용자는 웹 서버(2)가 제공하는 웹 문서를 사용자 장치(1)에서 열람할 수 있다(S12). 이때 웹 서버(2)는 반드시 송금 서비스 서버(3)의 운영자에 의하여 제공되는 서버일 필요는 없으며, 인터넷 네트워크를 통하여 접속 가능한 임의의 서버일 수 있다. 예를 들어, 웹 서버(2)는 트위터(Twitter), 페이스북(Facebook) 등과 같은 소셜 네트워크 서비스, 유튜브(Youtube), 트위치(Twitch) 등과 같은 컨텐츠 서비스, 또는 아마존(Amazon), 이베이(Ebay) 등과 같은 상거래 서비스에 관련된 서버일 수 있고, 특정 서비스를 위한 것으로 제한되지 않는다.
사용자 장치(1)는, 사용자 장치(1) 상에서 실행되는 컴포넌트의 동작을 통하여, 사용자 장치(1)가 웹 서핑(web surfing)을 위하여 웹 서버(2)로부터 웹 문서를 다운로드할 때, 웹 문서에 포함된 수신인 정보와 연관된 송금 관련 객체를 웹 문서에 삽입함으로써 원본 웹 문서가 아닌 가공된 웹 문서를 생성하며 이를 사용자에게 표시할 수 있다.
일 실시예에서, 사용자 장치(1)는 웹 문서 내에서 미리 설정된 문자열을 검출하고(S13), 해당 문자열이 검출되면 해당 문자열에 대하여 사전에 설정된 위치에 송금을 위한 객체(예컨대, 이벤트 등)를 삽입할 수 있다(S14). 예를 들어, 사용자 장치(1)의 웹 브라우저에 설치된 확장 기능은 HTTP 또는 HTTPS 프로토콜을 통해 수신된 HTML 문서를 수정하는 방식으로 송금 관련 객체의 삽입을 실시할 수 있다. 이때 객체를 삽입하기 위한 문자열이란, 예컨대, 지갑 서비스 ID, 이메일 주소, 또는 특정 핸들의 형식을 갖는 문자열 등일 수 있다.
일 실시예에서, 사용자 장치(1)는 이러한 송금 관련 객체를 삽입하는 것과 함께 해당 객체와 연관된 문자열을 사용자가 알아보기 쉽도록 하기 위한 표시 변경 처리, 예컨대, 하이라이트 처리 등을 더 수행할 수도 있다.
도 6은 본 실시예에 따른 블록체인 기반의 송금 방법에서 웹 문서에 표시되는 송금 관련 객체를 나타내는 예시적인 개념도이다.
도 6은 가상의 소셜 네트워크 서비스에서 사용자의 프로필 화면(601)을 나타낸 것이다. 실시예들에 따른 사용자 장치에서 동작되는 컴포넌트는, 이러한 프로필 화면(601)에 해당하는 HTML 문서에서 사전에 설정된 특정 형식, 예컨대, 이메일 형식의 문자열(602)을 탐지할 수 있다. 그러나 탐지될 문자열의 형태는 이메일에 한정되는 것은 아니며, 지갑 서비스 ID, 특정 핸들 등 실시예에 따라 상이할 수 있다. 이때 핸들이란 example@example 과 같이 하나 또는 복수의 특수 기호를 이용하여 알파벳 및/또는 숫자가 위치하는 영역들을 구분해 놓은 임의의 미리 지정된 문자열의 형식을 의미한다.
사용자 장치에서 동작되는 컴포넌트는, 미리 설정된 문자열(602)이 탐지되는 경우 해당 문자열(602)과 연관하여 동작되는 송금 관련 객체(610)를 삽입할 수 있다. 이때, 송금 관련 객체(610)는 원본 웹 문서가 정의하는 UI에는 존재하지 않지만 사용자가 상호 작용 가능한 추가적인 객체이다. 이를 위하여, 컴포넌트 내에는 탐지할 문자열과 문자열이 탐지될 경우 해당 문자열에 대한 처리 및 이에 상응하여 삽입될 객체의 종류 및 위치를 정의하는 정보가 저장될 수 있다.
도 6의 예에서는, 사용자가 화면 상의 문자열(602) 위에 커서를 위치할 경우 송금을 위한 커스텀 UI(610)를 표시하는 객체가 HTML 문서에 삽입되었다. 또한, 커스텀 UI(610)가 삽입된 문자열(602)을 사용자가 식별할 수 있도록 문자열(602)에 대한 하이라이트 등 표시 변경을 수행할 수도 있다. 이때, 커스텀 UI(610)는 원본 웹 문서가 제공하는 화면 상에 오버레이(overlay) 형태로 표시될 수 있으나, 이에 한정되는 것은 아니며, 실시예들에 따른 블록체인 기반의 송금 방법에서 송금 관련 객체의 종류 및 형태는 본 명세서에 예시된 것으로 제한되지 않는다.
사용자는 커스텀 UI(610)의 버튼(611)을 통하여 자신이 송금하고자 하는 토큰의 수량 또는 해당 토큰의 수량에 해당하는 자산 가액을 선택할 수 있다. 또한, 사용자는 원하는 토큰 수량 또는 자산 가액을 선택한 후 송금 버튼(612)을 누름으로써 송금 서비스 서버에 이에 해당하는 토큰의 송금을 요청할 수 있다.
다시 도 3을 참조하면, 또 다른 실시예에서, 사용자 장치(1)는 웹 서버(2)로부터 수신되는 웹 문서에 상응하는 도메인을 탐지하고(S13), 탐지된 도메인이 미리 설정된 도메인인 경우 해당 도메인의 화면 형태 등을 기초로 사전에 설정된 위치에 송금 관련 객체를 삽입하도록 동작할 수도 있다(S14). 예컨대, 본 실시예에서 사용자 장치(1)의 웹 브라우저에 설치된 확장 기능은 사용자가 접속한 도메인이 사전에 설정된 특정 서비스(예컨대, 트위터 등) 도메인인 것을 탐지하고, 해당 서비스의 웹 페이지를 기초로 미리 설정해 둔 위치에 송금 관련 객체(예컨대, 버튼 등)를 삽입하도록 동작될 수 있다.
도 7a 및 7b는 본 실시예에 따른 블록체인 기반의 송금 방법에서 웹 문서에 표시되는 송금 관련 객체를 나타내는 예시적인 개념도이다.
먼저, 도 7a는 가상의 소셜 네트워크 서비스에서 사용자의 포스팅을 나타내는 화면(701)에 송금 관련 객체인 버튼(702)이 추가된 형태를 나타낸다. 즉, 버튼(702)은 소셜 네트워크 서비스의 원본 화면에는 존재하지 않는 것이다. 사용자 장치가 수신하는 웹 문서가 특정 도메인, 즉, 상기 소셜 네트워크 서비스에 대한 것임을 감지하면, 사용자 장치에서 동작되는 컴포넌트가 웹 문서를 가공함으로써 웹 문서 내의 미리 설정된 위치에 버튼(702)에 상응하는 객체를 삽입할 수 있다. 이를 위하여, 컴포넌트 내에는 버튼(702)을 삽입할 도메인과 해당 도메인에 상응하는 객체의 정류 및 해당 도메인의 웹 화면을 기초로 객체를 삽입할 위치를 정의하는 정보가 저장될 수 있다.
사용자가 버튼(702)을 선택하면 도 6을 참조하여 전술한 것과 유사하게 송금 관련 객체인 커스텀 UI(710)가 표시된다. 사용자는 커스텀 UI(710)의 버튼(711)을 통하여 자신이 송금하고자 하는 토큰의 수량 또는 해당 토큰의 수량에 해당하는 자산 가액을 선택하고, 송금 버튼(712)을 눌러 송금 서비스 서버에 이에 해당하는 토큰의 송금을 요청할 수 있다.
다시 도 3을 참조하면, 사용자 장치(1)는 전술한 문자열 또는 도메인 탐지를 통하여 송금 관련 객체가 삽입된 웹 문서를 표시하고(S15), 가공된 웹 문서 상에 표시된 송금 관련 객체(이벤트, 버튼 등)에 대한 상호작용의 방식으로 사용자로부터 송금 지시를 입력받을 수 있다(S16).
송금 지시를 수신한 사용자 장치(1) 상의 컴포넌트는, 송금 서비스 서버(3)와 통신함으로써 사용자가 지시한 토큰 송금의 처리를 송금 서비스 서버(3)에 요청할 수 있다(S17). 송금 서비스 서버(3)에 전송되는 송금 요청에는, 해당 송금을 지시한 사용자를 식별할 수 있는 정보(예컨대, 사용자의 송금 서비스 ID 등)와 함께 수신인에 해당하는 정보가 포함될 수 있다.
이때 수신인 정보는 웹 문서에서 송금 관련 객체에 상응하는 문자열 또는 송금 관련 객체의 삽입 위치를 토대로 특정될 수 있다. 즉, 도 6과 같이 특정인의 이메일 주소에 해당하는 문자열(602)을 탐지하여 삽입된 송금 관련 객체(610)를 통해 사용자가 송금을 요청하였을 경우, 해당 이메일 주소가 수신인 정보로서 송금 서비스 서버(3)에 전송될 수 있다. 또는, 도 7a 및 7b와 같이 특정 도메인에서 특정인의 포스팅 페이지에 삽입된 송금 관련 객체(710)를 통해 사용자가 송금을 요청하였을 경우, 이러한 포스팅 페이지에 해당하는 사용자를 특정할 수 있는 식별 정보(예컨대, 소셜 네트워크 서비스 ID 등)가 수신인 정보로서 송금 서비스 서버(3)에 전송될 수 있다.
또한 일 실시예에서, 송금 요청에는 사용자가 지정한 토큰의 수량 또는 해당 토큰의 수량에 해당하는 자산 가액을 정의하는 송금금액 정보가 더 포함될 수도 있다. 예를 들어, 송금금액 정보는 전송할 토큰의 개수를 직접 정의하는 것일 수도 있다. 또는, 송금금액 정보는 전송하고자 하는 자산의 가격을 법정화폐(원화, 달러화 등) 금액으로 정의한 것이며, 송금 서비스 서버에서 자동으로 해당 법정화폐 금액을 토큰의 가격으로 나누어 전송할 토큰 개수를 결정할 수도 있다.
그러나, 실시예에 따라서는 송금할 수량을 사용자가 지정하지 않고 항상 미리 설정된 수량만을 송금하도록 송금 서비스를 구성할 수도 있으며, 이 경우 송금 요청에 송금금액 정보는 포함되지 않을 수도 있다.
사용자 장치(1)로부터 송금 요청을 수신한 송금 서비스 서버(3)는, 사용자 장치(1)로부터 수신되며 수신인 정보를 포함하는 송금 요청을 기반으로 토큰 송금을 실행할 수 있다(S18). 구체적인 송금 처리 과정에 대해서는 이하에서 상세히 설명한다.
도 4는 또 다른 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다. 본 실시예에 따른 송금 방법은 실시예들에 따른 송금 서비스 서버를 이용하여 수행될 수 있다.
도 4를 참조하면, 송금 서비스 서버(3)는 사용자 장치(1)와 통신함으로써 사용자에 대한 서비스 가입 절차를 수행할 수 있다(S21). 이때 송금 서비스 서버(3)는 사용자의 전자지갑 주소 또는 지갑 서비스에 대한 사용자 ID 등을 지갑 정보로 수신할 수 있다. 일 실시예에서, 사용자의 지갑 정보가 지갑 서비스에 대한 사용자 ID 형태인 경우, 송금 서비스 서버(3)는 해당하는 지갑 서비스 서버(5)와의 통신을 통하여 사용자가 제공한 지갑 서비스 ID에 대한 인증을 수행할 수도 있다(S22). 또한, 송금 서비스 서버(3)는 서비스에 가입한 사용자의 지갑 정보를 포함하는 가입 정보를 송금 서비스 서버(3)에 저장할 수 있다(S23).
송금 서비스에 가입한 사용자는 사용자 장치(1)를 통하여 웹 문서를 열람하다가 웹 문서에 삽입된 객체를 통하여 송금 서비스 서버(3)에 송금을 요청할 수 있다(S24). 이상의 과정은 도 3을 참조하여 전술한 실시예와 동일하므로, 설명의 중복을 피하기 위하여 자세한 설명은 생략한다.
송금 서비스 서버(3)에서는 사용자 장치(1)로부터 수신된 송금 요청을 통하여 송신인과 수신인을 식별하고, 송신인이 가입한 지갑 서비스에 해당하는 지갑 서비스 서버(5)에 토큰의 송금을 요청할 수 있다(S25). 또한, 송금 서비스 서버(3)는 사용자 장치(1)의 송금 요청을 통하여 송금할 토큰의 개수를 특정하거나, 또는 법정화폐 금액 기반의 송금 요청이 있는 경우 해당 토큰의 실시간 가격 정보를 조회한 결과를 토대로 송금할 토큰의 개수를 산출할 수도 있다.
일 실시예에서, 전술한 사용자 인증(S22) 과정에서 송금 서비스 서버(3)는 지갑 서비스 서버(5)에 대한 송신인의 인증을 거쳐 지갑 서비스 서버(5)로부터 발급된 접근 토큰(access token)을 저장할 수 있다. 접근 토큰이란 지갑 서비스 서버(5)와 통신하기 위한 인증용 데이터 패킷을 지칭한다. 이 경우, 송금 서비스 서버(3)는 해당 사용자와 관련하여 지갑 서비스 서버(5)로부터 수신한 접근 토큰을 이용하여 지갑 서비스 서버(5)에 접속하여, 송신인이 지정한 토큰의 수량과 수신인의 지갑 서비스 ID를 지갑 서비스 서버(5)에 전달함으로써, 지갑 서비스 서버(5)가 송신인으로부터 수신인에게의 토큰 송금을 실행하도록 할 수 있다.
지갑 서비스 서버(5)가 해당 지갑 서비스에 대한 가입자인 송신인과 수신인의 전자지갑 주소를 모두 저장하고 있는 경우, 지갑 서비스 서버(5)는 송금 서비스 서버(3)의 송금 요청에 따라 송신인의 전자지갑 주소로부터 수신인의 전자지갑 주소로의 토큰의 송금을 나타내는 트랜잭션을 생성하고(S27), 이러한 트랜잭션이 블록체인 네트워크 상의 데이터 블록에 기록되도록 블록체인 네트워크의 하나 이상의 노드에 브로드캐스팅할 수 있다(S28). 이러한 브로드캐스팅 과정은 지갑 서비스 서버(5)에 연동된 마이닝 서비스 서버(미도시)를 통해 이루어질 수도 있다.
한편, 송신인과 수신인이 동일한 지갑 서비스를 사용하지 않는 경우가 있을 수 있다. 이 경우, 지갑 서비스 서버(5)에서는 송금 서비스 서버(3)로부터 수신한 수신인 ID를 이용하여 이에 해당하는 또 다른 지갑 서비스 서버(6)를 조회함으로써 수신인의 전자지갑 주소를 획득하고 이를 지갑 서비스 서버(5)에 저장된 송신인의 전자지갑 주소와 함께 이용하여 트랜잭션을 생성할 수 있다. 또는, 송금 서비스 서버(3)가 수신인측 지갑 서비스 서버(6)를 조회하여 수신인의 전자지갑 주소를 획득하고, 수신인의 전자지갑 주소를 지갑 서비스 서버(5)에 전달하여 송금을 요청할 수도 있다.
일 실시예에서, 지갑 서비스 서버(5)는 생성된 트랜잭션을 수신인 측의 지갑 서비스 서버(6)에 전달함으로써(S29), 수신인 측 지갑 서비스를 통해서도 트랜잭션의 브로드캐스팅이 이루어지도록 할 수 있다(S30). 이는 해당 트랜잭션이 블록체인 네트워크 상의 합의 과정에서 분산원장에 기록될 확률 및 기록 속도를 높이는 역할을 한다.
또는, 지갑 서비스 서버(5)는 지갑 서비스 서버(5)에 저장된 송신인의 전자지갑 주소 및 송금할 토큰 수량을 수신인 측의 지갑 서비스 서버(6)에 전달함으로써, 수신인 측의 지갑 서비스 서버(6)에서 트랜잭션의 생성(S27)과 브로드캐스팅(S28)이 이루어지도록 할 수도 있다. 이 경우, 도 4의 단계 S29, S30와 반대로 송신인 측의 지갑 서비스 서버(5)가 수신인 측 지갑 서비스 서버(6)로부터 트랜잭션을 전달받아 브로드캐스팅을 할 수도 있다.
한편, 일 실시예에서는, 토큰의 송신인인 사용자 장치(1)의 사용자의 전자지갑 주소가 지갑 정보로서 송금 서비스 서버(3)에 저장되어 있을 수도 있다. 이 경우, 송금 서비스 서버(3)는 사용자 장치(1)로부터 송금 요청을 수신한 후(S24), 지갑 서비스 서버에 연동할 필요 없이 송금 서비스 서버(3)가 직접 트랜잭션을 생성하고 브로드캐스팅할 수도 있다. 이때, 만약 수신인이 송금 서비스 서버(3)예 대한 가입자가 아닐 경우, 송금 서비스 서버(3)가 송금 요청 내의 수신인 정보를 이용하여 해당하는 지갑 서비스 서버(6)를 조회함으로써 수신인의 전자지갑 주소를 획득할 수도 있다. 즉, 도 4에 도시된 과정 S26 내지 S28은 실시예에 따라서는 송금 서비스 서버(3)에 의해 수행되는 것도 가능하다.
또한, 도면에서는 설명의 편의를 위하여 각각 별개의 블록으로 도시되었으나, 지갑 서비스 서버로부터 송신인 또는 수신인의 전자지갑 주소를 획득하는 과정, 송신인과 수신인의 전자지갑 주소를 이용한 트랜잭션을 생성하는 과정, 및 트랜잭션을 브로드캐스트하는 과정은 실질적으로 동시에 이루어질 수도 있다.
도 5는 또 다른 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다.
도 5를 참조하면, 본 실시예에서 사용자 장치(1)에서 웹 문서를 가공하여 송금 관련 객체를 삽입하고 이를 이용하여 송금 서비스 서버(3)에 송금을 요청하는 과정(S31)은 전술한 실시예들과 동일하므로, 설명의 중복을 피하기 위하여 자세한 설명은 생략한다. 다만 본 실시예는 송금 요청을 수신한 송금 서비스 서버(3)가 수신인의 전자지갑 주소 또는 스마트 컨트랙트 주소를 사용자 장치(1)에 전달하여 트랜잭션 생성이 이루어지는 점에서 도 4를 참조하여 전술한 실시예와 상이하다.
송금 요청의 수신인이 송금 서비스 서버(3)가 제공하는 송금 서비스에 대한 가입자인 경우, 송금 서비스 서버(3)가 가입자인 수신인의 전자지갑 주소를 저장하고 있다. 이 경우, 송금 서비스 서버(3)는 사용자 장치(1)의 송금 요청에 대한 응답으로 수신인의 전자지갑 주소를 사용자 장치(1)에 전달할 수 있다(S32).
수신인의 전자지갑 주소를 수신한 사용자 장치(1)에서는, 이를 이용하여 송신인의 전자지갑 주소로부터 수신인의 전자지갑 주소로 토큰을 송금하기 위한 트랜잭션을 생성하고(S33), 이를 블록체인 네트워크의 노드들에 브로드캐스팅할 수 있다(S34). 도면에는 도시하지 않았으나 트랜잭션의 생성 및/또는 브로드캐스팅 과정은 사용자 장치(1)가 송신인이 가입된 지갑 서비스 서버(미도시)와 통신함으로써 수행될 수도 있다. 예를 들어, 사용자 장치(1)에 설치된 지갑 서비스 애플리케이션이 트랜잭션을 생성하고 지갑 서비스 서버(미도시)에 트랜잭션을 전달하면, 지갑 서비스 서버에서 트랜잭션을 브로드캐스팅할 수 있다.
또는, 사용자 장치(1)에서 트랜잭션을 생성하는 것은 사용자 장치(1)상에서 실행되는 지갑 확장 기능을 이용하여 수행될 수도 있다. 이 경우, 사용자 장치(1)의 지갑 확장 기능은 사용자인 송신인의 전자지갑 주소를 저장하고 있으며, 송금 서비스 서버(3)에서 수신한 수신인의 전자지갑 주소 및 미리 저장된 송신인의 전자지갑 주소를 이용하여 트랜잭션을 생성할 수 있다(S33).
한편, 송금 요청의 수신인이 송금 서비스 서버(3)가 제공하는 송금 서비스에 대한 가입자가 아닌 경우, 송금 서비스 서버(3)는 수신인의 전자지갑 주소를 알 수 없으므로 그 대신 스마트 컨트랙트 주소를 사용자 장치(1)에 전송할 수 있다(S32). 구체적으로, 송금 서비스 서버(3)는 송신인 주소와 송금 내역을 포함하되 수신인 주소를 포함하지 않는 스마트 컨트랙트 주소를 생성하여 사용자 장치(1)에 전달할 수 있다(S32).
사용자 장치(1)에서는 스마트 컨트랙트 주소를 포함하는 트랜잭션을 생성하고(S33), 이를 블록체인 네트워크의 노드들에 브로드캐스팅할 수 있다(S34). 전술한 것과 같이, 트랜잭션의 생성 및/또는 브로드캐스팅 과정은 사용자 장치(1)가 송신인이 가입된 지갑 서비스 서버(미도시)와 통신함으로써 수행될 수도 있다.
수신인이 송금 서비스의 기존 가입자가 아닌 경우, 수신인에 대한 토큰의 전송은 수신인이 자신의 사용자 장치(7)에서 송금 서비스 서버(3)에 접속함으로써 송금 서비스에 가입하는 경우 이루어진다(S35). 일 실시예에서, 송금 서비스 서버(3)는 수신인의 서비스 가입을 유도하기 위하여 수신인에게 수신할 토큰이 있음을 알리는 안내 메시지를 전송할 수도 있다. 예를 들어, 안내 메시지는 송신인의 송금 요청 시 수신된 수신인 정보(예컨대, 이메일, 지갑 서비스 ID 등)를 이용하여 전송될 수 있다.
수신인은 송금 서비스 가입 시 자신의 전자지갑 주소를 송금 서비스 서버(3)에 입력할 수 있다. 또는, 수신인이 서비스 가입 시 지갑 서비스 서버(6)에 대한 사용자 ID를 입력하여 송금 서비스 서버(3)가 지갑 서비스 서버(6)와의 통신을 통해 사용자 인증을 수행할 수도 있다(S36). 수신인의 가입 정보 또는 지갑 서비스 버서(6)와의 통신을 통해 수신인의 전자지갑 주소가 특정되면, 송금 서비스 서버(3)는 수신인의 전자지갑 주소를 스마트 컨트랙트에 업로드함으로써 스마트 컨트랙트의 실행을 통해 송신인으로부터 수신인으로의 토큰 송금이 이루어지도록 할 수 있다(S37). 일 실시예에서는, 미리 설정된 시간 동안 수신인이 송금 서비스에 가입하지 않는 경우 토큰의 전송 시도를 취소하도록 스마트 컨트랙트를 구성할 수도 있다.
이상에서는 송금 요청의 수신인이 송금 서비스 서버(3)가 제공하는 송금 서비스에 대한 가입자가 아닌 경우 스마트 컨트랙트를 통해 송금을 수행하는 것을 설명하였다. 그러나 다른 실시예에서는, 수신인이 송금 서비스 서버(3)가 제공하는 송금 서비스에 대한 가입자가 아닌 경우 송금 서비스 서버(3)의 운영자가 우선 수신인의 토큰을 수취하고, 미리 설정된 기간 내에 수신인이 송금 서비스에 가입하면 송금 서비스 서버(3)의 운영자가 수신인에게 토큰을 전송하며, 수신인이 송금 서비스에 가입하지 않을 경우에는 송신인에게 토큰을 반환하는 에스크로(escrow) 방식으로 토큰을 전송하는 것도 가능하다.
도 8은 또 다른 실시예에 따른 블록체인 기반의 송금 방법의 각 단계를 나타내는 순서도이다.
도 8을 참조하면, 본 실시예에서 사용자 장치(1)에서 웹 문서를 가공하여 송금 관련 객체를 삽입하고 이를 이용하여 송금 서비스 서버(3)에 송금을 요청하는 과정(S41)은 전술한 실시예들과 동일하므로, 설명의 중복을 피하기 위하여 자세한 설명은 생략한다. 다만, 본 실시예에서 송금 서비스 서버(3)는 송금 요청의 수신인의 전자지갑 주소를 저장하고 있지 않으며, 송금 요청에 포함된 수신인 정보(예컨대, 수신인 ID 등)를 이용하여 네임 서비스 서버(6)를 조회함으로써 수신인 정보에 상응하는 전자지갑 주소를 획득할 수 있다(S42).
송금 서비스 서버(3)는 사용자 장치(1)의 송금 요청에 대한 응답으로 수신인의 전자지갑 주소를 사용자 장치(1)에 전달할 수 있다(S43). 수신인의 전자지갑 주소를 수신한 사용자 장치(1)에서는, 이를 이용하여 송신인의 전자지갑 주소로부터 수신인의 전자지갑 주소로 토큰을 송금하기 위한 트랜잭션을 생성할 수 있다(S44). 전술한 것과 같이, 사용자 장치(1)에 의한 트랜잭션 생성 과정은 사용자 장치(1)에 설치된 지갑 확장 기능을 이용하여 수행될 수도 있다.
다음으로, 본 실시예에서 송금 서비스 서버(3)는 사용자 장치(1)의 지갑 확장 기능에 의하여 생성된 트랜잭션을 사용자 장치(1)로부터 수신하고(S45), 수신된 트랜잭션을 블록체인 네트워크(4)에 브로드캐스트함으로써 송금인으로부터 수신인에게의 블록체인 기반 송금을 실현할 수 있다. 그러나, 다른 실시예에서는 도 5를 참조하여 전술한 실시예와 같이 사용자 장치(1)에서 트랜잭션을 블록체인 네트워크(4)에 브로드캐스트할 수도 있다.
이상에서 설명한 실시예들에 따른 블록체인 기반의 송금 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 실시예들에 따른 블록체인 기반의 송금 방법에 의한 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해서 정해져야 할 것이다.

Claims (13)

  1. 컴퓨팅 장치에 의하여 실행됨으로써,
    상기 컴퓨팅 장치가, 상기 컴퓨팅 장치 상에서 실행되는 웹 브라우저에 의하여, 네트워크를 통해 웹 서버로부터 전송되는 웹 문서를 수신하는 단계;
    상기 컴퓨팅 장치가, 상기 웹 브라우저에 설치되는 확장 기능 컴포넌트에 의하여, 상기 웹 문서에 포함된 수신인 정보와 연관된 송금 관련 객체를 상기 웹 문서에 삽입한 가공된 문서를 생성하는 단계;
    상기 컴퓨팅 장치가 상기 가공된 문서를 표시하는 단계;
    상기 컴퓨팅 장치가 상기 가공된 문서 상의 상기 송금 관련 객체를 이용하여 사용자로부터 송금 지시를 수신하는 단계; 및
    상기 컴퓨팅 장치가, 상기 송금 지시에 대한 응답으로, 송금 서비스 서버에 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰 송금을 요청하는 단계를 포함하되,
    상기 가공된 문서를 생성하는 단계는,
    상기 컴퓨팅 장치가, 상기 확장 기능 컴포넌트에 의하여, 상기 웹 문서 내의 미리 설정된 문자열 또는 상기 웹 문서에 상응하는 도메인이 미리 설정된 도메인인 것을 탐지하는 단계; 및
    상기 컴퓨팅 장치가, 상기 확장 기능 컴포넌트에 의하여, 상기 웹 서버로부터 수신된 상기 웹 문서를 수정함으로써 상기 가공된 문서를 생성하는 단계를 포함하고,
    상기 토큰 송금을 요청하는 단계는, 상기 컴퓨팅 장치가 상기 확장 기능 컴포넌트에 의하여, 상기 미리 설정된 문자열, 또는 상기 미리 설정된 도메인의 웹 문서에 상응하는 사용자 식별 정보에 기초하여 토큰 송금의 수신인을 특정하는 단계를 포함하는 블록체인 기반의 송금 방법.
  2. 제1항에 있어서,
    상기 가공된 문서를 생성하는 단계는,
    상기 컴퓨팅 장치가, 상기 미리 설정된 문자열과 연관되어 동작되는 상기 송금 관련 객체를 상기 웹 문서에 삽입하는 단계를 더 포함하는 블록체인 기반의 송금 방법.
  3. 제1항에 있어서,
    상기 가공된 문서를 생성하는 단계는,
    상기 컴퓨팅 장치가, 상기 웹 문서가 미리 설정된 도메인에 상응하는 것으로 결정되는 것에 대한 응답으로, 상기 웹 문서 내의 미리 설정된 위치에 상기 송금 관련 객체를 삽입하는 단계를 더 포함하는 블록체인 기반의 송금 방법.
  4. 블록체인 기반의 송금 서비스 서버가, 사용자 장치에 수신되는 웹 문서에 송금 관련 객체를 삽입하여 가공된 문서를 생성하고 상기 가공된 문서를 표시하도록 상기 사용자 장치에서 동작 가능한 확장 기능 컴포넌트를 제공하는 단계;
    상기 송금 서비스 서버가, 상기 사용자 장치상의 상기 확장 기능 컴포넌트와 통신함으로써, 상기 송금 관련 객체를 이용하여 생성되며 수신인 정보를 포함하는 송금 요청을 상기 사용자 장치로부터 수신하는 단계; 및
    상기 송금 서비스 서버가, 상기 송금 요청에 대한 응답으로, 상기 수신인 정보를 이용하여 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰 송금을 실행하는 단계를 포함하되,
    상기 확장 기능 컴포넌트는,
    네트워크를 통해 웹 서버로부터 전송되는 상기 웹 문서를 상기 사용자 장치가 수신하도록 상기 사용자 장치 상에서 실행되는 웹 브라우저에 설치되며,
    상기 웹 문서 내의 미리 설정된 문자열 또는 상기 웹 문서에 상응하는 도메인이 미리 설정된 도메인인 것이 탐지될 경우 상기 웹 문서를 수정하여 상기 송금 관련 객체를 삽입하도록 더 구성되고,
    상기 수신인 정보는, 상기 미리 설정된 문자열, 또는 상기 미리 설정된 도메인의 웹 문서에 상응하는 사용자 식별 정보에 기초하여 상기 수신인을 특정하도록 상기 확장 기능 컴포넌트에 의해 결정된 것인 블록체인 기반의 송금 방법.
  5. 제4항에 있어서,
    상기 송금 요청을 상기 사용자 장치로부터 수신하는 단계 전에, 상기 송금 서비스 서버가, 상기 사용자 장치의 사용자에 연관된 전자지갑 주소를 수신하는 단계를 더 포함하며,
    상기 토큰 송금을 실행하는 단계는, 상기 송금 서비스 서버가, 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 포함하는 트랜잭션을 블록체인 네트워크 상에 업로드하는 단계를 포함하는 블록체인 기반의 송금 방법.
  6. 제4항에 있어서,
    상기 송금 요청을 상기 사용자 장치로부터 수신하는 단계 전에, 상기 송금 서비스 서버가, 지갑 서비스 서버에 대한 상기 사용자 장치의 사용자의 가입 정보를 수신하는 단계를 더 포함하며,
    상기 토큰 송금을 실행하는 단계는, 상기 송금 서비스 서버가, 상기 가입 정보를 이용하여 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 상기 지갑 서비스 서버에 요청하는 단계를 포함하는 블록체인 기반의 송금 방법.
  7. 제4항에 있어서,
    상기 토큰 송금을 실행하는 단계는,
    상기 송금 서비스 서버가, 상기 수신인 정보를 이용하여 네임 서비스 서버로부터 상기 수신인의 전자지갑 주소를 획득하는 단계;
    상기 송금 서비스 서버가, 상기 수신인의 전자지갑 주소를 상기 사용자 장치에 전송하는 단계; 및
    상기 송금 서비스 서버가, 상기 사용자 장치로부터, 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 포함하는 트랜잭션을 수신하는 단계를 포함하는 블록체인 기반의 송금 방법.
  8. 제4항에 있어서,
    상기 송금 요청을 상기 사용자 장치로부터 수신하는 단계 전에, 상기 송금 서비스 서버가, 상기 사용자 장치의 사용자에 연관된 전자지갑 주소를 수신하는 단계를 더 포함하며,
    상기 토큰 송금을 실행하는 단계는,
    상기 송금 서비스 서버가, 상기 사용자의 전자지갑 주소로부터의 토큰 송금을 포함하는 스마트 컨트랙트 주소를 상기 사용자 장치에 전송하는 단계; 및
    상기 송금 서비스 서버가, 상기 스마트 컨트랙트의 실행을 위한 상기 수신인의 지갑 정보를 상기 블록체인 네트워크에 업로드하는 단계를 포함하는 블록체인 기반의 송금 방법.
  9. 하드웨어와 결합되어 제1항 내지 제8항 중 어느 한 항에 따른 블록체인 기반의 송금 방법을 실행하도록 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  10. 실행 가능한 명령어가 저장된 메모리;
    서버와 통신 가능하게 구성된 통신 모듈; 및
    상기 메모리 및 상기 통신 모듈과 통신 가능하게 연결된 프로세서를 포함하되,
    상기 프로세서는, 상기 명령어를 실행함으로써,
    네트워크를 통해 웹 서버로부터 전송되는 웹 문서를 수신하는 웹 브라우저를 실행하고,
    상기 웹 브라우저에 설치된 확장 기능 컴포넌트에 의하여, 상기 웹 문서 내의 미리 설정된 문자열 또는 상기 웹 문서에 상응하는 도메인이 미리 설정된 도메인인 것이 탐지될 경우, 상기 웹 문서를 수정함으로써 상기 웹 문서에 포함된 수신인 정보와 연관된 송금 관련 객체를 상기 웹 문서에 삽입한 가공된 문서를 생성하며,
    상기 가공된 문서를 표시하고,
    상기 가공된 문서상의 상기 송금 관련 객체를 이용하여 사용자로부터 송금 지시를 수신하고,
    상기 송금 지시에 대한 응답으로, 송금 서비스 서버에 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰 송금을 요청하도록 구성되며,
    상기 프로세서는, 상기 확장 기능 컴포넌트에 의하여, 상기 미리 설정된 문자열, 또는 상기 미리 설정된 도메인의 웹 문서에 상응하는 사용자 식별 정보에 기초하여 상기 수신인을 특정하도록 더 구성된 컴퓨팅 장치.
  11. 삭제
  12. 블록체인 기반의 송금 서비스 서버로서,
    사용자 장치에 수신되는 웹 문서에 송금 관련 객체를 삽입하여 가공된 문서를 생성하고 상기 가공된 문서를 표시하도록 상기 사용자 장치에서 동작 가능한 확장 기능 컴포넌트를 제공하도록 구성된 확장기능 제공부;
    상기 사용자 장치상의 상기 확장 기능 컴포넌트와 통신함으로써, 상기 송금 관련 객체를 이용하여 생성되며 수신인 정보를 포함하는 송금 요청을 상기 사용자 장치로부터 수신하도록 구성된 요청 수신부; 및
    상기 송금 요청에 대한 응답으로, 상기 수신인 정보를 이용하여 상기 사용자로부터 수신인에게의 블록체인 기반의 토큰 송금을 실행하도록 구성된 거래 실행부를 포함하되,
    상기 확장 기능 컴포넌트는,
    네트워크를 통해 웹 서버로부터 전송되는 상기 웹 문서를 상기 사용자 장치가 수신하도록 상기 사용자 장치 상에서 실행되는 웹 브라우저에 설치되며,
    상기 웹 문서 내의 미리 설정된 문자열 또는 상기 웹 문서에 상응하는 도메인이 미리 설정된 도메인인 것이 탐지될 경우 상기 웹 문서를 수정하여 상기 송금 관련 객체를 삽입하도록 더 구성되고,
    상기 수신인 정보는, 상기 미리 설정된 문자열, 또는 상기 미리 설정된 도메인의 웹 문서에 상응하는 사용자 식별 정보에 기초하여 상기 수신인을 특정하도록 상기 확장 기능 컴포넌트에 의해 결정된 것인 블록체인 기반의 송금 서비스 서버.
  13. 제12항에 있어서,
    상기 사용자 장치의 사용자에 연관된 지갑 정보를 저장하도록 구성된 데이터베이스를 더 포함하며,
    상기 거래 실행부는, 상기 지갑 정보를 이용하여 상기 사용자의 전자지갑 주소로부터 상기 수신인의 전자지갑 주소로의 토큰 송금을 실행하도록 더 구성된 블록체인 기반의 송금 서비스 서버.
KR1020220044322A 2022-04-11 2022-04-11 웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램 KR102462625B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220044322A KR102462625B1 (ko) 2022-04-11 2022-04-11 웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220044322A KR102462625B1 (ko) 2022-04-11 2022-04-11 웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102462625B1 true KR102462625B1 (ko) 2022-11-03

Family

ID=84040849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220044322A KR102462625B1 (ko) 2022-04-11 2022-04-11 웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102462625B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102514591B1 (ko) * 2023-01-04 2023-03-28 주식회사 트루원코리아 보안성을 강화한 온라인 지갑 기반 간편 송금 서비스 제공 방법, 장치 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170098528A (ko) * 2016-02-22 2017-08-30 주식회사 이츠모아 문자메시지를 이용한 송금거래 방법 및 시스템
KR20180093387A (ko) 2017-02-13 2018-08-22 최재연 비트코인을 이용한 후원금 지급방법 및 그 방법으로 실행되는 애플리케이션을 기록한 기록매체
KR20200032431A (ko) * 2018-09-18 2020-03-26 한국정보통신주식회사 코드 정보를 이용한 송금 거래 처리 방법 및 그 장치
KR20210103227A (ko) * 2020-02-13 2021-08-23 주식회사 소버린월렛 블록체인 송금 서비스 시스템의 동작 방법과 송금을 위한 전자 지갑

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170098528A (ko) * 2016-02-22 2017-08-30 주식회사 이츠모아 문자메시지를 이용한 송금거래 방법 및 시스템
KR20180093387A (ko) 2017-02-13 2018-08-22 최재연 비트코인을 이용한 후원금 지급방법 및 그 방법으로 실행되는 애플리케이션을 기록한 기록매체
KR20200032431A (ko) * 2018-09-18 2020-03-26 한국정보통신주식회사 코드 정보를 이용한 송금 거래 처리 방법 및 그 장치
KR20210103227A (ko) * 2020-02-13 2021-08-23 주식회사 소버린월렛 블록체인 송금 서비스 시스템의 동작 방법과 송금을 위한 전자 지갑

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102514591B1 (ko) * 2023-01-04 2023-03-28 주식회사 트루원코리아 보안성을 강화한 온라인 지갑 기반 간편 송금 서비스 제공 방법, 장치 및 시스템

Similar Documents

Publication Publication Date Title
CN105530175B (zh) 一种消息处理方法、装置及系统
JP5628523B2 (ja) 1つのリソース上で常駐又はアクセス可能なコンテンツアイテムを別のリソースを通じて利用可能にするシステム及び方法
US20170344257A1 (en) Enhanced Keyboard
KR101729633B1 (ko) 통신 시스템에서 소셜 네트워크 서비스의 컨텐츠를 공유하기 위한 장치 및 방법
US8949278B2 (en) Contact information management
US7925735B2 (en) Network-based application late binding
US20170344256A1 (en) Keyboard Stream Logging
US20140052809A1 (en) Token Based Applications Platform Method, System and Apparatus
JP2010165187A (ja) 電子クーポン処理システム
RU2741479C2 (ru) Система и способ предоставления мобильной рекламы
KR20100086677A (ko) 커뮤니티 위젯 제공 방법 및 장치
US20210157895A1 (en) Information processing method, information display method, non-transitory computer readable storage medium, terminal and server
KR20170095292A (ko) 웹 페이지 상에 인증 정보를 제공하기 위한 방법 및 장치
CN103841154A (zh) 网络媒介信息发布方法、系统和客户端
KR102462625B1 (ko) 웹 문서를 이용한 블록체인 기반의 송금 방법, 송금 서비스 서버 및 이를 위한 컴퓨터 프로그램
US20100325245A1 (en) Aggregated proxy browser with aggregated links, systems and methods
JP6898680B2 (ja) 情報処理装置及びプログラム
US20150334185A1 (en) Terminal device, program, data transmission/reception system, and data transmission/reception method
JP2015156209A (ja) 情報処理システム
JP2013250733A (ja) 通信端末装置、課金装置、及び情報配信システム
KR101147854B1 (ko) 통합 결제 버튼 제공 방법
JP2014052862A (ja) アクセス認可装置及び方法、サービス提供装置及びシステム
JP2018041188A (ja) アドレス管理装置、データ管理システム及びプログラム
WO2013168492A1 (ja) 通信端末装置、サイト装置、及び情報配信システム
TWM581731U (zh) Transfer system

Legal Events

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