KR20200132518A - 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법 - Google Patents

블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법 Download PDF

Info

Publication number
KR20200132518A
KR20200132518A KR1020190058184A KR20190058184A KR20200132518A KR 20200132518 A KR20200132518 A KR 20200132518A KR 1020190058184 A KR1020190058184 A KR 1020190058184A KR 20190058184 A KR20190058184 A KR 20190058184A KR 20200132518 A KR20200132518 A KR 20200132518A
Authority
KR
South Korea
Prior art keywords
transaction
bridge node
blockchain network
interworking
message
Prior art date
Application number
KR1020190058184A
Other languages
English (en)
Inventor
조정우
이광철
배상지
서한샘
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020190058184A priority Critical patent/KR20200132518A/ko
Priority to US16/727,432 priority patent/US20200364212A1/en
Priority to EP20153649.7A priority patent/EP3739538A1/en
Publication of KR20200132518A publication Critical patent/KR20200132518A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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]
    • G06Q20/027Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] involving a payment switch or gateway
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • G06Q2220/00Business processing using cryptography

Abstract

블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법에 제공된다. 본 개시의 몇몇 실시예에 따른 블록체인 네트워크 간 트랜잭션 연동 지원 시스템은 소스 블록체인 네트워크(source blockchain network)와 연관된 제1 트랜잭션에 관한 트랜잭션 데이터를 수신하고, 상기 수신된 트랜잭션 데이터를 기초로 트랜잭션 연동 메시지를 생성하며, 상기 생성된 트랜잭션 연동 메시지를 타깃 블록체인 네트워크(target blockchain network)와 연관된 제2 브릿지 노드로 전송하는 제1 브릿지 노드와 상기 생성된 트랜잭션 연동 메시지에 기초하여 상기 제1 트랜잭션과 연관된 제2 트랜잭션을 생성하며, 상기 생성된 제2 트랜잭션을 상기 타깃 블록체인 네트워크를 통해 처리하는 제2 브릿지 노드를 포함할 수 있다.

Description

블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법{SYSTEM FOR SUPPORTING TRANSACTION INTEROPERATION BETWEEN BLOCKCHAIN NETWORKS AND METHOD THEREOF}
본 개시는 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법에 관한 것이다. 보다 자세하게는, 상호 독립된 블록체인 또는 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 시스템에서 수행되는 방법에 관한 것이다.
블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 블록체인 노드들이 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 자료 구조 그 자체를 의미한다. 블록체인 기술은 네트워크에 속한 모든 블록체인 노드가 모든 트랜잭션을 검증하고 기록하는 합의(consensus) 프로세스를 통해 트랜잭션의 무결성 및 보안성을 보장할 수 있다.
최근에는, 다양한 기관들이 독립적으로 블록체인을 운영 및 관리하면서, 기관들 간에 트랜잭션을 연동하거나 데이터를 교환해야 할 필요성이 증가하고 있다. 예를 들어, 제1 금융 기관에서 사용자의 거래 내역을 가지고 있는 경우, 제2 금융 기관에서도 금융 거래를 위하여 해당 사용자의 거래 내역을 필요로 하는 경우가 있다. 다른 예를 들어, 제1 블록체인에는 사용자의 자산 정보가 기록되어 있고, 제2 블록체인에는 사용자의 신용 평가 정보가 기록되어 있는 경우가 있을 수 있다. 이와 같은 경우, 사용자의 자산을 변동시키는 트랜잭션이 제1 블록체인에 반영되면, 변동된 자산에 따라 신용 평가 점수를 업데이트하는 트랜잭션이 제2 블록체인에 반영될 필요가 있다.
제10-2018-0123709호 (2018.11.19 공개)
본 개시의 몇몇 실시예를 통해 해결하고자 하는 기술적 과제는, 상호 독립된 블록체인 간에 트랜잭션 연동을 지원하는 시스템 및 그 시스템에서 수행되는 방법을 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예에 따른 블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템은, 소스 블록체인 네트워크(source blockchain network)와 연관된 제1 트랜잭션에 관한 트랜잭션 데이터를 수신하고, 상기 수신된 트랜잭션 데이터를 기초로 트랜잭션 연동 메시지를 생성하며, 상기 생성된 트랜잭션 연동 메시지를 타깃 블록체인 네트워크(target blockchain network)와 연관된 제2 브릿지 노드로 전송하는 제1 브릿지 노드 및 상기 생성된 트랜잭션 연동 메시지에 기초하여 상기 제1 트랜잭션과 연관된 제2 트랜잭션을 생성하며, 상기 생성된 제2 트랜잭션을 상기 타깃 블록체인 네트워크를 통해 처리하는 제2 브릿지 노드를 포함할 수 있다.
몇몇 실시예에서, 상기 제1 브릿지 노드는, 기 등록된 트랜잭션 연동 룰에 기초하여 상기 생성된 트랜잭션 연동 메시지를 상기 제2 브릿지 노드로 전송하되, 상기 트랜잭션 연동 룰은 상기 타깃 블록체인 네트워크에 대한 라우팅 정보를 포함할 수 있다.
몇몇 실시예에서, 상기 제1 브릿지 노드는, 기 등록된 트랜잭션 연동 룰에 기초하여 상기 제2 트랜잭션에 대한 정보를 포함하는 트랜잭션 연동 메시지를 생성하되, 상기 트랜잭션 연동 룰은 상기 제1 트랜잭션과 연동되는 상기 제2 트랜잭션에 대한 정보를 포함할 수 있다.
몇몇 실시예에서, 상기 트랜잭션 연동 메시지는 상기 제1 브릿지 노드의 서명(signature) 정보를 포함하고, 상기 제2 브릿지 노드는, 상기 서명 정보에 대한 검증을 수행하고, 상기 서명 정보가 유효하다는 검증 결과에 응답하여, 상기 제2 트랜잭션을 생성할 수 있다.
몇몇 실시예에서, 상기 제1 브릿지 노드는, 상기 소스 블록체인 네트워크에서 생성된 신규 블록을 수신하고, 상기 신규 블록에 포함된 상기 트랜잭션 데이터를 기초로 상기 트랜잭션 연동 메시지를 생성할 수 있다.
몇몇 실시예에서, 상기 제2 브릿지 노드는, 상기 타깃 블록체인 네트워크의 블록체인에 상기 제2 트랜잭션에 관한 트랜잭션 데이터가 기록되었다는 판단에 응답하여, 상기 제1 브릿지 노드로 상기 제2 트랜잭션에 대한 처리 완료 메시지를 통지할 수 있다.
몇몇 실시예에서, 상기 제2 브릿지 노드는, 상기 타깃 블록체인 네트워크의 블록체인에 상기 제2 트랜잭션에 관한 트랜잭션 데이터가 기록되기 전에, 상기 제1 브릿지 노드로 상기 제2 트랜잭션에 대한 처리 완료 메시지를 통지할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따른 블록체인 네트워크 간 트랜잭션 연동을 지원하는 방법은, 소스 블록체인 네트워크(source blockchain network)와 타깃 블록체인 네트워크(target blockchain network) 간의 트랜잭션 연동을 지원하는 방법에 있어서, 제1 브릿지 노드가, 상기 소스 블록체인 네트워크(source blockchain network)와 연관된 제1 트랜잭션에 관한 트랜잭션 데이터를 수신하는 단계, 상기 제1 브릿지 노드가, 상기 수신된 트랜잭션 데이터를 기초로 트랜잭션 연동 메시지를 생성하는 단계, 상기 제1 브릿지 노드가, 상기 타깃 블록체인 네트워크(target blockchain network)와 연관된 제2 브릿지 노드로 상기 생성된 트랜잭션 연동 메시지를 전송하는 단계, 상기 제2 브릿지 노드가, 상기 생성된 트랜잭션 연동 메시지에 기초하여 상기 제1 트랜잭션과 연관된 제2 트랜잭션을 생성하는 단계 및 상기 제2 브릿지 노드가, 상기 생성된 제2 트랜잭션을 상기 타깃 블록체인 네트워크를 통해 처리하는 단계를 포함할 수 있다.
도 1은 본 개시의 몇몇 실시예에 따른 블록체인 네트워크 간 트랜잭션 연동 지원 시스템을 나타내는 예시적인 구성도이다.
도 2 및 도 3은 본 개시의 다양한 실시예에서 참조될 수 있는 브릿지 노드와 블록체인 네트워크의 연계 관계와 트랜잭션 연동 기능을 예시한다.
도 4는 본 개시의 몇몇 실시예에 따라 연동 대상 블록체인 네트워크들이 멀티 채널 기반으로 구성된 것을 예시한다.
도 5는 본 개시의 몇몇 실시예에 따른 트랜잭션 연동 룰 공유 프로세스를 나타내는 예시적인 흐름도이다.
도 6은 본 개시의 다양한 실시예에서 참조될 수 있는 트랜잭션 연동 룰을 예시한다.
도 7은 본 개시의 몇몇 실시예에 따른 트랜잭션 연동 프로세스를 나타내는 예시적인 흐름도이다.
도 8은 본 개시의 다양한 실시예에서 참조될 수 있는 트랜잭션 연동 메시지를 예시한다.
도 9는 본 개시의 다른 몇몇 실시예에 따른 트랜잭션 연동 프로세스를 나타내는 예시적인 흐름도이다.
도 10은 본 개시의 다양한 실시예에 따른 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예를 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예를 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예는 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 개시에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 몇몇 실시예에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 개시의 몇몇 실시예에 따른 블록체인 네트워크 간 트랜잭션 연동 지원 시스템을 나타내는 예시적인 구성도이다.
도 1에 도시된 바와 같이, 상기 트랜잭션 연동 지원 시스템은 브릿지 네트워크(bridge network, 20)를 구성하는 복수의 브릿지 노드(bridge node)를 포함할 수 있다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 브릿지 네트워크(20)를 구성하는 복수의 브릿지 노드는 동일한 물리적 컴퓨팅 장치 내에서 서로 다른 로직(logic)의 형태로 구현될 수도 있다. 다른 예로써, 블록체인 네트워크(e.g. 10-1)를 구성하는 적어도 하나의 블록체인 노드와 브릿지 네트워크(20)를 구성하는 적어도 하나의 브릿지 노드도 동일한 물리적 컴퓨팅 장치 내에서 서로 다른 로직(logic)의 형태로 구현될 수 있다.
브릿지 네트워크(20)는 복수의 블록체인 네트워크(10-1 내지 10-n) 간에 트랜잭션 연동을 지원하는 네트워크이다. 브릿지 네트워크(20)는 복수의 브릿지 노드를 포함할 수 있고, 각 브릿지 노드는 컴퓨팅 장치로 구현될 수 있다.
상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 상기 컴퓨팅 장치의 일 예는 도 10을 참조하도록 한다.
본 개시의 다양한 실시예에서, 브릿지 노드는 적어도 하나의 블록체인 네트워크(10-1, 10-2, ??, or 10-n)와의 연계를 담당할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 제1 브릿지 노드(21)는 제1 블록체인 네트워크(10-1)와의 연계를 담당하고, 제2 브릿지 노드(22)는 제2 블록체인 네트워크(10-2)와의 연계를 담당할 수 있다. 마찬가지로, 제3 브릿지 노드(23)는 제3 블록체인 네트워크(10-3)와의 연계를 담당할 수 있다. 이와 같은 경우, 제1 블록체인 네트워크(10-1)와 제2 블록체인 네트워크(10-2) 간의 트랜잭션 연동은 제1 브릿지 노드(21)와 제2 브릿지 노드(22)를 통해 수행될 수 있다(도 3 참조). 본 실시예에 대한 보다 자세한 설명은 도 5 내지 도 9를 참조하여 후술하도록 한다.
다시 도 1을 참조하여 설명한다.
브릿지 네트워크(20) 및/또는 브릿지 노드의 구체적인 구현 형태는 실시예에 따라 달라질 수 있다.
몇몇 실시예에서, 상기 브릿지 노드는 연계되는 블록체인 네트워크의 노드 역할(e.g. full node 형태)을 겸할 수도 있다. 예를 들어, 제1 브릿지 노드(e.g. 도 3의 21)는 제1 블록체인 네트워크(e.g. 10-1)의 블록체인 노드로 동작할 수 있고, 제2 브릿지 노드(e.g. 도 3의 22)는 제1 블록체인 네트워크(e.g. 10-2)의 블록체인 노드로 동작할 수 있다. 이와 같은 경우, 별도의 모니터링 로직 없이도, 브릿지 노드(e.g. 도 3의 21)는 연계된 블록체인 네트워크(e.g. 10-1)에서 발생되는 신규 블록 생성, 트랜잭션 발생 등의 이벤트를 실시간으로 모니터링할 수 있게 된다. 다른 몇몇 실시예에서, 상기 브릿지 노드는 연계된 블록체인을 실질적으로 관리하지 않는 형태(e.g. lightweight node 형태)로 구현될 수도 있다.
몇몇 실시예에서, 브릿지 네트워크(20)도 독립적으로 블록체인(또는 레저)을 관리하고 운영할 수 있다. 상기 블록체인에는 트랜잭션 연동 룰, 각 브릿지 노드의 공개 키(또는 인증서) 등이 기록될 수 있다. 본 실시예에 따르면, 트랜잭션 연동 룰 등의 무결성이 보장되기 때문에, 트랜잭션 연동 프로세스의 보안성이 향상될 수 있다.
각 블록체인 네트워크(10-1, 10-2, ??, or 10-n)는 브릿지 네트워크(20)를 통해 트랜잭션 연동 기능을 제공받는 네트워크이다. 각 블록체인 네트워크(10-1, 10-2, ??, or 10-n)는 P2P(Peer-to-Peer) 네트워크로 구성되고, 복수의 블록체인 노드를 포함할 수 있다. 각 블록체인 네트워크(10-1, 10-2, ??, or 10-n)는 독립적으로 레저(ledger)를 관리하며, 트랜잭션을 처리할 수 있다. 예를 들어, 제1 블록체인 네트워크(10-1)는 블록체인 노드들 간의 합의 프로세스를 통해 제1 트랜잭션을 처리하고, 상기 제1 트랜잭션과 연관된 데이터를 제1 블록체인에 기록할 수 있다. 또한, 제1 블록체인 네트워크(10-1)와 독립적으로 제2 블록체인 네트워크(10-2)도 제2 트랜잭션을 처리하고, 상기 제2 트랜잭션과 연관된 데이터를 제2 블록체인에 기록할 수 있다.
상기 레저(ledger)는 블록체인과 최신의 상태 데이터가 보관된 상태 DB(state database)를 포함하도록 구현될 수 있을 것이나, 다른 방식으로도 구현될 수 있어서 본 개시의 기술적 범위가 레저의 구현 방식에 한정되는 것은 아니다.
몇몇 실시예에서, 각 블록체인 네트워크(10-1, 10-2, ??, or 10-n)는 하나 이상의 채널(channel)에 대응되는 것일 수도 있다. 즉, 본 개시의 기술적 사상이 멀티 채널 기반 블록체인 플랫폼에서 채널 간 트랜잭션 연동을 위해 구체화된 경우, 각 블록체인 네트워크(10-1, 10-2, ??, or 10-n)는 하나 이상의 채널에 대응되는 것일 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 브릿지 네트워크(20)는 멀티 채널 기반 블록체인 플랫폼에서 제1 채널(30-1)과 제2 채널(30-2) 간의 트랜잭션 연동 기능을 제공할 수 있다. 상기 채널은 블록체인 네트워크 상에서 형성되는 소규모의 네트워크를 의미하는 것으로, 당해 기술 분야의 당업자라면 상기 채널의 의미를 자명하게 이해할 수 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다. 브릿지 네트워크(20)도 특정 블록체인 플랫폼 내의 특정 채널로 구현될 수 있음은 물론이다.
지금까지 도 1 내지 도 4를 참조하여 본 개시의 몇몇 실시예에 따른 트랜잭션 연동 지원 시스템에 대하여 설명하였다. 이하에서는, 도 1에 예시된 환경을 가정하여, 두 블록체인 네트워크 간에 트랜잭션 연동이 수행되는 프로세스에 대하여 상세하게 설명하도록 한다. 다만, 이하에서 후술될 실시예는 셋 이상의 블록체인 네트워크 간에 트랜잭션 연동이 수행되는 경우에도 용이하게 적용될 수 있을 것이므로, 연동되는 블록체인 네트워크의 개수에 의해 본 개시의 기술적 범위가 한정되는 것은 아니다.
또한, 이하의 서술에서는, 이해의 편의를 제공하기 위해, 제1 브릿지 노드(21)가 제1 블록체인 네트워크(10-1)의 연계를 담당하고, 제2 브릿지 노드(22)가 제2 블록체인 네트워크(10―2)와의 연계를 담당하는 것을 가정하여 설명하도록 한다. 그리고, 제1 블록체인 네트워크(10-1)가 트랜잭션 연동의 시작 지점인 소스(source) 블록체인 네트워크이고, 제2 블록체인 네트워크(10―2)가 트랜잭션 연동의 목적 지점인 타깃(target) 블록체인 네트워크인 것을 가정하여 설명하도록 한다. 아울러, 상기 소스 블록체인 네트워크의 트랜잭션을 "소스 트랜잭션(source transaction)"으로 칭하고, 상기 소스 트랜잭션과 연동되는 타깃 블록체인 네트워크의 트랜잭션을 "타깃 트랜잭션(source transaction)"으로 칭하도록 한다.
본 개시의 다양한 실시예에 따르면, 블록체인 네트워크(e.g. 10-1, 10-2) 간 트랜잭션 연동을 수행하기 전에, 브릿지 노드(e.g. 21, 22)들 간에 트랜잭션 연동 룰을 공유하는 프로세스가 수행될 수 있다. 또한, 사전에 공유된 트랜잭션 연동 룰에 기초하여 트랜잭션 연동이 이루어질 수 있는데, 먼저 브릿지 노드(e.g. 21, 22)들이 트랜잭션 연동 룰을 공유하는 프로세스에 대하여 설명하도록 한다.
도 5는 본 개시의 몇몇 실시예에 따른 트랜잭션 연동 룰 공유 프로세스를 나타내는 예시적인 흐름도이다. 특히, 도 5는 제1 브릿지 노드(21)가 제2 브릿지 노드(22)와 트랜잭션 연동 룰을 공유하는 것을 예시하고 있다. 단, 도 5에 도시된 흐름은 본 개시의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 또한, 본 실시예에 따른 트랜잭션 연동 룰 공유 프로세스는 필요에 따라 논리적으로 수행 순서가 바뀔 수 있는 범위 안에서 각 동작의 수행 순서가 바뀔 수 있음은 물론이다.
도 5에 도시된 바와 같이, 상기 트랜잭션 연동 룰 공유 프로세스는 제1 브릿지 노드(21)가 제2 브릿지 노드(22)의 상태를 체크(e.g. health check)하는 단계 S110에서 시작될 수 있다. 상태 체크 결과, 제2 브릿지 노드(22)가 정상 상태가 아닌 경우(e.g. 장애 상태), 상기 룰 공유 프로세스는 종료될 수 있다.
단계 S120에서, 브릿지 노드(21, 22) 간에 공개 키 교환이 수행된다. 예를 들어, 브릿지 노드(21, 22)들이 공개 키가 담긴 인증서를 상호 교환할 수 있다. 상기 공개 키는 브릿지 노드(21, 22) 간에 각종 메시지를 검증하거나, 노드를 인증하는 용도 등으로 이용될 수 있다. 그러나, 다른 다양한 용도로도 이용될 수 있어서, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
몇몇 실시예에서, 공개 키를 교환한 이후, 브릿지 노드(21, 22) 간에 인증을 수행하는 단계가 더 수행될 수도 있다. 상기 인증은 신뢰성이 인정된 브릿지 노드 간에만 트랜잭션 연동 룰을 공유하기 위해 수행되는 것으로 이해될 수 있다. 상기 인증의 방식은 공개 키를 이용한 챌린지-리스폰스(challenge-response) 방식 인증, 인증서 기반 인증(e.g. 노드의 서명을 인증서로 검증하는 방식) 등 어떠한 방식으로 수행되더라도 무방하다.
단계 S130 내지 단계 S160에서, 브릿지 노드(21, 22) 간에 트랜잭션 연동 룰이 공유될 수 있다. 보다 자세하게는, 제1 브릿지 노드(21)가 제1 블록체인 네트워크(10-1)와 제2 블록체인 네트워크(10-2) 간의 트랜잭션 연동 룰을 등록(e.g. 저장소에 저장)하고, 제2 브릿지 노드(22)로 룰 등록 메시지를 전송할 수 있다(S130, S140). 제2 브릿지 노드(22)는 수신한 룰 등록 메시지를 토대로 트랜잭션 연동 룰을 등록하고, 완료 메시지(e.g. ACK)를 제1 브릿지 노드(21)로 통지함으로써, 룰 공유가 이루어질 수 있다. 상기 트랜잭션 연동 룰은 관리자로부터 제공받을 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
몇몇 실시예에서, 상기 룰 등록 메시지에는 제1 브릿지 노드(21)의 서명(signature) 정보가 포함될 수 있다. 이와 같은 경우, 제2 브릿지 노드(22)는 사전에 확보된 제1 브릿지 노드(21)의 공개 키를 이용하여 상기 서명 정보를 검증하고, 유효하게 검증된 경우에 한하여 룰 등록(S150)을 수행할 수 있다. 본 실시예에 따르면, 서명 검증을 통해 룰 공유 프로세스의 안전성과 보안성이 향상될 수 있다.
상기 트랜잭션 연동 룰은 블록체인 네트워크 간 트랜잭션 연동을 위해 이용되는 룰을 의미하는 것으로, 다양한 방식으로 설계되고 정의될 수 있다.
몇몇 실시예에서, 상기 트랜잭션 연동 룰은 트랜잭션 데이터를 라우팅하기 위한 라우팅 정보, 소스 트랜잭션에 대한 정보, 타깃 트랜잭션에 대한 정보 등을 포함할 수 있다. 상기 라우팅 정보는 타깃 블록체인 네트워크로의 라우팅 정보를 의미하는 것으로, 예를 들어 상기 타깃 블록체인 네트워크와 연계된 브릿지 노드의 주소 정보를 포함할 수 있다. 상기 소스 트랜잭션에 대한 정보는 채널 정보, 연관된 스마트 컨트랙트(smart contract)에 대한 정보(e.g. contract ID)를 포함할 수 있다. 타깃 트랜잭션에 대한 정보는 채널 정보, 연관된 스마트 컨트랙트에 대한 정보(e.g. contract ID, 함수 명 등의 컨트랙트 호출을 위한 정보)를 포함할 수 있다. 상기 타깃 트랜잭션에 대한 정보는 특정 채널을 통해 연관된 스마트 컨트랙트를 호출함으로써 타깃 트랜잭션을 실행시키기 위해 이용될 수 있다.
전술한 실시예에 따른 구체적인 트랜잭션 연동 룰의 실례는 도 6에 도시되어 있다. 도 6에 도시된 바와 같이, 트랜잭션 연동 룰(40)은 룰 ID("rule1") 외에도 소스 트랜잭션에 대한 정보(41), 라우팅 정보(43), 타깃 트랜잭션에 대한 정보(45) 등을 포함할 수 있다. 다만, 도 6의 트랜잭션 연동 룰(40)은 이해의 편의를 제공하기 위한 일 예시에 불과하며, 트랜잭션 연동 룰은 다양한 방식으로 설계되고 정의될 수 있다.
상술한 바와 같이, 트랜잭션 연동 룰이 공유되면, 브릿지 노드(e.g. 21, 22)를 통해 트랜잭션 연동이 수행될 수 있다. 이하에서는, 트랜잭션 연동 프로세스에 대하여 상세하게 설명하도록 한다.
도 7은 본 개시의 몇몇 실시예에 따른 트랜잭션 연동 프로세스를 나타내는 예시적인 흐름도이다. 특히, 도 7은 제1 브릿지 노드(21)와 제2 브릿지 노드(22)를 통해 제1 블록체인 네트워크(10-1)와 제2 블록체인 네트워크(10-2) 간에 트랜잭션 연동이 수행되는 것을 예시하고 있다. 단, 도 7에 도시된 흐름은 본 개시의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 또한, 본 실시예에 따른 트랜잭션 연동 프로세스는 필요에 따라 논리적으로 수행 순서가 바뀔 수 있는 범위 안에서 각 동작의 수행 순서가 바뀔 수 있음은 물론이다.
도 7에 도시된 바와 같이, 상기 트랜잭션 연동 프로세스는 제1 브릿지 노드(21)가 제1 블록체인 네트워크(10-1)로부터 신규 블록을 수신하는 단계 S210에서 시작된다. 상기 신규 블록에는 하나 이상의 소스 트랜잭션과 연관된 트랜잭션 데이터가 포함될 수 있다.
단계 S220에서, 기 등록된 트랜잭션 연동 룰을 조회하여, 상기 소스 트랜잭션에 매칭되는 트랜잭션 연동 룰이 획득된다.
단계 S230에서, 획득된 트랜잭션 연동 룰에 기반하여 트랜잭션 연동 메시지를 생성하고, 생성된 트랜잭션 연동 룰이 타깃 블록체인 네트워크(10-2)와 연계된 제2 브릿지 노드(22)로 전송된다.
예를 들어, 상기 획득된 트랜잭션 연동 룰은 타깃 블록체인 네트워크(10-2)에 대한 라우팅 정보(e.g. 제2 브릿지 노드 22의 주소 정보)를 포함할 수 있는데, 상기 라우팅 정보를 참조하여 상기 트랜잭션 연동 메시지가 제2 브릿지 노드(22)로 전송될 수 있다.
또한, 상기 획득된 트랜잭션 연동 룰은 타깃 트랜잭션에 대한 정보를 포함할 수 있는데, 제1 브릿지 노드(21)는 상기 타깃 트랜잭션에 대한 정보를 상기 트랜잭션 연동 메시지에 포함시킬 수 있다. 상술한 바와 같이, 상기 타깃 트랜잭션에 대한 정보는 연관된 스마트 컨트랙트에 대한 호출 정보와 채널 정보 등을 포함할 수 있다.
또한, 상기 트랜잭션 연동 메시지에는 제1 브릿지 노드(21)의 서명 정보가 포함될 수 있다. 즉, 제1 브릿지 노드(21)는 자신의 개인 키로 생성한 서명 정보를 트랜잭션 연동 메시지에 포함시킬 수 있다.
상기 트랜잭션 연동 메시지의 실례는 도 8에 도시되어 있다. 도 8에 예시된 바와 같이, 트랜잭션 연동 메시지(50)는 타깃 트랜잭션에 대한 정보(51)와 브릿지 노드의 서명 정보(55)를 포함할 수 있다. 또한, 트랜잭션 연동 메시지(50)는 소스 트랜잭션에 대한 정보(53)를 더 포함할 수도 있다.
다시 도 7을 참조하여 설명한다.
단계 S240에서, 수신된 트랜잭션 연동 메시지에 대한 검증이 수행된다. 구체적으로, 제2 브릿지 노드(22)는 사전에 확보된 제1 브릿지 노드(21)의 공개 키(e.g. 도 5 참조)를 이용하여 상기 트랜잭션 연동 메시지에 포함된 서명 정보를 검증(즉, 메시지의 무결성과 메시지 송신자를 검증함)할 수 있다. 또한, 상기 서명 정보가 유효하다는 검증 결과에 응답하여, 실질적인 트랜잭션 연동 절차(단계 S240 내지 단계 S290)가 수행될 수 있다. 서명 정보가 유효하지 않은 경우, 트랜잭션 연동 절차(단계 S240 내지 단계 S290)는 수행되지 않을 수 있다.
단계 S250에서, 제2 블록체인 네트워크(10-2)로 타깃 트랜잭션에 대한 처리가 요청된다. 상기 타깃 트랜잭션에 대한 정보는 트랜잭션 연동 메시지로부터 획득될 수 있다.
보다 구체적으로, 제2 브릿지 노드(22)는 상기 타깃 트랜잭션에 대한 정보를 이용하여 상기 타깃 트랜잭션을 생성하고, 제2 블록체인 네트워크(10-2)에게 요청하여 생성된 타깃 트랜잭션을 처리할 수 있다. 예를 들어, 제2 브릿지 노드(22)는 상기 타깃 트랜잭션의 채널 정보와 스마트 컨트랙트 호출 정보를 이용하여 상기 타깃 트랜잭션을 생성할 수 있다.
단계 S260에서, 제2 블록체인 네트워크(10-2)를 통해 타깃 트랜잭션이 처리된다. 예를 들어, 제2 블록체인 네트워크(10-2)는 특정 채널의 스마트 컨트랙트를 호출하여 상기 타깃 트랜잭션을 실행하고, 상기 타깃 트랜잭션의 실행 결과를 포함하는 트랜잭션 데이터를 신규 블록에 기록함으로써, 상기 타깃 트랜잭션을 처리할 수 있다.
단계 S270에서, 상기 타깃 트랜잭션의 처리가 완료된 이후(즉, 트랜잭션이 확정된 이후), 완료 메시지(e.g. ACK)가 제2 브릿지 노드(22)로 통지된다. 상기 완료 메시지는 트랜잭션의 처리 완료를 나타내는 메시지를 의미할 수 있다. 여기서, 타깃 트랜잭션이 확정되었다는 것은 상기 타깃 트랜잭션에 관한 데이터가 블록체인에 기록되었다는 것을 의미할 수 있으나, 실시예에 따라 다른 의미로 정의될 수도 있다. 예를 들어, 상기 타깃 트랜잭션이 확정되었다는 것은 상기 타깃 트랜잭션에 관한 데이터가 특정 블록에 기록된 이후 일정 개수 이상의 블록이 블록체인에 더 추가된 것을 의미할 수도 있다.
단계 S280에서 및 단계 S290에서, 완료 메시지가 브릿지 노드(21)를 통해 제1 블록체인 네트워크(10-1)로 통지될 수 있다.
지금까지 도 7 및 도 8을 참조하여 본 개시의 몇몇 실시예에 따른 트랜잭션 연동 프로세스에 대하여 설명하였다. 상술한 바에 따르면, 서로 독립적으로 운영되는 블록체인 네트워크 간에 트랜잭션 연동이 이루어질 수 있다. 특히, 별도의 브릿지 네트워크(20)를 이용하여 블록체인 네트워크에 대한 수정(e.g. 트랜잭션 연동을 위한 별도의 프로토콜 구현 등) 없이 트랜잭션 연동이 이루어질 수 있기 때문에, 상술한 실시예들은 우수한 이식성(portability)을 제공할 수 있다. 아울러, 트랜잭션 연동 메시지에 대한 검증을 수행함으로써, 메시지가 변조되거나 트랜잭션 연동 시에 악의적인 노드가 개입하는 것이 방지될 수 있다. 이에 따라, 트랜잭션 연동 프로세스의 보안성과 안전성이 향상될 수 있다.
도 9는 본 개시의 다른 몇몇 실시예에 따른 트랜잭션 연동 프로세스를 나타내는 예시적인 흐름도이다. 명세서의 명료함을 위해, 앞선 실시예와 중복되는 내용에 대한 설명은 생략하도록 한다.
도 9에 도시된 바와 같이, 본 실시예에서는, 제2 브릿지 노드(22)가 타깃 트랜잭션에 대한 처리가 완료되기 전에(즉, 확정되기 전에), 제1 브릿지 노드(21)로 완료 메시지를 통지할 수 있다(단계 S350 내지 단계 360 참조). 이는, 트랜잭션 연동의 실시간성을 제공하고, 사용자가 느끼는 응답 시간(response time)을 줄이기 위한 것으로 이해될 수 있다.
다만, 다른 몇몇 실시예에서는, 제2 브릿지 노드(22)는 소정의 조건 하에서만 타깃 트랜잭션에 대한 완료 메시지를 제1 브릿지 노드(21)로 통지할 수 있다.
예를 들어, 상기 제2 브릿지 노드는 제2 블록체인 네트워크(10-2)의 트랜잭션 처리 시간이 임계치 이상이라는 판단에 응답하여, 완료 메시지를 제1 브릿지 노드(21)로 미리 통지할 수 있다. 즉, 제2 블록체인 네트워크(10-2)의 트랜잭션 처리 지연으로 인해 전체 트랜잭션 연동 프로세스가 지연되는 것을 방지하기 위해, 제2 블록체인 네트워크(10-2)의 트랜잭션 처리 시간에 따라 완료 메시지를 미리 통지할 지 여부가 결정될 수 있다. 상기 임계치는 기 설정된 고정 값 또는 상황에 따라 변동되는 변동 값일 수 있다. 예를 들어, 상기 임계치는 트랜잭션 연동의 타입에 기초하여 변동되는 변동 값일 수 있다. 보다 구체적인 예를 들어, 트랜잭션 연동이 실시간으로 수행되어야 하는 경우 상기 임계치는 매우 작은 값으로 결정되고, 실시간 연동이 필요치 않은 경우에는 상기 임계치는 더 큰 값으로 결정될 수 있다.
다른 예를 들어, 상기 타깃 트랜잭션과 연동되는 후속 트랜잭션이 존재하는 경우, 제2 브릿지 노드(22)는 상기 완료 메시지를 제1 브릿지 노드(21)로 미리 통지할 수 있다. 이 또한, 전체 트랜잭션 연동 프로세스가 지연되는 것을 방지하기 위한 것으로 이해될 수 있다.
지금까지 도 9를 참조하여 본 개시의 다른 몇몇 실시예에 따른 트랜잭션 연동 프로세스에 대하여 설명하였다. 상술한 바에 따르면, 타깃 트랜잭션이 성공적으로 처리될 것이라는 합리적인 가정 하에 즉각적으로 완료 메시지를 통지함으로써, 트랜잭션 연동에 소요되는 시간이 크게 단축될 수 있다. 이에 따라, 사용자가 느끼는 응답 속도는 크게 향상될 수 있다.
이하에서는, 도 10을 참조하여 본 개시의 다양한 실시예에 따른 장치(e.g. 브릿지 노드 21, 22)를 구현할 수 있는 예시적인 컴퓨팅 장치(100)에 대하여 설명하도록 한다.
도 10은 컴퓨팅 장치(100)의 예시적인 하드웨어 구성도를 도시한다.
도 10에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 버스(150), 통신 인터페이스(170), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(130)와, 컴퓨터 프로그램(191)을 저장하는 스토리지(190)를 포함할 수 있다. 다만, 도 10에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 10에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(100)에는, 도 10에 도시된 구성 요소 이외에도 다양한 구성 요소가 더 포함될 수 있다.
프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(110)는 본 개시의 다양한 실시예에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(130)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(130)는 본 개시의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(190)로부터 하나 이상의 프로그램(191)을 로드할 수 있다. 메모리(130)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(150)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(150)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(170)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(170)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(170)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(190)는 하나 이상의 프로그램(191)을 비임시적으로 저장할 수 있다. 스토리지(190)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(191)은 본 개시의 다양한 실시예에 따른 방법/동작을 구현한 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(191)이 메모리(130)에 로드되면, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써 본 개시의 다양한 실시예에 따른 방법/동작을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(191)은 소스 블록체인 네트워크와 연관된 소스 트랜잭션에 관한 트랜잭션 데이터를 수신하는 동작, 상기 수신된 트랜잭션 데이터를 기초로 트랜잭션 연동 메시지를 생성하는 동작, 상기 타깃 블록체인 네트워크(target blockchain network)와 연관된 브릿지 노드로 상기 생성된 트랜잭션 연동 메시지를 전송하는 동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 또는, 컴퓨터 프로그램(191)은 트랜잭션 연동 메시지를 수신함에 응답하여, 상기 트랜잭션 연동 메시지에 기초하여 소스 트랜잭션과 연관된 타깃 트랜잭션을 생성하는 동작, 상기 생성된 타깃 트랜잭션을 상기 타깃 블록체인 네트워크를 통해 처리하는 동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(100)를 통해 본 개시의 몇몇 실시예에 따른 브릿지 노드(e.g. 21)가 구현될 수 있다.
지금까지 도 1 내지 도 10을 참조하여 본 개시의 기술적 사상과 그 사상이 구체화된 다양한 실시예에 대하여 설명하였다. 본 개시의 기술적 사상과 그 실시예에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 도 1 내지 도 10을 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 개시의 다양한 실시예를 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (11)

  1. 소스 블록체인 네트워크(source blockchain network)와 연관된 제1 트랜잭션에 관한 트랜잭션 데이터를 수신하고, 상기 수신된 트랜잭션 데이터를 기초로 트랜잭션 연동 메시지를 생성하며, 상기 생성된 트랜잭션 연동 메시지를 타깃 블록체인 네트워크(target blockchain network)와 연관된 제2 브릿지 노드로 전송하는 제1 브릿지 노드; 및
    상기 생성된 트랜잭션 연동 메시지에 기초하여 상기 제1 트랜잭션과 연관된 제2 트랜잭션을 생성하며, 상기 생성된 제2 트랜잭션을 상기 타깃 블록체인 네트워크를 통해 처리하는 제2 브릿지 노드를 포함하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  2. 제1 항에 있어서,
    상기 제1 브릿지 노드는,
    기 등록된 트랜잭션 연동 룰에 기초하여 상기 생성된 트랜잭션 연동 메시지를 상기 제2 브릿지 노드로 전송하되,
    상기 트랜잭션 연동 룰은 상기 타깃 블록체인 네트워크에 대한 라우팅 정보를 포함하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  3. 제1 항에 있어서,
    상기 제1 브릿지 노드는,
    기 등록된 트랜잭션 연동 룰에 기초하여 상기 제2 트랜잭션에 대한 정보를 포함하는 트랜잭션 연동 메시지를 생성하되,
    상기 트랜잭션 연동 룰은 상기 제1 트랜잭션과 연동되는 상기 제2 트랜잭션에 대한 정보를 포함하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  4. 제3 항에 있어서,
    상기 제2 트랜잭션에 대한 정보는 상기 제2 트랜잭션과 연관된 스마트 컨트랙트(smart contract)에 대한 호출 정보를 포함하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  5. 제3 항에 있어서,
    상기 제2 트랜잭션에 대한 정보는 상기 제2 트랜잭션과 연관된 채널(channel) 정보를 포함하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  6. 제1 항에 있어서,
    상기 트랜잭션 연동 메시지는 상기 제1 브릿지 노드의 서명(signature) 정보를 포함하고,
    상기 제2 브릿지 노드는,
    상기 서명 정보에 대한 검증을 수행하고,
    상기 서명 정보가 유효하다는 검증 결과에 응답하여, 상기 제2 트랜잭션을 생성하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  7. 제1 항에 있어서,
    상기 제1 브릿지 노드는,
    상기 소스 블록체인 네트워크에서 생성된 신규 블록을 수신하고, 상기 신규 블록에 포함된 상기 트랜잭션 데이터를 기초로 상기 트랜잭션 연동 메시지를 생성하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  8. 제1 항에 있어서,
    상기 제2 브릿지 노드는,
    상기 타깃 블록체인 네트워크의 블록체인에 상기 제2 트랜잭션에 관한 트랜잭션 데이터가 기록되었다는 판단에 응답하여,
    상기 제1 브릿지 노드로 상기 제2 트랜잭션에 대한 처리 완료 메시지를 통지하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  9. 제1 항에 있어서,
    상기 제2 브릿지 노드는,
    상기 타깃 블록체인 네트워크의 블록체인에 상기 제2 트랜잭션에 관한 트랜잭션 데이터가 기록되기 전에, 상기 제1 브릿지 노드로 상기 제2 트랜잭션에 대한 처리 완료 메시지를 통지하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  10. 제9 항에 있어서,
    상기 제2 브릿지 노드는,
    상기 타깃 블록체인 네트워크의 트랜잭션 처리 시간이 임계치 이상이라는 판단에 응답하여, 상기 처리 완료 메시지를 미리 통지하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 시스템.
  11. 소스 블록체인 네트워크(source blockchain network)와 타깃 블록체인 네트워크(target blockchain network) 간의 트랜잭션 연동을 지원하는 방법에 있어서,
    제1 브릿지 노드가, 상기 소스 블록체인 네트워크(source blockchain network)와 연관된 제1 트랜잭션에 관한 트랜잭션 데이터를 수신하는 단계;
    상기 제1 브릿지 노드가, 상기 수신된 트랜잭션 데이터를 기초로 트랜잭션 연동 메시지를 생성하는 단계;
    상기 제1 브릿지 노드가, 상기 타깃 블록체인 네트워크(target blockchain network)와 연관된 제2 브릿지 노드로 상기 생성된 트랜잭션 연동 메시지를 전송하는 단계;
    상기 제2 브릿지 노드가, 상기 생성된 트랜잭션 연동 메시지에 기초하여 상기 제1 트랜잭션과 연관된 제2 트랜잭션을 생성하는 단계; 및
    상기 제2 브릿지 노드가, 상기 생성된 제2 트랜잭션을 상기 타깃 블록체인 네트워크를 통해 처리하는 단계를 포함하는,
    블록체인 네트워크 간 트랜잭션 연동을 지원하는 방법.
KR1020190058184A 2019-05-17 2019-05-17 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법 KR20200132518A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190058184A KR20200132518A (ko) 2019-05-17 2019-05-17 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법
US16/727,432 US20200364212A1 (en) 2019-05-17 2019-12-26 System and method of supporting reflection of transactions between blockchain networks
EP20153649.7A EP3739538A1 (en) 2019-05-17 2020-01-24 System and method of supporting reflection of transactions between blockchain networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190058184A KR20200132518A (ko) 2019-05-17 2019-05-17 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20200132518A true KR20200132518A (ko) 2020-11-25

Family

ID=69191995

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190058184A KR20200132518A (ko) 2019-05-17 2019-05-17 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US20200364212A1 (ko)
EP (1) EP3739538A1 (ko)
KR (1) KR20200132518A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102299251B1 (ko) * 2021-03-17 2021-09-07 이제너두 주식회사 온라인 지역상생복지몰에서 제로페이 결제 방법 및 시스템
KR102523069B1 (ko) * 2022-12-19 2023-04-19 (주)헥슬란트 Api 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법
KR20230112365A (ko) * 2022-01-20 2023-07-27 주식회사 코스콤 블록체인 데이터 공유 시스템 및 그 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111213147B (zh) 2019-07-02 2023-10-13 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
SG11202003757TA (en) 2019-07-02 2020-05-28 Advanced New Technologies Co Ltd System and method for issuing verifiable claims
SG11202003792QA (en) 2019-07-02 2020-05-28 Advanced New Technologies Co Ltd System and method for verifying verifiable claims
CN111164594B (zh) * 2019-07-02 2023-08-25 创新先进技术有限公司 用于将去中心化标识映射到真实实体的系统和方法
CN111368008B (zh) * 2020-05-27 2020-08-25 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN117670330A (zh) * 2024-02-01 2024-03-08 中国信息通信研究院 基于区块链的交易处理方法和装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180123709A (ko) 2016-03-24 2018-11-19 엔체인 홀딩스 리미티드 블록체인에서 복수개의 거래를 기록하는 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180096313A1 (en) * 2016-09-09 2018-04-05 MonetaGo Inc. Linked contract system and method
CN108876572A (zh) * 2018-05-29 2018-11-23 阿里巴巴集团控股有限公司 区块链交易的对账方法及装置、电子设备
CN109462505B (zh) * 2018-11-12 2021-07-30 上海点融信息科技有限责任公司 实现多个区块链网络之间的跨链通信的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180123709A (ko) 2016-03-24 2018-11-19 엔체인 홀딩스 리미티드 블록체인에서 복수개의 거래를 기록하는 방법 및 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102299251B1 (ko) * 2021-03-17 2021-09-07 이제너두 주식회사 온라인 지역상생복지몰에서 제로페이 결제 방법 및 시스템
KR20230112365A (ko) * 2022-01-20 2023-07-27 주식회사 코스콤 블록체인 데이터 공유 시스템 및 그 방법
KR102523069B1 (ko) * 2022-12-19 2023-04-19 (주)헥슬란트 Api 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법

Also Published As

Publication number Publication date
US20200364212A1 (en) 2020-11-19
EP3739538A1 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
KR20200132518A (ko) 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법
US10657526B2 (en) System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
US11196755B2 (en) Cross-blockchain interaction systems
US11042876B2 (en) Transaction method and system based on centralized settlement and blockchain deposit certificates
US11334660B2 (en) Authenticated discoverability of Universal Windows Applications to Win32 desktop applications
CN111541784B (zh) 一种基于区块链一体机的交易处理方法及装置
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
CN111541724B (zh) 区块链一体机及其节点自动加入方法、装置
WO2021174930A1 (zh) 一种业务处理系统、业务处理的方法、装置及设备
US20190149321A1 (en) Authenticating chaincode to chaincode invocations of a blockchain
WO2020233626A1 (zh) 结合交易与用户类型的条件限制的收据存储方法和节点
CN111612614A (zh) 一种基于公链的子链业务系统
JP2024505692A (ja) ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器
CN111541726B (zh) 一种基于区块链一体机的重放交易识别方法及装置
CN112492002B (zh) 一种基于区块链一体机的交易转发方法及装置
US11165766B2 (en) Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove
CN109995523B (zh) 激活码管理方法及装置、激活码生成方法及装置
KR102407187B1 (ko) 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템
CN110580245A (zh) 隐私数据的共享方法及装置
CN110602108B (zh) 基于区块链网络的数据通信方法、装置、设备及存储介质
WO2020224100A1 (zh) 区块链配置文件的处理装置、系统、方法及存储介质
US9075996B2 (en) Evaluating a security stack in response to a request to access a service
CN113508570B (zh) 在区块链中节点之间共享及验证区块及电子文档的方法
KR102091349B1 (ko) 거래소 시스템을 통한 트랜잭션 처리 방법
CN111597269A (zh) 一种基于区块链的合约实现方法、装置及设备