KR102634677B1 - 호환 가능한 블록체인 네트워크 간의 자산 교환 방법 - Google Patents

호환 가능한 블록체인 네트워크 간의 자산 교환 방법 Download PDF

Info

Publication number
KR102634677B1
KR102634677B1 KR1020210011130A KR20210011130A KR102634677B1 KR 102634677 B1 KR102634677 B1 KR 102634677B1 KR 1020210011130 A KR1020210011130 A KR 1020210011130A KR 20210011130 A KR20210011130 A KR 20210011130A KR 102634677 B1 KR102634677 B1 KR 102634677B1
Authority
KR
South Korea
Prior art keywords
transaction
entity
meta
blockchain
asset
Prior art date
Application number
KR1020210011130A
Other languages
English (en)
Other versions
KR20220108302A (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 KR1020210011130A priority Critical patent/KR102634677B1/ko
Publication of KR20220108302A publication Critical patent/KR20220108302A/ko
Application granted granted Critical
Publication of KR102634677B1 publication Critical patent/KR102634677B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

자산 교환을 중계하는 중계 엔티티에 의해 실행되는 블록체인 네트워크에서의 자산 교환 방법으로서, (a) 제1 엔티티(entity)와 제2 엔티티 상호 간의 자산 교환 거래를 위한 스마트 컨트랙트를 위해 생성된 위탁용 메타 트랜잭션을 획득하는 단계; (b) 상기 위탁용 메타 트랜잭션을 통해 상기 스마트 컨트랙트를 실행하여, 각자의 교환 물량에 해당하는 자산을 각자의 블록체인 지갑에서 인출하여 각자의 블록체인의 스마트 컨트랙트에 예치시키는 단계; (c) 각자의 교환 물량에 해당하는 자산이 각각 정상적으로 예치되었음을 확인하는 승인용 메타 트랜잭션이 획득됨에 따라, 인출 트랜잭션을 실행하여 스마트 컨트랙트에 예치된 자산이 각각의 상대방에게 이전되도록 인출을 실행하는 단계;를 포함하는 블록체인 네트워크에서의 자산 교환 방법이 제공된다.

Description

호환 가능한 블록체인 네트워크 간의 자산 교환 방법{METHOD FOR EXCHANGING ASSET BETWEEN COMPATIBLE BLOCKCHAIN NETWORKS}
본 발명은 블록체인 네트워크에서의 자산 교환 방법에 관한 것으로서, 보다 구체적으로는 호환 가능한 블록체인 네트워크 간의 메타 트랜잭션(meta-tx)을 활용한 트랜잭션 전송 중계 방법을 이용하는 자산 전송 및 교환 방법에 관한 것이다.
다양한 방식의 블록체인 토큰들이 만들어져 많은 사용자들에게 널리 보급되어 있으나 실생활에서 사용하기에는 많은 문제점이 있다. 그 중 가장 큰 문제는 사용성과 속도이며, 이 문제를 해결하기 위해 많은 개발자들이 노력을 하고 있다.
상술한 문제를 해결하기 위해 많은 개발사들이 자사의 전용 블록체인들과 지갑과 같은 전용 소프트웨어들을 개발하고 있는데, 많은 블록체인들이 이더리움(ethereum)을 기초로 속도를 높이기 위해 거버넌스를 개량하되 개발사마다 자신에게 필요한 기능들을 추가하는 방식을 주로 채용하고 있다. 이렇게 만들어진 전용 블록체인들 마다의 차이는 크지 않다. 이것은 웹서핑을 할 때 사용자가 자신이 접속하는 인터넷 서비스가 구글 서버인지 아마존 서버인지 구분할 수 없는 것으로 비유해서 설명할 수 있다.
즉, 사용자에겐 웹 브라우저만 있으면 http 프로토콜을 통해 호스팅되는 서버에 상관없이 접속할 수 있어야 하고, 서비스 제공자 또한 서버의 종류와 상관없이 웹을 호스팅할 수 있어야 하는 것과 마찬가지로, 블록체인 서비스 제공자도 자신의 용도에 맞춰 블록체인을 고르기만 하면 블록체인 전용의 소프트웨어가 아니라 범용의 소프트웨어를 통해 자신의 서비스를 제공할 수 있어야 할 필요가 있다.
기본적으로 이더리움과 이더리움을 하드 포크(hard fork)한 블록체인들은 매우 높은 수준의 호환성을 가지고 있기 때문에, 이것을 이용해 이더리움 호환 체인들을 사용자의 용도에 맞춰 혼합 사용을 할 수 있는 기술적 환경(즉, 블록체인을 구분해서 사용할 필요 없는 사용성이 높은 서비스)에 대한 사용자들의 요구가 점점 더 높아지고 있는 실정이다. 또한 이와 같이 호환 가능한 블록체인 네트워크 간에 자산 전송 및 교환을 보다 효율적으로 또한 보다 안전하게 할 수 있는 방법이 요구된다.
본 발명은 호환 가능한 블록체인 네트워크 간의 메타 트랜잭션(meta-tx)을 활용한 트랜잭션 전송 중계 방법을 이용하는 자산 전송 및 교환 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 자산 교환을 중계하는 중계 엔티티에 의해 실행되는 블록체인 네트워크에서의 자산 교환 방법으로서, (a) 제1 엔티티(entity)와 제2 엔티티 상호 간의 자산 교환 거래를 위한 스마트 컨트랙트를 위해 생성된 위탁용 메타 트랜잭션을 획득하는 단계; (b) 상기 위탁용 메타 트랜잭션을 통해 상기 스마트 컨트랙트를 실행하여, 각자의 교환 물량에 해당하는 자산을 각자의 블록체인 지갑에서 인출하여 각자의 블록체인의 스마트 컨트랙트에 예치시키는 단계; (c) 각자의 교환 물량에 해당하는 자산이 각각 정상적으로 예치되었음을 확인하는 승인용 메타 트랜잭션이 획득됨에 따라, 인출 트랜잭션을 실행하여 스마트 컨트랙트에 예치된 자산이 각각의 상대방에게 이전되도록 인출을 실행하는 단계;를 포함하는 블록체인 네트워크에서의 자산 교환 방법이 제공된다.
본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법에 의하면, 호환 가능한 블록체인 네트워크 간에 자산 전송 및 교환을 보다 효율적으로 또한 보다 안전하게 할 수 있는 효과가 있다.
도 1 및 도 2는 본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법을 설명하기 위한 플로우차트.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다. 또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명하되, 본 발명에 관한 이해를 돕기 위해 본 발명의 기술적 컨셉을 먼저 설명하기로 한다.
호환 가능한 블록체인들은 동일한 서명체계를 가지고 있으며, 해당 서명체계를 가지고 스마트 컨트랙트를 실행할 수 있다. 이에 따라 자신의 서명을 한 스마트 컨트랙트의 명령어(트랜잭션)를 제3자가 전송하여 스마트 컨트랙트를 실행할 수 있다. 본 발명에서는 이러한 방식을 이용해 호환 가능한 서로 다른 블록체인들(예를 들어, 이더리움(ethereum)과 이에 호환 가능한 이더리움 호환 체인들(ex. 클레이튼(klaytn) 블록체인 등)) 사이에서 자산을 전송하거나 교환하는 방법을 구현한다. 이를 순서에 따라 개괄적으로 설명하면 다음과 같다.
1. 거래를 시작한 당사자(본 명세서에서는 메이커(maker)라 명명함, 도 1 및 도 2의 '사용자 1'의 제1 엔티티 참조)는 옮겨갈 블록체인과 옮기고 싶은 자산을 책정하여 해당 내역을 명령어로 만들어 서명을 하여, 위변조가 불가능한 오프라인 트랜잭션을 만든다. 이렇게 만들어진 오프라인 트랜잭션은 공개된 장소에 공개하여 거래자를 찾거나, 혹은 1:1로 거래를 원하는 대상에게 전달한다. 본 명세서에서, 메이커는 자산 교환 또는 전송 명령어에 최초 서명한 사용자를 의미한다.
2. 해당 거래에 동의한 상대방(본 명세서에서는 테이커(taker)라 명명함, 도 1 및 도 2의 '사용자 2'의 제2 엔티티 참조)은 메이커의 오프라인 트랜잭션을 이용하여 다시 자신의 서명을 추가한다. 본 명세서에서 테이커는 메이커의 전송 명령어에 자신의 서명을 추가하여 거래를 하고자 하는 자를 의미한다.
3. 메이커와 테이커가 서명한 최종 오프라인 트렌젝션은 거래의 공정성을 위해 실행을 제3자(본 명세서에서는 중계인이라 명명함, 도 1 및 도 2의 '서비스'의 중계 엔티티 참조)에게 위탁한다. 본 명세서에서 중계인은 메이커와 테이커가 서명한 명령어를 2개의 블록체인에서 각각 실행을 해주는 자를 의미한다. 또한 본 명세서에서, 오프라인 트랜잭션이란 중계인이 실행할 수 있도록, 메이커와 테이커가 서명한 거래를 메타 트랜잭션으로 생성한 것을 의미한다.
4. 거래의 실행을 위탁받은 중계인은 해당 오프라인 트랜잭션을 실행하여, 양쪽의 블록체인에 거래하고자 하는 금액을 메이커와 테이커의 지갑에서 인출하여, 스마트 컨트랙트에 예치한다.
5. 메이커와 테이커는 서로 옮겨가고자 하는 블록체인의 자신의 지갑에 정당한 금액이 예치되어 있는지 확인을 한 후, 정확하게 예치가 되어 있다면, 승인 서명을 한다.
6. 메이커와 테이커의 승인 서명을 모두 받은 중계인은 둘의 서명을 모아 스마트 컨트랙트를 실행시킨다.
7. 중계인은 승인 트랜잭션이 성공한 것을 확인한 후 인출 트랜잭션을 실행하여 각각의 사용자들에게 이전된 자산을 인출한다.
본 발명에서, 승인과 인출을 분리한 이유는 블록체인간 블록생성 시간의 차이에 의하여 어느 한쪽의 승인이 늦게 처리될 수 있기 때문이다. 이러한 점을 감안하여, 바로 인출을 하지 않고, 승인 상태와 인출 상태를 분리하였다.
상술한 바와 같이, 본 발명에 의할 때, 거래를 시작하게 되면, 각 블록체인의 스마트 컨트랙트들은 메이커와 테이커의 자산들을 스마트 컨트랙트로 옮겨오게 되고(일종의 보증금 개념임), 메이커와 테이커가 옮겨가고자 하는 스마트 컨트랙트에 자산이 정확하게 예치되어 있는지 확인한 후 인출 명령어를 실행하여 메이커와 테이커는 각각의 자산을 자기 지갑으로 옮기게 된다.
8. 거래 제한 시간이 초과되거나 거래가 완료되지 않은 경우 사용자는 자신의 거래를 취소하고 자신의 자산을 찾아갈 수 있다. 만일 최종 서명을 한쪽만 하였거나(즉, 한 쪽만 승인 트랜잭션이 실행되었을 경우), 동시에 서명이 스마트 컨트랙트에 등록되지 않은 경우, 중계인은 거래를 무효화(취소)하고, 각자 자신의 자산을 되찾을 수 있도록 한다.
도 1 및 도 2는 본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법을 설명하기 위한 플로우차트이다.
도 1 및 도 2를 참조하면, 본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법은 자산 교환을 중계하는 중계 엔티티(도 1 및 도 2의 서비스)에 의해 실행되되, (a) 제1 엔티티(entity)(도 1 및 도 2의 사용자 1, 상술한 메이커 참조)와 제2 엔티티(도 1 및 도 2의 사용자 2, 상술한 테이커 참조) 상호 간의 자산 교환 거래를 위한 스마트 컨트랙트를 위해 생성된 위탁용 메타 트랜잭션을 획득하는 단계; (b) 상기 위탁용 메타 트랜잭션을 통해 상기 스마트 컨트랙트를 실행하여, 각자의 교환 물량에 해당하는 자산을 각자의 블록체인 지갑에서 인출하여 각자의 블록체인의 스마트 컨트랙트에 예치시키는 단계; (c) 각자의 교환 물량에 해당하는 자산이 각각 정상적으로 예치되었음을 확인하는 승인용 메타 트랜잭션이 획득됨에 따라, 인출 트랜잭션을 실행하여 스마트 컨트랙트에 예치된 자산이 각각의 상대방에게 이전되도록 인출을 실행하는 단계;를 포함한다.
여기서, 상기 제1 엔티티는 특정 블록체인 플랫폼인 제1 블록체인(도 1 및에 자도 2의 블록체인 1)에 자산을 보유하고, 상기 제2 엔티티는 상기 제1 블록체인과 호환 가능한 다른 블록체인 플랫폼인 제2 블록체인(도 1 및 도 2의 블록체인 2)에 자산을 보유한다.
또한 여기서, 상기 위탁용 메타 트랜잭션 및 상기 승인용 메타 트랜잭션은, 상기 제1 엔티티 및 상기 제2 엔티티에게 트랜잭션 수수료를 부담시키지 않고 처리되는 트랜잭션이다. 이를 위해, 상기 중계 엔티티는, 상기 제1 엔티티 및 상기 제2 엔티티 간의 자산 교환 거래를 위해 발생되는 트랜잭션들에 관한 트랜잭션 수수료를 상기 제1 엔티티 및 상기 제2 엔티티를 대신하여 대납하여 해당 트랜잭션에 관한 스마트 컨트랙트가 실행되도록 하며, 상기 호환 가능한 블록체인 네트워크 간의 트랜잭션 전송 중계를 통해 상기 제1 엔티티와 상기 제2 엔티티 간의 자산 교환 거래를 중계할 수 있다.
본 발명에서, 상기 위탁용 메타 트랜잭션은, 상기 제1 엔티티에 의해 생성된 제1 위탁용 메타 트랜잭션 및 상기 제2 엔티티에 의해 생성된 제2 위탁용 메타 트랜잭션을 포함한다.
이때, 상기 제1 위탁용 메타 트랜잭션(도 1의 S110 참조)은, 스마트 컨트랙트의 실행을 위한 조건 명령어로서 기능하는 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 교환할 자산의 종류, 교환 물량, 거래유효 제한시간을 포함하고, 상기 제1 엔티티에 의한 서명을 포함하여 배포된다.
상기 제1 위탁용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.
function make(uint256[2] memory _chainids, address[2] memory _tokens,
uint256[3] memory _amounts, uint256 _deadline)
메이커는 자신의 자산과 교환하고자 하는 자산과 자산이 유통되는 블록체인의 정보를 기록한 스마트 컨트랙트의 명령어를 만들어 서명을 한 후, 온라인 혹은 오프라인에 공개하거나, 자산 이전을 해주는 회사에 전송 신청을 한다. 이에 따라 메이커는 이 명령어를 메타 트랜잭션(meta-tx) 방법으로 오프라인 트랜잭션으로 만든다.
이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _tokens : 교환하고자 하는 자산의 종류, iii) _amounts : 자신의 블록체인에서 전송할 양과, 받고 싶은 블록체인에서의 양(가치가 다르기 때문에 이 값은 서로 상이할 수 있음), iv) _deadline : 시간제한 (시간이 초과되면 이 작업은 수행되지 못함)이 포함된다.
또한 이때, 상기 제2 위탁용 메타 트랜잭션(도 1의 S120 참조)은, 상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제1 엔티티의 서명, 상기 제1 엔티티의 블록체인 지갑 주소를 포함하고, 상기 제2 엔티티에 의한 서명을 포함하여 배포된다.
상기 제2 위탁용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.
function take(uint256[2] memory _chainids, address[2] memory _tokens,
uint256[3] memory _amounts, uint256 _deadline, address _maker, bytes
memory _sigMaker)
다른 사용자(테이커), 혹은 자산을 이동시켜주는 회사는 메이커가 공개한 정보를 바탕으로 해당 거래내용에 자신의 서명을 추가하여 다시 온라인 혹은 오프라인에 공개한다. 이때, 테이커는 메이커가 만들어낸 오프라인 트랜젝션의 내용과 위의 명령어를 메타 트랜잭션(meta-tx)을 이용해 오프라인 트랜잭션으로 만든다.
이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _tokens : 교환하고자 하는 자산의 종류, iii. _amounts : 자신의 블록체인에서 전송할 양과, 받고 싶은 블록체인에서의 양, iv) _deadline : 시간제한, v) _maker : 거래를 시작한 사용자의 지갑주소, vi) _sigMaker : 거래를 시작한 사용자가 자신의 거래를 서명한 것(이 서명을 가지고 거래가 정당한 사용자에 의해 만들어져 있는지 확인함)이 포함된다.
본 발명에서는, 상기 (b) 단계에서, 예치용 메타 트랜잭션을 생성하는 단계[도 1의 S130]를 포함한다. 이때, 상기 예치용 메타 트랜잭션은, 상기 트랜잭션 파라미터로서, 상기 제2 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제2 엔티티의 서명, 상기 제2 엔티티의 블록체인 지갑 주소를 포함한다. 여기서, 상기 중계 엔티티는, 상기 예치용 메타 트랜잭션에 포함된 상기 거래유효 제한시간을 초과할 때까지 상기 자산 교환 거래가 유효하게 성립되지 않은 경우, 상기 예치된 자산이 각 엔티티에게 반환되도록 처리할 수 있다.
상기 예치용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.
function deposit( uint256[2] memory _chainids, address[2] memory _tokens, uint256[3] memory _amounts, uint256 _deadline, address[2] memory _signers, bytes memory _sigMaker, bytes memory _sigTaker) external ensure(_deadline) lock returns (bytes32 hash)
중계인은 메이커와 테이커의 서명이 모두 들어 있는 스마트 컨트랙트를 메타 트랜잭션(meta-tx)을 통해 실행한다. 이때, 스마트 컨트랙트는 동일한 로직으로 서로 다른 블록체인에 배포된다. 이때, 중계인이 실행한 예치용 메타 트랜잭션은 메이커와 테이커가 이동시키도록 설정한 양의 자산을 스마트 컨트랙트로 이동시켜 예치합니다.
예치된 자산은 제한 시간 이후에 거래가 성립되지 않았을 경우 각 사용자들이 되찾아 갈 수 있도록 되어 있다. 혹은 서명을 양쪽 스마트 컨트랙트에 실행하였지만, 각 블록체인의 실행속도에 따라 한쪽만 실행되었을 경우에도 마찬가지로 거래는 완료되지 않습니다. 완료되지 못한 자산은 사용자가 직접 인출 할 수 있거나, 중계자가 돌려주게 된다.
이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _tokens : 교환하고자 하는 자산의 종류, iii) _amounts : 자신의 블록체인에서 전송할 양과, 받고 싶은 블록체인에서의 양, iv) _deadline : 시간제한, v) _signers : 메이커와 테이커의 지갑주소들, vi) _sigMaker : 거래를 시작한 사용자가 자신의 거래를 서명한 것, vii) _sigTaker : 거래를 수락한 사용자가 거래를 시작한 사용자의 거래 요청을 자신의 개인키로 다시 서명한 것을 포함한다.
본 발명에서, 상기 승인용 메타 트랜잭션[도 2의 S140 참조]은, 상기 제1 엔티티 및 상기 제2 엔티티에 의해 각각 생성되고, 상기 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함한다. 이때, 상기 중계 엔티티는, 상기 승인용 메타 트랜잭션이 상기 제1 엔티티 및 상기 제2 엔티티 각각으로부터 수신되지 않는 경우, 상기 자산 교환 거래를 무효화하고 상기 예치된 자산이 각 엔티티에게 반환되도록 처리할 수 있다.
상기 승인용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.
confirm(uint256[2] memory _chainids, bytes32[2] memory _hashes)
스마트 컨트랙트가 무사히 실행되어, 양쪽의 자산이 각각의 블록체인의 스마트 컨트랙트에 무사히 예치가 되면, 메이커와 테이커는 서로 옮겨갈 블록체인에서 자신의 몫으로 설정된 자산이 안전하게 예치되어 있는지 확인 후, 확인 명령어를 만들어 서명을 하여, 중계인에게 전송합니다. 예치금의 확인은 오프라인 트랜잭션의 해시를 통해 상대방의 블록체인의 스마트 컨트랙트에서 확인할 수 있다.
이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _hashes : 1 번 함수(제1 위탁용 메타 트랜잭션의 실행함수)와 2번 함수(제2 위탁용 메타 트랜잭션의 실행함수)의 서명을 해시화 한 것이 포함된다.
본 발명에서, 상기 (c) 단계는, 상기 승인용 메타 트랜잭션이 획득된 이후, 상기 인출 트랜잭션을 실행하기 전에, 인출 대기 트랜잭션을 생성하여 각 엔티티의 블록체인에서 실행하는 단계를 더 포함한다.
이때, 상기 인출 대기 트랜잭션[도 2의 S150 참조]은, 상기 트랜잭션 파라미터로서, 상기 승인용 메타 트랜잭션의 트랜잭션 파라미터, 상기 제2 엔티티의 승인용 메타 트랜잭션에 관한 상기 제1 엔티티에 의한 확인 서명, 상기 제1 엔티티의 승인용 메타 트랜잭션에 관한 상기 제2 엔티티에 의한 확인 서명을 포함한다.
상기 인출 대기 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.
confirms(uint256[2] memory _chainids, bytes32[2] memory _hashes, bytes memory _sigMaker, bytes memory _sigTaker)
중계인은 메이커와 테이커의 서명정보가 모두 모이면, 사용자들에게 인출대기를 할 수 있도록 서명된 트랜잭션을 각각의 블록체인에서 실행한다. 이때 인출을 바로 하지 않고 대기를 하는 이유는 블록체인의 실행속도와 상태에 따라 어느 한쪽이 실행되지 않을 가능성이 있기 때문이다.
이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _hashes : 1 번 함수(제1 위탁용 메타 트랜잭션의 실행함수)와 2번 함수(제2 위탁용 메타 트랜잭션의 실행함수)의 서명을 해시화 한 것, iii) _sigMaker : 메이커가 테이커의 입금 확인을 서명한 것(이 서명을 가지고 거래가 정당한 사용자에 의해 만들어져 있는지 확인함) iv) _sigTaker : 테이커가 메이커의 입금 확인을 서명한 것을 포함한다.
또한 이때, 상기 인출 트랜잭션은, 상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함할 수 있다.
상기 인출 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.
withdraw(bytes32 _hash) external lock returns (bool)
인출대기 명령어가 제대로 실행되었으면, 중계인은 인출 명령어를 실행하여 각각 사용자들에게 인출을 실행한다.
이때, 실행함수에 포함되는 인자로는, i) _hashes : 1 번 함수(제1 위탁용 메타 트랜잭션의 실행함수)와 2번 함수(제2 위탁용 메타 트랜잭션의 실행함수)의 서명을 해시화 한 것이 포함된다.
이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.

Claims (6)

  1. 자산 교환을 중계하는 중계 엔티티에 의해 실행되는 블록체인 네트워크에서의 자산 교환 방법으로서,
    (a) 제1 엔티티(entity)와 제2 엔티티 상호 간의 자산 교환 거래를 위한 스마트 컨트랙트를 위해 생성된 위탁용 메타 트랜잭션을 획득하는 단계;
    (b) 상기 위탁용 메타 트랜잭션을 통해 상기 스마트 컨트랙트를 실행하여, 각자의 교환 물량에 해당하는 자산을 각자의 블록체인 지갑에서 인출하여 각자의 블록체인의 스마트 컨트랙트에 예치시키는 단계;
    (c) 각자의 교환 물량에 해당하는 자산이 각각 정상적으로 예치되었음을 확인하는 승인용 메타 트랜잭션이 획득됨에 따라, 인출 트랜잭션을 실행하여 스마트 컨트랙트에 예치된 자산이 각각의 상대방에게 이전되도록 인출을 실행하는 단계;를 포함하고,
    상기 위탁용 메타 트랜잭션은,
    상기 제1 엔티티에 의해 생성된 제1 위탁용 메타 트랜잭션 및 상기 제2 엔티티에 의해 생성된 제2 위탁용 메타 트랜잭션을 포함하고,
    상기 제1 위탁용 메타 트랜잭션은,
    스마트 컨트랙트의 실행을 위한 조건 명령어로서 기능하는 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 교환할 자산의 종류, 교환 물량, 거래유효 제한시간을 포함하고, 상기 제1 엔티티에 의한 서명을 포함하여 배포되고,
    상기 제2 위탁용 메타 트랜잭션은,
    상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제1 엔티티의 서명, 상기 제1 엔티티의 블록체인 지갑 주소를 포함하고, 상기 제2 엔티티에 의한 서명을 포함하여 배포되며,
    상기 (b) 단계에서,
    예치용 메타 트랜잭션을 생성하는 단계를 포함하고,
    상기 예치용 메타 트랜잭션은,
    상기 트랜잭션 파라미터로서, 상기 제2 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제2 엔티티의 서명, 상기 제2 엔티티의 블록체인 지갑 주소를 포함하며,
    상기 중계 엔티티는, 상기 예치용 메타 트랜잭션에 포함된 상기 거래유효 제한시간을 초과할 때까지 상기 자산 교환 거래가 유효하게 성립되지 않은 경우, 상기 예치된 자산이 각 엔티티에게 반환되도록 처리하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
  2. 제1항에 있어서,
    상기 제1 엔티티는 특정 블록체인 플랫폼인 제1 블록체인에 자산을 보유하고, 상기 제2 엔티티는 상기 제1 블록체인과 호환 가능한 다른 블록체인 플랫폼인 제2 블록체인에 자산을 보유하고,
    상기 위탁용 메타 트랜잭션 및 상기 승인용 메타 트랜잭션은, 상기 제1 엔티티 및 상기 제2 엔티티에게 트랜잭션 수수료를 부담시키지 않고 처리되는 트랜잭션이며,
    상기 중계 엔티티는, 상기 제1 엔티티 및 상기 제2 엔티티 간의 자산 교환 거래를 위해 발생되는 트랜잭션들에 관한 트랜잭션 수수료를 상기 제1 엔티티 및 상기 제2 엔티티를 대신하여 대납하여 해당 트랜잭션에 관한 스마트 컨트랙트가 실행되도록 하며, 상기 호환 가능한 블록체인 네트워크 간의 트랜잭션 전송 중계를 통해 상기 제1 엔티티와 상기 제2 엔티티 간의 자산 교환 거래를 중계하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 승인용 메타 트랜잭션은,
    상기 제1 엔티티 및 상기 제2 엔티티에 의해 각각 생성되고,
    상기 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함하고,
    상기 중계 엔티티는, 상기 승인용 메타 트랜잭션이 상기 제1 엔티티 및 상기 제2 엔티티 각각으로부터 수신되지 않는 경우, 상기 자산 교환 거래를 무효화하고 상기 예치된 자산이 각 엔티티에게 반환되도록 처리하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
  6. 제5항에 있어서,
    상기 (c) 단계는,
    상기 승인용 메타 트랜잭션이 획득된 이후, 상기 인출 트랜잭션을 실행하기 전에, 인출 대기 트랜잭션을 생성하여 각 엔티티의 블록체인에서 실행하는 단계를 더 포함하되,
    상기 인출 대기 트랜잭션은,
    상기 트랜잭션 파라미터로서, 상기 승인용 메타 트랜잭션의 트랜잭션 파라미터, 상기 제2 엔티티의 승인용 메타 트랜잭션에 관한 상기 제1 엔티티에 의한 확인 서명, 상기 제1 엔티티의 승인용 메타 트랜잭션에 관한 상기 제2 엔티티에 의한 확인 서명을 포함하고,
    상기 인출 트랜잭션은,
    상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
KR1020210011130A 2021-01-27 2021-01-27 호환 가능한 블록체인 네트워크 간의 자산 교환 방법 KR102634677B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210011130A KR102634677B1 (ko) 2021-01-27 2021-01-27 호환 가능한 블록체인 네트워크 간의 자산 교환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210011130A KR102634677B1 (ko) 2021-01-27 2021-01-27 호환 가능한 블록체인 네트워크 간의 자산 교환 방법

Publications (2)

Publication Number Publication Date
KR20220108302A KR20220108302A (ko) 2022-08-03
KR102634677B1 true KR102634677B1 (ko) 2024-02-08

Family

ID=82847177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210011130A KR102634677B1 (ko) 2021-01-27 2021-01-27 호환 가능한 블록체인 네트워크 간의 자산 교환 방법

Country Status (1)

Country Link
KR (1) KR102634677B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240095731A1 (en) * 2022-09-21 2024-03-21 Community Gaming, Inc. Blockchain distribution of tournament rewards

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102209852B1 (ko) * 2020-02-12 2021-01-29 현수영 호환 가능한 블록체인 네트워크 간의 트랜잭션 전송 중계 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210663B2 (en) * 2015-11-30 2021-12-28 Shapeshift Ag Digital asset zero-custody switch
KR20190019004A (ko) * 2017-08-16 2019-02-26 김용태 블록체인 기반의 거래 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102209852B1 (ko) * 2020-02-12 2021-01-29 현수영 호환 가능한 블록체인 네트워크 간의 트랜잭션 전송 중계 방법

Also Published As

Publication number Publication date
KR20220108302A (ko) 2022-08-03

Similar Documents

Publication Publication Date Title
US20220084020A1 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
Miller et al. Sprites and state channels: Payment networks that go faster than lightning
EP3776441B1 (en) Digital asset exchange
Galal et al. Verifiable sealed-bid auction on the ethereum blockchain
CN108492180B (zh) 资产管理方法及装置、电子设备
TWI814706B (zh) 區塊鏈實施之方法及系統
KR101936757B1 (ko) 블록체인 기반의 공유경제를 위해 키를 생성하는 분산 원장 장치 및 분산 원장 방법
CN115719265A (zh) 区块链实现的方法和系统
KR101936759B1 (ko) Kyc 블록체인을 이용한 kyc 수행 장치 및 방법
KR101962289B1 (ko) 블록체인 기반의 공유경제를 위해 비대칭키 방식으로 이용자를 식별하는 분산 원장 장치
KR101962290B1 (ko) 블록체인 기반의 공유경제를 위해 공유재화의 unlock 및 lock을 제어하는 분산 원장 장치
CN112613877B (zh) 应用于区块链网络的智能合约触发方法、装置及相关设备
US20220156725A1 (en) Cross-chain settlement mechanism
CN109523380A (zh) 跨链交易方法及装置
TW202139127A (zh) 用於與區塊鏈相關聯之服務平台之運算服務
TWI646487B (zh) 具權限分級和避免重複執行的智能合約執行系統及其方法
KR102634677B1 (ko) 호환 가능한 블록체인 네트워크 간의 자산 교환 방법
CN116029825B (zh) 区块链的交易方法、装置、系统、电子设备及存储介质
CN113034137A (zh) 基于区块链的数据处理方法、装置及相关设备
Arbabi et al. Decentralized and secure delivery network of iot update files based on ethereum smart contracts and blockchain technology
CN110619566A (zh) 通过链上数字货币结算的链上质押资产返还系统和方法
Yu et al. State synchronization in process-oriented chaincode
KR20200080462A (ko) 블록체인 기반의 토큰 거래 시스템
CN112150157A (zh) 通过区块链发行应收凭证的方法及装置
KR20200012688A (ko) 입출금 허용여부 정보의 등록에 보상을 수행하는 kyc 블록체인을 이용한 kyc 수행 장치

Legal Events

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