KR20210150024A - 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법 - Google Patents

전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법 Download PDF

Info

Publication number
KR20210150024A
KR20210150024A KR1020200066895A KR20200066895A KR20210150024A KR 20210150024 A KR20210150024 A KR 20210150024A KR 1020200066895 A KR1020200066895 A KR 1020200066895A KR 20200066895 A KR20200066895 A KR 20200066895A KR 20210150024 A KR20210150024 A KR 20210150024A
Authority
KR
South Korea
Prior art keywords
token
information
remittance
computing device
electronic wallet
Prior art date
Application number
KR1020200066895A
Other languages
English (en)
Other versions
KR102442127B1 (ko
Inventor
윤석구
Original Assignee
주식회사 소버린월렛
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 소버린월렛 filed Critical 주식회사 소버린월렛
Priority to KR1020200066895A priority Critical patent/KR102442127B1/ko
Priority to US18/007,892 priority patent/US20230237476A1/en
Priority to EP21817790.5A priority patent/EP4163855A4/en
Priority to PCT/KR2021/004165 priority patent/WO2021246632A1/ko
Publication of KR20210150024A publication Critical patent/KR20210150024A/ko
Application granted granted Critical
Publication of KR102442127B1 publication Critical patent/KR102442127B1/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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • G06Q20/3678Payment 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 e-cash details, e.g. blinded, divisible or detecting double spending
    • 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/385Payment protocols; Details thereof using an alias or single-use codes
    • 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
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

토큰 교환을 중계하는 서버의 동작 방법이 개시된다. 상기 서버의 동작 방법은 은 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하는 단계와, 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하는 단계와, 상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하는 단계와, 상기 교환 합의가 일치한다고 판단되면, 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하고 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 단계를 포함한다.

Description

전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법{e-WALLET, SERVER PERFORMING THE e-WALLET, AND ATOMIC SWAPPING METHOD OF DIFFERENT BLOCKCHAIN TOKENS USING THE SERVER}
본 발명은 전자 지갑에 관한 것으로, 특히 상기 전자 지갑을 실행하는 서버, 및 상기 서버를 이용하여 서로 다른 블록체인 토큰들의 원자성 교환 방법에 관한 것이다.
블록체인은 관리 대상 데이터를 블록이라고 하는 소규모 데이터를 P2P(peer-to-peer) 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기반의 원장 관리 기술이다.
블록체인(또는 블록체인 시스템)은 위조가 불가능한 비가역적 데이터베이스 시스템과 사용자가 공개키 암호화 기술로 생성하는 블록체인 어드레스를 포함한다.
블록체인에 기록되는 거래 정보는 하나의 블록체인 어드레스로부터 다른 블록체인 어드레스로 전송되는 송금 정보를 포함한다. 블록체인은 거래의 익명성을 보장하기 위해 숫자들을 포함하는 블록체인 어드레스들 사이에서의 거래 내역만을 기록하고, 상기 블록체인 어드레스들 각각의 소유자에 대한 정보는 블록체인에 기록되지 않는다.
공개특허공보: 공개번호 10-2018-0114915(2018년 10월 19일 공개) 공개특허공보: 공개번호 10-2019-0110377(2019년 09월 30일 공개)
종래에는 두명의 사용자들 중에서 어느 하나의 사용자가 제1블록체인 네트워크에 있고 상기 두명의 사용자 중에서 다른 사용자가 제2블록체인 네트워크에 있는 경우, 상기 두명의 사용자들이 동일한 블록체인 네트워크에 있지 않으므로 상기 두명의 사용자들 각각은 자신의 토큰을 상대방의 토큰과 안전하게 교환할 수 없었다.
본 발명은 이러한 문제점을 해결하기 위해 안출된 것으로서, 두명의 사용자들이 서로 다른 블록체인 네트워크들에 있더라도 상기 두명의 사용자들 각각이 자신의 토큰과 상대방의 토큰을 안전하게 교환할 수 있는 방법, 상기 방법을 수행할 수 있는 전자 지갑, 상기 전자 지갑을 실행하는 서버, 및 상기 서버를 이용한 토큰 교환 서비스 제공 방법을 제공하는 것이다.
본 발명의 실시 예들에 따른 토큰 교환을 중계하는 서버의 동작 방법은 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하는 단계와, 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하는 단계와, 상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하는 단계와, 상기 교환 합의가 일치한다고 판단되면, 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하고 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 단계를 포함한다.
컴퓨터에 토큰 교환을 중계하는 서버의 동작 방법을 실행하기 위해 프로그램은 컴퓨터로 읽을 수 있는 매체에 기록된다.
본 발명의 실시 예들에 따른 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑은 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하고, 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하고, 상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하고, 상기 교환 합의가 일치한다고 판단되면 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하고 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송한다.
본 발명의 실시 예들에 따른 서버는 프로세서와 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체를 포함하고, 상기 매체는 토큰 교환을 중계하는 서버의 동작 방법을 수행하기 위한 프로그램을 저장한다.
본 발명의 실시 예들에 따른 중계 서버를 이용하여 토큰 교환 중계 서비스를 제공하는 방법은 상기 중계 서버가 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하는 단계와, 상기 중계 서버가 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하는 단계와, 상기 중계 서버가 상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하는 단계와, 상기 교환 합의가 일치한다고 판단되면 상기 중계 서버가 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하고 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 단계를 포함한다.
본 발명의 실시 예들에 따른 토큰 교환을 중계하는 서버의 동작 방법은 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하는 단계와, 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하는 단계와, 상기 제1토큰 송금 정보와 상기 제1토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하는 단계와, 상기 교환 합의가 일치한다고 판단되면 상기 제1토큰 송금 정보를 상기 제1블록체인 네트워크에 퍼블리시하고 상기 제2토큰 송금 정보를 상기 제2블록체인 네트워크에 퍼블리시하는 단계를 포함한다.
컴퓨터에 토큰 교환을 중계하는 서버의 동작 방법을 실행하기 위해 프로그램은 컴퓨터로 읽을 수 있는 매체에 기록될 수 있다.
본 발명의 실시 예들에 따른 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑은 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하고, 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하고, 상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 확인하고, 상기 교환 합의가 일치한다고 확인되면 상기 제1토큰 송금 정보를 상기 제1블록체인 네트워크에 퍼블리시하고 상기 제2토큰 송금 정보를 상기 제2블록체인 네트워크에 퍼블리시한다.
본 발명의 실시 예들에 따른 서버는 프로세서와 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체를 포함하고, 상기 매체는 토큰 교환을 중계하는 서버의 동작 방법을 수행하기 위한 프로그램을 저장한다.
본 발명의 실시 예들에 따른 중계 서버를 이용하여 토큰 교환 중계 서비스를 제공하는 방법은 상기 중계 서버가 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하는 단계와, 상기 중계 서버가 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하는 단계와, 상기 중계 서버가 상기 제1토큰 송금 정보와 상기 제1토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하는 단계와, 상기 중계 서버가, 상기 교환 합의가 일치한다고 판단되면, 상기 제1토큰 송금 정보를 상기 제1블록체인 네트워크에 퍼블리시하고 상기 제2토큰 송금 정보를 상기 제2블록체인 네트워크에 퍼블리시하는 단계를 포함한다.
본 발명의 실시 예들에 따른 토큰 교환을 중계하는 서버의 동작 방법은 제1토큰 송금인 정보, 제1토큰 수취인 정보, 및 제1토큰을 포함하는 제1메시지를 제1컴퓨팅 장치로부터 수신하는 단계와, 상기 제1토큰 송금인 정보, 상기 서버의 제1식별정보, 및 상기 제1토큰을 포함하는 제1송금 정보가 제1블록체인 네트워크에 퍼블리시되는지를 모니터링하고, 모니터링 결과로서 상기 제1블록체인 네트워크로부터 상기 제1송금 정보(RI3)를 읽어오는 단계와, 상기 제1메시지에 포함된 상기 제1토큰 수취인 정보에 기초하여 상기 제1메시지를 제2컴퓨팅 장치로 전송하는 단계와, 상기 제1메시지를 확인한 제2사용자의 입력에 기초하여 상기 제2컴퓨팅 장치에 의해 생성된 제1확인 신호를 수신하는 단계를 포함한다.
컴퓨터에 토큰 교환을 중계하는 서버의 동작 방법을 실행하기 위해 프로그램은 컴퓨터로 읽을 수 있는 매체에 기록된다.
본 발명의 실시 예들에 따른 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑은 컴퓨팅 장치로 하여금 아래의 단계들을 수행하기 위한 명령들을 포함하고, 상기 단계들은 제1토큰 송금인 정보, 제1토큰 수취인 정보, 및 제1토큰을 포함하는 제1메시지를 제1컴퓨팅 장치로부터 수신하는 단계와, 상기 제1토큰 송금인 정보, 서버의 제1식별 정보, 및 상기 제1토큰을 포함하는 제1송금 정보가 제1블록체인 네트워크에 퍼블리시되는지를 모니터링하고, 모니터링 결과로서 상기 제1블록체인 네트워크로부터 상기 제1송금 정보를 읽어오는 단계와, 상기 제1메시지에 포함된 상기 제1토큰 수취인 정보에 기초하여 상기 제1메시지를 제2컴퓨팅 장치로 전송하는 단계와, 상기 제1메시지를 확인한 제2사용자의 입력에 기초하여 상기 제2컴퓨팅 장치에 의해 생성된 제1확인 신호를 수신하는 단계를 포함한다.
본 발명의 실시 예들에 따른 서버는 프로세서와, 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체를 포함하고, 상기 매체는 토큰 교환을 중계하는 서버의 동작 방법을 수행하기 위한 프로그램을 저장한다.
본 발명의 실시 예들에 따른 중계 서버를 이용하여 토큰 교환 중계 서비스를 제공하는 방법은 상기 중계 서버가 제1토큰 송금인 정보, 제1토큰 수취인 정보, 및 제1토큰을 포함하는 제1메시지를 제1컴퓨팅 장치로부터 수신하는 단계와, 상기 중계 서버가 상기 제1토큰 송금인 정보, 상기 중계 서버의 제1식별 정보, 및 상기 제1토큰을 포함하는 제1송금 정보가 제1블록체인 네트워크에 퍼블리시되는지를 모니터링하고, 모니터링 결과로서 상기 제1블록체인 네트워크로부터 상기 제1송금 정보를 읽어오는 단계와, 상기 중계 서버가 상기 제1메시지에 포함된 상기 제1토큰 수취인 정보에 기초하여 상기 제1메시지를 제2컴퓨팅 장치로 전송하는 단계와, 상기 중계 서버가 상기 제1메시지를 확인한 제2사용자의 입력에 기초하여 상기 제2컴퓨팅 장치에 의해 생성된 제1확인 신호를 수신하는 단계를 포함한다.
종래에는 두명의 사용자들 중에서 어느 하나의 사용자가 제1블록체인 네트워크에 있고 다른 사용자가 제2블록체인 네트워크에 있는 경우, 상기 두명의 사용자들이 동일한 블록체인 네트워크에 있지 않으므로 상기 두명의 사용자들 각각은 자신의 토큰을 상대방의 토큰과 안전하게 교환할 수 없었다.
그러나, 본 발명에 따른 전자 지갑, 상기 전자 지갑을 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법을 사용하면, 사용자들 각각은 상기 전자 지갑과 상기 서버를 이용하여 자신의 토큰을 상대방의 토큰과 안전하게 교환할 수 있는 효과가 있다. 즉, 상기 서버와 상기 원자성 교환 방법은 교환 대상이 되는 토큰들의 동시 교환을 보장할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 블록체인 시스템의 블록도이다.
도 2는 도 1에 도시된 블록체인 시스템에 포함된 전자 지갑들의 동작들의 실시 예들을 설명하기 위한 도면이다.
도 3은 도 1에 도시된 블록체인 시스템에 포함된 전자 지갑들의 동작들의 실시 예들을 설명하기 위한 도면이다.
도 4는 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 실시 예를 설명하기 위한 도면이다.
도 5는 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 다른 실시 예를 설명하기 위한 도면이다.
도 6은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다.
도 7은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다.
도 8은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다.
도 9는 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다.
도 10은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다.
디지털 지갑(digital wallet), 스마트 지갑(smart wallet), 암호 지갑 (crypto wallet), 또는 블록체인 지갑(blockchain wallet) 등으로 알려진 전자 지갑(electronic wallet 또는 e-wallet)은 개인(또는 개인들)으로 하여금 전자 거래들(electronic transactions, 예를 들면, 토큰(token)의 구입(buy), 판매(sell), 전송(send), 교환(swap), 및/또는 추적(track) 등)을 할 수 있도록 허용된 전자 장치, 온라인 서비스, 또는 소프트웨어(또는 프로그램)를 의미한다. 서버를 이용한 토큰들의 원자성 교환(atomic swap)은 상기 서버를 통해 상기 토큰들의 안전한 교환(또는 동시 교환)을 보장하는 것을 의미할 수 있다.
각 전자 지갑(220, 320, 및 620)은 각 컴퓨팅 장치(200, 300, 및 600)의 각 프로세서(210, 310, 및 610)에 의해 실행되는 애플리케이션(application)을 의미하고, 상기 애플리케이션은 애플리케이션 소프트웨어, 컴퓨터 프로그램, 소프트웨어, 또는 앱(app)를 의미하나 이에 한정되는 것은 아니다.
제1컴퓨팅 장치(200)는 제1입력 장치(예를 들면, 키보드, 터치패드, 또는 컴퓨터 마우스, 등; 201), 모니터 또는 디스플레이 장치와 같은 제1출력 장치(203), 제1프로세서(210), 및 제1송수신기(230)를 포함하고, 제2컴퓨팅 장치(300)는 제2입력 장치(예를 들면, 키보드, 터치패드, 또는 컴퓨터 마우스, 등; 301), 모니터 또는 디스플레이 장치와 같은 제2출력 장치(303), 제2프로세서(310), 및 제2송수신기 (330)를 포함하고, 제3컴퓨팅 장치(600)는 프로세서(610)와 송수신기(630)를 포함한다.
각 컴퓨팅 장치(200과 300)는 데스크 탑 컴퓨터, 랩탑(laptop) 컴퓨터, 인터넷 모바일 장치(internet mobile device(IMD)), 스마트폰, 또는 사물 인터넷 (Internet of Things(IoT)) 장치 등일 수 있으나 이에 한정되는 것은 아니다. 각 전자 지갑(220과 320)은 각 컴퓨팅 장치(200과 300)의 저장 매체(예를 들면, 메모리 장치)에 저장되고, 상기 저장 매체를 액세스할 수 있는 각 프로세서(210과 310)에 의해 실행된다.
컴퓨팅 장치(600)는 서버(예를 들면, 토큰들의 교환을 위한 중계 서버)일 수 있고, 전자 지갑(620)은 서버(600)에 의해 액세스 가능한 저장 매체(예를 들면, 메모리 장치, 하드디스크 드라이브, SSD(solid state drive) 또는 데이터베이스)에 저장되고 프로세서(610)에 의해 실행된다.
각 전자 지갑(220, 320, 및 620)은 판독가능한 저장 매체에 저장된 애플리케이션으로서, 상기 애플리케이션은 컴퓨팅 장치로 하여금 도 4 내지 도 10에 도시된 단계들 중에서 해당하는 단계들을 수행하기 위한 코드들이나 명령어들을 포함한다. 각 전자 지갑(220, 320, 및 620)은 하드웨어(예를 들면, 컴퓨팅 장치 또는 상기 컴퓨팅 장치에 설치된 프로세서)와 결합되어 서로 다른 블록체인 네트워크들(400과 500)에서 사용되는 토큰들의 안전한 교환을 위한 판독가능한 저장 매체에 저장된 애플리케이션이다.
여기서, 각 전자 지갑(220, 320, 및 620)은 금융 서비스(financial services)를 제공하는 뱅킹 애플리케이션과 유사한 기능을 수행하는 애플리케이션(또는 프로그램)을 의미한다.
제1사용자의 제1어드레스는 제1블록체인 네트워크(400)에서 상기 제1사용자를 식별하기 위한 유니크(unique)한 정보를 의미하며, 상기 제1사용자의 제1은행 계좌 정보와 유사한 정보를 의미한다. 또한, 제1사용자의 제2어드레스는 제2블록체인 네트워크(500)에서 상기 제1사용자를 식별하기 위한 유니크한 정보를 의미하며, 상기 제1사용자의 제2은행 계좌 정보와 유사한 정보를 의미한다.
제2사용자의 제1어드레스는 제1블록체인 네트워크(400)에서 상기 제2사용자를 식별하기 위한 유니크한 정보를 의미하며, 상기 제2사용자의 제1은행 계좌 정보와 유사한 정보를 의미한다. 또한, 제2사용자의 제2어드레스는 제2블록체인 네트워크(500)에서 상기 제2사용자를 식별하기 위한 유니크한 정보를 의미하며, 상기 제2사용자의 제2은행 계좌 정보와 유사한 정보를 의미한다.
제1사용자가 제1블록체인 네트워크(400) 및/또는 중계 서버(600)를 통해 제2사용자에게 토큰(또는 블록체인 토큰)을 송금할 때, 상기 제1사용자의 제1어드레스는 송금인 어드레스(또는 '송금인 정보'라고도 함)에 해당하고 상기 제2사용자의 제1어드레스는 수취인 어드레스(또는 '수취인 정보'라고도 함)에 해당한다. 반대로, 제2사용자가 제1블록체인 네트워크(400) 및/또는 중계 서버(600)를 통해 제1사용자에게 토큰을 송금할 때, 상기 제2사용자의 제1어드레스는 송금인 어드레스에 해당하고 상기 제1사용자의 제1어드레스는 수취인 어드레스에 해당한다.
또한, 제2사용자가 제2블록체인 네트워크(500) 및/또는 중계 서버(600)를 통해 제1사용자에게 토큰(또는 블록체인 토큰)을 송금할 때, 상기 제2사용자의 제2어드레스는 송금인 어드레스에 해당하고 상기 제1사용자의 제2어드레스는 수취인 어드레스에 해당한다. 반대로, 제1사용자가 제2블록체인 네트워크(500) 및/또는 중계 서버(600)를 통해 제2사용자에게 토큰을 송금할 때, 상기 제1사용자의 제2어드레스는 송금인 어드레스에 해당하고 상기 제2사용자의 제2어드레스는 수취인 어드레스에 해당한다.
토큰(token)은 전자 화폐(electronic money), 디지털 화폐(digital currency), 암호 화폐(cryptocurrency), 가상 화폐, 또는 디지털 자산(digital asset)를 의미하나 이에 한정되는 것은 아니다.
도 1 내지 도 10을 참조하면, 전자서명은 항상 토큰을 송금하는 주체(예를 들면 송금인)가 하고, 상기 송금인에 의해 전자서명된 정보는 상기 송금인, 중계서버(600), 및 수취인 중에서 누구라도 퍼블리시할 수 있다.
본 명세서에서 어떤 전자 지갑이 다른 전자 지갑과 정보를 주고받는다 함은 상기 어떤 전자 지갑을 실행하는 제1컴퓨팅 장치(또는 제1송수신기)가 통신망을 통해 상기 다른 전자 지갑을 실행하는 제2컴퓨팅 장치(또는 제2송수신기)와 상기 정보를 주고받는 것은 의미한다. 여기서, 통신망은 제1컴퓨팅 장치(200)와 중계 서버 (600) 사이의 통신망, 제2컴퓨팅 장치(300)와 중계 서버(600) 사이의 통신망, 및 컴퓨팅 장치(200 또는 300)와 블록체인 네트워크(400 또는 500) 사이의 통신망을 포함한다.
도 1은 본 발명의 실시 예에 따른 블록체인 시스템의 블록도이다.
도 1을 참조하면, 블록체인 시스템(이를 '블록체인 송금 시스템', 또는 '분산 원장 처리 시스템'이라고도 한다. 100)은 제1컴퓨팅 장치(200), 제2컴퓨팅 장치 (300), 제1블록체인 네트워크(400), 제2블록체인 네트워크(500), 및 중계 서버 (600)를 포함한다. 각 블록체인 네트워크(400와 500)는 P2P(peer-to-peer) 네트워크를 의미할 수 있고, 서로 다른 블록체인 네트워크 또는 이종의(heterogeneous) 블록체인 네트워크를 의미할 수 있다.
각 블록체인 네트워크(400와 500)는 퍼블리시(publish)를 위한 장치 또는 전자 지갑에 의해 퍼블리시되는 정보를 수신하여 저장하는 저장 장치 또는 저장 공간을 포함하는 네트워크로서, 실시 예들에 따라 각 블록체인 네트워크(400와 500)는 블록(block)을 생성하는 방식 또는 상기 블록을 생성하지 않는 방식을 사용할 수 있으나, 본 명세서에서는 적어도 하나의 블록체인 노드(410 또는 510)를 포함하는 블록체인 네트워크(400 또는 500)가 도시되고 설명되나, 본 명세서에서 설명되는 발명의 기술적 사상은 블록의 생성 여부에 한정되는 것은 아니다.
종래에는 예를 들면, 두명의 사용자들 중에서 하나의 사용자가 제1블록체인 네트워크(예를 들면, 비트코인(Bitcoin) 네트워크; 400)에 있고(또는 제1블록체인 네트워크(400)를 사용하고) 상기 두명의 사용자들 중에서 다른 사용자가 제2블록체인 네트워크(예를 들면, 이더리움(Ethereum) 네트워크; 500)에 있는 경우(또는 제2블록체인 네트워크(500)를 사용하는 경우), 상기 두명의 사용자들이 동일한 블록체인 네트워크에 있지 않으므로(또는 동일한 블록체인 네트워크를 사용하지 않으므로) 상기 두명의 사용자들 각각은 자신의 토큰을 상대방의 토큰과 안전하게 교환할 수 없었다.
그러나, 각 컴퓨팅 장치(200과 300)에 각 전자 지갑(220과 320)이 설치되어 있고 컴퓨팅 장치들(200과 300)에 전기적으로 연결된 중계 서버(600)에 전자 지갑 (620)이 설치되어 있을 때, 각 사용자는 전자 지갑들(220, 320, 및/또는 620)을 이용하여 자신의 토큰을 상대방의 토큰과 안전하게 교환할 수 있다.
각 컴퓨팅 장치(200, 300, 및 600)의 각 프로세서(210, 310, 및 610)는 각 매체에 저장된 각 전자 지갑(220, 320, 및 620)을 실행한다. 각 전자 지갑(220과 320)의 구조와 기능은 서로 동일하다고 가정한다.
제1전자 지갑(220)은 제1전자 지갑_A(221), 제1전자 지갑_B(223), 제1제어 모듈(또는 제1제어기; 225), 및 제1통신 모듈(또는 제1소프트웨어 송수신기; 227)을 포함한다. 각 구성(221, 223, 225, 및 227)은 본 명세서에서 설명될 기능들 또는 단계들(또는 동작들)을 수행할 수 있는 소프트웨어의 기능적 결합을 의미한다.
제1전자 지갑_A(221)은 제1블록체인 네트워크(400) 및/또는 중계 서버(600)를 이용하여 토큰의 송금과 수취를 수행하는 전자 지갑이고, 제1전자 지갑_B(223)는 제2블록체인 네트워크(500) 및/또는 중계 서버(600)를 이용하여 토큰의 송금과 수취를 수행하는 전자 지갑이고, 제1제어 모듈(225)은 제1전자 지갑_A(221), 제1전자 지갑_B(223), 및 제1통신 모듈(227)을 제어하고, 제1통신 모듈(227)은 제1송수신기(230)를 이용하여 제1블록체인 네트워크(400), 제2블록체인 네트워크(500), 및/또는 중계 서버(600)와 통신한다. 제1전자 지갑_A(221)과 제1전자 지갑_B(223)는 제1제어 모듈(225)을 통해 필요한 신호 또는 정보를 주고받을 수 있다.
제2전자 지갑(320)은 제2전자 지갑_A(321), 제2전자 지갑_B(323), 제2제어 모듈(또는 제2제어기; 325), 및 제2통신 모듈(또는 제2소프트웨어 송수신기; 327)을 포함한다. 각 구성(321, 323, 325, 및 327)은 본 명세서에서 설명될 기능들 또는 단계들을 수행할 수 있는 소프트웨어의 기능적 결합을 의미한다.
제2전자 지갑_A(321)은 제1블록체인 네트워크(400) 및/또는 중계 서버(600)를 이용하여 토큰의 송금과 수취를 수행하는 전자 지갑이고, 제2전자 지갑_B(323)는 제2블록체인 네트워크(500) 및/또는 중계 서버(600)를 이용하여 토큰의 송금과 수취를 수행하는 전자 지갑이고, 제2제어 모듈(325)은 제2전자 지갑_A(321), 제2전자 지갑_B(323), 및 제2통신 모듈(327)을 제어하고, 제2통신 모듈(327)은 제2송수신기(330)를 이용하여 제1블록체인 네트워크(400), 제2블록체인 네트워크(500), 및/또는 중계 서버(600)와 통신한다. 제2전자 지갑_A(321)과 제2전자 지갑_B(323)는 제2제어 모듈(325)을 통해 필요한 신호 또는 정보를 주고받을 수 있다.
중계 서버(600)에서 실행되는 제3전자 지갑(620)은 제3전자 지갑_A(621), 제3전자 지갑_B(623), 제3제어 모듈(또는 제3제어기; 625), 및 제3통신 모듈(또는 제3소프트웨어 송수신기; 627)을 포함한다. 각 구성(621, 623, 625, 및 627)은 본 명세서에서 설명될 기능들 또는 단계들을 수행할 수 있는 소프트웨어의 기능적 결합을 의미한다.
각 구성(621, 623, 625, 및 627)의 동작은 도 4 내지 도 10을 참조하여 상세히 설명될 것이다. 각 전자 지갑(221과 321)의 기능과 구조는 동일하고, 각 전자 지갑(223과 323)의 기능과 구조는 동일하다고 가정한다.
예를 들면, 각 전자 지갑_A(221, 321, 또는 621)은 제1전자 지갑_A(221)의 기능, 제2전자 지갑_A(321), 및/또는 제3전자 지갑_A(621)의 기능을 모두 수행할 수 있다. 각 전자 지갑_B(223, 323, 또는 623)은 제1전자 지갑_B(223)의 기능, 제2전자 지갑_B(323), 및/또는 제3전자 지갑_B(623)의 기능을 모두 수행할 수 있다.
제1블록체인 네트워크(400)는 적어도 하나의 블록체인 노드(410)를 포함하고, 블록체인 노드(410)는 블록들(CB와 NB)을 생성하고 관리한다. 제2블록체인 네트워크(500)는 적어도 하나의 블록체인 노드(510)를 포함하고, 블록체인 노드(510)는 블록들(CB와 NB)을 생성하고 관리한다.
비록, 도 1, 및 도 4 내지 도 10에서는 각 블록체인 네트워크(400과 500)가 하나의 블록체인 노드(410과 510)를 포함하는 것으로 도시되어 있으나, 이는 설명의 편의를 위한 것으로 각 블록체인 노드(410과 510)는 하나 또는 복수개의 블록체인 노드들을 통칭한다.
제1블록체인 네트워크(400)는 블록체인 원장(blockchain ledger)과 스마트 계약(smart contract 또는 체인코드(chaincode)) 서비스들을 애플리케이션들(예를 들면, 221, 321, 및/또는 621)에게 제공하는 기술 인프라(technical infrastructure)이다. 제1블록체인 네트워크(400)는 블록체인 원장 또는 분산 원장 (distributed ledger)을 처리할 수 있는 네트워크를 의미한다.
제2블록체인 네트워크(500)는 블록체인 원장과 스마트 계약(또는 체인코드) 서비스들을 애플리케이션들(예를 들면, 223, 323, 및/또는 623)에게 제공하는 기술 인프라이다. 제2블록체인 네트워크(500)는 블록체인 원장 또는 분산 원장을 처리할 수 있는 네트워크를 의미한다.
도 2는 도 1에 도시된 블록체인 시스템에 포함된 전자 지갑들의 동작들의 실시 예들을 설명하기 위한 도면이다.
도 2에서는 설명의 편의를 위해, 제1컴퓨팅 장치(200)의 제1사용자는 제2컴퓨팅 장치(300)의 제2사용자에게 제1토큰(또는 '제1토큰 금액'이라고도 한다. TA1)을 송금하고, 상기 제2사용자는 상기 제1사용자에게 제2토큰(또는 '제2토큰 금액'이라고도 한다. TA2)을 송금한다고 가정한다. 따라서, 제1사용자와 제2사용자는 이종의 블록체인 네트워크들(또는 블록체인 시스템들; 400과 500)에서 사용되는 토큰들(TA1과 TA2)을 중계 서버(600)를 통해 동시에, 병렬적으로, 또는 허용된 시간 차이를 두고 안전하게 교환할 수 있다. 즉, 중계 서버(600)는 도 4 내지 도 10을 참조하여 설명될 토큰들(TA1과 TA2)의 교환을 보장하는 기능을 수행한다.
제1토큰(또는 '제1블록체인 토큰'이라고도 한다.; TA1)은 제1블록체인 네트워크(400)에서 사용(또는 정의)되는 토큰을 의미하고, 제2토큰(또는 '제2블록체인 토큰'이라고도 한다.; TA2)은 제2블록체인 네트워크(500)에서 사용(또는 정의)되는 토큰을 의미한다. 따라서, 제1사용자의 제1토큰(TA1)과 제2사용자의 제2토큰(TA2)은 도 4 내지 도 10을 참조하여 설명되는 단계들(또는 동작들)을 통해 일정한 비율(또는 사용자들 사이에 미리 협의된 교환 비율)로 안전하게 교환될 수 있다.
제1사용자는 제1토큰(TA1)의 송금인이면서 제1토큰(TA1)과 교환되는 제2토큰 (TA2)의 수취인이고, 제2사용자는 제2토큰(TA2)의 송금인이면서 제2토큰(TA2)과 교환되는 제1토큰(TA1)의 수취인이다.
도 2와 도 3의 실시 예들에 따라, 제1전자 지갑_A(221)은 제1토큰 송금 전자 지갑이고, 제2전자 지갑_A(321)은 제1토큰 수취 전자 지갑이고, 제2전자 지갑_B (323)은 제2토큰 송금 전자 지갑이고, 제1전자 지갑_B(223)은 제2토큰 수취 전자 지갑이다.
제1사용자의 제1전자 지갑(220)에 포함된 제1토큰 송금 전자 지갑(221)는 제1개인키(private key; PrK1)와 제1공개키(public key; PuK1)의 쌍(<PrK1, PuK1>)을 생성하고, 제1공개키(PuK1)로부터(또는 제1공개키(PuK1)에 해시 함수(hash function)를 적용하여) 제1사용자의 제1어드레스(U1A1)를 생성(또는 파생)한다 (S110-1).
제1사용자가 제1컴퓨팅 장치(200)의 제1입력 장치(201)를 이용하여 제2사용자의 제1어드레스(U2A1)와 송금 금액에 해당하는 제1토큰(이를 '제1토큰 금액'이라고도 한다. TA1)을 제1토큰 송금 전자 지갑(221)으로 입력하면, 제1토큰 송금 전자 지갑(221)은 제1사용자(즉, 제1토큰(TA1)의 송금인)의 제1어드레스(U1A1), 제2사용자(즉, 제1토큰(TA1)의 수취인)의 제1어드레스(U2A1), 및 제1토큰(TA1)을 포함하는 제1트랜잭션(transaction; TS1[U1A1, U2A1, TA1])을 생성하고, 제1개인키(PrK1)로 제1트랜잭션(TS1)에 전자서명하여 전자서명된 제1트랜잭션(STS1)을 생성한다(S120-1).
제2사용자의 제2전자 지갑(320)에 포함된 제2토큰 송금 전자 지갑(323)은 제2개인키(PrK2)와 제2공개키(PuK2)의 쌍(<PrK2, PuK2>)을 생성하고, 제2공개키 (PuK2)로부터(또는 제2공개키(PuK2)에 해시 함수를 적용하여) 제2사용자의 제2어드레스(U2A2)를 생성(또는 파생)한다(S110-2).
제2사용자가 제2컴퓨팅 장치(300)의 제2입력 장치(301)를 이용하여 제1사용자의 제2어드레스(U1A2)와 송금 금액에 해당하는 제2토큰(또는 제2토큰 금액; TA2)을 제2토큰 송금 전자 지갑(323)으로 입력하면, 제2토큰 송금 전자 지갑(323)은 제2사용자(즉, 제2토큰(TA2)의 송금인)의 제2어드레스(U2A2), 제1사용자(즉, 제2토큰 (TA2)의 수취인)의 제2어드레스(U1A2), 및 제2토큰(TA2)을 포함하는 제2트랜잭션 (TS2[U2A2, U1A2, TA2])을 생성하고, 제2개인키(PrK2)로 제2트랜잭션(TS2)에 전자서명하여 전자서명된 제2트랜잭션(STS2)을 생성한다(S120-2).
제1토큰 송금 전자 지갑(221)은 제1토큰 송금 정보(RI1)를 생성한다(S130-1). 제1토큰 송금 정보(RI1)는 제1사용자의 제1어드레스(U1A1), 제2사용자의 제1어드레스(U2A1), 제1토큰(TA1), 전자서명된 제1트랜잭션(STS1), 및 제1공개키(PuK1)를 포함한다.
제1토큰 송금 정보(RI1)는 체인 형태로 이루어진 복수개의 블록들을 포함하는 블록체인 원장에 포함될 수 있는 정보를 의미할 수 있고, 제1토큰(TA1)은 블록체인 기반의 전자 화폐, 디지털 화폐, 암호 화폐 또는 가상 화폐의 금액을 의미할 수 있다.
제2토큰 송금 전자 지갑(323)은 제2토큰 송금 정보(RI2)를 생성한다(S130-2). 제2토큰 송금 정보(RI2)는 제2사용자의 제2어드레스(U2A2), 제1사용자의 제2어드레스(U1A2), 제2토큰(TA2), 전자서명된 제2트랜잭션(STS2), 및 제2공개키(PuK2)를 포함한다.
제2토큰 송금 정보(RI2)는 체인 형태로 이루어진 복수개의 블록들을 포함하는 블록체인 원장에 포함될 수 있는 정보를 의미할 수 있고, 제2토큰(TA2)은 블록체인 기반의 전자 화폐, 디지털 화폐, 암호 화폐 또는 가상 화폐의 금액을 의미할 수 있다.
도 3은 도 1에 도시된 블록체인 시스템에 포함된 전자 지갑들의 동작들의 실시 예들을 설명하기 위한 도면이다. 도 3에서는 설명의 편의를 위해, 제1사용자는 제2사용자에게 제1토큰(TA1)을 송금하고 상기 제2사용자는 상기 제1사용자에게 제2토큰(TA2)을 송금한다고 가정한다.
제1사용자의 제1전자 지갑(220)에 포함된 제1토큰 송금 전자 지갑(221)는 제1개인키(PrK1)와 제1공개키(PuK1)의 쌍(<PrK1, PuK1>)을 생성한다(S110a).
제1사용자가 제1컴퓨팅 장치(200)의 제1입력 장치(201)를 이용하여 제2사용자의 제1어드레스(U2A1)와 송금 금액에 해당하는 제1토큰(또는 제1토큰 금액; TA1)을 제1토큰 송금 전자 지갑(221)으로 입력하면, 제1토큰 송금 전자 지갑(221)은 제1공개키(PuK1), 제2사용자(즉, 제1토큰(TA1)의 수취인)의 제1어드레스(U2A1), 및 제1토큰(TA1)을 포함하는 제1트랜잭션(TS1[PuK1, U2A1, TA1])을 생성하고, 제1개인키(PrK1)로 제1트랜잭션(TS1)에 전자서명하여 전자서명된 제1트랜잭션(STS1)을 생성한다(S120a).
제2사용자의 제2전자 지갑(320)에 포함된 제2토큰 송금 전자 지갑(323)은 제2개인키(PrK2)와 제2공개키(PuK2)의 쌍(<PrK2, PuK2>)을 생성한다(S110b).
제2사용자가 제2컴퓨팅 장치(300)의 제2입력 장치(301)를 이용하여 제1사용자의 제2어드레스(U1A2)와 송금 금액에 해당하는 제2토큰(또는 제2토큰 금액; TA2)을 제2토큰 송금 전자 지갑(323)으로 입력하면, 제2토큰 송금 전자 지갑(323)은 제2공개키(PuK2), 제1사용자(즉, 제2토큰(TA2)의 수취인)의 제2어드레스(U1A2), 및 제2토큰(TA2)을 포함하는 제2트랜잭션(TS2[PuK2, U1A2, TA2])을 생성하고, 제2개인키(PrK2)로 제2트랜잭션(TS2)에 전자서명하여 전자서명된 제2트랜잭션(STS2)을 생성한다(S120b).
제1토큰 송금 전자 지갑(221)은 제1토큰 송금 정보(RI1)를 생성한다 (S130a). 제1토큰 송금 정보(RI1)는 제1공개키(PuK1), 제2사용자의 제1어드레스 (U2A1), 제1토큰(TA1), 및 전자서명된 제1트랜잭션(STS1)를 포함한다. 이때, 제1사용자의 제1어드레스(U1A1) 대신에 제1공개키(PuK1)가 사용된다. 실시 예들에 따라, 제2사용자의 제1어드레스(U2A1)는 제2사용자의 제2전자지갑_A(321)에 의해 생성된 공개키(public key)일 수 있다.
제2토큰 송금 전자 지갑(323)은 제2토큰 송금 정보(RI2)를 생성한다 (S130b). 제2토큰 송금 정보(RI2)는 제2공개키(PuK2), 제1사용자의 제2어드레스 (U1A2), 제2토큰(TA2), 및 전자서명된 제2트랜잭션(STS2)을 포함한다. 이때, 제2사용자의 제2어드레스(U2A2) 대신에 제2공개키(PuK2)가 사용된다. 실시 예들에 따라, 제1사용자의 제2어드레스(U1A2)는 제1사용자의 제1전자지갑_B(223)에 의해 생성된 공개키일 수 있다.
도 4는 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 실시 예를 설명하기 위한 도면이다. 중계 서버(600)를 이용하여 토큰들(TA1과 TA2)을 교환하는 방법은 도 1 내지 도 4를 참조하여 설명된다.
제1토큰 송금 전자 지갑(221)은 도 2의 단계(S130-1) 또는 도 3의 단계 (130a)에서 생성된 제1토큰 송금 정보(RI1)를 중계 서버(620)의 제1토큰 처리 전자 지갑(621)으로 전송한다(S210). 제1토큰 송금 정보(RI1)는 송금인 정보(U1A1 또는 PuK1), 수취인 정보(U2A1), 및 토큰 금액 정보(TA1)를 포함한다. 실시 예들에 따라, 제1토큰 처리 전자 지갑(621)은 제1토큰 송금 정보(RI1)를 제어 모듈(625)로 전송하거나 제1토큰 송금 정보(RI1)가 수신되었음을 나타내는 제1신호를 제어 모듈 (625)로 전송할 수 있다.
제2토큰 송금 전자 지갑(323)은 도 2의 단계(S130-2) 또는 도 3의 단계 (130b)에서 생성된 제2토큰 송금 정보(RI2)를 중계 서버(620)의 제2토큰 처리 전자 지갑(623)으로 전송한다(S220). 제2토큰 송금 정보(RI2)는 송금인 정보(U2A2 또는 PuK2), 수취인 정보(U1A2), 및 토큰 금액 정보(TA2)를 포함한다. 실시 예들에 따라, 제2토큰 처리 전자 지갑(623)은 제2토큰 송금 정보(RI2)를 제어 모듈(625)로 전송하거나 제2토큰 송금 정보(RI2)가 수신되었음을 나타내는 제2신호를 제어 모듈 (625)로 전송할 수 있다.
제어 모듈(625)은 제1토큰 송금 정보(RI1)와 제2토큰 송금 정보(RI2)가 모두 수신되었는지(또는 제1신호와 제2신호가 모두 수신되었는지)를 확인한다(S230). 즉, 제어 모듈(625)은 확인 결과에 따라 제1토큰(TA1)과 제2토큰(TA2)의 교환 합의가 일치하는지를 확인한다(S230).
제1토큰 송금 정보(RI1)와 제2토큰 송금 정보(RI2)가 모두 수신된 후(또는 제1신호와 제2신호가 모두 수신된 후), 제어 모듈(625)은 전송 지시 신호를 생성하여 각 처리 전자 지갑(621과 623)으로 전송한다.
제1토큰 처리 전자 지갑(621)은 전송 지시 신호에 응답하여 제1토큰 송금 정보(RI1)를 제1토큰 수취 전자 지갑(321)로 전송한다(S240). 제1토큰 수취 전자 지갑(321)은 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 퍼블리시한다 (S260). 즉, 제1토큰의 수취인의 제1토큰 수취 전자 지갑(321)은 송금인로부터 받을 토큰(즉, 제1사용자가 송금할 제1토큰(TA1)) 또는 제1토큰 송금 전자지갑(221)의 개인키로 전자서명된 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 퍼블리시한다(S260).
제1블록체인 네트워크(400)의 블록체인 노드(410)는 제1토큰 수취 전자 지갑 (321)으로부터 전송된 제1토큰 송금 정보(RI1)를 수신(또는 픽업(pickup))하고, 이미 존재하는 블록들(CB)의 다음 블록(이를 '새로운 블록'이라고도 함; NB)을 생성하고, 다음 블록(NB)에 제1토큰 송금 정보(RI1)를 저장한다.
예를 들면, 제1토큰 수취 전자 지갑(321) 또는 블록체인 노드(410)는 제1토큰 송금 정보(RI1, 또는 제1토큰 송금 정보(RI1)를 포함하는 트랜잭션)을 블록체인 노드(410)의 다음 블록(NB)에 저장할 수 있다.
실시 예들에 따라, 제1토큰 송금 정보(RI1)가 블록체인 노드(410)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제1토큰 송금 정보(RI1)의 저장(또는 퍼블리시됨)을 모니터링하는 제1토큰 송금 전자 지갑(221)은 제1토큰(TA1)이 저장(또는 퍼블리시)된 후 제1사용자의 토큰 잔액를 업데이트할 수 있다.
제2토큰 처리 전자 지갑(623)은 전송 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2토큰 수취 전자 지갑(223)로 전송한다(S250). 제2토큰 수취 전자 지갑(223)은 제2토큰 송금 정보(RI2)를 제2블록체인 네트워크(500)에 퍼블리시한다 (S270). 즉, 제2토큰 수취 전자 지갑(223)은 송금인으로부터 받을 토큰(즉, 제2사용자가 송금할 제2토큰(TA2)) 또는 제2토큰 송금 전자 지갑(323)의 개인키로 전자서명된 제2토큰 송금 정보를 제2블록체인 네트워크(500)에 퍼블리시한다(S270).
제2블록체인 네트워크(500)의 블록체인 노드(510)는 제2토큰 수취 전자 지갑 (223)으로부터 전송된 제2토큰 송금 정보(RI2)를 수신(또는 픽업)하고, 이미 존재하는 블록들(CB)의 다음 블록(이를 '새로운 블록'이라고도 함; NB)을 생성하고, 다음 블록(NB)에 제2토큰 송금 정보(RI2)를 저장한다.
예를 들면, 제2토큰 수취 전자 지갑(223) 또는 블록체인 노드(510)는 제2토큰 송금 정보(RI2, 또는 제2토큰 송금 정보(RI2)를 포함하는 트랜잭션)을 제2블록체인 네트워크(500) 또는 블록체인 노드(510)의 다음 블록(NB)에 저장할 수 있다.
실시 예들에 따라, 제2토큰 송금 정보(RI2)가 블록체인 노드(510)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제2토큰 송금 정보(RI2)의 저장(또는 퍼블리시)을 모니터링하는 제2토큰 송금 전자 지갑(223)은 제2토큰(TA2)이 저장(또는 퍼블리시)된 후 제2사용자의 토큰 잔액를 업데이트할 수 있다.
도 5는 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 실시 예를 설명하기 위한 도면이다. 중계 서버(600)를 이용하여 토큰들(TA1과 TA2)을 교환하는 방법은 도 1 내지 도 5를 참조하여 설명된다.
제1토큰 송금 전자 지갑(221)은 도 2의 단계(S130-1) 또는 도 3의 단계 (130a)에서 생성된 제1토큰 송금 정보(RI1)를 중계 서버(620)의 제1토큰 처리 전자 지갑(621)으로 전송한다(S210). 또한, 제1토큰 송금 전자 지갑(221)은 제1사용자가 제2사용자로부터 받을 토큰 금액 정보(TA2, 이를 제4토큰 금액 정보 라고도 한다)를 포함하는 제1수취 정보(RI2a)를 제1토큰 처리 전자 지갑(621)으로 전송한다(S210a).
제1토큰 송금 정보(RI1)는 송금인 정보(U1A1 또는 PuK1), 수취인 정보 (U2A1), 및 토큰 금액 정보(TA1)를 포함하고, 제1수취 정보(RI2a)는 송금인 정보, 수취인 정보, 및 토큰 금액 정보(TA2)를 포함한다. 실시 예들에 따라, 제1토큰 처리 전자 지갑(621)은 제1토큰 송금 정보(RI1)와 제1수취 정보(RI2a)를 제어 모듈 (625)로 전송할 수 있다.
제2토큰 송금 전자 지갑(323)은 도 2의 단계(S130-2) 또는 도 3의 단계 (130b)에서 생성된 제2토큰 송금 정보(RI2)를 중계 서버(620)의 제2토큰 처리 전자 지갑(623)으로 전송한다(S220). 또한, 제2토큰 송금 전자 지갑(323)은 제2사용자가 제1사용자로부터 받을 토큰 금액 정보(TA1, 이를 제3토큰 금액 정보 라고도 한다)를 포함하는 제2수취 정보(RI1a)를 제2토큰 처리 전자 지갑(623)으로 전송한다(S220a).
제2토큰 송금 정보(RI2)는 송금인 정보(U2A2 또는 PuK2), 수취인 정보 (U1A2), 및 토큰 금액 정보(TA2)를 포함하고, 제2수취 정보(RI1a)는 송금인 정보, 수취인 정보, 및 토큰 금액 정보(TA1)를 포함한다.
제1토큰 송금 정보(RI1)와 제2수취 정보(RI1a) 각각에 포함된 송금인 정보, 수취인 정보, 및 토큰 금액 정보는 서로 일치해야 하고, 제2토큰 송금 정보(RI2)와 제1수취 정보(RI2a) 각각에 포함된 송금인 정보, 수취인 정보, 및 토큰 금액 정보는 서로 일치해야 한다. 실시 예들에 따라, 제2토큰 처리 전자 지갑(623)은 제2토큰 송금 정보(RI2)와 제2수취 정보(RI1a)를 제어 모듈(625)로 전송할 수 있다.
제어 모듈(625)은 제1토큰 송금 정보(RI1), 제1수취 정보(RI2a), 제2토큰 송금 정보(RI2), 및 제2수취 정보(RI1a)가 모두 수신되었는지를 확인한다(S230).
예를 들면, 제1토큰 송금 정보(RI1)와 제2수취 정보(RI1a) 각각에 포함된 송금인 정보, 수취인 정보, 및 토큰 금액 정보가 서로 일치하고, 제2토큰 송금 정보 (RI2)와 제1수취 정보(RI2a) 각각에 포함된 송금인 정보, 수취인 정보, 및 토큰 금액 정보가 서로 일치할 때, 제어 모듈(625)은 제1토큰(TA1)과 제2토큰(TA2)의 교환 합의가 일치한다고 판단할 수 있다(S230).
실시 예에 따라 각 정보(RI1과 RI1a)에 포함된 토큰 금액이 동일하고 각 정보(RI2와 RI2a)에 포함된 토큰 금액이 동일할 때, 제어 모듈(625)은 제1토큰(TA1)과 제2토큰(TA2)의 교환 합의가 일치한다고 판단할 수 있다(S230).
예를 들면, 제어 모듈(625)은 제1토큰 송금 정보(RI1), 제1수취 정보(RI2a), 제2토큰 송금 정보(RI2), 및 제2수취 정보(RI1a)를 이용하여 제1사용자와 제2사용자가 주고받을 토큰 금액 정보(TA1 및/또는 TA2)가 일치하는지를 판단한다.
제1사용자가 제2사용자에게 보낼 토큰 금액 정보(TA1)와 상기 제1사용자가 상기 제2사용자로부터 받을 토큰 금액 정보(TA2)가 일치한다고 판단되면, 제어 모듈(625)은 전송 지시 신호를 생성하여 각 처리 전자 지갑(621과 623)으로 전송한다.
제1토큰 처리 전자 지갑(621)은 전송 지시 신호에 응답하여 제1토큰 송금 정보(RI1)를 제1토큰 수취 전자 지갑(321)로 전송한다(S240). 제1토큰 수취 전자 지갑(321)은 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 퍼블리시한다 (S260). 즉, 제1토큰의 수취인의 제1토큰 수취 전자 지갑(321)은 송금인로부터 받을 토큰(즉, 제1사용자가 송금한 제1토큰(TA1)) 또는 제1토큰 송금 정보(RI1)를 제1토큰 송금 전자 지갑(221)의 개인키로 전자서명하여 전자서명된 토큰(또는 전자서명된 제1토큰 송금 정보)을 제1블록체인 네트워크(400)에 퍼블리시한다(S260).
제1블록체인 네트워크(400)의 블록체인 노드(410)는 제1토큰 수취 전자 지갑 (321)으로부터 전송된 제1토큰 송금 정보(RI1)를 수신(또는 픽업)하고, 이미 존재하는 블록들(CB)의 다음 블록(이를 '새로운 블록'이라고도 함; NB)을 생성하고, 다음 블록(NB)에 제1토큰 송금 정보(RI1)를 저장한다.
예를 들면, 제1토큰 수취 전자 지갑(321) 또는 블록체인 노드(410)는 제1토큰 송금 정보(RI1, 또는 제1토큰 송금 정보(RI1)를 포함하는 트랜잭션)을 생성하여 블록체인 노드(410)의 다음 블록(NB)에 저장할 수 있다.
실시 예들에 따라, 제1토큰 송금 정보(RI1)가 블록체인 노드(410)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제1토큰 송금 정보(RI1)의 저장(또는 퍼블리시됨)을 모니터링하는 제1토큰 송금 전자 지갑(221)은 제1토큰(TA1)이 저장(또는 퍼블리시)된 후 제1사용자의 토큰 잔액를 업데이트할 수 있다.
제2토큰 처리 전자 지갑(623)은 전송 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2토큰 수취 전자 지갑(223)로 전송한다(S250). 제2토큰 수취 전자 지갑(223)은 제2토큰 송금 정보(RI2)를 제2블록체인 네트워크(500)에 퍼블리시한다 (S270). 즉, 제2토큰 수취 전자 지갑(223)은 송금인으로부터 받을 토큰(즉, 제2사용자가 송금한 제2토큰(TA2)) 또는 제2토큰 송금 정보(RI2)를 제2토큰 송금 전자 지갑(323)의 개인키로 전자서명하여 전자서명된 토큰(또는 전자서명된 제2토큰 송금 정보)을 제2블록체인 네트워크(500)에 퍼블리시한다(S270).
제2블록체인 네트워크(500)의 블록체인 노드(510)는 제2토큰 수취 전자 지갑 (223)으로부터 전송된 제2토큰 송금 정보(RI2)를 수신(또는 픽업)하고, 이미 존재하는 블록들(CB)의 다음 블록(이를 '새로운 블록'이라고도 함; NB)을 생성하고, 다음 블록(NB)에 제2토큰 송금 정보(RI2)를 저장한다.
예를 들면, 제2토큰 수취 전자 지갑(223) 또는 블록체인 노드(510)는 제2토큰 송금 정보(RI2, 또는 제2토큰 송금 정보(RI2)를 포함하는 트랜잭션)을 생성하여 제2블록체인 네트워크(500) 또는 블록체인 노드(510)의 다음 블록(NB)에 저장할 수 있다.
실시 예들에 따라, 제2토큰 송금 정보(RI2)가 블록체인 노드(510)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제2토큰 송금 정보(RI2)의 저장(또는 퍼블리시)을 모니터링하는 제2토큰 송금 전자 지갑(223)은 제2토큰(TA2)이 저장(또는 퍼블리시)된 후 제2사용자의 토큰 잔액를 업데이트할 수 있다.
도 6은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 다른 실시 예를 설명하기 위한 도면이다. 중계 서버(620)는 제2사용자에게 제1토큰(TA1)을 확인시키는 단계들(S211과 S213)과 제1사용자에게 제2토큰(TA2)을 확인시키는 단계들(S221과 S223)을 더 수행한다.
도 6, 도 8, 및 도 10에 도시된 바와 같이, 중계 서버(600)로부터 전자 지갑 (321 또는 223)으로 전송되는 정보(RI1-1, RI2-1, MSGa, 또는 MSGb)는 [송금인 정보, 수취인 정보, 및 송금 금액]을 포함하고, 중계 서버(600)는 자신의 키(예를 들면, 각 블록체인 네트워크(400과 500)에서 할당된 개인키로 정보(RI1-1, RI2-1, MSGa, 또는 MSGb)를 전자서명해서 전자서명된 정보를 전자 지갑(321 또는 223)으로 전송할 수 있다. 이때, 전자 지갑(321 또는 223)은 전자서명된 정보를 중계 서버 (600)의 공개키로 복호하여 정보(RI1-1, RI2-1, MSGa, 또는 MSGb)의 내용이 맞는지를 확인할 수 있다.
따라서, 도 6, 도 8, 및 도 10에 도시된 정보(RI1-1, RI2-1, MSGa, 또는 MSGb)는 전자서명되지 않은 정보와 전자서명된 정보를 총칭한다.
제1토큰 처리 전자 지갑(621)은 단계(S210)를 통해 수신된 제1토큰 송금 정보(RI1)에 기초하여 제1토큰 확인 정보(RI1-1)를 생성하고, 제1토큰 확인 정보 (RI1-1)를 제1토큰 수취 전자 지갑(321)로 전송한다(S211). 제1토큰 확인 정보 (RI1-1)는 제1토큰 송금 정보(RI1)로부터 추출된 제1토큰 송금인 정보(U1A1 또는 PuK1), 제1토큰 수취인 정보(U2A1), 및 제1토큰(TA1)을 포함한다.
제2사용자(U2A1에 대응됨)는 제1사용자(U1A1에 대응됨)와 협의한 제1토큰 (TA1)을 이미 알고 있으므로 상기 제2사용자가 제1토큰 수취 전자 지갑(321)을 통해 제1토큰 확인 정보 (RI1-1)를 확인하면, 제1토큰 수취 전자 지갑(321)은 상기 제2사용자에 의해 입력(또는 처리)된 확인(또는 확인 신호)에 기초하여 제1확인 신호(ACK1)를 생성하여 제1토큰 처리 전자 지갑(621)으로 전송한다(S213). 제1토큰 처리 전자 지갑(621)은 제1확인 신호(ACK1)를 제어 모듈(625)로 전송한다.
제2토큰 처리 전자 지갑(623)은 단계(S220)를 통해 수신된 제2토큰 송금 정보(RI2)에 기초하여 제2토큰 확인 정보(RI2-1)를 생성하고, 제2토큰 확인 정보 (RI2-1)를 제2토큰 수취 전자 지갑(223)로 전송한다(S221). 제2토큰 확인 정보 (RI2-1)는 제2토큰 송금 정보(RI2)로부터 추출된 제2토큰 송금인 정보(U2A2 또는 PuK2), 제2토큰 수취인 정보(U1A2), 및 제2토큰(TA2)를 포함한다.
제1사용자(U1A2에 대응됨)는 제2사용자(U2A2에 대응됨)와 협의한 제2토큰 (TA2)을 이미 알고 있으므로 상기 제1사용자가 제2토큰 수취 전자 지갑(223)을 통해 제2토큰 확인 정보(RI2-1)를 확인하면, 제2토큰 수취 전자 지갑(223)은 상기 제1사용자에 의해 입력(또는 처리)된 확인(또는 확인 신호)에 기초하여 제2확인 신호 (ACK2)를 생성하여 제2토큰 처리 전자 지갑(623)으로 전송한다(S223). 제2토큰 처리 전자 지갑(623)은 제2확인 신호(ACK2)를 제어 모듈(625)로 전송한다.
제어 모듈(625)은 제1확인 신호(ACK1)와 제2확인 신호(ACK2)가 모두 수신되었는지를 확인한다(S231). 예를 들면, 제어 모듈(625)은 확인 신호들(ACK1과 ACK2) 모두의 수신(또는 수신되었다는 사실에 기초하여)을 교환 합의의 일치로 판단한다.
제1확인 신호(ACK1)와 제2확인 신호(ACK2)가 모두 수신된 후(즉, 토큰들(TA1과 TA2)의 교환에 문제가 없을 때), 제어 모듈(625)은 전송 지시 신호를 생성하여 각 처리 전자 지갑(621과 623)으로 전송한다.
제1토큰 처리 전자 지갑(621)은 전송 지시 신호에 응답하여 제1토큰 송금 정보(RI1)를 제1토큰 수취 전자 지갑(321)로 전송하고(S240), 제2토큰 처리 전자 지갑(623)은 상기 전송 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2토큰 수취 전자 지갑(223)로 전송한다(S250).
도 7은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다. 중계 서버 (600)를 이용하여 토큰들(TA1과 TA2)을 교환하는 방법은 도 1, 도 2, 도 3, 및 도 7을 참조하여 설명된다.
각 전자 지갑(220과 320)은 토큰의 지급 보증을 위해 각 사용자의 설정에 의한 잠금(lock) 기능을 수행할 수 있다. 잠금 기능은 상대방에 대한 송금에 사용되는 각 토큰(TA1과 TA2)의 교환을 안전하게 보장하는 기능이다.
예를 들면, 제1사용자의 토큰 잔고가 100이고 제1토큰(TA1)이 50일 때, 상기 제1사용자에 대해 잠금 기능이 수행되면 상기 제1사용자의 제1토큰(TA1)과 제2사용자의 제2토큰(TA2)의 교환(또는 원자성 교환)이 수행되는 도중에, 상기 제1사용자는 상기 토큰 잔고에서 50이상을 사용할 수 없다.
따라서, 각 송금인 자신에 의해 잠금 기능이 설정되면, 각 수취인은 잠금 기능이 해제될 때까지 잠긴 토큰을 안전하게 수취할 수 있는 효과가 있다. 예를 들면, 잠금 기능은 토큰의 송금인과 수취인 중에서 어느 일방에 의해 해제될 수 없고 쌍방의 합의에 의해 해제될 수 있다. 예를 들면, 제1토큰(TA1)이 50일 때, 상기 50에는 토큰 거래(또는 교환) 수수료가 포함된다.
제1토큰 송금 전자 지갑(221)은 제1토큰(TA1)에 대한 잠금 기능을 수행하고 (S301), 제2토큰 송금 전자 지갑(323)은 제2토큰(TA2)에 대한 잠금 기능을 수행한다(S303). 도 4 내지 도 10 각각에 도시된 제1토큰 송금 전자 지갑(221)은 제1토큰 (TA1)에 대한 잠금 기능을 수행할 수 있고, 제2토큰 송금 전자 지갑(323)은 제2토큰(TA2)에 대한 잠금 기능을 수행할 수 있다.
제1토큰 송금 전자 지갑(221)은 도 2의 단계(S130-1) 또는 도 3의 단계 (130a)에서 생성된 제1토큰 송금 정보(RI1)를 중계 서버(620)의 제1토큰 처리 전자 지갑(621)으로 전송한다(S310). 실시 예들에 따라, 제1토큰 처리 전자 지갑(621)은 제1토큰 송금 정보(RI1)를 제어 모듈(625)로 전송할 수 있고, 제1토큰 송금 정보 (RI1)가 수신되었음을 나타내는 제1신호를 제어 모듈(625)로 전송할 수 있다.
제2토큰 송금 전자 지갑(323)은 도 2의 단계(S130-2) 또는 도 3의 단계 (130b)에서 생성된 제2토큰 송금 정보(RI2)를 중계 서버(620)의 제2토큰 처리 전자 지갑(623)으로 전송한다(S320). 실시 예들에 따라, 제2토큰 처리 전자 지갑(623)은 제2토큰 송금 정보(RI2)를 제어 모듈(625)로 전송할 수 있고, 제2토큰 송금 정보 (RI2)가 수신되었음을 나타내는 제2신호를 제어 모듈(625)로 전송할 수 있다.
제어 모듈(625)은 제1토큰 송금 정보(RI1)와 제2토큰 송금 정보(RI2)가 모두 수신되었는지(또는 제1신호와 제2신호가 모두 수신되었는지)를 확인한다(S330).
제1토큰 송금 정보(RI1)와 제2토큰 송금 정보(RI2)가 모두 수신된 후(또는 제1신호와 제2신호가 모두 수신된 후), 제어 모듈(625)은 퍼블리시 지시 신호를 생성하여 각 처리 전자 지갑(621과 623)으로 전송한다.
제1토큰 처리 전자 지갑(621)은 제어 모듈(625)로부터 전송된 퍼블리시 지시 신호에 응답하여 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 퍼블리시한다(S340). 제1토큰 송금 정보(RI1)는 제1토큰 송금 전자 지갑(221)에 의해 전자서명된 정보이고 중계 서버(620 또는 621)는 전자서명된 정보(RI1)를 전자 지갑(221 또는 321) 대신에 퍼블리시하는 것이므로, 전자 지갑(221, 321, 및/또는 621)은 전자서명된 정보(RI1)를 퍼블리시할 수 있다.
제1토큰 처리 전자 지갑(621)은 자신이 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 퍼블리시한 경우 제1토큰 송금 정보(RI1)가 퍼블리시되었음을 나타내는 제1퍼블리시 통지 신호(NT1)를 생성한다. 제1퍼블리시 통지 신호(NT1)는 제어 모듈(625)을 통해 제2토큰 처리 전자 지갑(623)으로 전송되고, 제2토큰 처리 전자 지갑(623)은 제1퍼블리시 통지 신호(NT1)를 제2토큰 송금 전자 지갑(323)으로 전송한다(S360). 제1토큰 수취 전자 지갑(321)이 제1블록체인 네트워크(400)에 퍼블리시된 제1토큰 송금 정보(RI1)를 모니터링할 수 있는 경우 제1퍼블리시 통지 신호(NT1)의 생성과 전송은 생략된다.
제1블록체인 네트워크(400)의 블록체인 노드(410)는 제1토큰 처리 전자 지갑 (621)에 의해 퍼블리시된 제1토큰 송금 정보(RI1)를 수신(또는 픽업)하고, 이미 존재하는 블록들(CB)의 다음 블록(NB)을 생성하고, 다음 블록(NB)에 제1토큰 송금 정보(RI1)를 저장한다.
실시 예들에 따라, 제1토큰 송금 정보(RI1)가 블록체인 노드(410)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제1토큰 송금 정보(RI1)가 제1블록체인 네트워크(400)에 저장(또는 퍼블리시됨)을 모니터링하는 제1토큰 송금 전자 지갑(221)은 제1토큰(TA1)이 저장(또는 퍼블리시)된 후 제1사용자의 토큰 잔액를 업데이트할 수 있다.
실시 예들에 따라, 제1토큰 송금 정보(RI1)가 블록체인 노드(410)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제1토큰 송금 정보(RI1)의 저장(또는 퍼블리시됨)을 모니터링하는 제1토큰 수취 전자 지갑(321)은 블록체인 노드(410)의 다음 블록(NB)에 저장된 제1토큰 송금 정보(RI1)를 읽어올 수 있다.
제2토큰 처리 전자 지갑(623)은 제어 모듈(625)로부터 전송된 퍼블리시 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2블록체인 네트워크(500)에 퍼블리시한다(S350). 제2토큰 송금 정보(RI2)는 제2토큰 송금 전자 지갑(323)에 의해 전자서명된 정보이고 중계 서버(620 또는 621)는 전자서명된 정보(RI2)를 전자 지갑 (223 또는 323) 대신에 퍼블리시하는 것이므로, 전자 지갑(223, 323, 및/또는 623)은 전자서명된 정보(RI2)를 퍼블리시할 수 있다.
제2토큰 처리 전자 지갑(623)은 자신이 제2토큰 송금 정보(RI2)를 제2블록체인 네트워크(500)에 퍼블리시한 경우 제2토큰 송금 정보(RI2)가 퍼블리시되었음을 지시하는 제2퍼블리시 통지 신호(NT2)를 생성한다. 제2퍼블리시 통지 신호(NT2)는 제어 모듈(625)을 통해 제1토큰 처리 전자 지갑(621)으로 전송되고, 제1토큰 처리 전자 지갑(621)은 제2퍼블리시 통지 신호(NT2)를 제1토큰 송금 전자 지갑(221)으로 전송한다(S370). 제2토큰 수취 전자 지갑(223)이 제2블록체인 네트워크(500)에 퍼블리시된 제2토큰 송금 정보(RI2)를 모니터링할 수 있는 경우 제2퍼블리시 통지 신호(NT2)의 생성과 전송은 생략된다.
제2블록체인 네트워크(500)의 블록체인 노드(510)는 제2토큰 처리 전자 지갑 (623)에 의해 저장(또는 퍼블리시)된 제2토큰 송금 정보(RI2)를 수신(또는 픽업)하고, 이미 존재하는 블록들(CB)의 다음 블록(NB)을 생성하고, 다음 블록(NB)에 제2토큰 송금 정보(RI2)를 저장한다.
실시 예들에 따라, 제2토큰 송금 정보(RI2)가 블록체인 노드(510)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제2토큰 송금 정보(RI2)가 제2블록체인 네트워크(500)에 저장(또는 퍼블리시됨)을 모니터링하는 제2토큰 송금 전자 지갑(323)은 제2토큰(TA2)이 저장(또는 퍼블리시)된 후 제2사용자의 토큰 잔액를 업데이트할 수 있다.
실시 예들에 따라, 제2토큰 송금 정보(RI2)가 블록체인 노드(510)의 다음 블록(NB)에 저장(또는 퍼블리시)되면, 제2토큰 송금 정보(RI2)의 저장(또는 퍼블리시됨)을 모니터링하는 제2토큰 수취 전자 지갑(223)은 블록체인 노드(510)의 다음 블록(NB)에 저장된 제2토큰 송금 정보(RI2)를 읽어올 수 있다.
도 8은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다. 도 7과 도 8을 참조하면, 중계 서버(620)는 제2사용자에게 제1토큰(TA1)을 미리 확인시키는 단계들(S311과 S313)과 제1사용자에게 제2토큰(TA2)을 미리 확인시키는 단계들(S321과 S323)을 더 수행한다.
제1토큰 처리 전자 지갑(621)은 단계(S310)를 통해 수신된 제1토큰 송금 정보(RI1)에 기초하여 제1토큰 확인 정보(RI1-1)를 생성하고, 제1토큰 확인 정보 (RI1-1)를 제1토큰 수취 전자 지갑(321)로 전송한다(S311). 제1토큰 확인 정보 (RI1-1)는 제1토큰 송금 정보(RI1)로부터 추출된 제1토큰 송금인 정보(U1A1), 제1토큰 수취인 정보(U2A1), 및 제1토큰(TA1)를 포함한다.
제2사용자는 제1사용자와 협의한 제1토큰(TA1)을 이미 알고 있으므로 상기 제2사용자가 제1토큰 수취 전자 지갑(321)을 통해 제1토큰 확인 정보(RI1-1)를 확인하면, 제1토큰 수취 전자 지갑(321)은 상기 제2사용자에 의해 입력(또는 처리)된 확인(또는 확인 신호)에 기초하여 제1확인 신호(ACK1)를 생성하여 제1토큰 처리 전자 지갑(621)으로 전송한다(S313). 제1토큰 처리 전자 지갑(621)은 제1확인 신호(ACK1)를 제어 모듈(625)로 전송한다.
제2토큰 처리 전자 지갑(623)은 단계(S320)를 통해 수신된 제2토큰 송금 정보(RI2)에 기초하여 제2토큰 확인 정보(RI2-1)를 생성하고, 제2토큰 확인 정보 (RI2-1)를 제2토큰 수취 전자 지갑(223)로 전송한다(S321). 제2토큰 확인 정보 (RI2-1)는 제2토큰 송금 정보(RI2)로부터 추출된 제2토큰 송금인 정보(U2A2), 제2토큰 수취인 정보(U1A2), 및 제2토큰(TA2)를 포함한다.
제1사용자는 제2사용자와 협의한 제2토큰(TA2)을 이미 알고 있으므로 상기 제1사용자가 제2토큰 수취 전자 지갑(223)을 통해 제2토큰 확인 정보(RI2-1)를 확인하면, 제2토큰 수취 전자 지갑(223)은 상기 제1사용자에 의해 입력(또는 처리)된 확인(또는 확인 신호)에 기초하여 제2확인 신호(ACK2)를 생성하여 제2토큰 처리 전자 지갑(623)으로 전송한다(S323). 제2토큰 처리 전자 지갑(623)은 제2확인 신호 (ACK2)를 제어 모듈(625)로 전송한다.
제1사용자와 제2사용자 사이의 교환 합의를 확인하는 제어 모듈(625)은 제1확인 신호(ACK1)와 제2확인 신호(ACK2)가 모두 수신되었는지를 확인한다(S331).
제1확인 신호(ACK1)와 제2확인 신호(ACK2)가 모두 수신된 후(즉, 토큰들(TA1과 TA2)의 교환에 문제가 없을 때), 제어 모듈(625)은 퍼블리시 지시 신호를 생성하여 각 처리 전자 지갑(621과 623)으로 전송한다.
제1토큰 처리 전자 지갑(621)은 제어 모듈(625)로부터 전송된 퍼블리시 지시 신호에 응답하여 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 퍼블리시한다(S340).
제2토큰 처리 전자 지갑(623)은 제어 모듈(625)로부터 전송된 퍼블리시 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2블록체인 네트워크(500)에 퍼블리시한다(S350). 앞에서 설명한 바와 같이, 제1퍼블리시 통지 신호(NT1)의 생성과 전송, 및 제2퍼블리시 통지 신호(NT2)의 생성과 전송은 생략될 수 있다.
도 9는 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다. 중계 서버 (600)를 이용하여 토큰들(TA1과 TA2)을 교환하는 방법은 도 1, 도 2, 도 3, 및 도 9를 참조하여 설명된다.
제1토큰 송금 전자 지갑(221)은 도 2의 단계(S130-1) 또는 도 3의 단계 (130a)에서 생성된 제1토큰 송금 정보(RI1)를 중계 서버(620)의 제1토큰 처리 전자 지갑(621)으로 전송하고(S410), 제2토큰 송금 전자 지갑(323)은 도 2의 단계(S130-2) 또는 도 3의 단계(130b)에서 생성된 제2토큰 송금 정보(RI2)를 중계 서버(620)의 제2토큰 처리 전자 지갑(623)으로 전송한다(S420).
제2사용자는 제1사용자와 협의한 제1토큰(TA1)을 이미 알고 있으므로 상기 제2사용자가 제1토큰(TA1)을 제1토큰 수취 전자 지갑(321)으로 입력하면, 제1토큰 수취 전자 지갑(321)은 제1토큰(TA1)에 대한 정보를 포함하는 제1메시지(MSG1)를 생성하여 제1토큰 처리 전자 지갑(621)으로 전송하고(S412), 제1토큰 처리 전자 지갑(621)은 제1메시지(MSG1)를 제어 모듈(625)로 전송한다.
제1사용자는 제2사용자와 협의한 제2토큰(TA2)을 이미 알고 있으므로 상기 제1사용자가 제2토큰(TA2)을 제2토큰 수취 전자 지갑(223)으로 입력하면, 제2토큰 수취 전자 지갑(223)은 제2토큰(TA2)에 대한 정보를 포함하는 제2메시지(MSG2)를 생성하여 제1토큰 처리 전자 지갑(623)으로 전송하고(S422), 제2토큰 처리 전자 지갑(623)은 제2메시지(MSG2)를 제어 모듈(625)로 전송한다.
제어 모듈(625)은 제1메시지(MSG1)와 제2메시지(MSG2)가 모두 수신되었는지를 확인한다(S430).
제1메시지(MSG1)와 제2메시지(MSG2)가 모두 수신되었을 때(즉, 토큰들(TA1과 TA2)의 교환에 문제가 없을 때), 제어 모듈(625)은 전송 지시 신호를 생성하여 각 처리 전자 지갑(621과 623)으로 전송한다.
실시 예들에 따라, 제1토큰 처리 전자 지갑(621)은 제1토큰 송금 전자 지갑 (221)으로부터 제1토큰 송금 정보(RI1)를 수신하고(S410), 제1토큰 수취 전자 지갑 (321)으로부터 제1토큰(TA1)에 대한 제1정보(MSG1)를 수신하고(S412), 제1토큰 송금 정보(RI1)에 포함된 제1토큰(TA1)과 제1정보(MSG1)에 포함된 제1토큰(TA1)의 일치 여부를 판단하고, 일치를 나타내는 제1신호를 제어 모듈(625)로 전송하고, 전송 지시 신호에 응답하여 제1토큰 송금 정보(RI1)를 제1토큰 수취 전자 지갑(321)으로 전송한다(S440).
제2토큰 처리 전자 지갑(623)은 제2토큰 송금 전자 지갑(323)으로부터 제2토큰 송금 정보(RI2)를 수신하고(S420), 제2토큰 수취 전자 지갑(223)으로부터 제2토큰(TA2)에 대한 제2정보(MSG2)를 수신하고(S422), 제2토큰 송금 정보(RI2)에 포함된 제2토큰(TA2)과 제2정보(MSG2)에 포함된 제2토큰(TA2)의 일치 여부를 판단하고, 일치를 나타내는 제2신호를 제어 모듈(625)로 전송하고, 상기 전송 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2토큰 수취 전자 지갑(223)으로 전송한다(S450).
이때 제어 모듈(625)은 제1토큰 처리 전자 지갑(621)로부터 전송된 제1신호와 제2토큰 처리 전자 지갑(623)으로부터 전송된 제2신호에 응답하여 각 단계(S440과 S450)을 위한 전송 지시 신호를 생성하여 각 토큰 처리 전자 지갑(621과 623)으로 전송한다.
실시 예들에 따라, 제1토큰 처리 전자 지갑(621)은 제1토큰 송금 정보(RI1)를 수신하여 제어 모듈(625)로 전송하고, 제1토큰(TA1)에 대한 제1정보(MSG1)를 수신하여 제어 모듈(625)로 전송하고, 전송 지시 신호에 응답하여 제1토큰 송금 정보 (RI1)를 제1토큰 수취 전자 지갑(321)으로 전송한다.
제2토큰 처리 전자 지갑(623)은 제2토큰 송금 정보(RI2)를 수신하여 제어 모듈(625)로 전송하고, 제2토큰(TA2)에 대한 제2정보(MSG2)를 수신하여 제어 모듈 (625)로 전송하고, 상기 전송 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2토큰 수취 전자 지갑(223)으로 전송한다.
이때, 제어 모듈(625)은 제1토큰 송금 정보(RI1)에 포함된 제1토큰(TA1)이 제1정보(MSG1)에 포함된 제1토큰(TA1)과 일치하고 제2토큰 송금 정보(RI2)에 포함된 제2토큰(TA2)이 제2정보(MSG2)에 포함된 제2토큰(TA2)과 일치하는지를 확인하고, 이들이 일치할 때 각 단계(S440과 S450)을 위한 전송 지시 신호를 생성하여 각 토큰 처리 전자 지갑(621과 623)으로 전송한다.
제1토큰 처리 전자 지갑(621)은 전송 지시 신호에 응답하여 제1토큰 송금 정보(RI1)를 제1토큰 수취 전자 지갑(321)으로 전송하고(S440), 제1토큰 수취 전자 지갑(321)은 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 퍼블리시한다 (S460).
제2토큰 처리 전자 지갑(623)은 전송 지시 신호에 응답하여 제2토큰 송금 정보(RI2)를 제2토큰 수취 전자 지갑(223)으로 전송하고(S450), 제2토큰 수취 전자 지갑(223)은 제2토큰 송금 정보(RI2)를 제2블록체인 네트워크(500)에 퍼블리시한다(S470).
실시 예들에 따라, 제1토큰 처리 전자 지갑(621)은 수신된 제1토큰 송금 정보(RI1)를 제1토큰 수취 전자 지갑(321)으로 전송할 수도 있고(S440), 수신된 제1토큰 송금 정보(RI1)를 제1블록체인 네트워크(400)에 자신이 직접 퍼블리시할 수도 있다. 또한, 제2토큰 처리 전자 지갑(623)은 수신된 제2토큰 송금 정보(RI2)를 제2토큰 수취 전자 지갑(223)으로 전송할 수도 있고(S450), 수신된 제2토큰 송금 정보 (RI2)를 제2블록체인 네트워크(500)에 자신이 직접 퍼블리시할 수 있다.
도 10은 도 1에 도시된 블록 체인 시스템을 이용하여 서로 다른 블록체인 토큰들을 교환하는 방법의 또 다른 실시 예를 설명하기 위한 도면이다. 제1사용자와 제2사용자에 의해 이미 합의된 제1토큰(TA1)과 제2토큰(TA2)을 중계 서버(600)를 이용하여 교환하는 방법은 도 1과 도 10을 참조하여 설명된다.
제1사용자가 제1토큰 송금인 정보(U1A1), 제1토큰 수취인 정보(U2A1), 및 제1토큰(TA1)을 제1토큰 송금 전자 지갑(221)으로 입력하면, 제1토큰 송금 전자 지갑 (221)은 자신이 미리 알고 있는 중계 서버(600)의 제1식별정보(SAD1)를 포함하는 제1송금 정보(RI3)를 생성하고, 제1송금 정보(RI3)를 제1토큰 송금 전자 지갑(221)의 개인키로 전자서명하여 전자서명된 제1송금 정보를 제1블록체인 네트워크(400)에 퍼블리시하고(S510), 제1메시지(MSGa)를 생성하여 제1토큰 처리 전자 지갑(621)로 전송한다(S512).
제1송금 정보(RI3)는 제1토큰 송금인 정보(U1A1), 중계 서버(600)의 제1식별정보(SAD1), 및 제1토큰(TA1)을 포함하고, 제1메시지(MSGa)는 제1토큰 송금인 정보 (U1A1), 제1토큰 수취인 정보(U2A1), 및 제1토큰(TA1)을 포함한다. 예를 들면, 제1식별정보(SAD1)는 제1블록체인 네트워크(400)에서 중계 서버(600)를 식별할 수 있는 유니크한 정보이다.
실시 예들에 따라, 제1토큰 송금 전자 지갑(221)은 제1토큰 송금인 정보 (U1A1), 중계 서버(600)의 제1식별정보(SAD1), 및 제1토큰(TA1)을 포함하는 제1트랜잭션(TSa)을 생성하고, 제1개인키(PrK1)로 제1트랜잭션(TSa)에 전자서명하여 전자서명된 제1트랜잭션(STSa)을 생성하고, 제1토큰 송금인 정보(U1A1), 중계 서버 (600)의 제1식별정보(SAD1), 제1토큰(TA1), 전자서명된 제1트랜잭션(STSa), 및 제1공개키(PuK1)를 포함하는 제1송금 정보(RI3)를 생성할 수 있다. 즉, 제1토큰 송금 전자 지갑(221)은 중계 서버(620)를 수취인으로 하여 송금 과정을 진행한다.
제1사용자가 중계 서버(600)를 위해 퍼블리시할 때 중계 서버(600)는 수취인이 되고, 중계 서버(600)가 제2사용자를 위해 퍼블리시할 때 중계 서버(600)는 송금인이 된다.
실시 예들에 따라, 제1송금 정보(RI3)를 생성하기 위한 정보와 제1메시지 (MSGa)를 생성하기 위한 정보는 따로따로 입력될 수도 있다.
제2사용자가 제2토큰 송금인 정보(U2A2), 제2토큰 수취인 정보(U1A2), 및 제2토큰(TA2)을 제2토큰 송금 전자 지갑(323)으로 입력하면, 제2토큰 송금 전자 지갑 (323)은 자신이 미리 알고 있는 중계 서버(600)의 제2식별정보(SAD2)를 포함하는 제2송금 정보(RI4)를 생성하고, 제2송금 정보(RI4)를 제2토큰 송금 전자 지갑(323)의 개인키로 전자서명하여 전자서명된 제2송금 정보를 제2블록체인 네트워크(500)에 퍼블리시하고(S520), 제2메시지(MSGb)를 생성하여 제2토큰 처리 전자 지갑(623)로 전송한다(S522).
제2송금 정보(RI4)는 제2토큰 송금인 정보(U2A2), 중계 서버(600)의 제2식별정보(SAD2), 및 제2토큰(TA2)을 포함하고, 제2메시지(MSGb)는 제2토큰 송금인 정보 (U2A2), 제2토큰 수취인 정보(U1A2), 및 제2토큰(TA2)을 포함한다. 예를 들면, 제2식별정보(SAD2)는 제2블록체인 네트워크(500)에서 중계 서버(600)를 식별할 수 있는 유니크한 정보이다.
실시 예들에 따라, 제2토큰 송금 전자 지갑(323)은 제2토큰 송금인 정보 (U2A2), 중계 서버(600)의 제2식별정보(SAD2), 및 제2토큰(TA2)을 포함하는 제2트랜잭션(TSb)을 생성하고, 제2개인키(PrK2)로 제2트랜잭션(TSb)에 전자서명하여 전자서명된 제2트랜잭션(STSb)을 생성하고, 제2토큰 송금인 정보(U2A2), 중계 서버 (600)의 제2식별정보(SAD2), 제2토큰(TA2), 전자서명된 제2트랜잭션(STSb), 및 제2공개키(PuK2)를 포함하는 제2송금 정보(RI4)를 생성할 수 있다. 즉, 제2토큰 송금 전자 지갑(323)은 중계 서버(620)를 수취인으로 하여 송금 과정을 진행한다.
실시 예들에 따라, 제2송금 정보(RI4)를 생성하기 위한 정보와 제2메시지 (MSGb)를 생성하기 위한 정보는 따로따로 입력될 수도 있다.
블록체인 노드(410)는 제1토큰 송금 전자 지갑(221)에 의해 퍼블리시된 토큰 송금 정보(RI3)를 수신(또는 픽업)하고, 이미 존재하는 블록들(CB)의 다음 블록 (NB)을 생성하고, 다음 블록(NB)에 제1송금 정보(RI3)를 저장한다.
블록체인 노드(510)는 제2토큰 송금 전자 지갑(323)에 의해 퍼블리시된 제2 송금 정보(RI4)를 수신(또는 픽업)하고, 이미 존재하는 블록들(CB)의 다음 블록 (NB)을 생성하고, 다음 블록(NB)에 제2송금 정보(RI4)를 저장한다.
제1토큰 처리 전자 지갑(621)은 제1블록체인 네트워크(400)에 제1송금 정보 (RI3)가 퍼블리시되는지의 여부를 모니터링하고(S530), 제1송금 정보(RI3)가 퍼블리시된 경우 제1토큰 처리 전자 지갑(621)은 제1송금 정보(RI3)를 읽어오고, 제1메시지(MSGa)에 포함된 제1토큰 수취인 정보(U2A1)에 해당하는 제1토큰 수취 전자 지갑(321)로 제1메시지(MSGa)를 전송한다(S532).
제2사용자는 제1사용자와 협의한 제1토큰(TA1)을 이미 알고 있으므로 상기 제2사용자가 제1토큰 수취 전자 지갑(321)을 통해 제1메시지(MSGa)를 확인하면, 제1토큰 수취 전자 지갑(321)은 상기 제2사용자에 의해 입력(또는 처리)된 확인에 기초하여 제1확인 신호(ACK1)를 생성하여 제1토큰 처리 전자 지갑(621)으로 전송한다 (S534). 제1토큰 처리 전자 지갑(621)은 제1확인 신호(ACK1)를 제어 모듈(625)로 전송한다.
도 10에 도시된 단계들(S532와 S534) 대신에 도 9에 도시된 단계(S412)가 도 10의 실시 예에 적용될 수 있고, 도 10에 도시된 단계들(S542와 S544) 대신에 도 9에 도시된 단계(S422)가 도 10의 실시 예에 적용될 수 있다. 이 경우, 제1토큰 처리 전자 지갑(621)은 제1토큰(TA1)에 대한 정보를 수신한 후 단계(S560)를 수행할 수 있고, 제2토큰 처리 전자 지갑(623)은 제2토큰(TA2)에 대한 정보를 수신한 후 단계(S570)를 수행할 수 있다.
제2토큰 처리 전자 지갑(623)은 제2블록체인 네트워크(500)에 제2송금 정보 (RI4)가 퍼블리시되는지의 여부를 모니터링하고(S540), 제2송금 정보(RI4)가 퍼블리시된 경우 제2토큰 처리 전자 지갑(623)은 제2송금 정보(RI4)를 읽어오고, 제2메시지(MSGb)에 포함된 제2토큰 수취인 정보(U1A2)에 해당하는 제2토큰 수취 전자 지갑(223)로 제2메시지(MSGb)를 전송한다(S542).
제1사용자는 제2사용자와 협의한 제2토큰(TA2)을 이미 알고 있으므로 상기 제1사용자가 제2토큰 수취 전자 지갑(223)을 통해 제2메시지(MSGb)를 확인하면, 제2토큰 수취 전자 지갑(223)은 상기 제1사용자에 의해 입력(또는 처리)된 확인에 기초하여 제2확인 신호(ACK2)를 생성하여 제2토큰 처리 전자 지갑(623)으로 전송한다(S544). 제2토큰 처리 전자 지갑(623)은 제2확인 신호(ACK2)를 제어 모듈(625)로 전송한다.
교환 합의가 일치하는지를 확인하는 제어 모듈(625)은 제1확인 신호(ACK1)와 제2확인 신호(ACK2)가 모두 수신되었는지를 확인한다(S550).
제1확인 신호(ACK1)와 제2확인 신호(ACK2)가 모두 수신된 후(즉, 토큰들(TA1과 TA2)의 교환에 문제가 없을 때), 제어 모듈(625)은 퍼블리시 지시 신호를 생성하여 각 처리 전자 지갑(621과 623)으로 전송한다.
제1토큰 처리 전자 지갑(621)은 퍼블리시 지시 신호에 응답하여 제3송금 정보(RI5)를 생성하여 제2사용자를 위해 제1블록체인 네트워크(400)에 퍼블리시한다 (S560). 즉, 제1토큰 처리 전자 지갑(621)은 제3송금 정보(RI5)를 제1토큰 처리 전자 지갑(621)의 개인키로 전자서명한 후 전자서명된 제3송금 정보를 제1블록체인 네트워크(400)에 퍼블리시한다(S560). 제3송금 정보(RI5)는 중계 서버(600)의 제1식별정보(SAD1), 제1토큰 수취인 정보(U2A1), 및 제1토큰(TA1)을 포함한다.
제1토큰 수취 전자 지갑(321)은 제3송금 정보(RI5)가 제1블록체인 네트워크 (400)에 퍼블리시되는지의 여부를 모니터링하고(S580), 제3송금 정보(RI5)가 제1블록체인 네트워크(400)에 퍼블리시되었을 때 블록체인 노드(410)로부터 제3송금 정보(RI5)를 읽어온다.
제2토큰 처리 전자 지갑(623)은 퍼블리시 지시 신호에 응답하여 제4송금 정보(RI6)를 생성하여 제1사용자를 위해 제2블록체인 네트워크(500)에 퍼블리시한다 (S570). 즉, 제2토큰 처리 전자 지갑(623)은 제4송금 정보(RI6)를 제2토큰 처리 전자 지갑(623)의 개인키로 전자서명한 후 전자서명된 제4송금 정보를 제2블록체인 네트워크(500)에 퍼블리시한다(S570). 제4송금 정보(RI6)는 중계 서버(600)의 제2식별정보(SAD2), 제2토큰 수취인 정보(U1A2), 및 제2토큰 정보(TA2)를 포함한다.
제2토큰 수취 전자 지갑(223)은 제4송금 정보(RI6)가 제2블록체인 네트워크 (500)에 퍼블리시되는지의 여부를 모니터링하고(S590), 제4송금 정보(RI6)가 제2블록체인 네트워크(500)에 퍼블리시되었을 때 블록체인 노드(510)로부터 제4송금 정보(RI6)를 읽어온다.
각 정보(RI3, RI4, MSGa, MSGb, RI5, 및 RI6)는 송금인 정보, 수취인 정보, 및 토큰 금액을 포함한다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 블록체인 시스템 또는 블록체인 송금 시스템
200: 제1사용자 컴퓨팅 장치
220: 제1전자 지갑
221: 제1전자 지갑_A
223: 제2전자 지갑_B
225: 제1제어 모듈
227: 제1통신 모듈
230: 제1송수신기
300: 제2사용자 컴퓨팅 장치
320: 제2전자 지갑
321: 제1전자 지갑_B
323: 제2전자 지갑_B
325: 제2제어 모듈
327: 제2통신 모듈
330: 제2송수신기
400: 제1블록체인 네트워크
500: 제2블록체인 네트워크
600: 중계 서버
620: 전자 지갑
621: 제1토큰 처리 전자 지갑
623: 제2토큰 처리 전자 지갑

Claims (17)

  1. 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하는 단계;
    제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하는 단계;
    상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하는 단계; 및
    상기 교환 합의가 일치한다고 판단되면, 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하고 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 단계를 포함하는 토큰 교환을 중계하는 서버의 동작 방법.
  2. 제1항에 있어서,
    상기 제1토큰 송금 정보의 수신과 상기 제2토큰 송금 정보의 수신이 모두 확인되면 상기 교환 합의가 일치한다고 판단되는 토큰 교환을 중계하는 서버의 동작 방법.
  3. 제1항에 있어서,
    상기 제1컴퓨팅 장치로부터 제4토큰을 포함하는 제1수취 정보를 수신하는 단계;
    상기 제2컴퓨팅 장치로부터 제3토큰을 포함하는 제2수취 정보를 수신하는 단계를 더 포함하고,
    상기 교환 합의가 일치하는지를 판단하는 단계는,
    상기 제1토큰과 상기 제3토큰이 일치하고, 상기 제2토큰과 상기 제4토큰이 일치할 때, 상기 교환 합의가 일치한다고 판단하는 토큰 교환을 중계하는 서버의 동작 방법.
  4. 제1항에 있어서, 상기 교환 합의가 일치하는지를 판단하는 단계는,
    상기 제1토큰을 포함하는 제1토큰 확인 정보를 생성하여 상기 제2컴퓨팅 장치로 전송하는 단계;
    상기 제2토큰을 포함하는 제2토큰 확인 정보를 생성하여 상기 제1컴퓨팅 장치로 전송하는 단계;
    상기 제1토큰 확인 정보를 확인한 제2사용자의 입력에 기초하여 상기 제2컴퓨팅 장치에 의해 생성된 제1확인 신호를 수신하는 단계;
    상기 제2토큰 확인 정보를 확인한 제1사용자의 입력에 기초하여 상기 제1컴퓨팅 장치에 의해 생성된 제2확인 신호를 수신하는 단계; 및
    상기 제1확인 신호의 수신과 상기 제2확인 신호의 수신이 모두 확인되면, 상기 교환 합의가 일치한다고 판단하는 단계를 포함하는 토큰 교환을 중계하는 서버의 동작 방법.
  5. 제1항에 있어서, 상기 교환 합의가 일치하는지를 판단하는 단계는,
    상기 제1토큰에 대한 정보를 포함하는 제1메시지를 상기 제2컴퓨팅 장치로부터 수신하는 단계;
    상기 제2토큰에 대한 정보를 포함하는 제2메시지를 상기 제1컴퓨팅 장치로부터 수신하는 단계; 및
    상기 제1토큰 송금 정보에 포함된 상기 제1토큰과 상기 제1메시지에 포함된 상기 제1토큰이 일치하고 상기 제2토큰 송금 정보에 포함된 상기 제2토큰과 상기 제2메시지에 포함된 상기 제2토큰이 일치할 때 상기 교환 합의가 일치한다고 판단하는 단계를 포함하는 토큰 교환을 중계하는 서버의 동작 방법.
  6. 컴퓨터에 제1항에 기재된 토큰 교환을 중계하는 서버의 동작 방법을 실행하기 위해 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  7. 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑은,
    제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하고,
    제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하고,
    상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하고,
    상기 교환 합의가 일치한다고 판단되면, 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하고 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑.
  8. 제7항에 있어서, 상기 전자 지갑은,
    제어기;
    상기 제1토큰 송금 정보를 수신하고 상기 수신을 나타내는 제1신호를 생성하여 상기 제어기로 전송하고, 전송 지시 신호에 응답하여 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하는 제1토큰 처리 전자 지갑; 및
    상기 제2토큰 송금 정보를 수신하고 상기 수신을 나타내는 제2신호를 생성하여 상기 제어기로 전송하고 상기 전송 지시 신호에 응답하여 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 제2토큰 처리 전자 지갑을 포함하고,
    상기 제어기는 상기 제1신호와 상기 제2신호에 응답하여 상기 전송 지시 신호를 생성하는 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑.
  9. 제7항에 있어서, 상기 전자 지갑은,
    제어기;
    상기 제1토큰 송금 정보에 기초하여 상기 제1토큰을 포함하는 제1토큰 확인 정보를 생성하여 상기 제2컴퓨팅 장치로 전송하고, 상기 제1토큰 확인 정보를 확인한 제2사용자의 입력에 기초하여 상기 제2컴퓨팅 장치에 의해 생성된 제1확인 신호를 수신하고, 상기 제1확인 신호를 상기 제어기로 전송하고 전송 지시 신호에 응답하여 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하는 제1토큰 처리 전자 지갑; 및
    상기 제2토큰 송금 정보에 기초하여 상기 제2토큰을 포함하는 제2토큰 확인 정보를 생성하여 상기 제1컴퓨팅 장치로 전송하고, 상기 제2토큰 확인 정보를 확인한 제1사용자의 입력에 기초하여 상기 제1컴퓨팅 장치에 의해 생성된 제2확인 신호를 수신하고, 상기 제2확인 신호를 상기 제어기로 전송하고 상기 전송 지시 신호에 응답하여 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 제2토큰 처리 전자 지갑을 포함하고,
    상기 제어기는 상기 제1확인 신호와 상기 제2확인 신호에 응답하여 상기 전송 지시 신호를 생성하는 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑.
  10. 제7항에 있어서, 상기 전자 지갑은,
    제어기;
    상기 제1토큰 송금 정보를 수신하고 상기 제2컴퓨팅 장치로부터 상기 제1토큰에 대한 제1정보를 수신하고, 상기 제1토큰 송금 정보에 포함된 상기 제1토큰과 상기 제1정보에 포함된 상기 제1토큰의 일치 여부를 판단하고, 일치를 나타내는 제1신호를 상기 제어기로 전송하고, 전송 지시 신호에 응답하여 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하는 제1토큰 처리 전자 지갑; 및
    상기 제2토큰 송금 정보를 수신하고 상기 제1컴퓨팅 장치로부터 상기 제2토큰에 대한 제2정보를 수신하고, 상기 제2토큰 송금 정보에 포함된 상기 제2토큰과 상기 제2정보에 포함된 상기 제2토큰의 일치 여부를 판단하고, 일치를 나타내는 제2신호를 상기 제어기로 전송하고, 상기 전송 지시 신호에 응답하여 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 제2토큰 처리 전자 지갑을 포함하고,
    상기 제어기는 상기 제1신호와 상기 제2신호에 응답하여 상기 전송 지시 신호를 생성하는 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑.
  11. 제7항에 있어서, 상기 전자 지갑은,
    제어기;
    상기 제1토큰 송금 정보를 수신하여 상기 제어기로 전송하고, 상기 제2컴퓨팅 장치로부터 상기 제1토큰에 대한 제1정보를 수신하여 상기 제어기로 전송하고, 전송 지시 신호에 응답하여 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하는 제1토큰 처리 전자 지갑; 및
    상기 제2토큰 송금 정보를 수신하여 상기 제어기로 전송하고, 상기 제1컴퓨팅 장치로부터 상기 제2토큰에 대한 제2정보를 수신하여 상기 제어기로 전송하고, 상기 전송 지시 신호에 응답하여 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 제2토큰 처리 전자 지갑을 포함하고,
    상기 제어기는,
    상기 제1토큰 송금 정보에 포함된 상기 제1토큰이 상기 제1정보에 포함된 상기 제1토큰과 일치하고 상기 제2토큰 송금 정보에 포함된 상기 제2토큰이 상기 제2정보에 포함된 상기 제2토큰과 일치할 때, 상기 전송 지시 신호를 생성하는 컴퓨터로 읽을 수 있는 매체에 저장된 전자 지갑.
  12. 프로세서; 및
    프로그램을 기록한 컴퓨터로 읽을 수 있는 매체를 포함하고,
    상기 매체는 제1항에 기재된 토큰 교환을 중계하는 서버의 동작 방법을 수행하기 위한 프로그램을 저장하는 서버.
  13. 중계 서버를 이용하여 토큰 교환 중계 서비스를 제공하는 방법에 있어서,
    상기 중계 서버가 제1블록체인 네트워크에서 사용되는 제1토큰의 송금을 위한 제1토큰 송금 정보를 제1컴퓨팅 장치로부터 수신하는 단계;
    상기 중계 서버가 제2블록체인 네트워크에서 사용되는 제2토큰의 송금을 위한 제2토큰 송금 정보를 제2컴퓨팅 장치로부터 수신하는 단계;
    상기 중계 서버가 상기 제1토큰 송금 정보와 상기 제2토큰 송금 정보에 기초하여 상기 제1토큰과 상기 제2토큰의 교환 합의가 일치하는지를 판단하는 단계; 및
    상기 교환 합의가 일치한다고 판단되면, 상기 중계 서버가 상기 제1토큰 송금 정보를 상기 제2컴퓨팅 장치로 전송하고 상기 제2토큰 송금 정보를 상기 제1컴퓨팅 장치로 전송하는 단계를 포함하는 토큰 교환 중계 서비스를 제공하는 방법.
  14. 제13항에 있어서,
    상기 제1컴퓨팅 장치가 상기 제2토큰 송금 정보를 수신하여 상기 제2블록체인 네트워크에 퍼블리시하는 단계; 및
    상기 제2컴퓨팅 장치가 상기 제2토큰 송금 정보를 수신하여 상기 제1블록체인 네트워크에 퍼블리시하는 단계를 더 포함하는 토큰 교환 중계 서비스를 제공하는 방법.
  15. 제14항에 있어서, 상기 교환 합의가 일치하는지를 판단하는 단계는,
    상기 중계 서버가 상기 제1토큰 송금 정보로부터 제1토큰 송금인 정보, 제1토큰 수취인 정보, 및 상기 제1토큰을 추출하고, 이들을 포함하는 제1토큰 확인 정보를 생성하여 상기 제2컴퓨팅 장치로 전송하는 단계;
    상기 제2컴퓨팅 장치가 상기 제1토큰 확인 정보를 확인한 제2사용자의 입력에 기초하여 제1확인 신호를 생성하여 상기 중계 서버로 전송하는 단계;
    상기 중계 서버가 상기 제2토큰 송금 정보로부터 제2토큰 송금인 정보, 제2토큰 수취인 정보, 및 상기 제2토큰을 추출하고, 이들을 포함하는 제2토큰 확인 정보를 생성하여 상기 제1컴퓨팅 장치로 전송하는 단계;
    상기 제1컴퓨팅 장치가 상기 제2토큰 확인 정보를 확인한 제1사용자의 입력에 기초하여 제2확인 신호를 생성하여 상기 중계 서버로 전송하는 단계; 및
    상기 중계 서버가, 상기 제1확인 신호와 상기 제2확인 신호가 모두 수신되었다고 확인되면, 상기 교환 합의가 일치한다고 판단하는 단계를 포함하는 토큰 교환 중계 서비스를 제공하는 방법.
  16. 제14항에 있어서, 상기 교환 합의가 일치하는지를 판단하는 단계는,
    상기 중계 서버가 상기 제2컴퓨팅 장치로부터 상기 제1토큰에 대한 제1정보를 수신하는 단계;
    상기 중계 서버가 상기 제1컴퓨팅 장치로부터 상기 제2토큰에 대한 제2정보를 수신하는 단계; 및
    제1토큰 송금 정보에 포함된 상기 제1토큰이 상기 제1정보에 포함된 상기 제1토큰과 일치하고 상기 제2토큰 송금 정보에 포함된 상기 제2토큰이 상기 제2정보에 포함된 상기 제2토큰과 일치할 때, 상기 중계 서버가 상기 교환 합의가 일치한다고 판단하는 단계를 포함하는 토큰 교환 중계 서비스를 제공하는 방법.
  17. 제13항에 있어서, 상기 중계 서버는,
    상기 제1토큰 송금 정보를 상기 제1컴퓨팅 장치에서 실행되는 제1토큰 송금 전자지갑으로부터 수신하고,
    상기 제2토큰 송금 정보를 상기 제2컴퓨팅 장치에서 실행되는 제2토큰 송금 전자 지갑으로부터 수신하고,
    상기 제1토큰 송금 전자지갑은 상기 제1토큰의 지급을 보증하기 위한 잠금 기능을 수행하고,
    상기 제2토큰 송금 전자지갑은 상기 제2토큰의 지급을 보증하기 위한 잠금 기능을 수행하는 토큰 교환 중계 서비스를 제공하는 방법.
KR1020200066895A 2020-06-03 2020-06-03 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법 KR102442127B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200066895A KR102442127B1 (ko) 2020-06-03 2020-06-03 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
US18/007,892 US20230237476A1 (en) 2020-06-03 2021-04-02 Electronic wallet, server for executing the same, and method for atomic exchange of blockchain tokens using the server
EP21817790.5A EP4163855A4 (en) 2020-06-03 2021-04-02 ELECTRONIC WALLET, SERVER FOR EXECUTION THEREOF AND ATOMIC EXCHANGE METHOD OF BLOCKCHAIN TOKENS USING SAID SERVER
PCT/KR2021/004165 WO2021246632A1 (ko) 2020-06-03 2021-04-02 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200066895A KR102442127B1 (ko) 2020-06-03 2020-06-03 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법

Publications (2)

Publication Number Publication Date
KR20210150024A true KR20210150024A (ko) 2021-12-10
KR102442127B1 KR102442127B1 (ko) 2022-09-08

Family

ID=78865431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200066895A KR102442127B1 (ko) 2020-06-03 2020-06-03 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법

Country Status (1)

Country Link
KR (1) KR102442127B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101878870B1 (ko) * 2018-03-16 2018-08-16 주식회사 미탭스플러스 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법
KR20180114915A (ko) 2016-02-23 2018-10-19 엔체인 홀딩스 리미티드 토큰화를 이용한 블록체인 기반 교환 방법
KR20190110377A (ko) 2018-03-20 2019-09-30 주식회사 웨이투빗 이종 블록체인 기반의 토큰 관리 방법 및 이를 이용한 토큰 관리 서버
KR20190112358A (ko) * 2018-03-26 2019-10-07 누리플렉스 홀딩스 아이엔씨 거래 시스템 및 거래 방법
KR20190119920A (ko) * 2018-04-13 2019-10-23 주식회사 넥슨코리아 서로 다른 블록체인에 기반하는 암호화폐의 거래 서비스를 제공하는 방법 및 장치
JP2020071617A (ja) * 2018-10-30 2020-05-07 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180114915A (ko) 2016-02-23 2018-10-19 엔체인 홀딩스 리미티드 토큰화를 이용한 블록체인 기반 교환 방법
KR101878870B1 (ko) * 2018-03-16 2018-08-16 주식회사 미탭스플러스 블록체인 기반의 사용자 식별 관리 및 토큰 발행 관리를 위한 분산 원장 장치 및 분산 원장 방법
KR20190110377A (ko) 2018-03-20 2019-09-30 주식회사 웨이투빗 이종 블록체인 기반의 토큰 관리 방법 및 이를 이용한 토큰 관리 서버
KR20190112358A (ko) * 2018-03-26 2019-10-07 누리플렉스 홀딩스 아이엔씨 거래 시스템 및 거래 방법
KR20190119920A (ko) * 2018-04-13 2019-10-23 주식회사 넥슨코리아 서로 다른 블록체인에 기반하는 암호화폐의 거래 서비스를 제공하는 방법 및 장치
JP2020071617A (ja) * 2018-10-30 2020-05-07 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法

Also Published As

Publication number Publication date
KR102442127B1 (ko) 2022-09-08

Similar Documents

Publication Publication Date Title
US11764973B2 (en) Systems and methods for creating a universal record
US10977632B2 (en) Electronic bill management method, apparatus, and storage medium
US11502848B2 (en) Blockchain entity, off-chain entity, certification device for blockchain operations and method for performing a cooperation between a blockchain entity and an off-chain entity
CN101479759B (zh) 对等通信信道上的电子商务交易
US20100198733A1 (en) Enabling Payment Using Paperless Image Of A Check
Singh et al. Aid, charity and donation tracking system using blockchain
US20170221022A1 (en) Information transaction infrastructure
US11777730B2 (en) Layered recording networks
US20220303258A1 (en) Computer-implemented system and method
WO2012123394A1 (en) Off-line transfer of electronic tokens between peer-devices
WO2020125234A1 (zh) 一种基于区块链的数据处理方法和装置
US20220198554A1 (en) System digital asset-backed data interaction system
US20210272106A1 (en) Universal Payment Messaging Using Public Blockchains and Identity Platform
KR102364009B1 (ko) 전자 지갑과 상기 전자 지갑을 이용하여 두개의 서로 다른 블록체인 토큰들의 원자성 교환 방법
KR101941625B1 (ko) 선택적 인증을 통한 에스앤에스 핀테크 시스템 및 그 동작 방법
Parandhaman A Secured Mobile Payment Transaction Handling System using Internet of Things with Novel Cipher Policies
KR20180052838A (ko) 수취인 증명 기반의 불변의 이중 기록을 이용한 안심송금 방법
EP4163855A1 (en) Electronic wallet, server for executing same, and atomic exchange method of blockchain tokens by using same server
WO2022154789A1 (en) Token-based off-chain interaction authorization
CN108449332A (zh) 一种基于双网关的轻量级移动支付协议设计方法
KR102397513B1 (ko) 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
KR102385982B1 (ko) 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
KR102442127B1 (ko) 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
KR20200064523A (ko) 블록체인 기반 결제중개 시스템 및 방법
US20230107197A1 (en) Blockchain based interaction processing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant