KR20220108302A - Method for exchanging asset between compatible blockchain networks - Google Patents

Method for exchanging asset between compatible blockchain networks Download PDF

Info

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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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 method for efficiently and safely exchanging assets in a blockchain network is executed by a relay entity relaying the exchange of assets and includes the steps of: (a) obtaining a meta transaction for consignment created for a smart contract for asset exchange transaction between a first entity and a second entity; (b) executing the smart contract through the meta transaction for consignment, withdrawing assets corresponding to the amount of exchange from each blockchain wallet, and depositing the same in the smart contract of each blockchain; and (c) executing a withdrawal transaction to execute a withdrawal so that the assets deposited in the smart contract are transferred to each counterparty as the meta transaction for consignment, which is for confirming that the assets corresponding to the respective exchange volume have been normally deposited, is obtained.

Description

호환 가능한 블록체인 네트워크 간의 자산 교환 방법{METHOD FOR EXCHANGING ASSET BETWEEN COMPATIBLE BLOCKCHAIN NETWORKS}METHOD FOR EXCHANGING ASSET BETWEEN COMPATIBLE BLOCKCHAIN NETWORKS

본 발명은 블록체인 네트워크에서의 자산 교환 방법에 관한 것으로서, 보다 구체적으로는 호환 가능한 블록체인 네트워크 간의 메타 트랜잭션(meta-tx)을 활용한 트랜잭션 전송 중계 방법을 이용하는 자산 전송 및 교환 방법에 관한 것이다.The present invention relates to an asset exchange method in a blockchain network, and more particularly, to an asset transfer and exchange method using a transaction transfer relay method utilizing meta-transactions (meta-tx) between compatible blockchain networks.

다양한 방식의 블록체인 토큰들이 만들어져 많은 사용자들에게 널리 보급되어 있으나 실생활에서 사용하기에는 많은 문제점이 있다. 그 중 가장 큰 문제는 사용성과 속도이며, 이 문제를 해결하기 위해 많은 개발자들이 노력을 하고 있다.Various types of blockchain tokens have been created and widely distributed to many users, but there are many problems in using them in real life. Among them, the biggest problem is usability and speed, and many developers are working hard to solve this problem.

상술한 문제를 해결하기 위해 많은 개발사들이 자사의 전용 블록체인들과 지갑과 같은 전용 소프트웨어들을 개발하고 있는데, 많은 블록체인들이 이더리움(ethereum)을 기초로 속도를 높이기 위해 거버넌스를 개량하되 개발사마다 자신에게 필요한 기능들을 추가하는 방식을 주로 채용하고 있다. 이렇게 만들어진 전용 블록체인들 마다의 차이는 크지 않다. 이것은 웹서핑을 할 때 사용자가 자신이 접속하는 인터넷 서비스가 구글 서버인지 아마존 서버인지 구분할 수 없는 것으로 비유해서 설명할 수 있다.To solve the above problem, many developers are developing their own dedicated block chains and dedicated software such as wallets. Many block chains improve governance to increase speed based on ethereum, but each developer The method of adding necessary functions is mainly adopted. There is not much difference between the dedicated block chains created in this way. This can be explained by analogy with the fact that when surfing the web, users cannot distinguish whether the Internet service they are accessing is a Google server or an Amazon server.

즉, 사용자에겐 웹 브라우저만 있으면 http 프로토콜을 통해 호스팅되는 서버에 상관없이 접속할 수 있어야 하고, 서비스 제공자 또한 서버의 종류와 상관없이 웹을 호스팅할 수 있어야 하는 것과 마찬가지로, 블록체인 서비스 제공자도 자신의 용도에 맞춰 블록체인을 고르기만 하면 블록체인 전용의 소프트웨어가 아니라 범용의 소프트웨어를 통해 자신의 서비스를 제공할 수 있어야 할 필요가 있다.In other words, as long as the user has a web browser, he/she must be able to access the server hosted through the http protocol regardless of the type of server, and the service provider must also be able to host the web regardless of the type of server, the blockchain service provider also has its own purpose. It is necessary to be able to provide one's own service through general-purpose software rather than blockchain-exclusive software if one chooses a blockchain according to the requirements.

기본적으로 이더리움과 이더리움을 하드 포크(hard fork)한 블록체인들은 매우 높은 수준의 호환성을 가지고 있기 때문에, 이것을 이용해 이더리움 호환 체인들을 사용자의 용도에 맞춰 혼합 사용을 할 수 있는 기술적 환경(즉, 블록체인을 구분해서 사용할 필요 없는 사용성이 높은 서비스)에 대한 사용자들의 요구가 점점 더 높아지고 있는 실정이다. 또한 이와 같이 호환 가능한 블록체인 네트워크 간에 자산 전송 및 교환을 보다 효율적으로 또한 보다 안전하게 할 수 있는 방법이 요구된다.Basically, since the blockchains that hard forked Ethereum and Ethereum have a very high level of compatibility, using this, a technical environment (i.e. , and a high usability service that does not require separate use of block chains) is a situation in which users are increasingly demanding. In addition, there is a need for a method that can make asset transfers and exchanges between such compatible blockchain networks more efficient and more secure.

본 발명은 호환 가능한 블록체인 네트워크 간의 메타 트랜잭션(meta-tx)을 활용한 트랜잭션 전송 중계 방법을 이용하는 자산 전송 및 교환 방법을 제공하기 위한 것이다.An object of the present invention is to provide an asset transfer and exchange method using a transaction transfer relay method utilizing meta-transactions (meta-tx) between compatible blockchain networks.

본 발명의 일 측면에 따르면, 자산 교환을 중계하는 중계 엔티티에 의해 실행되는 블록체인 네트워크에서의 자산 교환 방법으로서, (a) 제1 엔티티(entity)와 제2 엔티티 상호 간의 자산 교환 거래를 위한 스마트 컨트랙트를 위해 생성된 위탁용 메타 트랜잭션을 획득하는 단계; (b) 상기 위탁용 메타 트랜잭션을 통해 상기 스마트 컨트랙트를 실행하여, 각자의 교환 물량에 해당하는 자산을 각자의 블록체인 지갑에서 인출하여 각자의 블록체인의 스마트 컨트랙트에 예치시키는 단계; (c) 각자의 교환 물량에 해당하는 자산이 각각 정상적으로 예치되었음을 확인하는 승인용 메타 트랜잭션이 획득됨에 따라, 인출 트랜잭션을 실행하여 스마트 컨트랙트에 예치된 자산이 각각의 상대방에게 이전되도록 인출을 실행하는 단계;를 포함하는 블록체인 네트워크에서의 자산 교환 방법이 제공된다.According to one aspect of the present invention, there is provided an asset exchange method in a blockchain network executed by a relay entity that relays asset exchange, (a) a smart for asset exchange transaction between a first entity and a second entity. acquiring a meta-transaction for entrustment created for the contract; (b) executing the smart contract through the consignment meta transaction, withdrawing assets corresponding to each exchange amount from each blockchain wallet and depositing it in the smart contract of each blockchain; (c) As a meta-transaction for approval confirming that the assets corresponding to each exchange amount are normally deposited, executing the withdrawal transaction to execute the withdrawal so that the assets deposited in the smart contract are transferred to each counterparty; An asset exchange method in a blockchain network including ; is provided.

본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법에 의하면, 호환 가능한 블록체인 네트워크 간에 자산 전송 및 교환을 보다 효율적으로 또한 보다 안전하게 할 수 있는 효과가 있다.According to the asset exchange method between compatible blockchain networks according to an embodiment of the present invention, there is an effect that can make asset transfer and exchange between compatible blockchain networks more efficient and more secure.

도 1 및 도 2는 본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법을 설명하기 위한 플로우차트.1 and 2 are flowcharts for explaining an asset exchange method between compatible blockchain networks according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, numbers (eg, first, second, etc.) used in the description process of the present specification are merely identification symbols for distinguishing one component from other components.

또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다. 또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.Also, throughout the specification, when an element is referred to as “connected” or “connected” with another element, the one element may be directly connected to or directly connected to the other element, but in particular Unless there is a description to the contrary, it should be understood that they may be connected or connected through another element in the middle. In addition, throughout the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, terms such as "unit" and "module" described in the specification mean a unit that processes at least one function or operation, which means that it can be implemented as one or more hardware or software or a combination of hardware and software. .

이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명하되, 본 발명에 관한 이해를 돕기 위해 본 발명의 기술적 컨셉을 먼저 설명하기로 한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings, but the technical concept of the present invention will be first described to help the understanding of the present invention.

호환 가능한 블록체인들은 동일한 서명체계를 가지고 있으며, 해당 서명체계를 가지고 스마트 컨트랙트를 실행할 수 있다. 이에 따라 자신의 서명을 한 스마트 컨트랙트의 명령어(트랜잭션)를 제3자가 전송하여 스마트 컨트랙트를 실행할 수 있다. 본 발명에서는 이러한 방식을 이용해 호환 가능한 서로 다른 블록체인들(예를 들어, 이더리움(ethereum)과 이에 호환 가능한 이더리움 호환 체인들(ex. 클레이튼(klaytn) 블록체인 등)) 사이에서 자산을 전송하거나 교환하는 방법을 구현한다. 이를 순서에 따라 개괄적으로 설명하면 다음과 같다.Compatible blockchains have the same signature scheme, and smart contracts can be executed with the signature scheme. Accordingly, a third party can execute the smart contract by transmitting the command (transaction) of the smart contract that has signed it. In the present invention, assets are transferred between different compatible blockchains (eg, ethereum and compatible ethereum-compatible chains (eg, klaytn blockchain, etc.)) using this method. or implement an exchange method. These are briefly described in order as follows.

1. 거래를 시작한 당사자(본 명세서에서는 메이커(maker)라 명명함, 도 1 및 도 2의 '사용자 1'의 제1 엔티티 참조)는 옮겨갈 블록체인과 옮기고 싶은 자산을 책정하여 해당 내역을 명령어로 만들어 서명을 하여, 위변조가 불가능한 오프라인 트랜잭션을 만든다. 이렇게 만들어진 오프라인 트랜잭션은 공개된 장소에 공개하여 거래자를 찾거나, 혹은 1:1로 거래를 원하는 대상에게 전달한다. 본 명세서에서, 메이커는 자산 교환 또는 전송 명령어에 최초 서명한 사용자를 의미한다.1. The party who initiated the transaction (referred to as a maker in this specification, refer to the first entity of 'User 1' in FIGS. 1 and 2) determines the blockchain to be moved and the asset to be moved, and commands the corresponding details. It is created and signed to create an offline transaction that cannot be forged or tampered with. The offline transaction created in this way is published in a public place to find a trader or delivered to a target who wants to trade 1:1. As used herein, maker refers to the user who initially signed the asset exchange or transfer instruction.

2. 해당 거래에 동의한 상대방(본 명세서에서는 테이커(taker)라 명명함, 도 1 및 도 2의 '사용자 2'의 제2 엔티티 참조)은 메이커의 오프라인 트랜잭션을 이용하여 다시 자신의 서명을 추가한다. 본 명세서에서 테이커는 메이커의 전송 명령어에 자신의 서명을 추가하여 거래를 하고자 하는 자를 의미한다.2. The counterparty who has agreed to the transaction (referred to as a taker in this specification, refer to the second entity of 'User 2' in FIGS. 1 and 2) adds their signature again using the maker's offline transaction do. In this specification, a taker means a person who wants to make a transaction by adding his or her signature to the maker's transmission command.

3. 메이커와 테이커가 서명한 최종 오프라인 트렌젝션은 거래의 공정성을 위해 실행을 제3자(본 명세서에서는 중계인이라 명명함, 도 1 및 도 2의 '서비스'의 중계 엔티티 참조)에게 위탁한다. 본 명세서에서 중계인은 메이커와 테이커가 서명한 명령어를 2개의 블록체인에서 각각 실행을 해주는 자를 의미한다. 또한 본 명세서에서, 오프라인 트랜잭션이란 중계인이 실행할 수 있도록, 메이커와 테이커가 서명한 거래를 메타 트랜잭션으로 생성한 것을 의미한다.3. The final offline transaction signed by the maker and taker entrusts execution to a third party (referred to as a relay entity in this specification, refer to the relay entity of 'service' in FIGS. 1 and 2) for fairness of the transaction. In this specification, the relay means a person who executes the commands signed by the maker and the taker in two blockchains, respectively. Also, in this specification, an offline transaction means that a transaction signed by a maker and a taker is created as a meta transaction so that a relay can execute it.

4. 거래의 실행을 위탁받은 중계인은 해당 오프라인 트랜잭션을 실행하여, 양쪽의 블록체인에 거래하고자 하는 금액을 메이커와 테이커의 지갑에서 인출하여, 스마트 컨트랙트에 예치한다.4. The broker entrusted with the execution of the transaction executes the corresponding offline transaction, withdraws the amount to be transacted on both blockchains from the wallets of the maker and taker, and deposits it in the smart contract.

5. 메이커와 테이커는 서로 옮겨가고자 하는 블록체인의 자신의 지갑에 정당한 금액이 예치되어 있는지 확인을 한 후, 정확하게 예치가 되어 있다면, 승인 서명을 한다.5. The maker and the taker check whether the right amount is deposited in their wallet of the blockchain they want to transfer to, and if the deposit is correct, they sign the approval.

6. 메이커와 테이커의 승인 서명을 모두 받은 중계인은 둘의 서명을 모아 스마트 컨트랙트를 실행시킨다.6. The relayer who has received both the maker and taker approval signatures collects the signatures of the two and executes the smart contract.

7. 중계인은 승인 트랜잭션이 성공한 것을 확인한 후 인출 트랜잭션을 실행하여 각각의 사용자들에게 이전된 자산을 인출한다.7. After confirming that the approval transaction is successful, the relay executes a withdrawal transaction to withdraw the transferred assets to each user.

본 발명에서, 승인과 인출을 분리한 이유는 블록체인간 블록생성 시간의 차이에 의하여 어느 한쪽의 승인이 늦게 처리될 수 있기 때문이다. 이러한 점을 감안하여, 바로 인출을 하지 않고, 승인 상태와 인출 상태를 분리하였다. In the present invention, the reason for separating approval and withdrawal is that either of the approvals may be processed late due to the difference in block generation time between blockchains. In consideration of this point, the approval status and the withdrawal status were separated without direct withdrawal.

상술한 바와 같이, 본 발명에 의할 때, 거래를 시작하게 되면, 각 블록체인의 스마트 컨트랙트들은 메이커와 테이커의 자산들을 스마트 컨트랙트로 옮겨오게 되고(일종의 보증금 개념임), 메이커와 테이커가 옮겨가고자 하는 스마트 컨트랙트에 자산이 정확하게 예치되어 있는지 확인한 후 인출 명령어를 실행하여 메이커와 테이커는 각각의 자산을 자기 지갑으로 옮기게 된다.As described above, according to the present invention, when a transaction is started, the smart contracts of each block chain move the assets of the maker and the taker to the smart contract (a kind of deposit concept), and the maker and the taker want to move After confirming that the assets are correctly deposited in the smart contract that

8. 거래 제한 시간이 초과되거나 거래가 완료되지 않은 경우 사용자는 자신의 거래를 취소하고 자신의 자산을 찾아갈 수 있다. 만일 최종 서명을 한쪽만 하였거나(즉, 한 쪽만 승인 트랜잭션이 실행되었을 경우), 동시에 서명이 스마트 컨트랙트에 등록되지 않은 경우, 중계인은 거래를 무효화(취소)하고, 각자 자신의 자산을 되찾을 수 있도록 한다.8. If the transaction time limit is exceeded or the transaction is not completed, the user can cancel their transaction and retrieve their assets. If only one party made the final signature (i.e., only one party has executed an approved transaction), or if the signature is not registered in the smart contract at the same time, the relay can invalidate (cancel) the transaction and retrieve their own assets. let it be

도 1 및 도 2는 본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법을 설명하기 위한 플로우차트이다.1 and 2 are flowcharts for explaining an asset exchange method between compatible blockchain networks according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 본 발명의 실시예에 따른 호환 가능한 블록체인 네트워크 간의 자산 교환 방법은 자산 교환을 중계하는 중계 엔티티(도 1 및 도 2의 서비스)에 의해 실행되되, (a) 제1 엔티티(entity)(도 1 및 도 2의 사용자 1, 상술한 메이커 참조)와 제2 엔티티(도 1 및 도 2의 사용자 2, 상술한 테이커 참조) 상호 간의 자산 교환 거래를 위한 스마트 컨트랙트를 위해 생성된 위탁용 메타 트랜잭션을 획득하는 단계; (b) 상기 위탁용 메타 트랜잭션을 통해 상기 스마트 컨트랙트를 실행하여, 각자의 교환 물량에 해당하는 자산을 각자의 블록체인 지갑에서 인출하여 각자의 블록체인의 스마트 컨트랙트에 예치시키는 단계; (c) 각자의 교환 물량에 해당하는 자산이 각각 정상적으로 예치되었음을 확인하는 승인용 메타 트랜잭션이 획득됨에 따라, 인출 트랜잭션을 실행하여 스마트 컨트랙트에 예치된 자산이 각각의 상대방에게 이전되도록 인출을 실행하는 단계;를 포함한다.1 and 2, an asset exchange method between compatible blockchain networks according to an embodiment of the present invention is executed by a relay entity (a service in FIGS. 1 and 2) relaying asset exchange, (a) A smart contract for an asset exchange transaction between a first entity (User 1 in FIGS. 1 and 2, see the above-mentioned maker) and a second entity (User 2 in FIGS. 1 and 2, see the above-mentioned Taker) acquiring a meta-transaction for entrustment created for this purpose; (b) executing the smart contract through the consignment meta transaction, withdrawing assets corresponding to each exchange amount from each blockchain wallet and depositing it in the smart contract of each blockchain; (c) As a meta-transaction for approval confirming that the assets corresponding to each exchange amount are normally deposited, executing the withdrawal transaction to execute the withdrawal so that the assets deposited in the smart contract are transferred to each counterparty; includes ;

여기서, 상기 제1 엔티티는 특정 블록체인 플랫폼인 제1 블록체인(도 1 및에 자도 2의 블록체인 1)에 자산을 보유하고, 상기 제2 엔티티는 상기 제1 블록체인과 호환 가능한 다른 블록체인 플랫폼인 제2 블록체인(도 1 및 도 2의 블록체인 2)에 자산을 보유한다.Here, the first entity holds assets in a first blockchain (blockchain 1 in FIGS. 1 and 2), which is a specific blockchain platform, and the second entity is another blockchain compatible with the first blockchain. Assets are held on the platform, the second blockchain (blockchain 2 in FIGS. 1 and 2).

또한 여기서, 상기 위탁용 메타 트랜잭션 및 상기 승인용 메타 트랜잭션은, 상기 제1 엔티티 및 상기 제2 엔티티에게 트랜잭션 수수료를 부담시키지 않고 처리되는 트랜잭션이다. 이를 위해, 상기 중계 엔티티는, 상기 제1 엔티티 및 상기 제2 엔티티 간의 자산 교환 거래를 위해 발생되는 트랜잭션들에 관한 트랜잭션 수수료를 상기 제1 엔티티 및 상기 제2 엔티티를 대신하여 대납하여 해당 트랜잭션에 관한 스마트 컨트랙트가 실행되도록 하며, 상기 호환 가능한 블록체인 네트워크 간의 트랜잭션 전송 중계를 통해 상기 제1 엔티티와 상기 제2 엔티티 간의 자산 교환 거래를 중계할 수 있다.Also, here, the entrustment meta-transaction and the authorization meta-transaction are transactions processed without incurring a transaction fee to the first entity and the second entity. To this end, the relay entity pays a transaction fee for transactions generated for an asset exchange transaction between the first entity and the second entity on behalf of the first entity and the second entity, A smart contract is executed, and an asset exchange transaction between the first entity and the second entity can be relayed through the transaction transfer relay between the compatible blockchain networks.

본 발명에서, 상기 위탁용 메타 트랜잭션은, 상기 제1 엔티티에 의해 생성된 제1 위탁용 메타 트랜잭션 및 상기 제2 엔티티에 의해 생성된 제2 위탁용 메타 트랜잭션을 포함한다.In the present invention, the meta-transaction for entrustment includes a first meta-transaction for entrustment generated by the first entity and a second meta-transaction for entrustment generated by the second entity.

이때, 상기 제1 위탁용 메타 트랜잭션(도 1의 S110 참조)은, 스마트 컨트랙트의 실행을 위한 조건 명령어로서 기능하는 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 교환할 자산의 종류, 교환 물량, 거래유효 제한시간을 포함하고, 상기 제1 엔티티에 의한 서명을 포함하여 배포된다.At this time, the first meta-transaction for entrustment (refer to S110 in FIG. 1) is a transaction parameter that functions as a condition command for the execution of the smart contract. ID, type of asset to be exchanged, exchange amount, transaction validity time limit, and distribution including a signature by the first entity.

상기 제1 위탁용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.The execution function of the first entrustment meta transaction may be, for example, as follows.

function make(uint256[2] memory _chainids, address[2] memory _tokens,function make(uint256[2] memory _chainids, address[2] memory _tokens,

uint256[3] memory _amounts, uint256 _deadline)uint256[3] memory _amounts, uint256 _deadline)

메이커는 자신의 자산과 교환하고자 하는 자산과 자산이 유통되는 블록체인의 정보를 기록한 스마트 컨트랙트의 명령어를 만들어 서명을 한 후, 온라인 혹은 오프라인에 공개하거나, 자산 이전을 해주는 회사에 전송 신청을 한다. 이에 따라 메이커는 이 명령어를 메타 트랜잭션(meta-tx) 방법으로 오프라인 트랜잭션으로 만든다.A maker creates and signs a smart contract command that records the assets it wants to exchange with its own assets and the information on the blockchain in which the assets are circulated. Accordingly, the maker makes this command into an offline transaction with a meta-transaction (meta-tx) method.

이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _tokens : 교환하고자 하는 자산의 종류, iii) _amounts : 자신의 블록체인에서 전송할 양과, 받고 싶은 블록체인에서의 양(가치가 다르기 때문에 이 값은 서로 상이할 수 있음), iv) _deadline : 시간제한 (시간이 초과되면 이 작업은 수행되지 못함)이 포함된다.At this time, the arguments included in the execution function are: i) _chainids: own blockchain ID and ID of the blockchain to be transferred, ii) _tokens: type of asset to be exchanged, iii) _amounts: to be transferred from own blockchain It includes the amount and the amount on the blockchain that you want to receive (this value may be different because the value is different), iv) _deadline: time limit (this operation will not be performed if the time is exceeded).

또한 이때, 상기 제2 위탁용 메타 트랜잭션(도 1의 S120 참조)은, 상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제1 엔티티의 서명, 상기 제1 엔티티의 블록체인 지갑 주소를 포함하고, 상기 제2 엔티티에 의한 서명을 포함하여 배포된다.Also, at this time, the second meta-transaction for entrustment (refer to S120 of FIG. 1 ) is the transaction parameter, as the transaction parameters, included in the first meta-transaction for entrustment, the signature of the first entity, and the block of the first entity. It contains a chain wallet address and is distributed with a signature by the second entity.

상기 제2 위탁용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.The execution function of the second entrustment meta transaction may be, for example, as follows.

function take(uint256[2] memory _chainids, address[2] memory _tokens,function take(uint256[2] memory _chainids, address[2] memory _tokens,

uint256[3] memory _amounts, uint256 _deadline, address _maker, bytesuint256[3] memory _amounts, uint256 _deadline, address _maker, bytes

memory _sigMaker)memory_sigMaker)

다른 사용자(테이커), 혹은 자산을 이동시켜주는 회사는 메이커가 공개한 정보를 바탕으로 해당 거래내용에 자신의 서명을 추가하여 다시 온라인 혹은 오프라인에 공개한다. 이때, 테이커는 메이커가 만들어낸 오프라인 트랜젝션의 내용과 위의 명령어를 메타 트랜잭션(meta-tx)을 이용해 오프라인 트랜잭션으로 만든다.Other users (takers) or companies that move assets add their own signatures to the transaction based on the information disclosed by the maker and disclose them online or offline again. At this time, the taker makes the contents of the offline transaction created by the maker and the above command into an offline transaction using meta-transaction (meta-tx).

이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _tokens : 교환하고자 하는 자산의 종류, iii. _amounts : 자신의 블록체인에서 전송할 양과, 받고 싶은 블록체인에서의 양, iv) _deadline : 시간제한, v) _maker : 거래를 시작한 사용자의 지갑주소, vi) _sigMaker : 거래를 시작한 사용자가 자신의 거래를 서명한 것(이 서명을 가지고 거래가 정당한 사용자에 의해 만들어져 있는지 확인함)이 포함된다.At this time, the parameters included in the execution function are: i) _chainids: own block chain ID and block chain ID to be transferred, ii) _tokens: type of asset to be exchanged, iii. _amounts: Amount to be transmitted from their own blockchain and the amount from the blockchain they want to receive, iv) _deadline: time limit, v) _maker: wallet address of the user who initiated the transaction, vi) _sigMaker: The user who initiated the transaction Included is the signature (with this signature verifying that the transaction was made by a legitimate user).

본 발명에서는, 상기 (b) 단계에서, 예치용 메타 트랜잭션을 생성하는 단계[도 1의 S130]를 포함한다. 이때, 상기 예치용 메타 트랜잭션은, 상기 트랜잭션 파라미터로서, 상기 제2 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제2 엔티티의 서명, 상기 제2 엔티티의 블록체인 지갑 주소를 포함한다. 여기서, 상기 중계 엔티티는, 상기 예치용 메타 트랜잭션에 포함된 상기 거래유효 제한시간을 초과할 때까지 상기 자산 교환 거래가 유효하게 성립되지 않은 경우, 상기 예치된 자산이 각 엔티티에게 반환되도록 처리할 수 있다.In the present invention, in step (b), generating a meta transaction for deposit (S130 in FIG. 1) is included. In this case, the deposit meta-transaction includes, as the transaction parameters, a transaction parameter included in the second entrustment meta-transaction, a signature of the second entity, and a blockchain wallet address of the second entity. Here, if the asset exchange transaction is not validly established until the transaction validity time limit included in the deposit meta transaction is exceeded, the relay entity may process the deposited asset to be returned to each entity. .

상기 예치용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.The execution function of the meta transaction for deposit may be, for example, as follows.

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)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)을 통해 실행한다. 이때, 스마트 컨트랙트는 동일한 로직으로 서로 다른 블록체인에 배포된다. 이때, 중계인이 실행한 예치용 메타 트랜잭션은 메이커와 테이커가 이동시키도록 설정한 양의 자산을 스마트 컨트랙트로 이동시켜 예치합니다.The relay executes a smart contract that contains both the maker and taker signatures through meta-transactions (meta-tx). At this time, the smart contract is distributed to different blockchains with the same logic. At this time, the deposit meta-transaction executed by the relay transfers the amount of assets set by the maker and the taker to the smart contract and deposits it.

예치된 자산은 제한 시간 이후에 거래가 성립되지 않았을 경우 각 사용자들이 되찾아 갈 수 있도록 되어 있다. 혹은 서명을 양쪽 스마트 컨트랙트에 실행하였지만, 각 블록체인의 실행속도에 따라 한쪽만 실행되었을 경우에도 마찬가지로 거래는 완료되지 않습니다. 완료되지 못한 자산은 사용자가 직접 인출 할 수 있거나, 중계자가 돌려주게 된다.Deposited assets can be retrieved by each user if a transaction is not established after the time limit. Alternatively, even if the signature is executed on both smart contracts, but only one is executed depending on the execution speed of each block chain, the transaction is not completed as well. Uncompleted assets can be withdrawn directly by the user or returned by an intermediary.

이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _tokens : 교환하고자 하는 자산의 종류, iii) _amounts : 자신의 블록체인에서 전송할 양과, 받고 싶은 블록체인에서의 양, iv) _deadline : 시간제한, v) _signers : 메이커와 테이커의 지갑주소들, vi) _sigMaker : 거래를 시작한 사용자가 자신의 거래를 서명한 것, vii) _sigTaker : 거래를 수락한 사용자가 거래를 시작한 사용자의 거래 요청을 자신의 개인키로 다시 서명한 것을 포함한다.At this time, the arguments included in the execution function are: i) _chainids: own blockchain ID and ID of the blockchain to be transferred, ii) _tokens: type of asset to be exchanged, iii) _amounts: to be transferred from own blockchain Amount and amount in the block chain you want to receive, iv) _deadline: time limit, v) _signers: wallet addresses of the maker and taker, vi) _sigMaker: the user who initiated the transaction signed their transaction, vii) _sigTaker: This includes re-signing the transaction request of the user who initiated the transaction by the user who accepted the transaction with his/her private key.

본 발명에서, 상기 승인용 메타 트랜잭션[도 2의 S140 참조]은, 상기 제1 엔티티 및 상기 제2 엔티티에 의해 각각 생성되고, 상기 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함한다. 이때, 상기 중계 엔티티는, 상기 승인용 메타 트랜잭션이 상기 제1 엔티티 및 상기 제2 엔티티 각각으로부터 수신되지 않는 경우, 상기 자산 교환 거래를 무효화하고 상기 예치된 자산이 각 엔티티에게 반환되도록 처리할 수 있다.In the present invention, the meta-transaction for approval [see S140 in FIG. 2] is generated by the first entity and the second entity, respectively, and as the transaction parameters, a blockchain ID (Identifier) in which the asset is stored, the asset a blockchain ID to which to transfer, a first hash value obtained by hashing the signature of the first entrustment meta-transaction, and a second hash value obtained by hashing the signature of the second entrustment meta-transaction. At this time, when the meta-transaction for approval is not received from each of the first entity and the second entity, the relay entity may invalidate the asset exchange transaction and process the deposited asset to be returned to each entity. .

상기 승인용 메타 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.The execution function of the meta transaction for approval may be, for example, as follows.

confirm(uint256[2] memory _chainids, bytes32[2] memory _hashes)confirm(uint256[2] memory _chainids, bytes32[2] memory _hashes)

스마트 컨트랙트가 무사히 실행되어, 양쪽의 자산이 각각의 블록체인의 스마트 컨트랙트에 무사히 예치가 되면, 메이커와 테이커는 서로 옮겨갈 블록체인에서 자신의 몫으로 설정된 자산이 안전하게 예치되어 있는지 확인 후, 확인 명령어를 만들어 서명을 하여, 중계인에게 전송합니다. 예치금의 확인은 오프라인 트랜잭션의 해시를 통해 상대방의 블록체인의 스마트 컨트랙트에서 확인할 수 있다.When the smart contract is executed safely and the assets of both sides are safely deposited in the smart contract of each block chain, the maker and taker check whether the assets set as their share in the block chain to be transferred are safely deposited, and then confirm the command is created, signed, and sent to the relay. The confirmation of the deposit can be confirmed in the smart contract of the other party's blockchain through the hash of the offline transaction.

이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _hashes : 1 번 함수(제1 위탁용 메타 트랜잭션의 실행함수)와 2번 함수(제2 위탁용 메타 트랜잭션의 실행함수)의 서명을 해시화 한 것이 포함된다.At this time, the parameters included in the execution function are: i) _chainids: own block chain ID and ID of the block chain to be transferred, ii) _hashes: function 1 (execution function of the first entrustment meta transaction) and number 2 The hashed signature of the function (the execution function of the meta-transaction for the second entrustment) is included.

본 발명에서, 상기 (c) 단계는, 상기 승인용 메타 트랜잭션이 획득된 이후, 상기 인출 트랜잭션을 실행하기 전에, 인출 대기 트랜잭션을 생성하여 각 엔티티의 블록체인에서 실행하는 단계를 더 포함한다.In the present invention, the step (c) further includes, after the approval meta-transaction is obtained, before executing the withdrawal transaction, generating a waiting-for-withdraw transaction and executing it in the blockchain of each entity.

이때, 상기 인출 대기 트랜잭션[도 2의 S150 참조]은, 상기 트랜잭션 파라미터로서, 상기 승인용 메타 트랜잭션의 트랜잭션 파라미터, 상기 제2 엔티티의 승인용 메타 트랜잭션에 관한 상기 제1 엔티티에 의한 확인 서명, 상기 제1 엔티티의 승인용 메타 트랜잭션에 관한 상기 제2 엔티티에 의한 확인 서명을 포함한다.In this case, the transaction waiting for withdrawal (see S150 of FIG. 2 ) is, as the transaction parameters, a transaction parameter of the meta-transaction for approval, a confirmation signature by the first entity regarding the meta-transaction for approval of the second entity, and the and a confirming signature by the second entity regarding the meta-transaction for approval of the first entity.

상기 인출 대기 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.The execution function of the fetch waiting transaction may be, for example, as follows.

confirms(uint256[2] memory _chainids, bytes32[2] memory _hashes, bytes memory _sigMaker, bytes memory _sigTaker)confirms(uint256[2] memory _chainids, bytes32[2] memory _hashes, bytes memory _sigMaker, bytes memory _sigTaker)

중계인은 메이커와 테이커의 서명정보가 모두 모이면, 사용자들에게 인출대기를 할 수 있도록 서명된 트랜잭션을 각각의 블록체인에서 실행한다. 이때 인출을 바로 하지 않고 대기를 하는 이유는 블록체인의 실행속도와 상태에 따라 어느 한쪽이 실행되지 않을 가능성이 있기 때문이다.When the maker and taker signature information are all gathered, the relay executes the signed transaction on each block chain so that users can wait for withdrawal. At this time, the reason for waiting without withdrawing immediately is because there is a possibility that either one will not be executed depending on the execution speed and state of the block chain.

이때, 실행함수에 포함되는 인자로는, i) _chainids : 자신의 블록체인 아이디와 이전시키고 싶은 블록체인의 아이디, ii) _hashes : 1 번 함수(제1 위탁용 메타 트랜잭션의 실행함수)와 2번 함수(제2 위탁용 메타 트랜잭션의 실행함수)의 서명을 해시화 한 것, iii) _sigMaker : 메이커가 테이커의 입금 확인을 서명한 것(이 서명을 가지고 거래가 정당한 사용자에 의해 만들어져 있는지 확인함) iv) _sigTaker : 테이커가 메이커의 입금 확인을 서명한 것을 포함한다.At this time, the parameters included in the execution function are: i) _chainids: own block chain ID and ID of the block chain to be transferred, ii) _hashes: function 1 (execution function of the first entrustment meta transaction) and number 2 Hashing the signature of the function (the execution function of the second entrustment meta transaction), iii) _sigMaker: The maker signed the taker's deposit confirmation (using this signature to verify that the transaction was made by a legitimate user) iv ) _sigTaker: Contains the taker signing the maker's deposit confirmation.

또한 이때, 상기 인출 트랜잭션은, 상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함할 수 있다.Also, in this case, the withdrawal transaction may include, as the transaction parameters, a first hash value obtained by hashing the signature of the first entrustment meta-transaction, and a second hash value obtained by hashing the signature of the second entrustment meta-transaction. have.

상기 인출 트랜잭션의 실행함수는 예를 들어 다음과 같을 수 있다.The execution function of the withdrawal transaction may be, for example, as follows.

withdraw(bytes32 _hash) external lock returns (bool)withdraw(bytes32 _hash) external lock returns (bool)

인출대기 명령어가 제대로 실행되었으면, 중계인은 인출 명령어를 실행하여 각각 사용자들에게 인출을 실행한다.If the fetch waiting command is executed properly, the relay executes the fetch command to execute the retrieval to each user.

이때, 실행함수에 포함되는 인자로는, i) _hashes : 1 번 함수(제1 위탁용 메타 트랜잭션의 실행함수)와 2번 함수(제2 위탁용 메타 트랜잭션의 실행함수)의 서명을 해시화 한 것이 포함된다.At this time, the arguments included in the execution function are i) _hashes: hashed signatures of function 1 (execution function of the first meta-transaction for entrustment) and function 2 (execution function of the meta transaction for entrustment) thing is included

이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments of the present invention, those of ordinary skill in the art may variously modify the present invention within the scope not departing from the spirit and scope of the present invention described in the claims below. and can be changed.

Claims (6)

자산 교환을 중계하는 중계 엔티티에 의해 실행되는 블록체인 네트워크에서의 자산 교환 방법으로서,
(a) 제1 엔티티(entity)와 제2 엔티티 상호 간의 자산 교환 거래를 위한 스마트 컨트랙트를 위해 생성된 위탁용 메타 트랜잭션을 획득하는 단계;
(b) 상기 위탁용 메타 트랜잭션을 통해 상기 스마트 컨트랙트를 실행하여, 각자의 교환 물량에 해당하는 자산을 각자의 블록체인 지갑에서 인출하여 각자의 블록체인의 스마트 컨트랙트에 예치시키는 단계;
(c) 각자의 교환 물량에 해당하는 자산이 각각 정상적으로 예치되었음을 확인하는 승인용 메타 트랜잭션이 획득됨에 따라, 인출 트랜잭션을 실행하여 스마트 컨트랙트에 예치된 자산이 각각의 상대방에게 이전되도록 인출을 실행하는 단계;
를 포함하는 블록체인 네트워크에서의 자산 교환 방법.
A method of asset exchange in a blockchain network executed by a relay entity relaying asset exchange, comprising:
(a) acquiring a meta-transaction for entrustment created for a smart contract for an asset exchange transaction between a first entity and a second entity;
(b) executing the smart contract through the consignment meta transaction, withdrawing assets corresponding to each exchange amount from each blockchain wallet and depositing it in the smart contract of each blockchain;
(c) As the meta-transaction for approval confirming that the assets corresponding to each exchange amount are normally deposited, executing the withdrawal transaction to execute the withdrawal so that the assets deposited in the smart contract are transferred to each counterparty; ;
A method of asset exchange in a blockchain network that includes
제1항에 있어서,
상기 제1 엔티티는 특정 블록체인 플랫폼인 제1 블록체인에 자산을 보유하고, 상기 제2 엔티티는 상기 제1 블록체인과 호환 가능한 다른 블록체인 플랫폼인 제2 블록체인에 자산을 보유하고,
상기 위탁용 메타 트랜잭션 및 상기 승인용 메타 트랜잭션은, 상기 제1 엔티티 및 상기 제2 엔티티에게 트랜잭션 수수료를 부담시키지 않고 처리되는 트랜잭션이며,
상기 중계 엔티티는, 상기 제1 엔티티 및 상기 제2 엔티티 간의 자산 교환 거래를 위해 발생되는 트랜잭션들에 관한 트랜잭션 수수료를 상기 제1 엔티티 및 상기 제2 엔티티를 대신하여 대납하여 해당 트랜잭션에 관한 스마트 컨트랙트가 실행되도록 하며, 상기 호환 가능한 블록체인 네트워크 간의 트랜잭션 전송 중계를 통해 상기 제1 엔티티와 상기 제2 엔티티 간의 자산 교환 거래를 중계하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
According to claim 1,
The first entity holds assets in a first blockchain that is a specific blockchain platform, and the second entity holds assets in a second blockchain that is another blockchain platform compatible with the first blockchain,
The entrustment meta-transaction and the approval meta-transaction are transactions processed without incurring a transaction fee to the first entity and the second entity,
The relay entity pays a transaction fee for transactions generated for an asset exchange transaction between the first entity and the second entity on behalf of the first entity and the second entity, so that the smart contract for the transaction is and relaying an asset exchange transaction between the first entity and the second entity through a transaction transfer relay between the compatible blockchain networks.
제1항에 있어서,
상기 위탁용 메타 트랜잭션은,
상기 제1 엔티티에 의해 생성된 제1 위탁용 메타 트랜잭션 및 상기 제2 엔티티에 의해 생성된 제2 위탁용 메타 트랜잭션을 포함하고,
상기 제1 위탁용 메타 트랜잭션은,
스마트 컨트랙트의 실행을 위한 조건 명령어로서 기능하는 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 교환할 자산의 종류, 교환 물량, 거래유효 제한시간을 포함하고, 상기 제1 엔티티에 의한 서명을 포함하여 배포되고,
상기 제2 위탁용 메타 트랜잭션은,
상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제1 엔티티의 서명, 상기 제1 엔티티의 블록체인 지갑 주소를 포함하고, 상기 제2 엔티티에 의한 서명을 포함하여 배포되는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
According to claim 1,
The entrustment meta transaction is
a first meta-transaction for entrustment generated by the first entity and a second meta-transaction for entrustment generated by the second entity;
The first entrustment meta transaction is
As a transaction parameter that functions as a conditional command for the execution of a smart contract, it includes the blockchain ID (Identifier) where the asset is stored, the blockchain ID to transfer the asset, the type of asset to be exchanged, the amount of exchange, and the transaction validity time limit. , distributed including a signature by the first entity,
The second entrustment meta transaction is
As the transaction parameters, the transaction parameters included in the first entrustment meta-transaction, the signature of the first entity, and the blockchain wallet address of the first entity are distributed, including the signature by the second entity. An asset exchange method in a blockchain network, characterized in that.
제3항에 있어서,
상기 (b) 단계에서,
예치용 메타 트랜잭션을 생성하는 단계를 포함하고,
상기 예치용 메타 트랜잭션은,
상기 트랜잭션 파라미터로서, 상기 제2 위탁용 메타 트랜잭션에 포함된 트랜잭션 파라미터, 상기 제2 엔티티의 서명, 상기 제2 엔티티의 블록체인 지갑 주소를 포함하며,
상기 중계 엔티티는, 상기 예치용 메타 트랜잭션에 포함된 상기 거래유효 제한시간을 초과할 때까지 상기 자산 교환 거래가 유효하게 성립되지 않은 경우, 상기 예치된 자산이 각 엔티티에게 반환되도록 처리하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
4. The method of claim 3,
In step (b),
creating a meta-transaction for deposit;
The deposit meta transaction is
As the transaction parameters, it includes a transaction parameter included in the second entrustment meta-transaction, a signature of the second entity, and a blockchain wallet address of the second entity,
The relay entity, if the asset exchange transaction is not validly established until the transaction validity time limit included in the deposit meta-transaction is exceeded, the deposited asset is returned to each entity, characterized in that , a method of asset exchange in a blockchain network.
제4항에 있어서,
상기 승인용 메타 트랜잭션은,
상기 제1 엔티티 및 상기 제2 엔티티에 의해 각각 생성되고,
상기 트랜잭션 파라미터로서, 자산이 보관된 블록체인 ID(Identifier), 자산을 이전시킬 블록체인 ID, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함하고,
상기 중계 엔티티는, 상기 승인용 메타 트랜잭션이 상기 제1 엔티티 및 상기 제2 엔티티 각각으로부터 수신되지 않는 경우, 상기 자산 교환 거래를 무효화하고 상기 예치된 자산이 각 엔티티에게 반환되도록 처리하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
5. The method of claim 4,
The approval meta transaction is
generated by the first entity and the second entity, respectively;
As the transaction parameters, the blockchain ID (Identifier) in which the asset is stored, the blockchain ID to which the asset is to be transferred, the first hash value obtained by hashing the signature of the first entrustment meta transaction, and the signature of the second entrustment meta transaction Including a second hash value hashed,
the relay entity, if the meta-transaction for authorization is not received from each of the first entity and the second entity, invalidates the asset exchange transaction and processes the deposited asset to be returned to each entity , a method of asset exchange in a blockchain network.
제5항에 있어서,
상기 (c) 단계는,
상기 승인용 메타 트랜잭션이 획득된 이후, 상기 인출 트랜잭션을 실행하기 전에, 인출 대기 트랜잭션을 생성하여 각 엔티티의 블록체인에서 실행하는 단계를 더 포함하되,
상기 인출 대기 트랜잭션은,
상기 트랜잭션 파라미터로서, 상기 승인용 메타 트랜잭션의 트랜잭션 파라미터, 상기 제2 엔티티의 승인용 메타 트랜잭션에 관한 상기 제1 엔티티에 의한 확인 서명, 상기 제1 엔티티의 승인용 메타 트랜잭션에 관한 상기 제2 엔티티에 의한 확인 서명을 포함하고,
상기 인출 트랜잭션은,
상기 트랜잭션 파라미터로서, 상기 제1 위탁용 메타 트랜잭션의 서명을 해시한 제1 해시값, 상기 제2 위탁용 메타 트랜잭션의 서명을 해시한 제2 해시값을 포함하는 것을 특징으로 하는, 블록체인 네트워크에서의 자산 교환 방법.
6. The method of claim 5,
Step (c) is,
After the meta-transaction for approval is obtained, before executing the withdrawal transaction, generating a transaction waiting for withdrawal and executing the transaction in the blockchain of each entity,
The withdrawal waiting transaction is
As the transaction parameters, a transaction parameter of the meta-transaction for approval, a confirmation signature by the first entity for the meta-transaction for approval of the second entity, and a meta-transaction for approval of the first entity to the second entity related to the meta-transaction for approval including a confirmation signature by
The withdrawal transaction is
As the transaction parameter, a first hash value obtained by hashing the signature of the first meta-transaction for entrustment, and a second hash value obtained by hashing the signature of the second meta-transaction for entrustment. of asset exchange methods.
KR1020210011130A 2021-01-27 2021-01-27 Method for exchanging asset between compatible blockchain networks KR102634677B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210011130A KR102634677B1 (en) 2021-01-27 2021-01-27 Method for exchanging asset between compatible blockchain networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210011130A KR102634677B1 (en) 2021-01-27 2021-01-27 Method for exchanging asset between compatible blockchain networks

Publications (2)

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

Family

ID=82847177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210011130A KR102634677B1 (en) 2021-01-27 2021-01-27 Method for exchanging asset between compatible blockchain networks

Country Status (1)

Country Link
KR (1) KR102634677B1 (en)

Cited By (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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101355A (en) * 2015-11-30 2018-09-12 쉐이프시프트 아게 Systems and methods for improving security in exchanges of block-chain assets
KR20190019004A (en) * 2017-08-16 2019-02-26 김용태 The trading system and the method based on a blockchain
KR102209852B1 (en) * 2020-02-12 2021-01-29 현수영 Transaction transfer realy method between compatible blockchain networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101355A (en) * 2015-11-30 2018-09-12 쉐이프시프트 아게 Systems and methods for improving security in exchanges of block-chain assets
KR20190019004A (en) * 2017-08-16 2019-02-26 김용태 The trading system and the method based on a blockchain
KR102209852B1 (en) * 2020-02-12 2021-01-29 현수영 Transaction transfer realy method between compatible blockchain networks

Cited By (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

Also Published As

Publication number Publication date
KR102634677B1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
US20220084020A1 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
JP7429281B2 (en) Methods and systems for directing exchanges associated with tokens held anonymously on a blockchain
JP7241216B2 (en) Computer-implemented method and system for validating tokens for blockchain-based cryptocurrencies
CN108492180B (en) Asset management method and device and electronic equipment
JP7075393B2 (en) Systems and methods realized by blockchain
JP2019515534A (en) Method and system for controlling contract execution using distributed hash tables and peer-to-peer distributed ledgers
KR101936757B1 (en) Distributed Ledger Device and Distributed Ledger Method for Supporting Sharing Economy
CN108346100A (en) Assets management method and device, electronic equipment
CN111402033A (en) Asset information management method and device based on block chain
CN112613877A (en) Intelligent contract triggering method and device applied to block chain network and related equipment
CN109523380A (en) Across chain method of commerce and device
TWI646487B (en) Smart contract executing system with permission rating and avoid duplication and method thereof
KR102634677B1 (en) Method for exchanging asset between compatible blockchain networks
CN114418570A (en) Block chain-based non-homogeneous evidence-based processing method and device
CN116029825B (en) Block chain transaction method, device and system, electronic equipment and storage medium
Masseport et al. Proof of usage: User-centric consensus for data provision and exchange
Yu et al. State synchronization in process-oriented chaincode
KR20200080462A (en) System for token transaction based on block chain
CN112150157B (en) Method and device for issuing receivable certificate through block chain
Antal et al. Distributed Ledger Technology Review and Decentralized Applications Development Guidelines. Future Internet 2021, 13, 62
KR20200012688A (en) Apparatus for KYC using KYC blockchain
CN110751483A (en) Financial accounting and sales rushing method and device based on block chain and electronic equipment
Sigwart et al. Towards cross-blockchain smart contracts
CN117726334B (en) Financial data processing method and system
CN113240426B (en) Transaction method and system for realizing block chain user identity authentication based on intelligent contract

Legal Events

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