KR102439059B1 - Method for interconnecting heterogeneous blockchain platform and gateway apparatus for executing the same - Google Patents

Method for interconnecting heterogeneous blockchain platform and gateway apparatus for executing the same Download PDF

Info

Publication number
KR102439059B1
KR102439059B1 KR1020180061972A KR20180061972A KR102439059B1 KR 102439059 B1 KR102439059 B1 KR 102439059B1 KR 1020180061972 A KR1020180061972 A KR 1020180061972A KR 20180061972 A KR20180061972 A KR 20180061972A KR 102439059 B1 KR102439059 B1 KR 102439059B1
Authority
KR
South Korea
Prior art keywords
transaction
block
processing module
routing
payload
Prior art date
Application number
KR1020180061972A
Other languages
Korean (ko)
Other versions
KR20190136364A (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 KR1020180061972A priority Critical patent/KR102439059B1/en
Publication of KR20190136364A publication Critical patent/KR20190136364A/en
Application granted granted Critical
Publication of KR102439059B1 publication Critical patent/KR102439059B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

이기종 블록체인 플랫폼 간 데이터 연계 방법 및 이를 수행하기 위한 게이트웨이 장치가 제공된다. 본 발명의 일 실시예에 따른 게이트웨이 장치는, 블록(block)이 저장되는 복수의 노드(node)를 각각 포함하는 이기종 블록체인 플랫폼 간 데이터 연계를 위한 게이트웨이 장치로서, 제1 블록체인 플랫폼에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록을 각각 수신하고, 수신된 상기 블록에 포함된 트랜잭션 각각을 기 정의된 구조에 따라 표준화하여 큐(queue)에 저장하며, 상기 큐에 저장된 상기 트랜잭션을 중복 제거하고, 상기 트랜잭션으로부터 라우팅 정보를 추출하는 제1 블록 처리 모듈; 상기 제1 블록 처리 모듈로부터 표준화된 상기 트랜잭션 및 상기 라우팅 정보를 수신하고, 상기 라우팅 정보를 기초로 표준화된 상기 트랜잭션을 상기 제1 블록체인 플랫폼과 상이한 종류의 제2 블록체인 플랫폼에서 처리 가능한 표준화된 데이터 구조의 페이로드(payload)로 변환하는 라우팅 모듈; 및 상기 라우팅 모듈로부터 상기 페이로드를 수신하고, 상기 제2 블록체인 플랫폼에 포함된 노드로 상기 페이로드를 전송하는 제2 블록 처리 모듈을 포함하는, 게이트웨이 장치가 제공된다.A data linkage method between heterogeneous blockchain platforms and a gateway device for performing the same are provided. A gateway device according to an embodiment of the present invention is a gateway device for data linkage between heterogeneous blockchain platforms each including a plurality of nodes in which blocks are stored, and is included in the first blockchain platform. Receive blocks from two or more nodes set among a plurality of nodes, standardize each transaction included in the received block according to a predefined structure, store it in a queue, and deduplicate the transactions stored in the queue and a first block processing module for extracting routing information from the transaction; Receive the standardized transaction and the routing information from the first block processing module, and process the standardized transaction based on the routing information in a second block chain platform different from the first block chain platform a routing module that converts the data structure into a payload; and a second block processing module that receives the payload from the routing module and transmits the payload to a node included in the second blockchain platform.

Description

이기종 블록체인 플랫폼 간 데이터 연계 방법 및 이를 수행하기 위한 게이트웨이 장치{METHOD FOR INTERCONNECTING HETEROGENEOUS BLOCKCHAIN PLATFORM AND GATEWAY APPARATUS FOR EXECUTING THE SAME}Data linkage method between heterogeneous blockchain platforms and a gateway device for performing the same

본 발명의 실시예들은 서로 다른 종류의 블록체인 플랫폼 간에 데이터를 연계하는 기술과 관련된다.Embodiments of the present invention relate to technology for linking data between different types of blockchain platforms.

블록체인(blockchain)은 네트워크에 참여하는 각 사용자가 거래 내역 등과 같은 데이터가 담긴 블록을 분산 저장하는 기술이다. 각 블록들은 생성될 때마다 생성된 시간 순으로 순차적으로 연결되어 체인(chain) 구조를 이루게 된다. 이러한 블록체인은 금융 거래, 보안, 암호화폐 등 다양한 분야에서 적용되고 있으며, 그 적용 분야는 점차 증가하고 있다. 또한, 최근에는 하이퍼렛져(Hyperledger), 이더리움(Ethereum), R3 코다(Corda) 등과 같은 다양한 블록체인 플랫폼이 등장하였다.Blockchain is a technology in which each user participating in the network distributes and stores blocks containing data such as transaction details. Whenever each block is created, it is sequentially connected in the order of creation time to form a chain structure. These blockchains are being applied in various fields such as financial transactions, security, and cryptocurrency, and the fields of application are gradually increasing. In addition, various blockchain platforms such as Hyperledger, Ethereum, and R3 Corda have recently appeared.

그러나, 블록체인의 경우 전세계 표준이 없어 각 업체별/국가별로 그 업무 또는 특성에 맞는 블록체인 플랫폼을 선택하여 사용하고 있으며, 이기종 블록체인 플랫폼 간에 상호 연계가 불가능한 문제가 있다. 종래에는 이기종 블록체인 플랫폼 사용을 위해 각 블록체인 플랫폼에서 제공하는 클라이언트 프로그램을 단말에 각각 설치하여야 하였으며, 이들간 연계가 불가능하여 중복 입력 등의 이슈가 발생하였다.However, in the case of blockchain, there is no global standard, so each company/country selects and uses a blockchain platform that suits their business or characteristics, and there is a problem in that it is impossible to interconnect between heterogeneous blockchain platforms. Conventionally, in order to use a heterogeneous block chain platform, each client program provided by each block chain platform had to be installed in the terminal, and it was impossible to link them, causing issues such as duplicate input.

한국등록특허공보 제10-1851261호(2018.04.23)Korean Patent Publication No. 10-1851261 (2018.04.23)

본 발명의 실시예들은 이기종 블록체인 플랫폼 간에 표준화된 방식으로 데이터를 상호 연계시키는 수단을 제공하기 위한 것이다.Embodiments of the present invention are intended to provide a means for correlating data in a standardized manner between heterogeneous blockchain platforms.

예시적인 실시예에 따르면, 블록(block)이 저장되는 복수의 노드(node)를 각각 포함하는 이기종 블록체인 플랫폼 간 데이터 연계를 위한 게이트웨이 장치로서, 제1 블록체인 플랫폼에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록을 각각 수신하고, 수신된 상기 블록에 포함된 트랜잭션 각각을 기 정의된 구조에 따라 표준화하여 큐(queue)에 저장하며, 상기 큐에 저장된 상기 트랜잭션을 중복 제거하고, 상기 트랜잭션으로부터 라우팅 정보를 추출하는 제1 블록 처리 모듈; 상기 제1 블록 처리 모듈로부터 표준화된 상기 트랜잭션 및 상기 라우팅 정보를 수신하고, 상기 라우팅 정보를 기초로 표준화된 상기 트랜잭션을 상기 제1 블록체인 플랫폼과 상이한 종류의 제2 블록체인 플랫폼에서 처리 가능한 표준화된 데이터 구조의 페이로드(payload)로 변환하는 라우팅 모듈; 및 상기 라우팅 모듈로부터 상기 페이로드를 수신하고, 상기 제2 블록체인 플랫폼에 포함된 노드로 상기 페이로드를 전송하는 제2 블록 처리 모듈을 포함하는, 게이트웨이 장치가 제공된다.According to an exemplary embodiment, as a gateway device for data connection between heterogeneous blockchain platforms each including a plurality of nodes in which blocks are stored, set among a plurality of nodes included in the first blockchain platform. Each block is received from two or more nodes, each transaction included in the received block is standardized according to a predefined structure and stored in a queue, the transaction stored in the queue is deduplicated, and from the transaction a first block processing module for extracting routing information; Receive the standardized transaction and the routing information from the first block processing module, and process the standardized transaction based on the routing information in a second block chain platform different from the first block chain platform a routing module that converts the data structure into a payload; and a second block processing module that receives the payload from the routing module and transmits the payload to a node included in the second blockchain platform.

상기 제1 블록 처리 모듈은, 상기 블록 각각의 시퀀스 넘버(sequence number) 또는 상기 블록 각각에 포함된 트랜잭션 아이디를 기초로 상기 큐에 저장된 상기 트랜잭션을 중복 제거할 수 있다.The first block processing module may deduplicate the transaction stored in the queue based on a sequence number of each block or a transaction ID included in each block.

상기 라우팅 정보는, 상기 트랜잭션에 대한 송신자 정보, 수신자 정보 및 상기 트랜잭션의 종류를 포함할 수 있다.The routing information may include sender information about the transaction, receiver information, and a type of the transaction.

상기 라우팅 모듈은, 상기 라우팅 정보를 참조하여 상기 트랜잭션이 전송될 상기 제2 블록 처리 모듈을 결정할 수 있다.The routing module may determine the second block processing module to which the transaction is to be transmitted with reference to the routing information.

상기 라우팅 모듈은, 상기 트랜잭션으로부터 송신 대상이 되는 데이터를 추출하고, 상기 데이터를 포함하는 상기 페이로드를 생성할 수 있다.The routing module may extract data to be transmitted from the transaction and generate the payload including the data.

상기 제1 블록 처리 모듈에서 표준화된 데이터의 구조는, 각 블록체인 플랫폼과 관계 없이 동일하며, 상기 페이로드의 데이터 구조는, 상기 라우팅 정보에 포함된 수신자 정보에 따라 달라질 수 있다.The data structure standardized in the first block processing module is the same regardless of each block chain platform, and the data structure of the payload may vary according to recipient information included in the routing information.

다른 예시적인 실시예에 따르면, 블록(block)이 저장되는 복수의 노드(node)를 각각 포함하는 이기종 블록체인 플랫폼 간 데이터 연계를 위한 게이트웨이 장치에서 수행되는 데이터 연계 방법으로서, 제1 블록 처리 모듈에서, 제1 블록체인 플랫폼에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록을 각각 수신하는 단계; 상기 제1 블록 처리 모듈에서, 수신된 상기 블록에 포함된 트랜잭션 각각을 기 정의된 구조에 따라 표준화하여 큐(queue)에 저장하는 단계; 상기 제1 블록 처리 모듈에서, 상기 큐에 저장된 상기 트랜잭션을 중복 제거하는 단계; 상기 제1 블록 처리 모듈에서, 상기 트랜잭션으로부터 라우팅 정보를 추출하는 단계; 라우팅 모듈에서, 상기 제1 블록 처리 모듈로부터 표준화된 상기 트랜잭션 및 상기 라우팅 정보를 수신하는 단계; 상기 라우팅 모듈에서, 상기 라우팅 정보를 기초로 표준화된 상기 트랜잭션을 상기 제1 블록체인 플랫폼과 상이한 종류의 제2 블록체인 플랫폼에서 처리 가능한 표준화된 데이터 구조의 페이로드(payload)로 변환하는 단계; 제2 블록 처리 모듈에서, 상기 라우팅 모듈로부터 상기 페이로드를 수신하는 단계; 및 상기 제2 블록 처리 모듈에서, 상기 제2 블록체인 플랫폼에 포함된 노드로 상기 페이로드를 전송하는 단계를 포함하는, 데이터 연계 방법이 제공된다.According to another exemplary embodiment, as a data linkage method performed in a gateway device for data linkage between heterogeneous blockchain platforms each including a plurality of nodes in which blocks are stored, in the first block processing module , receiving each block from two or more nodes set among a plurality of nodes included in the first blockchain platform; standardizing, in the first block processing module, each transaction included in the received block according to a predefined structure and storing it in a queue; deduplicating, in the first block processing module, the transaction stored in the queue; extracting, in the first block processing module, routing information from the transaction; receiving, in a routing module, the standardized transaction and the routing information from the first block processing module; converting, in the routing module, the standardized transaction based on the routing information into a payload of a standardized data structure that can be processed in a second block chain platform different from the first block chain platform; receiving, in a second block processing module, the payload from the routing module; and transmitting, in the second block processing module, the payload to a node included in the second blockchain platform.

상기 트랜잭션을 중복 제거하는 단계는, 상기 블록 각각의 시퀀스 넘버(sequence number) 또는 상기 블록 각각에 포함된 트랜잭션 아이디를 기초로 상기 큐에 저장된 상기 트랜잭션을 중복 제거할 수 있다.In the deduplication of the transaction, the transaction stored in the queue may be deduplicated based on a sequence number of each of the blocks or a transaction ID included in each of the blocks.

상기 라우팅 정보는, 상기 트랜잭션에 대한 송신자 정보, 수신자 정보 및 상기 트랜잭션의 종류를 포함할 수 있다.The routing information may include sender information about the transaction, receiver information, and a type of the transaction.

상기 데이터 연계 방법은, 상기 라우팅 모듈에서, 상기 라우팅 정보를 참조하여 상기 트랜잭션이 전송될 상기 제2 블록 처리 모듈을 결정하는 단계를 더 포함할 수 있다.The data association method may further include, in the routing module, determining the second block processing module to which the transaction is to be transmitted by referring to the routing information.

상기 트랜잭션을 상기 페이로드로 변환하는 단계는, 상기 트랜잭션으로부터 송신 대상이 되는 데이터를 추출하고, 상기 데이터를 포함하는 상기 페이로드를 생성할 수 있다.The converting of the transaction into the payload may include extracting data to be transmitted from the transaction and generating the payload including the data.

상기 제1 블록 처리 모듈에서 표준화된 데이터의 구조는, 각 블록체인 플랫폼과 관계 없이 동일하며, 상기 페이로드의 데이터 구조는, 상기 라우팅 정보에 포함된 수신자 정보에 따라 달라질 수 있다.The data structure standardized in the first block processing module is the same regardless of each block chain platform, and the data structure of the payload may vary according to recipient information included in the routing information.

본 발명의 실시예들에 따르면, 제1 블록체인 플랫폼으로부터 수신된 블록에 포함된 트랜잭션을 표준화한 후 제2 블록체인 플랫폼에서 처리 가능한 표준화된 데이터 구조(페이로드)로 변환하여 상기 제2 블록체인 플랫폼으로 전달함으로써, 이기종 블록체인 플랫폼 간에 표준화된 방식으로 데이터를 상호 연계시킬 수 있다.According to embodiments of the present invention, after standardizing the transaction included in the block received from the first blockchain platform, it is converted into a standardized data structure (payload) that can be processed by the second blockchain platform, and the second blockchain By passing it to the platform, it is possible to correlate data across heterogeneous blockchain platforms in a standardized way.

또한, 본 발명의 실시예들에 따르면, 각 블록체인 플랫폼에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록 각각 수신한 후 상기 블록에 포함된 트랜잭션을 큐에 저장하도록 함으로써, 상기 설정된 둘 이상의 노드 중 일부 노드에서 장애, 연결 단절 등의 이유로 블록을 정상적으로 송신하지 못하더라도 상기 설정된 둘 이상의 노드 중 상기 일부 노드를 제외한 다른 노드로부터 상기 블록에 포함된 트랜잭션을 정상적으로 수신할 수 있게 된다.In addition, according to embodiments of the present invention, after receiving each block from two or more set nodes among a plurality of nodes included in each block chain platform, the transaction included in the block is stored in a queue, so that the set two or more nodes Even if some nodes fail to transmit the block normally due to a failure or disconnection of the connection, the transaction included in the block can be normally received from other nodes except for the some nodes among the two or more set nodes.

도 1은 본 발명의 일 실시예에 따른 통신 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 이기종 블록체인 플랫폼 간 데이터가 전달되는 과정을 설명하기 위한 예시
도 3은 본 발명의 일 실시예에 따른 블록 처리 모듈의 상세 구성을 나타낸 블록도
도 4는 본 발명의 일 실시예에 따른 게이트웨이 장치에서 이기종 블록체인 플랫폼 간 데이터를 연계하는 방법을 설명하기 위한 흐름도
도 5는 본 발명의 일 실시예에 따른 블록에 포함되는 데이터의 예시
도 6은 본 발명의 일 실시예에 따른 라우팅 정보의 예시
도 7은 본 발명의 일 실시예에 따른 페이로드의 예시
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram showing a detailed configuration of a communication system according to an embodiment of the present invention;
2 is an example for explaining a process of transferring data between heterogeneous blockchain platforms according to an embodiment of the present invention;
3 is a block diagram illustrating a detailed configuration of a block processing module according to an embodiment of the present invention;
4 is a flowchart for explaining a method of associating data between heterogeneous blockchain platforms in a gateway device according to an embodiment of the present invention.
5 is an example of data included in a block according to an embodiment of the present invention;
6 is an example of routing information according to an embodiment of the present invention;
7 is an example of a payload according to an embodiment of the present invention;
8 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments;

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and/or systems described herein. However, this is merely an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing embodiments of the present invention only, and should in no way be limiting. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. In this description, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, acts, elements, some or a combination thereof, one or more other than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, acts, elements, or any part or combination thereof.

도 1은 본 발명의 일 실시예에 따른 통신 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 통신 시스템(100)은 게이트웨이 장치(102) 및 복수의 블록체인 플랫폼(104)을 포함한다.1 is a block diagram showing a detailed configuration of a communication system 100 according to an embodiment of the present invention. As shown in FIG. 1 , the communication system 100 according to an embodiment of the present invention includes a gateway device 102 and a plurality of blockchain platforms 104 .

게이트웨이 장치(102)는 블록(block)이 저장되는 복수의 노드(node)를 각각 포함하는 이기종 블록체인 플랫폼(104) 간 데이터 연계를 위한 장치이다. 여기서, 블록체인 플랫폼(104)은 블록체인(blockchain)을 통해 금융 거래, 보안 등과 같은 각종 서비스를 제공하는 시스템을 의미한다. 본 실시예들에 있어서, 블록체인 플랫폼(104)은 예를 들어, 하이퍼렛져(Hyperledger), 이더리움(Ethereum), R3 코다(Corda) 등이 될 수 있으나 블록체인 플랫폼(104)의 종류가 이에 한정되는 것은 아니다.The gateway device 102 is a device for data linkage between heterogeneous blockchain platforms 104 each including a plurality of nodes in which blocks are stored. Here, the block chain platform 104 refers to a system that provides various services such as financial transactions and security through a block chain. In the present embodiments, the blockchain platform 104 may be, for example, Hyperledger, Ethereum, R3 Corda, or the like, but the type of the blockchain platform 104 is different from this. It is not limited.

블록체인의 경우 전세계 표준이 없어 각 업체별/국가별로 그 업무 또는 특성에 맞는 블록체인 플랫폼(104)을 선택하여 사용하고 있으며, 게이트웨이 장치(102)는 이러한 이기종 블록체인 플랫폼(104) 사이에서 데이터를 중계할 수 있다. 도 1을 참조하면, 게이트웨이 장치(102)의 좌측에 위치한 블록체인 플랫폼(104)은 예를 들어, 특정 서비스를 제공하는 기업에서 사용하는 블록체인 플랫폼일 수 있으며, 게이트웨이 장치(102)의 우측에 위치한 블록체인 플랫폼(104)은 예를 들어, 상기 기업의 자회사, 계열사 등에서 사용하는 블록체인 플랫폼일 수 있다. In the case of blockchain, there is no worldwide standard, and each company/country selects and uses a blockchain platform 104 suitable for its business or characteristics, and the gateway device 102 transmits data between these heterogeneous blockchain platforms 104. can be relayed. Referring to FIG. 1 , the blockchain platform 104 located on the left side of the gateway device 102 may be, for example, a blockchain platform used by a company that provides a specific service, and is located on the right side of the gateway device 102 . The located blockchain platform 104 may be, for example, a blockchain platform used by a subsidiary or affiliate of the company.

게이트웨이 장치(102)는 블록체인 플랫폼(104)에 포함된 복수의 노드 중 적어도 둘 이상의 노드와 통신함으로써 이기종 블록체인 플랫폼 사이에서 데이터를 중계할 수 있다.The gateway device 102 may relay data between heterogeneous blockchain platforms by communicating with at least two or more nodes among a plurality of nodes included in the blockchain platform 104 .

일 예시로서, 게이트웨이 장치(102)는 블록체인 플랫폼 #1(예를 들어, 하이퍼렛져)과 블록체인 플랫폼 #2(예를 들어, 이더리움) 사이에서 데이터를 중계할 수 있다.As an example, the gateway device 102 may relay data between the blockchain platform #1 (eg, Hyperledger) and the blockchain platform #2 (eg, Ethereum).

도 2는 본 발명의 일 실시예에 따른 이기종 블록체인 플랫폼(104) 간 데이터가 전달되는 과정을 설명하기 위한 예시이다.2 is an example for explaining a process of transferring data between heterogeneous blockchain platforms 104 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 게이트웨이 장치(102)는 복수의 블록 처리 모듈(202) 및 라우팅 모듈(204)을 포함할 수 있다.As shown in FIG. 2 , the gateway device 102 according to an embodiment of the present invention may include a plurality of block processing modules 202 and a routing module 204 .

블록 처리 모듈(202)은 특정 블록체인 플랫폼(104)에서 송수신되는 블록을 처리하기 위한 모듈이다. 일 예시로서, 블록 처리 모듈 #1은 블록체인 플랫폼 #1(예를 들어, 하이퍼렛져)에서 송수신되는 블록을 처리하기 위한 모듈이며, 블록 처리 모듈 #2는 블록체인 플랫폼 #2(예를 들어, 이더리움)에서 송수신되는 블록을 처리하기 위한 모듈이며, 블록 처리 모듈 #3은 블록체인 플랫폼 #3(예를 들어, R3 코다)에서 송수신되는 블록을 처리하기 위한 모듈이다.The block processing module 202 is a module for processing blocks transmitted and received on a specific blockchain platform 104 . As an example, the block processing module #1 is a module for processing blocks transmitted and received on the blockchain platform #1 (eg, Hyperledger), and the block processing module #2 is the blockchain platform #2 (eg, It is a module for processing blocks transmitted/received from Ethereum), and block processing module #3 is a module for processing blocks transmitted/received from block chain platform #3 (eg, R3 coda).

이하에서는 설명의 편의상 게이트웨이 장치(102)가 블록체인 플랫폼 #1과 블록체인 플랫폼 #2 사이에서 데이터를 중계하는 것으로 가정한다. 이때, 블록 송신자인 블록체인 플랫폼 #1을 제1 블록체인 플랫폼(104-1)이라 칭하고, 블록 수신자인 블록체인 플랫폼 #2를 제2 블록체인 플랫폼(104-2)이라 칭하기로 한다. 또한, 제1 블록체인 플랫폼(104-1)으로부터 블록을 수신하는 블록 처리 모듈 #1을 제1 블록 처리 모듈(202-1)이라 칭하고, 제2 블록체인 플랫폼(104-2)으로 후술할 페이로드(payload)를 전달하는 블록 처리 모듈 #2를 제2 블록 처리 모듈(202-2)이라 칭하기로 한다. Hereinafter, for convenience of description, it is assumed that the gateway device 102 relays data between the blockchain platform #1 and the blockchain platform #2. At this time, the block chain platform #1, which is the block sender, will be referred to as a first block chain platform 104-1, and the block chain platform #2, which is the block receiver, will be referred to as a second block chain platform 104-2. In addition, the block processing module #1 that receives the block from the first block chain platform 104-1 is called the first block processing module 202-1, and the second block chain platform 104-2, which will be described later. The block processing module #2 that transmits a payload will be referred to as a second block processing module 202-2.

이상과 같은 가정에서, 데이터의 흐름을 정리하면 아래와 같다.Assuming the above assumptions, the flow of data is summarized as follows.

제1 블록체인 플랫폼(104-1) → 제1 블록 처리 모듈(202-1) → 라우팅 모듈(204) → 제2 블록 처리 모듈(202-2) → 제2 블록체인 플랫폼(104-2)The first block chain platform (104-1) → the first block processing module (202-1) → the routing module (204) → the second block processing module (202-2) → the second block chain platform (104-2)

한편, 여기서는 설명의 편의상 블록 처리 모듈(202)을 제1 블록 처리 모듈(202-1)과 제2 블록 처리 모듈(202-2)로 구분하였을 뿐, 각 블록 처리 모듈(202)은 동일 또는 유사한 기능을 수행하도록 구성될 수 있다.Meanwhile, here, for convenience of description, the block processing module 202 is only divided into a first block processing module 202-1 and a second block processing module 202-2, and each block processing module 202 is the same or similar. may be configured to perform a function.

또한, 라우팅 모듈(204)은 복수의 블록 처리 모듈(202) 사이에서 데이터 변환 및 라우팅을 담당하는 모듈이다. 라우팅 모듈(204)은 제1 블록 처리 모듈(202-1)로부터 블록에 포함된 트랜잭션 및 상기 트랜잭션의 라우팅 정보를 수신하고, 상기 라우팅 정보를 참조하여 트랜잭션이 전송될 제2 블록 처리 모듈(202-2)을 결정할 수 있다. 또한, 라우팅 모듈(204)은 상기 라우팅 정보를 기초로 상기 트랜잭션을 페이로드로 변환하고, 상기 페이로드를 제2 블록 처리 모듈(202-2)로 전송할 수 있다.In addition, the routing module 204 is a module responsible for data conversion and routing among the plurality of block processing modules 202 . The routing module 204 receives the transaction included in the block and routing information of the transaction from the first block processing module 202-1, and refers to the routing information to the second block processing module 202- to which the transaction is transmitted. 2) can be determined. In addition, the routing module 204 may convert the transaction into a payload based on the routing information, and transmit the payload to the second block processing module 202 - 2 .

도 3은 본 발명의 일 실시예에 따른 블록 처리 모듈(202)의 상세 구성을 나타낸 블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 블록 처리 모듈(202)은 수신측 컴포넌트(300)와 송신측 컴포넌트(400)를 포함한다.3 is a block diagram showing a detailed configuration of the block processing module 202 according to an embodiment of the present invention. As shown in FIG. 3 , the block processing module 202 according to an embodiment of the present invention includes a receiving-side component 300 and a transmitting-side component 400 .

수신측 컴포넌트(300)는 블록체인 플랫폼(104)으로부터 블록을 수신하고 이를 처리하기 위한 컴포넌트들로서, 블록 수신부(302), 큐(304, Queue), 트랜잭션 처리부(306) 및 인바운드 핸들러(308, Inbound Handler)를 포함할 수 있다.The receiving-side component 300 is components for receiving and processing a block from the blockchain platform 104, and includes a block receiving unit 302, a queue 304, Queue, a transaction processing unit 306, and an inbound handler 308, Inbound. Handler) may be included.

블록 수신부(302)는 블록체인 플랫폼(104)으로부터 블록(즉, 하나 이상의 트랜잭션을 포함하는 데이터 집합)을 수신한다. 이때, 블록 수신부(302)는 각 블록체인 플랫폼(104)에 포함된 복수의 노드 중 설정된 둘 이상의 노드(예를 들어, 3개의 노드)를 지속적으로 모니터링함으로써 새로운 블록이 생성(또는 저장)되는지의 여부를 확인하고, 새로운 블록이 생성되는 경우 상기 설정된 둘 이상의 노드 각각으로부터 상기 블록(또는 상기 블록에 포함된 트랜잭션)을 수신할 수 있다. 각 블록체인 플랫폼(104)은 복수의 노드를 포함하고 있으며, 새로운 블록이 생성될 때마다 생성된 블록이 상기 노드 모두에 각각 저장된다. 블록 수신부(302)는 이들 노드 중 설정된 하나의 노드로부터 새롭게 생성된 블록을 수신할 수 있으나, 상기 설정된 하나의 노드에서 장애가 발생하거나 상기 설정된 하나의 노드와의 연결이 끊어지는 경우 상기 새롭게 생성된 블록을 수신할 수 없게 된다. 이에 따라, 본 실시예들에서는 블록 수신부(302)가 각 블록체인 플랫폼(104)에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 상기 새롭게 생성된 블록을 각각 수신할 수 있도록 하였다. 이 경우, 상기 설정된 둘 이상의 노드 중 일부 노드에서 장애, 연결 단절 등의 이유로 블록을 정상적으로 송신하지 못하더라도 상기 설정된 둘 이상의 노드 중 상기 일부 노드를 제외한 다른 노드로부터 상기 새롭게 생성된 블록을 정상적으로 수신할 수 있게 되며, 이에 따라 통신 시스템(100)의 고가용성(HA, High Availability)을 보장할 수 있게 된다. 이를 위해, 블록 수신부(302)는 모니터링 대상이 되는 둘 이상의 노드에 관한 설정 정보(예를 들어, 노드의 아이디, 아이피 주소 등)를 미리 구비할 수 있으며, 상기 설정 정보를 이용하여 상기 둘 이상의 노드와의 연결을 지속적으로 유지할 수 있다. 상기 설정 정보는 관리자에 의해 미리 입력될 수 있으나 이에 한정되는 것은 아니며, 블록 수신부(302)가 랜덤하게 둘 이상의 노드를 지정함으로써 자동으로 설정될 수도 있다.The block receiving unit 302 receives a block (ie, a data set including one or more transactions) from the blockchain platform 104 . At this time, the block receiving unit 302 continuously monitors two or more nodes (eg, three nodes) set among a plurality of nodes included in each block chain platform 104 to determine whether a new block is created (or stored). It is checked whether or not a new block is generated, and the block (or a transaction included in the block) can be received from each of the two or more set nodes. Each blockchain platform 104 includes a plurality of nodes, and whenever a new block is generated, the generated block is stored in all of the nodes, respectively. The block receiving unit 302 may receive a newly generated block from one set node among these nodes, but when a failure occurs in the set one node or the connection with the set one node is cut off, the newly generated block cannot be received. Accordingly, in the present embodiments, the block receiving unit 302 can receive the newly generated blocks from two or more set nodes among a plurality of nodes included in each block chain platform 104, respectively. In this case, even if some nodes among the set two or more nodes fail to transmit the block normally due to failure, disconnection, etc. Therefore, it is possible to ensure high availability (HA, High Availability) of the communication system 100 . To this end, the block receiving unit 302 may be provided with setting information (eg, node ID, IP address, etc.) on two or more nodes to be monitored in advance, and using the setting information, the two or more nodes You can stay connected with the The setting information may be input in advance by an administrator, but is not limited thereto, and may be automatically set by the block receiving unit 302 randomly designating two or more nodes.

또한, 블록 수신부(302)는 상기 둘 이상의 노드에서 수신된 블록(또는 상기 블록에 포함된 트랜잭션) 각각을 기 정의된 구조에 따라 표준화할 수 있다. 블록체인 플랫폼(104)으로부터 수신된 블록들은 블록체인 플랫폼(104)의 종류에 따라 서로 다른 형태의 정보를 포함할 수 있으며, 이기종 블록체인 플랫폼(104) 간 데이터 연계를 위해서는 이들 블록들에 포함된 데이터의 구조를 표준화된 형태로 통일시킬 필요가 있다. 이에 따라, 블록 수신부(302)는 블록체인 플랫폼(104)으로부터 수신된 블록(또는 상기 블록에 포함된 트랜잭션)을 기 정의된 구조에 따라 표준화함으로써 상기 트랜잭션에 포함된 데이터 구조(또는 형태)를 변환할 수 있다. 이와 같이 트랜잭션의 데이터 구조가 표준화되는 경우, 이후 라우팅 모듈(204)에서 상기 표준화된 트랜잭션을 수신측 블록체인 플랫폼(104)의 종류에 맞게 보다 용이하게 변환할 수 있다.In addition, the block receiving unit 302 may standardize each block (or a transaction included in the block) received from the two or more nodes according to a predefined structure. The blocks received from the block chain platform 104 may include different types of information depending on the type of the block chain platform 104, and for data linkage between heterogeneous block chain platforms 104, It is necessary to unify the data structure into a standardized form. Accordingly, the block receiving unit 302 converts the data structure (or form) included in the transaction by standardizing the block (or the transaction included in the block) received from the block chain platform 104 according to a predefined structure. can do. In this way, when the data structure of the transaction is standardized, the standardized transaction can be more easily converted in the routing module 204 according to the type of the receiving-side block chain platform 104 .

또한, 블록 수신부(302)는 상기 표준화된 트랜잭션 각각을 큐(304)에 중복 저장할 수 있다.Also, the block receiving unit 302 may duplicate each of the standardized transactions in the queue 304 .

큐(304)는 블록 수신부(302)에서 수신된 트랜잭션들이 임시 보관되는 장소이다. 상술한 바와 같이, 블록 수신부(302)는 블록체인 플랫폼(104)에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록을 각각 수신하고 수신된 블록에 포함된 트랜잭션 각각을 기 정의된 구조에 따라 표준화하여 큐(304)에 저장할 수 있다. 이때, 큐(304)에 저장된 블록 또는 트랜잭션들은 시퀀스 넘버(sequence number), 즉 블록 넘버(block number) 또는 트랜잭션 아이디를 각각 구비하고 있다. 상기 시퀀스 넘버는 생성된 블록 또는 트랜잭션을 식별하기 위한 고유의 정보로서, 블록 또는 트랜잭션이 새롭게 생성될 때마다 해당 블록 또는 트랜잭션에 부여될 수 있다. The queue 304 is a place where the transactions received by the block receiving unit 302 are temporarily stored. As described above, the block receiving unit 302 receives blocks from two or more nodes set among a plurality of nodes included in the block chain platform 104, respectively, and standardizes each transaction included in the received block according to a predefined structure. to be stored in the queue 304 . At this time, the blocks or transactions stored in the queue 304 each have a sequence number, that is, a block number or a transaction ID. The sequence number is unique information for identifying a generated block or transaction, and may be assigned to the corresponding block or transaction whenever a block or transaction is newly created.

트랜잭션 처리부(306)는 상기 시퀀스 넘버를 기초로 큐(304)에 저장된 블록들을 중복 제거한다. 일 예시로서, 큐(304)에 동일한 시퀀스 넘버를 갖는 3개의 블록이 저장되어 있는 경우, 트랜잭션 처리부(306)는 이들 3개의 블록 중 2개의 블록을 제거할 수 있다. 다른 예시로서, 큐(304)에 시퀀스 넘버 1-2를 갖는 3개의 블록과 시퀀스 넘버 2-4를 갖는 4개의 블록이 저장되어 있는 경우, 트랜잭션 처리부(306)는 시퀀스 넘버 1-2를 갖는 3개의 블록 중 2개의 블록을 제거하고 시퀀스 넘버 2-4를 갖는 4개의 블록 중 3개의 블록을 제거할 수 있다. 이와 같이, 트랜잭션 처리부(306)는 큐(304)에 중복 저장된 블록들 중 해당 시퀀스 넘버를 갖는 하나의 블록만을 남겨놓은 채 동일한 시퀀스 넘버를 갖는 나머지 블록들을 제거할 수 있다. 이후, 트랜잭션 처리부(306)는 중복 제거된 블록(즉, 표준화된 형태의 블록)을 인바운드 핸들러(308)로 전달할 수 있다.The transaction processing unit 306 deduplicates blocks stored in the queue 304 based on the sequence number. As an example, when three blocks having the same sequence number are stored in the queue 304 , the transaction processing unit 306 may remove two blocks among these three blocks. As another example, when three blocks having sequence numbers 1-2 and four blocks having sequence numbers 2-4 are stored in the queue 304 , the transaction processing unit 306 may store 3 blocks having sequence numbers 1-2 It is possible to remove 2 blocks out of 4 blocks and 3 blocks out of 4 blocks with sequence numbers 2-4. As such, the transaction processing unit 306 may remove the remaining blocks having the same sequence number while leaving only one block having the corresponding sequence number among the blocks duplicated stored in the queue 304 . Thereafter, the transaction processing unit 306 may transmit the deduplicated block (ie, a block in a standardized form) to the inbound handler 308 .

또한, 트랜잭션 처리부(306)는 각 트랜잭션들의 트랜잭션 아이디를 기초로 큐(304)에 저장된 트랜잭션들을 중복 제거할 수도 있다. 일 예시로서, 큐(304)에 동일한 트랜잭션 아이디를 갖는 3개의 트랜잭션이 저장되어 있는 경우, 트랜잭션 처리부(306)는 이들 3개의 트랜잭션 중 2개의 트랜잭션을 제거할 수 있다.Also, the transaction processing unit 306 may deduplicate the transactions stored in the queue 304 based on the transaction ID of each transaction. As an example, when three transactions having the same transaction ID are stored in the queue 304 , the transaction processing unit 306 may remove two of these three transactions.

인바운드 핸들러(308)는 트랜잭션 처리부(306)로부터 표준화된 트랜잭션을 수신하고, 상기 트랜잭션으로부터 라우팅 정보를 추출한다. 라우팅 정보는 상기 트랜잭션의 라우팅 경로(routing path)를 결정하는 데 필요한 정보로서, 상기 트랜잭션에 대한 송신자 정보, 수신자 정보 및 상기 트랜잭션의 종류(type)를 포함할 수 있다. 여기서, 트랜잭션은 상기 블록에 하나 이상 포함될 수 있다. 인바운드 핸들러(308)는 상기 트랜잭션으로부터 라우팅 정보를 추출하고, 상기 트랜잭션과 라우팅 정보를 라우팅 모듈(204)로 전송할 수 있다. 이후, 라우팅 모듈(204)은 상기 라우팅 정보를 참조하여 상기 트랜잭션이 전송될 타 블록 처리 모듈(202)을 결정하고, 상기 라우팅 정보를 기초로 표준화된 상기 트랜잭션의 데이터 구조를 상기 타 블록 처리 모듈(202)에 대응되는 블록체인 플랫폼(104)에서 처리 가능한 형태, 즉 페이로드로 변환할 수 있다. 구체적으로, 라우팅 모듈(204)은 상기 트랜잭션으로부터 실제 송신 대상이 되는 데이터(즉, 타깃 데이터)를 추출하고, 상기 데이터를 포함하는 상기 페이로드를 생성할 수 있다.The inbound handler 308 receives the standardized transaction from the transaction processing unit 306 and extracts routing information from the transaction. The routing information is information necessary to determine a routing path of the transaction, and may include sender information, receiver information, and a type of the transaction for the transaction. Here, one or more transactions may be included in the block. The inbound handler 308 may extract routing information from the transaction and send the transaction and routing information to the routing module 204 . Then, the routing module 204 determines the other block processing module 202 to which the transaction is to be transmitted with reference to the routing information, and converts the standardized data structure of the transaction based on the routing information to the other block processing module ( 202) can be converted into a form that can be processed by the blockchain platform 104, that is, a payload. Specifically, the routing module 204 may extract data to be actually transmitted (ie, target data) from the transaction, and may generate the payload including the data.

송신측 컴포넌트(400)는 라우팅 모듈(204)로부터 상기 페이로드를 수신하고 이를 처리하기 위한 컴포넌트들로서, 큐(402), 입력 수신부(404) 및 아웃바운드 핸들러(406)을 포함한다.The sending component 400 receives the payload from the routing module 204 and as components for processing it, includes a queue 402 , an input receiving unit 404 , and an outbound handler 406 .

큐(402)는 라우팅 모듈(204)로부터 수신되는 상기 페이로드가 임시 저장되는 저장소이다.The queue 402 is a storage in which the payload received from the routing module 204 is temporarily stored.

입력 수신부(404)는 큐(402)에 저장된 상기 페이로드를 아웃바운드 핸들러(406)로 전달한다.The input receiving unit 404 transfers the payload stored in the queue 402 to the outbound handler 406 .

아웃바운드 핸들러(406)는 입력 수신부(404)로부터 수신된 상기 페이로드를 대응되는 블록체인 플랫폼(104) 측으로 전달(또는 대응되는 블록체인 플랫폼(104)에 기록)한다. The outbound handler 406 transfers the payload received from the input receiving unit 404 to the corresponding blockchain platform 104 (or writes it to the corresponding blockchain platform 104).

도 4는 본 발명의 일 실시예에 따른 게이트웨이 장치(102)에서 이기종 블록체인 플랫폼(104) 간 데이터를 연계하는 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.4 is a flowchart for explaining a method of associating data between heterogeneous blockchain platforms 104 in the gateway device 102 according to an embodiment of the present invention. In the illustrated flowchart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, are performed together in combination with other steps, are omitted, are performed in sub-steps, or are not shown. One or more steps may be added and performed.

S102 단계에서, 제1 블록 처리 모듈(202-1)의 블록 수신부(302)는 제1 블록체인 플랫폼(104-1)에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록을 각각 수신한다.In step S102, the block receiving unit 302 of the first block processing module 202-1 receives blocks from two or more set nodes among a plurality of nodes included in the first block chain platform 104-1, respectively.

S104 단계에서, 제1 블록 처리 모듈(202-1)의 블록 수신부(302)는 수신된 상기 블록에 포함된 트랜잭션 각각을 기 정의된 구조에 따라 표준화하여 큐(304)에 저장한다.In step S104 , the block receiving unit 302 of the first block processing module 202-1 normalizes each transaction included in the received block according to a predefined structure and stores it in the queue 304 .

S106 단계에서, 제1 블록 처리 모듈(202-1)의 트랜잭션 처리부(306)는 큐(304)에 저장된 상기 트랜잭션을 중복 제거한다.In step S106 , the transaction processing unit 306 of the first block processing module 202-1 deduplicates the transaction stored in the queue 304 .

S108 단계에서, 제1 블록 처리 모듈(202-1)의 인바운드 핸들러(308)는 상기 트랜잭션으로부터 라우팅 정보를 추출한다.In step S108, the inbound handler 308 of the first block processing module 202-1 extracts routing information from the transaction.

S110 단계에서, 제1 블록 처리 모듈(202-1)의 인바운드 핸들러(308)는 표준화된 상기 트랜잭션 및 라우팅 정보를 라우팅 모듈(204)로 전달한다.In step S110 , the inbound handler 308 of the first block processing module 202-1 transmits the standardized transaction and routing information to the routing module 204 .

S112 단계에서, 라우팅 모듈(204)은 제1 블록 처리 모듈(202-1)로부터 표준화된 상기 트랜잭션 및 라우팅 정보를 수신하고, 상기 라우팅 정보를 참조하여 상기 트랜잭션이 전송될 제2 블록 처리 모듈(202-2)을 결정한다. 라우팅 모듈(204)은 예를 들어, 라우팅 정보에 포함된 수신자 정보(즉, 블록체인 플랫폼의 식별 정보)에 대응되는 블록 처리 모듈을 상기 제2 블록 처리 모듈(202-2)로 결정할 수 있다. 또한, 라우팅 모듈(204)은 상기 라우팅 정보를 기초로 표준화된 상기 트랜잭션을 페이로드로 변환하고, 상기 페이로드를 상기 제2 블록 처리 모듈(202-2)의 큐(402)로 전달할 수 있다.In step S112, the routing module 204 receives the standardized transaction and routing information from the first block processing module 202-1, and referring to the routing information, the second block processing module 202 to which the transaction is to be transmitted -2) is decided. The routing module 204 may determine, for example, a block processing module corresponding to recipient information (ie, identification information of a block chain platform) included in the routing information as the second block processing module 202-2. Also, the routing module 204 may convert the standardized transaction into a payload based on the routing information, and transfer the payload to the queue 402 of the second block processing module 202-2.

S114 단계에서, 제2 블록 처리 모듈(202-2)의 입력 수신부(404)는 큐(402)에 저장된 페이로드를 로딩한다.In step S114 , the input receiving unit 404 of the second block processing module 202 - 2 loads the payload stored in the queue 402 .

S116 단계에서, 제2 블록 처리 모듈(202-2)의 입력 수신부(404)는 상기 페이로드를 아웃바운드 핸들러(406)로 전달한다.In step S116 , the input receiving unit 404 of the second block processing module 202 - 2 transmits the payload to the outbound handler 406 .

S118 단계에서, 제2 블록 처리 모듈(202-2)의 아웃바운드 핸들러(406)는 상기 페이로드를 제2 블록체인 플랫폼(104-2) 측으로 전달한다. In step S118 , the outbound handler 406 of the second block processing module 202 - 2 delivers the payload to the second block chain platform 104 - 2 .

도 5는 본 발명의 일 실시예에 따른 블록에 포함되는 데이터의 예시이다. 5 is an example of data included in a block according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 블록은 예를 들어, 블록 헤더(block header)와 블록 데이터(block data)를 포함할 수 있다.Referring to FIG. 5 , a block according to an embodiment of the present invention may include, for example, a block header and block data.

블록 헤더는 예를 들어, 블록 넘버(즉, 상술한 시퀀스 넘버), 이전 블록 헤더의 해시값 등을 포함할 수 있다. 또한, 블록 데이터에는 예를 들어, 다수 개의 트랜잭션이 포함될 수 있다. 이때, 각 트랜잭션은 헤더와 바디(데이터 부분)으로 구성되며, 트랜잭션의 바디에는 예를 들어, 인보이스(invoice)와 같은 문서가 포함될 수 있다. 만약, 하나의 블록에 다수의 트랜잭션이 포함되는 경우, 게이트웨이 장치(102)는 각 트랜잭션 별로 앞서 설명한 표준화 작업, 중복 제거 작업, 라우팅 정보의 추출 및 라우팅 작업 등을 수행할 수 있다.The block header may include, for example, a block number (ie, the above-described sequence number), a hash value of a previous block header, and the like. Also, block data may include, for example, a plurality of transactions. In this case, each transaction is composed of a header and a body (data part), and the body of the transaction may include, for example, a document such as an invoice. If a plurality of transactions are included in one block, the gateway device 102 may perform the aforementioned standardization operation, deduplication operation, routing information extraction and routing operation, etc. for each transaction.

이러한 블록(또는 트랜잭션)은 대응되는 블록체인 플랫폼(104)의 종류에 따라 서로 다른 데이터 구조를 가질 수 있다. 이에 따라, 제1 블록 처리 모듈(202-1)의 블록 수신부(302)는 수신된 블록에 포함된 트랜잭션을 기 정의된 구조에 따라 표준화할 수 있으며, 이와 같이 표준화된 데이터의 구조는 각 블록체인 플랫폼(104)과 관계 없이 동일할 수 있다. 즉, 블록 수신부(302)를 거친 트랜잭션 각각은 동일한 데이터 구조로 표준화될 수 있다.These blocks (or transactions) may have different data structures depending on the type of the corresponding blockchain platform 104 . Accordingly, the block receiving unit 302 of the first block processing module 202-1 can standardize the transaction included in the received block according to a predefined structure, and the structure of the standardized data in this way is based on each block chain. It may be the same regardless of the platform 104 . That is, each transaction that has passed through the block receiving unit 302 may be standardized with the same data structure.

도 6은 본 발명의 일 실시예에 따른 라우팅 정보의 예시이다. 상술한 바와 같이, 제1 블록 처리 모듈(202-1)의 인바운드 핸들러(308)는 트랜잭션 처리부(306)를 거친 트랜잭션으로부터 라우팅 정보를 추출할 수 있다. 상기 라우팅 정보는 예를 들어, 트랜잭션에 대한 송신자 정보, 수신자 정보 및 상기 트랜잭션의 종류를 포함할 수 있다. 게이트웨이 장치(102)의 내부 데이터베이스에는 각 송신자 정보, 수신자 정보 및 트랜잭션의 종류에 따른 라우팅 경로(routing path)가 매핑되어 저장되어 있을 수 있다. 제1 블록 처리 모듈(202-1)의 인바운드 핸들러(308)는 상기 데이터베이스에서 검색하여 상기 라우팅 정보에 대응되는 라우팅 경로를 추출할 수 있다. 일 예시로서, 송신자 정보 : 블록체인 플랫폼 #1, 수신자 정보 : 블록체인 플랫폼 : #2, 트랜잭션의 종류 : invoice 를 포함하는 라우팅 정보가 추출되는 경우, 상기 라우팅 정보에 대응되는 라우팅 경로는 “블록체인 플랫폼 #1 → 블록체인 플랫폼 #2” 일 수 있다.6 is an example of routing information according to an embodiment of the present invention. As described above, the inbound handler 308 of the first block processing module 202-1 may extract routing information from a transaction that has passed through the transaction processing unit 306 . The routing information may include, for example, sender information for a transaction, receiver information, and a type of the transaction. In the internal database of the gateway device 102 , each sender information, receiver information, and a routing path according to a transaction type may be mapped and stored. The inbound handler 308 of the first block processing module 202-1 may search the database and extract a routing path corresponding to the routing information. As an example, when routing information including sender information: blockchain platform #1, receiver information: blockchain platform: #2, transaction type: invoice is extracted, the routing path corresponding to the routing information is “blockchain” Platform #1 → Blockchain Platform #2”.

도 7은 본 발명의 일 실시예에 따른 페이로드의 예시이다. 상술한 바와 같이, 라우팅 모듈(204)은 트랜잭션으로부터 송신 대상이 되는 데이터를 추출하고, 상기 데이터를 포함하는 페이로드를 생성할 수 있다. 상기 데이터는 예를 들어, 체인코드(chaincode)의 호출시 사용되는 인자(argument) 값(예를 들어, 함수명, 인자 등), 스마트 계약(smart contract)의 함수 호출시 사용되는 인자 값 등이 될 수 있다.7 is an illustration of a payload according to an embodiment of the present invention. As described above, the routing module 204 may extract data to be transmitted from a transaction and generate a payload including the data. The data may be, for example, an argument value (eg, function name, argument, etc.) used when calling a chaincode, an argument value used when calling a function of a smart contract, etc. can

상기 페이로드의 예시들은 아래와 같다. 여기서, [] 부분이 앞서 설명한 송신 대상이 되는 데이터가 될 수 있다.Examples of the payload are as follows. Here, the [] part may be the data to be transmitted as described above.

예시 1) "payload": ["invoke", "a", "b", "1"]Example 1) "payload": ["invoke", "a", "b", "1"]

예시 2) "payload": ["0x07d2448ffebd26c5acf4871ac371e4f294c3faa6", "10"]Example 2) "payload": ["0x07d2448ffebd26c5acf4871ac371e4f294c3faa6", "10"]

라우팅 모듈(204)은 트랜잭션에 포함되는 여러 데이터들 중 목적지로 실제 전달하고자 하는 데이터만을 추출(예를 들어, 트랜잭션의 메타 데이터 등을 제거)하여 페이로드(payload)로 구성할 수 있다. 상기 페이로드는 제2 블록체인 플랫폼(104-2)에서 처리 가능한 표준화된 데이터 구조로 이루어질 수 있다. 이와 같이, 상기 페이로드의 데이터 구조는 상기 라우팅 정보에 포함된 수신자 정보(즉, 블록체인 플랫폼의 종류)에 따라 달라질 수 있다. 즉, 라우팅 모듈(204)은 트랜잭션에 포함되는 여러 데이터들 중 목적지로 실제 전달하고자 하는 타깃 데이터만을 추출하여 페이로드로 구성할 수 있다.The routing module 204 may extract only data to be actually delivered to a destination among various data included in the transaction (eg, remove metadata of the transaction, etc.) and configure it as a payload. The payload may have a standardized data structure that can be processed by the second blockchain platform 104-2. As such, the data structure of the payload may vary depending on recipient information (ie, type of block chain platform) included in the routing information. That is, the routing module 204 may extract only the target data to be actually delivered to the destination among various data included in the transaction and configure it as a payload.

도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.8 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 게이트웨이 장치(102), 또는 게이트웨이 장치(102)에 포함되는 하나 이상의 컴포넌트일 수 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be gateway device 102 , or one or more components included in gateway device 102 .

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , computer readable storage medium 16 , and communication bus 18 . The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiments discussed above. For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16 . The one or more programs may include one or more computer-executable instructions that, when executed by the processor 14, configure the computing device 12 to perform operations in accordance with the exemplary embodiment. can be

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14 . In one embodiment, computer-readable storage medium 16 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other forms of storage medium that can be accessed by computing device 12 and store desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12 , including processor 14 and computer readable storage medium 16 .

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . The input/output interface 22 and the network communication interface 26 are coupled to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output device 24 may include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or imaging devices. input devices and/or output devices such as display devices, printers, speakers and/or network cards. The exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12 , and may be connected to the computing device 12 as a separate device distinct from the computing device 12 . may be

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Although the present invention has been described in detail through representative embodiments above, those of ordinary skill in the art to which the present invention pertains can make various modifications to the above-described embodiments without departing from the scope of the present invention. will understand Therefore, the scope of the present invention should not be limited to the described embodiments, and should be defined by the claims described below as well as the claims and equivalents.

10 : 컴퓨팅 환경
12 : 컴퓨팅 장치
14 : 프로세서
16 : 컴퓨터 판독 가능 저장 매체
18 : 통신 버스
20 : 프로그램
22 : 입출력 인터페이스
24 : 입출력 장치
26 : 네트워크 통신 인터페이스
100 : 통신 시스템
102 : 게이트웨이 장치
104 : 블록체인 플랫폼
104-1 : 제1 블록체인 플랫폼
104-2 : 제2 블록체인 플랫폼
202 : 블록 처리 모듈
202-1 : 제1 블록 처리 모듈
202-2 : 제2 블록 처리 모듈
204 : 라우팅 모듈
300 : 수신측 컴포넌트
302 : 블록 수신부
304 : 큐
306 : 트랜잭션 처리부
308 : 인바운드 핸들러
400 : 송신측 컴포넌트
402 : 큐
404 : 입력 수신부
406 : 아웃바운드 핸들러
10: Computing Environment
12: computing device
14: processor
16: computer-readable storage medium
18: communication bus
20: Program
22: input/output interface
24: input/output device
26: network communication interface
100: communication system
102: gateway device
104: Blockchain Platform
104-1: First Blockchain Platform
104-2: 2nd Blockchain Platform
202: block processing module
202-1: first block processing module
202-2: second block processing module
204: routing module
300: receiving side component
302: block receiving unit
304: queue
306: transaction processing unit
308 : inbound handler
400: transmitting side component
402 : queue
404: input receiver
406 : outbound handler

Claims (12)

블록(block)이 저장되는 복수의 노드(node)를 각각 포함하는 이기종 블록체인 플랫폼 간 데이터 연계를 위한 게이트웨이 장치로서,
제1 블록체인 플랫폼에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록을 각각 수신하고, 수신된 상기 블록에 포함된 트랜잭션 각각을 기 정의된 구조에 따라 표준화하여 큐(queue)에 저장하며, 상기 큐에 저장된 상기 트랜잭션을 중복 제거하고, 상기 트랜잭션으로부터 라우팅 정보를 추출하는 제1 블록 처리 모듈;
상기 제1 블록 처리 모듈로부터 표준화된 상기 트랜잭션 및 상기 라우팅 정보를 수신하고, 상기 라우팅 정보를 기초로 표준화된 상기 트랜잭션을 상기 제1 블록체인 플랫폼과 상이한 종류의 제2 블록체인 플랫폼에서 처리 가능한 표준화된 데이터 구조의 페이로드(payload)로 변환하는 라우팅 모듈; 및
상기 라우팅 모듈로부터 상기 페이로드를 수신하고, 상기 제2 블록체인 플랫폼에 포함된 노드로 상기 페이로드를 전송하는 제2 블록 처리 모듈을 포함하는, 게이트웨이 장치.
As a gateway device for data linkage between heterogeneous blockchain platforms each including a plurality of nodes in which blocks are stored,
Each block is received from two or more nodes set among a plurality of nodes included in the first blockchain platform, each transaction included in the received block is standardized according to a predefined structure and stored in a queue, and the a first block processing module for deduplicating the transaction stored in the queue and extracting routing information from the transaction;
Receive the standardized transaction and the routing information from the first block processing module, and process the standardized transaction based on the routing information in a second block chain platform different from the first block chain platform a routing module that converts the data structure into a payload; and
and a second block processing module for receiving the payload from the routing module and transmitting the payload to a node included in the second blockchain platform.
청구항 1에 있어서,
상기 제1 블록 처리 모듈은, 상기 블록 각각의 시퀀스 넘버(sequence number) 또는 상기 블록 각각에 포함된 트랜잭션 아이디를 기초로 상기 큐에 저장된 상기 트랜잭션을 중복 제거하는, 게이트웨이 장치.
The method according to claim 1,
The first block processing module is configured to deduplicate the transaction stored in the queue based on a sequence number of each block or a transaction ID included in each block.
청구항 1에 있어서,
상기 라우팅 정보는, 상기 트랜잭션에 대한 송신자 정보, 수신자 정보 및 상기 트랜잭션의 종류를 포함하는, 게이트웨이 장치.
The method according to claim 1,
The routing information includes sender information for the transaction, recipient information and a type of the transaction.
청구항 3에 있어서,
상기 라우팅 모듈은, 상기 라우팅 정보를 참조하여 상기 트랜잭션이 전송될 상기 제2 블록 처리 모듈을 결정하는, 게이트웨이 장치.
4. The method of claim 3,
The routing module determines the second block processing module to which the transaction is to be transmitted by referring to the routing information.
청구항 1에 있어서,
상기 라우팅 모듈은, 상기 트랜잭션으로부터 송신 대상이 되는 데이터를 추출하고, 상기 데이터를 포함하는 상기 페이로드를 생성하는, 게이트웨이 장치.
The method according to claim 1,
The routing module extracts data to be transmitted from the transaction and generates the payload including the data.
청구항 5에 있어서,
상기 제1 블록 처리 모듈에서 표준화된 데이터의 구조는, 각 블록체인 플랫폼과 관계 없이 동일하며,
상기 페이로드의 데이터 구조는, 상기 라우팅 정보에 포함된 수신자 정보에 따라 달라지는, 게이트웨이 장치.
6. The method of claim 5,
The structure of the data standardized in the first block processing module is the same regardless of each blockchain platform,
The data structure of the payload varies according to recipient information included in the routing information.
블록(block)이 저장되는 복수의 노드(node)를 각각 포함하는 이기종 블록체인 플랫폼 간 데이터 연계를 위한 게이트웨이 장치에서 수행되는 데이터 연계 방법으로서,
제1 블록 처리 모듈에서, 제1 블록체인 플랫폼에 포함된 복수의 노드 중 설정된 둘 이상의 노드로부터 블록을 각각 수신하는 단계;
상기 제1 블록 처리 모듈에서, 수신된 상기 블록에 포함된 트랜잭션 각각을 기 정의된 구조에 따라 표준화하여 큐(queue)에 저장하는 단계;
상기 제1 블록 처리 모듈에서, 상기 큐에 저장된 상기 트랜잭션을 중복 제거하는 단계;
상기 제1 블록 처리 모듈에서, 상기 트랜잭션으로부터 라우팅 정보를 추출하는 단계;
라우팅 모듈에서, 상기 제1 블록 처리 모듈로부터 표준화된 상기 트랜잭션 및 상기 라우팅 정보를 수신하는 단계;
상기 라우팅 모듈에서, 상기 라우팅 정보를 기초로 표준화된 상기 트랜잭션을 상기 제1 블록체인 플랫폼과 상이한 종류의 제2 블록체인 플랫폼에서 처리 가능한 표준화된 데이터 구조의 페이로드(payload)로 변환하는 단계;
제2 블록 처리 모듈에서, 상기 라우팅 모듈로부터 상기 페이로드를 수신하는 단계; 및
상기 제2 블록 처리 모듈에서, 상기 제2 블록체인 플랫폼에 포함된 노드로 상기 페이로드를 전송하는 단계를 포함하는, 데이터 연계 방법.
As a data linkage method performed in a gateway device for data linkage between heterogeneous blockchain platforms each including a plurality of nodes in which blocks are stored,
receiving, in the first block processing module, blocks from two or more nodes set among a plurality of nodes included in the first block chain platform, respectively;
standardizing, in the first block processing module, each transaction included in the received block according to a predefined structure and storing it in a queue;
deduplicating, in the first block processing module, the transaction stored in the queue;
extracting, in the first block processing module, routing information from the transaction;
receiving, in a routing module, the standardized transaction and the routing information from the first block processing module;
converting, in the routing module, the standardized transaction based on the routing information into a payload of a standardized data structure that can be processed in a second block chain platform different from the first block chain platform;
receiving, in a second block processing module, the payload from the routing module; and
and transmitting, in the second block processing module, the payload to a node included in the second blockchain platform.
청구항 7에 있어서,
상기 트랜잭션을 중복 제거하는 단계는, 상기 블록 각각의 시퀀스 넘버(sequence number) 또는 상기 블록 각각에 포함된 트랜잭션 아이디를 기초로 상기 큐에 저장된 상기 트랜잭션을 중복 제거하는, 데이터 연계 방법.
8. The method of claim 7,
The deduplication of the transaction includes deduplicating the transaction stored in the queue based on a sequence number of each block or a transaction ID included in each block.
청구항 7에 있어서,
상기 라우팅 정보는, 상기 트랜잭션에 대한 송신자 정보, 수신자 정보 및 상기 트랜잭션의 종류를 포함하는, 데이터 연계 방법.
8. The method of claim 7,
The routing information includes sender information for the transaction, receiver information, and a type of the transaction.
청구항 9에 있어서,
상기 라우팅 모듈에서, 상기 라우팅 정보를 참조하여 상기 트랜잭션이 전송될 상기 제2 블록 처리 모듈을 결정하는 단계를 더 포함하는, 데이터 연계 방법.
10. The method of claim 9,
The method further comprising the step of determining, in the routing module, the second block processing module to which the transaction is to be transmitted by referring to the routing information.
청구항 7에 있어서,
상기 트랜잭션을 상기 페이로드로 변환하는 단계는, 상기 트랜잭션으로부터 송신 대상이 되는 데이터를 추출하고, 상기 데이터를 포함하는 상기 페이로드를 생성하는, 데이터 연계 방법.
8. The method of claim 7,
The converting of the transaction into the payload includes extracting data to be transmitted from the transaction and generating the payload including the data.
청구항 11에 있어서,
상기 제1 블록 처리 모듈에서 표준화된 데이터의 구조는, 각 블록체인 플랫폼과 관계 없이 동일하며,
상기 페이로드의 데이터 구조는, 상기 라우팅 정보에 포함된 수신자 정보에 따라 달라지는, 데이터 연계 방법.
12. The method of claim 11,
The structure of the data standardized in the first block processing module is the same regardless of each blockchain platform,
The data structure of the payload varies according to recipient information included in the routing information.
KR1020180061972A 2018-05-30 2018-05-30 Method for interconnecting heterogeneous blockchain platform and gateway apparatus for executing the same KR102439059B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180061972A KR102439059B1 (en) 2018-05-30 2018-05-30 Method for interconnecting heterogeneous blockchain platform and gateway apparatus for executing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180061972A KR102439059B1 (en) 2018-05-30 2018-05-30 Method for interconnecting heterogeneous blockchain platform and gateway apparatus for executing the same

Publications (2)

Publication Number Publication Date
KR20190136364A KR20190136364A (en) 2019-12-10
KR102439059B1 true KR102439059B1 (en) 2022-09-01

Family

ID=69002643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180061972A KR102439059B1 (en) 2018-05-30 2018-05-30 Method for interconnecting heterogeneous blockchain platform and gateway apparatus for executing the same

Country Status (1)

Country Link
KR (1) KR102439059B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179160B1 (en) * 2020-06-23 2020-11-16 주식회사 아이콘루프 System and method to prove message for communication between blockchains
KR20220072659A (en) 2020-11-25 2022-06-02 주식회사 푸시풀시스템 SECURITY CONSTRUCTION METHOD OF GATEWAY FOR IoT DEVICES BY USING IDENTITY-BASED CRYPTOGRAPHY BASED ON VIRTUAL BLOCKCHAIN
KR20230112819A (en) 2022-01-21 2023-07-28 주식회사 푸시풀 SECURITY CONSTRUCTION SYSTEM OF GATEWAY FOR IoT DEVICES BY USING IDENTITY-BASED CRYPTOGRAPHY BASED ON VIRTUAL BLOCKCHAIN AND ITS METHOD
CN114928649B (en) * 2022-04-26 2023-11-28 成都质数斯达克科技有限公司 Multi-platform service realization method, device and equipment based on block chain

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102050129B1 (en) * 2016-05-03 2019-11-28 안규태 Block chain supporting multiple one-way functions used for verification of blocks
KR101950912B1 (en) * 2016-08-01 2019-02-21 서강대학교산학협력단 Verification system and method for transaction based block chain
KR101851261B1 (en) 2017-06-09 2018-04-23 씨토 주식회사 Centralized remote metering system for security based on private block-chained data

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102439059B1 (en) Method for interconnecting heterogeneous blockchain platform and gateway apparatus for executing the same
US20190229982A1 (en) Fault detection method and node device
US9135138B2 (en) Method and system for tracing individual transactions over messaging systems without adding tracing information to messages
KR101317178B1 (en) ZigBee Gateway and method for identifying message of the same
US20180218368A1 (en) Data transformation engine
CN110730181A (en) Message conversion method, device and adapter
KR102407334B1 (en) Gateway apparatus and operating method thereof
US10425273B2 (en) Data processing system and data processing method
CN111491037B (en) Communication method with object storage server through SFTP data stream
CN111277422B (en) Method, device and system for processing microservice and computer readable storage medium
CN111240862A (en) Universal interface platform and data conversion method
CN103581040A (en) Server distributing device and server distributing method
KR20230065226A (en) Web application server, method for handling user request and method for handling intergrated request
US20160314115A1 (en) Cross-platform messaging application
CN105808763A (en) Data processing method and apparatus
CN106453582B (en) Asynchronous message pushing method and system
JP6364727B2 (en) Information processing system, distributed processing method, and program
CN114760360B (en) Request response method, request response device, electronic equipment and computer readable storage medium
CN104022948A (en) Type X message transmission system and method
CN104427003B (en) Transmission device, transfer approach and relay system
KR20190096595A (en) Computer program
US9325808B2 (en) Message handling in a data processing system
KR20200032380A (en) Apparatus and method for connecting chatbot
KR20200047028A (en) System and method for peer-to-peer communication in partial mesh network
US9436519B2 (en) Process cooperation method, process cooperation program, and process cooperation system

Legal Events

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