KR102462998B1 - Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법 - Google Patents

Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법 Download PDF

Info

Publication number
KR102462998B1
KR102462998B1 KR1020200187095A KR20200187095A KR102462998B1 KR 102462998 B1 KR102462998 B1 KR 102462998B1 KR 1020200187095 A KR1020200187095 A KR 1020200187095A KR 20200187095 A KR20200187095 A KR 20200187095A KR 102462998 B1 KR102462998 B1 KR 102462998B1
Authority
KR
South Korea
Prior art keywords
public key
key information
relay nodes
registration
block chain
Prior art date
Application number
KR1020200187095A
Other languages
English (en)
Other versions
KR20220095509A (ko
Inventor
김재훈
류동관
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020200187095A priority Critical patent/KR102462998B1/ko
Publication of KR20220095509A publication Critical patent/KR20220095509A/ko
Application granted granted Critical
Publication of KR102462998B1 publication Critical patent/KR102462998B1/ko

Links

Images

Classifications

    • 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/321Cryptographic 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 a third party or a trusted authority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법이 개시되며, 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은, 제1블록 체인에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드가, 자신의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드에 송신하는 단계 및 상기 허브 노드가 상기 공개키 정보를 제1큐(Queue)에 저장한 후, 상기 복수의 릴레이 노드 중 적어도 일부의 노드가 상기 제1큐에 저장된 상기 공개키 정보에 대한 BFT 합의를 수행하는 단계를 포함할 수 있다.

Description

BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법{APPARATUS AND METHOD FOR CROSS AUTHENTICATION BETWEEN MULTI-CHAIN BASED ON BFT CONSENSUS ALGORITHM}
본원은 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법에 관한 것이다. 예를 들면, 본원은 BFT(Byzantine Fault Tolerance) 합의 방식을 이용한 허브-존(Hub-Zone) 구조의 교차 인증 장치 및 방법에 관한 것이다.
Cosmos, 이오스(EOS) 등의 다양한 블록체인에서는 합의 알고리즘의 즉결성 등을 활용하여 서로 다른 블록체인들이 토큰, 데이터 등을 상호 전송할 수 있도록 하는 IBC(Inter-Blockchain Communication) 프로토콜이 설계되고 있다.
구체적으로, Cosmos의 경우, IBC Handler가 블록체인 간의 IBC 관련 사항을 총괄하고, IBC Module이 세부 내용을 실행하되, IBC Module에 검증과 관련된 Light Client가 내장되어 있어 상호 간의 신뢰를 보장한다. 또한, 이오스(EOS)의 경우, 각 체인의 중계자(Relayer)가 전담하여 전술한 IBC 프로토콜을 수행한다. 이러한 이오스(EOS)의 방식은 중계자(Relayer)가 신뢰를 부담하는 형태로서, 블록체인 내에서 신뢰할 수 있는 노드(Trusted Node)가 중계자(Relayer)로서 활동하게 된다.
한편, SPV(Simple Payment Verification) 검증은 블록체인의 전체 복사본을 저장하지 않고도 트랜잭션을 검증하는 기법으로서, Light Weight Client를 통해 이루어지는 검증을 지칭하며, 이러한 SPV 검증에 의하면, 특정 트랜잭션이 완결성이 부여된 블록에 포함되었는지 여부를 머클 증명(Merkle Proof)을 통해 확인 및 검증한다. 이러한 검증 방식은 동일한 체인 내부에서 진행하기에는 간편한 이점이 있으나, 타 체인과의 검증은 SPV 노드의 소유자 문제로 인해 신뢰도에 한계가 있다.
한편, 블록체인 내부에서의 메시지 검증은 비대칭 키를 이용한 전자서명을 통해 이루어진다. 비대칭 키를 통한 전자서명이란 특정 메시지를 보낼 때 송신자는 자신의 개인키를 통해 암호화하고, 수신자는 송신자의 공개키를 이용하여 복호화 하는 검증 과정을 의미하며, 개인키는 소유자만이 배타적으로 보유해야 하며, 공개키는 블록체인 네트워크 내에 공개되어, 구성원 모두가 접근 및 사용이 가능하므로 전자서명을 통해 송신자가 보낸 것을 증명하고, 검증할 수 있게 된다.
그러나, 블록체인 내부에서의 메시지 교환과는 달리, 서로 다른 블록체인 간의 메시지 송수진 상황에서는 각각의 체인은 외부 체인에 대한 접근 권한을 갖고 있지 않으므로 IBC(Inter-Blockchain Communication)을 통해 외부 체인에 트랜잭션을 발생시키거나 토큰을 전송하더라도 트랜잭션 자체에 대한 유효성 검증은 이루어지는 반면, 트랜잭션의 송신자, 수신자에 대한 검증은 이루어질 수 없다.
이렇듯, 종래의 IBC 프로토콜은 서로 다른 블록체인 사이에서 송수신되는 메시지의 출발과 도착에만 관여하며, 이러한 종래의 IBC 프로토콜은 서로 다른 블록체인 사이에서 송수신된 메시지가 출발 체인에서 실제로 발생한 메시지가 맞는지, 트랜잭션이 블록에 추가된 것이 맞는지, 도착 체인에서 해당 메시지를 제대로 수령했는지 등 메시지를 잘 전달하는 것에만 초점이 맞추어져 있다는 한계가 있다.
본원의 배경이 되는 기술은 한국공개특허공보 제10-2020-0081448호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 서로 다른 블록 체인 사이에서 전자서명의 사용을 가능케 하는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법을 제공하려는 것을 목적으로 한다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 서로 다른 블록 체인 사이에서도 메시지의 송신자를 검증할 수 있는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법을 제공하려는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은, 제1블록 체인에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드가, 자신의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드에 송신하는 단계 및 상기 허브 노드가 상기 공개키 정보를 제1큐(Queue)에 저장한 후, 상기 복수의 릴레이 노드 중 적어도 일부의 노드가 상기 제1큐에 저장된 상기 공개키 정보에 대한 BFT 합의를 수행하는 단계를 포함할 수 있다.
또한, 상기 합의를 수행하는 단계 이후에, 상기 허브 노드가 상기 공개키 정보를 포함하는 트랜잭션을 블록에 추가하면, 상기 공개키 정보는 상기 제1블록 체인 외의 제2블록 체인에 공유될 수 있다.
또한, 상기 합의를 수행하는 단계는, 상기 복수의 릴레이 노드 중 적어도 일부의 노드가, 상기 허브 노드로부터 상기 공개키 정보가 상기 제1큐에 가등록된 상태임을 알리는 가등록 정보 패킷을 수신하는 단계, 상기 복수의 릴레이 노드 중 적어도 일부의 노드가, 상기 제1큐에 저장된 상기 공개키 정보에 대한 유효성을 확인하는 단계, 상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드가 상기 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가하는 단계 및 상기 복수의 릴레이 노드 중 적어도 일부의 노드가, 상기 허브 노드로 상기 공개키 정보에 대한 등록 확정 패킷을 송신하는 단계를 포함할 수 있다.
또한, 상기 미리 설정된 비율은 2/3일 수 있다.
한편, 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은, 블록 체인 간의 인증 기관에 해당하는 허브 노드가, 제1블록 체인에 참여하는 어느 하나의 릴레이 노드로부터 상기 어느 하나의 릴레이 노드의 공개키 정보를 포함하는 등록 요청 패킷을 수신하는 단계, 상기 허브 노드가, 상기 수신한 공개키 정보를 제1큐(Queue)에 저장하여 가등록하는 단계, 상기 허브 노드가, 상기 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드로 송신하는 단계, 상기 허브 노드가, 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부에 의해 수행된 BFT 합의에 따른 등록 확정 패킷을 상기 복수의 릴레이 노드 중 적어도 일부로부터 수신하는 단계 및 상기 허브 노드가, 상기 공개키 정보를 블록에 추가하는 단계를 포함할 수 있다.
또한, 상기 추가하는 단계 이후에, 상기 공개키 정보는 상기 제1블록 체인 외의 제2블록 체인에 공유될 수 있다.
또한, 상기 블록에 추가하는 단계는, 상기 등록 요청 패킷, 상기 가등록 정보 패킷 및 상기 등록 확정 패킷을 포함하는 등록 관련 패킷을 제2큐(Queue)에 저장하는 단계, 상기 제2큐에 누적하여 저장된 메시지의 크기가 미리 설정된 배치 사이즈 이상이면, 상기 저장된 메시지에 기초하여 머클루트를 계산하는 단계 및 상기 머클루트에 기초하여 트랜잭션을 발생시키는 단계를 포함할 수 있다.
또한, 상기 등록 관련 패킷의 원본은 상기 허브 노드에 의해 분산 원장의 형태로 저장될 수 있다.
한편, 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은, 제1블록 체인에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드가, 자신의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드에 송신하는 단계, 상기 허브 노드가, 상기 공개키 정보를 제1큐(Queue)에 저장하여 가등록하는 단계, 상기 허브 노드가, 상기 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드로 송신하는 단계, 상기 복수의 릴레이 노드 중 적어도 일부의 노드가 상기 제1큐에 저장된 상기 공개키 정보에 대한 BFT 합의를 수행하고, 상기 BFT 합의에 따른 등록 확정 패킷을 상기 허브 노드로 송신하는 단계 및 상기 허브 노드가, 상기 공개키 정보를 블록에 추가하는 단계를 포함할 수 있다.
한편, 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 릴레이 노드 장치는, 제1블록 체인에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드이고, 상기 릴레이 노드 장치의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드에 송신하는 등록 요청부 및 상기 허브 노드가 상기 공개키 정보를 제1큐(Queue)에 저장한 후, 상기 복수의 릴레이 노드 중 적어도 일부의 노드에 의해 상기 제1큐에 저장된 상기 공개키 정보에 대한 BFT 합의가 수행되면, 상기 BFT 합의에 따른 등록 확정 패킷을 상기 허브 노드에 송신하는 합의 수행부를 포함할 수 있다.
또한, 상기 복수의 릴레이 노드 중 적어도 일부는, 상기 허브 노드로부터 상기 공개키 정보가 상기 제1큐에 가등록된 상태임을 알리는 가등록 정보 패킷을 수신할 수 있다.
또한, 상기 합의 수행부는, 상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드가, 상기 제1큐에 저장된 상기 공개키 정보에 대한 유효성을 확인하여 상기 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가하면, 상기 허브 노드로 상기 공개키 정보에 대한 등록 확정 패킷을 송신할 수 있다.
한편, 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 허브 노드 장치는, 블록 체인 간의 인증 기관에 해당하고, 제1블록 체인에 참여하는 어느 하나의 릴레이 노드로부터 상기 어느 하나의 릴레이 노드의 공개키 정보를 포함하는 등록 요청 패킷을 수신하는 요청 수신부, 상기 수신한 공개키 정보를 제1큐(Queue)에 저장하여 가등록하고, 상기 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드로 송신하는 가등록 수행부, 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부에 의해 수행된 BFT 합의에 따른 등록 확정 패킷을 상기 복수의 릴레이 노드 중 적어도 일부로부터 수신하는 합의 수신부 및 상기 공개키 정보를 블록에 추가하는 등록부를 포함할 수 있다.
또한, 상기 등록부는, 상기 등록 요청 패킷, 상기 가등록 정보 패킷 및 상기 등록 확정 패킷을 포함하는 등록 관련 패킷을 제2큐(Queue)에 저장하는 패킷 공유부 및 상기 제2큐에 누적하여 저장된 메시지의 크기가 미리 설정된 배치 사이즈 이상이면, 상기 저장된 메시지에 기초하여 머클루트를 계산하고, 상기 머클루트에 기초하여 트랜잭션을 발생시키는 보관 수행부를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 서로 다른 블록 체인 사이에서 전자서명의 사용을 가능케 하는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법을 제공할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 서로 다른 블록 체인 사이에서도 메시지의 송신자를 검증할 수 있는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법을 제공할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 서로 다른 체인이 신뢰할 수 있는 공개키 등록을 통한 교차 인증 방식에 기반하여 서로 다른 체인 사이에서 전자서명의 검증이 가능할 뿐만 아니라, 각각의 체인 내부에서의 통신만으로 메시지의 검증을 수행할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, IBC 프로토콜을 최소화한 교차 인증 방식을 통해 허브(Hub) 단의 통신 부하를 줄일 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 허브(Hub)에 공개키를 등록하는 프로세스를 통해 공개키 정보의 위변조를 방지하며, 허브(Hub)에 보관되는 공개키 데이터베이스(Key DB)를 분산원장(DL) 형태로 안전하게 보관할 수 있다.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.
도 1은 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 릴레이 노드 및 허브 노드를 포함하는 멀티 체인 시스템의 개략적인 구성도이다.
도 2는 허브-존(Hub-Zone) 구조를 설명하기 위한 개념도이다.
도 3은 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 등록 프로세스를 설명하기 위한 개념도이다.
도 4는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 릴레이 노드 장치의 개략적인 구성도이다.
도 5는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 허브 노드 장치의 개략적인 구성도이다.
도 6은 제1블록 체인 내의 릴레이 노드에 의해 수행되는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 대한 동작 흐름도이다.
도 7은 허브 노드 장치에 의해 수행되는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 대한 동작 흐름도이다.
도 8은 허브 노드 장치에 의해 수행되는 공개키 정보의 보관 프로세스에 대한 세부 동작 흐름도이다.
도 9는 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 대한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법에 관한 것이다. 예를 들면, 본원은 BFT(Byzantine Fault Tolerance) 합의 방식을 이용한 허브-존(Hub-Zone) 구조의 교차 인증 장치 및 방법에 관한 것이다.
도 1은 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 릴레이 노드 및 허브 노드를 포함하는 멀티 체인 시스템의 개략적인 구성도이고, 도 2는 허브-존(Hub-Zone) 구조를 설명하기 위한 개념도이다.
도 1 및 도 2를 참조하면, 본원의 일 실시예에 따른 멀티 체인 시스템(10)은 제1블록 체인(11), 제2블록 체인(12) 등의 존(Zone) 및 허브 측 체인(20)을 포함할 수 있다. 또한, 존(Zone)에 해당하는 제1블록 체인(11) 및 제2블록 체인(12) 각각은 복수의 릴레이 노드(100)를 포함할 수 있다. 또한, 허브 측 체인(20)은 적어도 하나의 허브 노드(200)를 포함할 수 있다.
본원의 실시예에 관한 설명에서, 제1블록 체인(11),제2블록 체인(12), 허브 측 체인(20) 등은 네트워크에 참여하는 복수의 노드를 각각 포함하는 블록 체인 네트워크 자체를 지칭하는 용어일 수 있다. 또한, 필요에 따라서는 제1블록 체인(11), 제2블록 체인(12), 허브 측 체인(20) 등은 각각의 블록 체인 네트워크 상에서 발생하는 트랜잭션을 포함하도록 공유되는 블록들을 연결한 사전적 의미의 블록 체인을 지칭하는 것일 수 있다.
또한, 도 2를 참조하면, 본원에서 개시하는 멀티 체인 시스템(10)에서의 허브-존(Hub-Zone) 구조는 존(Zone)에 해당하는 블록 체인 사이에서는 직접적 통신이 수행되지 않고, 허브(Hub)를 통한 중계가 이루어지는 Zone-Hub-Zone 통신이 이루어지는 네트워크 구조를 의미할 수 있다. 보다 구체적으로, 존(Zone)에 해당하는 각각의 블록 체인들(예를 들면, 제1블록 체인(11), 제2블록 체인(12) 등)은 허브(Hub)와 통신하며, 허브(Hub)는 중계자 역할로 패킷을 출발지 체인(달리 말해, 소정의 메시지의 송신 주체를 포함하는 블록 체인)로부터 목적지 체인(달리 말해, 해당 메시지의 수신 주체를 포함하는 블록 체인)에 전달할 수 있다.
또한, 도 1 및 도 2를 참조하면, 제1블록 체인(11)은 Zone A로 표시되고, 제2블록 체인(12)은 Zone B로 표시될 수 있다. 또한, 도 1 및 도 2에는 허브 측 체인(20)이 두 개의 서로 다른 존(Zone)인 제1블록 체인(11)과 제2블록 체인(12)만을 중계하는 것으로 도시되었으나, 본원의 구현예에 따라 하나의 허브 측 체인(20)에 대하여 세 개 이상의 서로 다른 존(Zone)에 해당하는 블록 체인이 연결될 수 있음은 물론이다.
종합하면, 존(Zone)에 해당하는 블록 체인(11, 12)은 모두 허브 측 체인(20) 와 연결되어 있다는 것이 본원에서 개시하는 멀티 체인 시스템(10)의 Hub-zone 구조의 핵심 특징이며, 이러한 구조적 특징과 관련하여, 본원에서 개시하는 멀티 체인 시스템(10)은 허브 측 체인(20)에 인증 기관(CA)에 해당하는 허브 노드(200)를 운영함으로써 각각의 존(Zone)에 해당하는 블록 체인으로부터의 접근성을 확보하게 된다.
또한, 도 1을 참조하면, 제1블록 체인(11)에 포함되는 복수의 릴레이 노드(100)는 제1큐(Queue)를 공유할 수 있다. 또한, 제1큐는 본원의 구현예에 따라 'Register Queue'로 달리 지칭될 수 있다. 또한, 허브 측 체인(20)에 포함되는 적어도 하나의 허브 노드(200)는 제2큐(Queue)를 공유할 수 있다. 또한, 제2큐는 본원의 구현예에 따라 'Packet Queue'로 달리 지칭될 수 있다. 이하에서는, 제1큐 및 제2큐를 Q1 및 Q2로 각각 구분하도록 한다.
또한, 도 1을 참조하면, 허브 측 체인(20)에 포함된 적어도 하나의 허브 노드(200)는 이하에서 상세히 설명하는 교차 인증 방식의 수행을 위하여 필요한 공개키 정보를 포함하는 Key DB(1)를 생성할 수 있다. 이와 관련하여, 허브 노드(200)에 의한 중계를 통해 통신을 수행하는 각각의 블록 체인(11, 12)인 존(Zone)은 미리 설정된 주기마다(예를 들면, 특정 라운드마다) 허브 측 체인(20)에 저장된 Key DB(1)를 동기화할 수 있다. 특히, 각각의 블록 체인(11, 12) 내의 풀(Full) 노드는 동기화된 Key DB(1)를 보관(저장)하되, 존(Zone)에 해당하는 블록 체인 내부 노드들에는 Key DB(1)의 내용에 대한 수정 권한이 미부여됨으로써, 존(Zone)에 해당하는 블록 체인(11, 12) 각각은 동기화된 Key DB(1)를 이용하여 체인 내부 통신만으로 교차 인증을 수행하도록 동작할 수 있다.
한편, 도 2를 참조하면, 본원에서 개시하는 교차 인증 기법은 블록 체인 네트워크에 참여하는 소정의 노드(예를 들면, 제1블록 체인(11) 내의 어느 하나의 릴레이 노드(100a) 등)의 공개키 정보를 인증 기관(CA)에 해당하는 허브 노드(200)를 통해 등록하고, 존(Zone)에 해당하는 각각의 블록 체인은 등록된 공개키 정보를 포함하는 Key DB(1)를 허브 측 체인(20)으로부터 팔로우(Follow)하는 방식으로 사용하는 것으로 이해될 수 있다.
이하에서는, 도 3을 참조하여, 본원에서의 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 기법에 대해 상세히 설명하도록 한다.
도 3은 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 등록 프로세스를 설명하기 위한 개념도이다
도 3을 참조하면, 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드(100a)는 자신의 공개키 정보를 포함하는 등록 요청 패킷(register packet)을 블록 체인 간의 인증 기관(CA)에 해당하는 허브 노드(200)에 송신할 수 있다.
참고로, 본원의 실시예에 관한 설명에서 제1블록 체인(11) 네트워크에 참여하는 복수의 릴레이 노드 중 허브 노드(200)를 통해 자신의 공개키 정보를 등록 및 보관하고자 하는 릴레이 노드를 복수의 릴레이 노드 중 어느 하나의 릴레이 노드를 의미하는 도면 부호 100a의 '대상 노드(100a)'로 지칭하고, 제1블록 체인(11) 네트워크에 참여하는 나머지 릴레이 노드 중 대상 노드(100a)의 공개키 정보의 등록을 위한 합의 과정에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드를 도면 부호 100b의 '나머지 노드(100b)'로 지칭하도록 한다.
또한, 본원의 일 실시예에 따르면, 대상 노드(100a)는 미리 설정된 키 등록 트랜잭션(도 1 및 도 3의 "Tx.Key register")이 제1블록 체인(11)에 추가되는 소정의 블록에 포함되면, 공개키의 등록에 필요한 정보(공개키 정보)를 담은 패킷(등록 요청 패킷)을 허브 노드(200)로 전송할 수 있다.
또한, 대상 노드(100a)의 공개키 정보를 포함하는 등록 요청 패킷을 수신한 허브 노드(200)는 수신한 공개키 정보를 제1큐(Q1)에 저장하여 가등록할 수 있다. 달리 말해, 허브 노드(200)는 등록 요청 패킷을 수신(수령)한 후, 제1블록 체인(11) 네트워크에 참여하는 복수의 릴레이 노드(100) 간에 공유되는 제1큐(Q1)에 수신한 내용을 저장하되, 해당 공개키 정보를 조회만 가능한 상태인 가등록 상태로 등록할 수 있다.
또한, 허브 노드(200)는 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷(pre-registered packet)을 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 적어도 하나의 노드(100a, 100b)로 송신할 수 있다. 또한, 본원의 일 실시예에 따르면, 허브 노드(200)는 제1블록 체인(11)에 참여하는 모든 릴레이 노드(100)에 대하여 가등록 정보 패킷을 송신할 수 있다.
또한, 허브 노드(200)로부터 가등록 정보 패킷을 수신한 릴레이 노드(100)는 대상 노드(100a)의 공개키 정보가 인증 기관(CA)인 허브 노드(200)에 전송되었다는 메시지를 제1큐(Q1)에 저장할 수 있다.
또한, 허브 노드(200)가 공개키 정보를 제1큐(Q1)에 저장하여 대상 노드(100a)의 공개키 정보가 가등록 상태에 놓이게 된 후, 나머지 노드(100b)는 제1큐(Q1)에 저장된 공개키 정보에 대한 BFT(Byzantine Fault Tolerance) 합의를 수행할 수 있다.
참고로, BFT(Byzantine Fault Tolerance) 합의란, 분산시스템 등에서 약속된 행동을 하지 않는 비잔틴 노드가 존재할 수 있는 상황을 가정할 때, 해당 분산시스템 등에 참여한 모든 노드가 성공적으로 합의를 이룰 수 있도록 개발된 합의 알고리즘을 의미할 수 있다.
구체적으로, 본원의 일 실시예에 따르면, 나머지 노드(100b)는 허브 노드(200)로부터 공개키 정보가 제1큐(Q1)에 가등록된 상태임을 알리는 가등록 정보 패킷을 수신하여 제1큐(Q1)에 저장된 공개키 정보에 대한 유효성을 확인할 수 있다(verifying register content).
또한, 공개키 정보에 대한 유효성을 확인한 나머지 노드(100b) 각각은 공개키 정보에 대한 동의 서명(approval message)을 포함하는 트랜잭션을 블록에 추가할 수 있다. 보다 구체적으로, 대상 노드(100a)의 공개키 정보의 유효성을 확인한 나머지 노드(100b) 각각은 동의 서명을 포함하는 메시지를 제1큐(Q1)에 추가할 수 있다.
또한, 제1블록 체인(11) 네트워크에 참여하는 복수의 릴레이 노드(100) 중 미리 설정된 비율 이상의 릴레이 노드가 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가하고 나면, 대상 노드(100a) 및 나머지 노드(100b) 중 적어도 하나의 노드는 허브 노드(200)로 대상 노드(100a)의 공개키 정보에 대한 등록 확정 패킷(commitment packet)을 송신할 수 있다.
이와 관련하여, 본원의 일 실시예에 따르면, 미리 설정된 비율은 2/3일 수 있으나, 이에만 한정되는 것은 아니고, 등록 확정 패킷의 송신을 위하여 제1블록 체인(11) 내의 릴레이 노드 중 동의 서명의 확보가 요구되는 비율은 제1블록 체인(11)에 참여하는 복수의 릴레이 노드(100)의 수, 대상 노드(100a)에 대하여 기 도출된 신뢰도 정보 등에 기초하여 상이한 비율로 설정될 수 있다.
이렇듯, 제1블록 체인(11) 네트워크에 참여하는 복수의 릴레이 노드에 의한 미리 설정된 비율 이상의 합의(동의)가 대상 노드(100a)의 공개키 정보에 대하여 이루어진 이후에, 인증 기관(CA)인 허브 노드(200)가 공개키 정보를 최종적으로 등록(정식 등록, 본 등록)함으로써, 허브 노드(200)는 대상 노드(100a)의 공개키 정보가 제1블록 체인(11)에 대응하는 존(Zone)의 내부적 합의를 거친 올바른 공개키 정보임을 확인한 후 해당 공개키를 Key DB(1)에 등록 및 보관함으로써, 제1블록 체인(11) 외의 제2블록 체인(12)에서도 해당 공개키를 신뢰할 수 있게 된다.
또한, 허브 노드(200)는 제1블록 체인(11)에 참여하는 나머지 노드(100b)에 의해 수행된 BFT 합의에 따른 등록 확정 패킷을 수신하면, 공개키 정보를 블록에 추가할 수 있다. 구체적으로, 본원의 일 실시예에 따르면, 등록 확정 패킷을 수신한 허브 노드(200)는 복수의 허브 노드(200)를 포함하는 허브 측 체인(20)과 연계된 블록에 공개키 정보를 추가할 수 있다. 다른 예로, 허브 노드(200)는 허브 측 체인(20)과 연계된 블록 및 제1블록 체인(11) 상의 블록 중 적어도 하나에 공개키 정보를 추가할 수 있다.
구체적으로, 허브 노드(200)는 대상 노드(100a)의 공개키 정보를 등록하기 위하여 송수신된 등록 요청 패킷(register packet), 가등록 정보 패킷(pre-registered packet) 및 등록 확정 패킷(commitment packet)을 포함하는 등록 관련 패킷을 제2큐(Q2)에 저장할 수 있다.
또한, 허브 노드(200)는 제2큐(Q2)에 누적하여 저장된 메시지의 크기가 미리 설정된 배치 사이즈 이상이면, 누적 저장된 메시지에 기초하여 머클루트를 계산할 수 있다. 또한, 허브 노드(200)는 계산된 머클루트에 기초하여 트랙잭션을 발생시킴으로써 공개키 정보를 블록에 추가할 수 있다.
또한, 허브 노드(200)는 등록 관련 패킷의 원본을 분산 원장(Distributed Ledger, DL)의 형태로 저장할 수 있다. 이와 관련하여, 등록 관련 패킷의 원본이 분산 원장 형태를 가지며, 등록 관련 패킷의 머클루트가 체인(예를 들면, 허브 측 체인(20) 등)의 스테이트(State)에 반영됨에 따라, Key DB(1)의 위변조가 방지되는 것일 수 있다.
이렇듯, 허브 노드(200)가 대상 노드(100a)의 공개키 정보를 포함하는 트랜잭션을 블록에 추가하면, 공개키 정보는 제2블록 체인(12)에 속하는 노드가 허브 측 체인(20)에 의해 공유된 Key DB(1)를 확인함으로써 제1블록 체인(11) 외의 제2블록 체인(12)에도 신뢰성 있게 공유될 수 있다.
도 4는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 릴레이 노드 장치의 개략적인 구성도이다.
도 4를 참조하면, BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 릴레이 노드 장치(100)는, 등록 요청부(110) 및 합의 수행부(120)를 포함할 수 있다. 참고로, 도 4에 도시된 노드 장치(100)는 전술한 제1블록 체인(11)에 참여하는 복수의 릴레이 노드(100) 중 어느 하나의 릴레이 노드일 수 있다.
등록 요청부(110)는 릴레이 노드 장치(100)의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드(200)에 송신할 수 있다.
합의 수행부(120)는 허브 노드(200)가 수신한 공개키 정보를 제1큐(Q1)에 저장한 후, 복수의 릴레이 노드 중 적어도 일부의 노드(100b)가 제1큐(Q1)에 저장된 공개키 정보에 대한 BFT 합의가 수행되면, BFT 합의에 따른 등록 확정 패킷을 허브 노드(200)에 송신할 수 있다.
구체적으로, 합의 수행부(120)는 제1블록 체인(11)에 참여하는 복수의 릴레이 노드(100) 중 미리 설정된 비율 이상의 릴레이 노드가 제1큐(Q1)에 저장된 공개키 정보에 대한 유효성을 확인하여 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가하면, 허브 노드(200)로 해당 공개키 정보에 대한 등록 확정 패킷을 송신할 수 있다.
도 5는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 허브 노드 장치의 개략적인 구성도이다. 참고로, 도 5에 도시된 허브 노드 장치(200)는 전술한 블록 체인 간의 인증 기관에 해당하는 허브 노드(200)일 수 있다.
도 5를 참조하면, BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 허브 노드 장치(200)는, 요청 수신부(210), 가등록 수행부(220), 합의 수신부(230) 및 등록부(240)를 포함할 수 있다. 또한, 도 5를 참조하면, 등록부(240)는 패킷 공유부(241) 및 보관 수행부(242)를 포함할 수 있다.
요청 수신부(210)는, 제1블록 체인(11)에 참여하는 어느 하나의 릴레이 노드(100a)로부터 어느 하나의 릴레이 노드(100a)의 공개키 정보를 포함하는 등록 요청 패킷을 수신할 수 있다.
가등록 수행부(220)는, 수신한 공개키 정보를 제1큐(Q1)에 저장하여 가등록하고, 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 제1블록 체인(11)에 참여하는 복수의 릴레이 노드(100) 중 적어도 일부의 노드로 송신할 수 있다.
합의 수신부(230)는, 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 적어도 일부(100b)에 의해 수행된 BFT 합의에 따른 등록 확정 패킷을 복수의 릴레이 노드(100) 중 적어도 하나로부터 수신할 수 있다.
등록부(240)는, 등록 확정 패킷이 수신되면, 해당 공개키 정보를 블록에 추가할 수 있다.
구체적으로, 패킷 공유부(241)는, 등록 요청 패킷, 가등록 정보 패킷 및 등록 확정 패킷을 포함하는 등록 관련 패킷을 제2큐(Q2에 저장할 수 있다.
또한, 보관 수행부(242)는, 제2큐(Q2)에 누적하여 저장된 메시지의 크기가 미리 설정된 배치 사이즈 이상이면, 제2큐(Q2)에 누적 저장된 메시지에 기초하여 머클루트를 계산할 수 있다. 또한, 보관 수행부(242)는 계산된 머클루트에 기초하여 트랜잭션을 발생시킬 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.
도 6은 제1블록 체인 내의 릴레이 노드에 의해 수행되는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 대한 동작 흐름도이다.
도 6에 도시된 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은 앞서 설명된 제1블록 체인(11)에 참여하는 복수의 릴레이 노드(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 제1블록 체인(11)에 참여하는 복수의 릴레이 노드(100)에 대하여 설명된 내용은 도 6에 대한 설명에도 동일하게 적용될 수 있다.
도 6을 참조하면, 단계 S11에서 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드(100a)는 자신의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드(200)에 송신할 수 있다.
다음으로, 단계 S12에서 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드(100b)는 허브 노드가 공개키 정보를 제1큐(Q1)에 저장한 후 제1큐(Q1)에 저장된 공개키 정보에 대한 BFT 합의를 수행할 수 있다.
구체적으로, 단계 S12에서 복수의 릴레이 노드 중 적어도 일부의 노드(100b)는, 허브 노드(200)로부터 공개키 정보가 제1큐(Q1)에 가등록된 상태임을 알리는 가등록 정보 패킷을 수신할 수 있다.
또한, 단계 S12에서 복수의 릴레이 노드 중 적어도 일부의 노드(100b)는, 제1큐(Q1)에 저장된 공개키 정보에 대한 유효성을 확인할 수 있다.
또한, 단계 S12에서 복수의 릴레이 노드(100) 중 미리 설정된 비율 이상의 릴레이 노드는 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가할 수 있다.
또한, 단계 S12에서 복수의 릴레이 노드 중 적어도 하나의 노드(100a, 100b)는 허브 노드(200)로 공개키 정보에 대한 등록 확정 패킷을 송신할 수 있다.
상술한 설명에서, 단계 S11및 S12는 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 7은 허브 노드 장치에 의해 수행되는 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 대한 동작 흐름도이다.
도 7에 도시된 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은 앞서 설명된 허브 노드(200)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 허브 노드(200)에 대하여 설명된 내용은 도 7에 대한 설명에도 동일하게 적용될 수 있다.
도 7을 참조하면, 단계 S21에서 요청 수신부(210)는, 제1블록 체인(11)에 참여하는 어느 하나의 릴레이 노드(100a)로부터 어느 하나의 릴레이 노드(100a)의 공개키 정보를 포함하는 등록 요청 패킷을 수신할 수 있다.
다음으로, 단계 S22에서 가등록 수행부(220)는, 수신한 공개키 정보를 제1큐(Q1)에 저장하여 가등록할 수 있다.
다음으로, 단계 S23에서 가등록 수행부(220)는, 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 적어도 하나의 노드(100a, 100b)로 송신할 수 있다.
다음으로, 단계 S24에서 합의 수신부(230)는, 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부(100b)에 의해 수행된 BFT 합의에 따른 등록 확정 패킷을 복수의 릴레이 노드 중 적어도 하나의 노드(100a, 100b)로부터 수신할 수 있다.
다음으로, 단계 S25에서 등록부(240)는, 공개키 정보를 블록에 추가할 수 있다.
상술한 설명에서, 단계 S21내지 S25는 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 8은 허브 노드 장치에 의해 수행되는 공개키 정보의 보관 프로세스에 대한 세부 동작 흐름도이다.
도 8에 도시된 공개키 정보의 보관 프로세스는 앞서 설명된 허브 노드(200)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 허브 노드(200)에 대하여 설명된 내용은 도 8에 대한 설명에도 동일하게 적용될 수 있다.
도 8을 참조하면, 단계 S251에서 패킷 공유부(241)는 등록 요청 패킷, 가등록 정보 패킷 및 등록 확정 패킷을 포함하는 등록 관련 패킷을 제2큐(Q2)에 저장할 수 있다.
다음으로, 단계 S252에서 보관 수행부(242)는 제2큐(Q2)에 누적하여 저장된 메시지의 크기가 미리 설정된 배치 사이즈 이상이면, 제2큐(Q2)에 누적 저장된 메시지에 기초하여 머클루트를 계산할 수 있다.
다음으로, 단계 S253에서 보관 수행부(242)는 계산된 머클루트에 기초하여 트랜잭션을 발생시킬 수 있다.
상술한 설명에서, 단계 S251내지 S253은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 9는 본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 대한 동작 흐름도이다.
도 9에 도시된 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은 앞서 설명된 멀티 체인 시스템(10)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 멀티 체인 시스템(10)에 대하여 설명된 내용은 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 9를 참조하면, 단계 S31에서 제1블록 체인(11)에 참여하는 복수의 릴레이 노드(100) 중 어느 하나의 릴레이 노드인 대상 노드(100a)는 자신의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드(200)에 송신할 수 있다.
다음으로, 단계 S32에서 허브 노드(200)는 수신한 공개키 정보를 제1큐(Q1)에 저장하여 가등록할 수 있다.
다음으로, 단계 S33에서 허브 노드(200)는 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 적어도 하나의 노드(100a, 100b)로 송신할 수 있다.
다음으로, 단계 S34 내지 단계 S36에서 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드인 나머지 노드(100b)는 제1큐(Q1)에 저장된 공개키 정보에 대한 BFT 합의를 수행할 수 있다.
구체적으로, 단계 S34에서 나머지 노드(100b) 각각은 제1큐(Q1)에 저장된 대상 노드(100a)의 공개키 정보에 대한 유효성을 확인할 수 있다.
다음으로, 단계 S35에서 나머지 노드(100b) 각각(보다 구체적으로, 복수의 릴레이 노드(100) 중 미리 설정된 비율 이상의 릴레이 노드 각각)은 대상 노드(100a)의 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가할 수 있다.
다음으로, 단계 S36에서 제1블록 체인(11)에 참여하는 복수의 릴레이 노드 중 적어도 하나의 노드(100a, 100b)는 허브 노드(200) 대상 노드(100a)의 공개키 정보에 대한 등록 확정 패킷을 송신할 수 있다.
상술한 설명에서, 단계 S31내지 S36은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본원의 일 실시예에 따른 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 전술한 BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
10: 멀티 체인 시스템
100: 릴레이 노드 장치
110: 등록 요청부
120: 합의 수행부
200: 허브 노드 장치
210: 요청 수신부
220: 가등록 수행부
230: 합의 수신부
240: 등록부
241: 패킷 공유부
242: 보관 수행부
1: Key DB

Claims (13)

  1. BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 있어서,
    제1블록 체인에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드가, 자신의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드에 송신하는 단계; 및
    상기 허브 노드가 상기 공개키 정보를 제1큐(Queue)에 저장한 후, 상기 복수의 릴레이 노드 중 적어도 일부의 노드가 상기 제1큐에 저장된 상기 공개키 정보에 대한 BFT 합의를 수행하는 단계,
    를 포함하고,
    상기 합의를 수행하는 단계에서 상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드의 합의가 이루어진 이후에,
    상기 허브 노드가 상기 공개키 정보를 포함하는 트랜잭션을 블록에 추가하면, 상기 공개키 정보는 상기 제1블록 체인 외의 제2블록 체인에 공유되는 것인, 교차 인증 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 합의를 수행하는 단계는,
    상기 복수의 릴레이 노드 중 적어도 일부의 노드가, 상기 허브 노드로부터 상기 공개키 정보가 상기 제1큐에 가등록된 상태임을 알리는 가등록 정보 패킷을 수신하는 단계;
    상기 복수의 릴레이 노드 중 적어도 일부의 노드가, 상기 제1큐에 저장된 상기 공개키 정보에 대한 유효성을 확인하는 단계;
    상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드가 상기 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가하는 단계; 및
    상기 복수의 릴레이 노드 중 적어도 일부의 노드가, 상기 허브 노드로 상기 공개키 정보에 대한 등록 확정 패킷을 송신하는 단계,
    를 포함하는 것인, 교차 인증 방법.
  4. 제3항에 있어서,
    상기 미리 설정된 비율은 2/3인 것을 특징으로 하는, 교차 인증 방법.
  5. BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 있어서,
    블록 체인 간의 인증 기관에 해당하는 허브 노드가, 제1블록 체인에 참여하는 어느 하나의 릴레이 노드로부터 상기 어느 하나의 릴레이 노드의 공개키 정보를 포함하는 등록 요청 패킷을 수신하는 단계;
    상기 허브 노드가, 상기 수신한 공개키 정보를 제1큐(Queue)에 저장하여 가등록하는 단계;
    상기 허브 노드가, 상기 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드로 송신하는 단계;
    상기 허브 노드가, 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부에 의해 수행된 BFT 합의에 따른 등록 확정 패킷을 상기 복수의 릴레이 노드 중 적어도 일부로부터 수신하는 단계; 및
    상기 허브 노드가, 상기 공개키 정보를 블록에 추가하는 단계,
    를 포함하고,
    상기 수신하는 단계에서 상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드로부터 BFT 합의에 따른 상기 등록 확정 패킷을 수신한 이후에,
    상기 추가하는 단계 이후에,
    상기 공개키 정보는 상기 제1블록 체인 외의 제2블록 체인에 공유되는 것인, 교차 인증 방법.
  6. 삭제
  7. 제5항에 있어서,
    상기 블록에 추가하는 단계는,
    상기 등록 요청 패킷, 상기 가등록 정보 패킷 및 상기 등록 확정 패킷을 포함하는 등록 관련 패킷을 제2큐(Queue)에 저장하는 단계;
    상기 제2큐에 누적하여 저장된 메시지의 크기가 미리 설정된 배치 사이즈 이상이면, 상기 저장된 메시지에 기초하여 머클루트를 계산하는 단계; 및
    상기 머클루트에 기초하여 트랜잭션을 발생시키는 단계,
    를 포함하는 것인, 교차 인증 방법.
  8. 제7항에 있어서,
    상기 등록 관련 패킷의 원본은 상기 허브 노드에 의해 분산 원장의 형태로 저장되는 것인, 교차 인증 방법.
  9. BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증 방법에 있어서,
    제1블록 체인에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드가, 자신의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드에 송신하는 단계;
    상기 허브 노드가, 상기 공개키 정보를 제1큐(Queue)에 저장하여 가등록하는 단계;
    상기 허브 노드가, 상기 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드로 송신하는 단계;
    상기 복수의 릴레이 노드 중 적어도 일부의 노드가 상기 제1큐에 저장된 상기 공개키 정보에 대한 BFT 합의를 수행하고, 상기 BFT 합의에 따른 등록 확정 패킷을 상기 허브 노드로 송신하는 단계; 및
    상기 허브 노드가, 상기 공개키 정보를 블록에 추가하는 단계,
    를 포함하고,
    상기 송신하는 단계에서 상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드의 합의가 이루어진 이후에,
    상기 공개키 정보는 상기 제1블록 체인 외의 제2블록 체인에 공유되는 것인, 교차 인증 방법.
  10. BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 릴레이 노드 장치로서,
    상기 릴레이 노드 장치는, 제1블록 체인에 참여하는 복수의 릴레이 노드 중 어느 하나의 릴레이 노드이고,
    상기 릴레이 노드 장치의 공개키 정보를 포함하는 등록 요청 패킷을 블록 체인 간의 인증 기관에 해당하는 허브 노드에 송신하는 등록 요청부; 및
    상기 허브 노드가 상기 공개키 정보를 제1큐(Queue)에 저장한 후, 상기 복수의 릴레이 노드 중 적어도 일부의 노드에 의해 상기 제1큐에 저장된 상기 공개키 정보에 대한 BFT 합의가 수행되면, 상기 BFT 합의에 따른 등록 확정 패킷을 상기 허브 노드에 송신하는 합의 수행부,
    를 포함하고,
    상기 합의 수행부에서 상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드의 합의가 이루어진 이후에,
    상기 허브 노드가 상기 공개키 정보를 포함하는 트랜잭션을 블록에 추가하면, 상기 공개키 정보는 상기 제1블록 체인 외의 제2블록 체인에 공유되는 것인, 릴레이 노드 장치.
  11. 제10항에 있어서,
    상기 복수의 릴레이 노드 중 적어도 일부는,
    상기 허브 노드로부터 상기 공개키 정보가 상기 제1큐에 가등록된 상태임을 알리는 가등록 정보 패킷을 수신하고,
    상기 합의 수행부는,
    상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드가, 상기 제1큐에 저장된 상기 공개키 정보에 대한 유효성을 확인하여 상기 공개키 정보에 대한 동의 서명을 포함하는 트랜잭션을 블록에 추가하면, 상기 허브 노드로 상기 공개키 정보에 대한 등록 확정 패킷을 송신하는 것인, 릴레이 노드 장치.
  12. BFT 합의 방식을 이용한 멀티 체인 간의 교차 인증을 위한 허브 노드 장치로서,
    상기 허브 노드 장치는, 블록 체인 간의 인증 기관에 해당하고,
    제1블록 체인에 참여하는 어느 하나의 릴레이 노드로부터 상기 어느 하나의 릴레이 노드의 공개키 정보를 포함하는 등록 요청 패킷을 수신하는 요청 수신부;
    상기 수신한 공개키 정보를 제1큐(Queue)에 저장하여 가등록하고, 상기 공개키 정보가 가등록 상태임을 알리는 가등록 정보 패킷을 상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부의 노드로 송신하는 가등록 수행부;
    상기 제1블록 체인에 참여하는 복수의 릴레이 노드 중 적어도 일부에 의해 수행된 BFT 합의에 따른 등록 확정 패킷을 상기 복수의 릴레이 노드 중 적어도 일부로부터 수신하는 합의 수신부; 및
    상기 공개키 정보를 블록에 추가하는 등록부,
    를 포함하고,
    상기 합의 수신부에서 상기 복수의 릴레이 노드 중 미리 설정된 비율 이상의 릴레이 노드로부터 BFT 합의에 따른 상기 등록 확정 패킷을 수신한 이후에,
    상기 등록부가 상기 공개키 정보를 포함하는 트랜잭션을 블록에 추가하면, 상기 공개키 정보는 상기 제1블록 체인 외의 제2블록 체인에 공유되는 것인, 허브 노드 장치.
  13. 제12항에 있어서,
    상기 등록부는,
    상기 등록 요청 패킷, 상기 가등록 정보 패킷 및 상기 등록 확정 패킷을 포함하는 등록 관련 패킷을 제2큐(Queue)에 저장하는 패킷 공유부; 및
    상기 제2큐에 누적하여 저장된 메시지의 크기가 미리 설정된 배치 사이즈 이상이면, 상기 저장된 메시지에 기초하여 머클루트를 계산하고, 상기 머클루트에 기초하여 트랜잭션을 발생시키는 보관 수행부,
    를 포함하는 것인, 허브 노드 장치.
KR1020200187095A 2020-12-30 2020-12-30 Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법 KR102462998B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200187095A KR102462998B1 (ko) 2020-12-30 2020-12-30 Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200187095A KR102462998B1 (ko) 2020-12-30 2020-12-30 Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220095509A KR20220095509A (ko) 2022-07-07
KR102462998B1 true KR102462998B1 (ko) 2022-11-03

Family

ID=82397535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200187095A KR102462998B1 (ko) 2020-12-30 2020-12-30 Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102462998B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190199693A1 (en) 2015-03-23 2019-06-27 Oleksandr Vityaz Safe-Transfer Exchange Protocol Based on Trigger-Ready Envelopes Among Distributed Nodes.
WO2020082078A1 (en) 2018-10-19 2020-04-23 Digital Asset (Switzerland) GmbH Privacy preserving validation and commit architecture
US10771524B1 (en) 2019-07-31 2020-09-08 Theta Labs, Inc. Methods and systems for a decentralized data streaming and delivery network
US20200349194A1 (en) 2019-05-02 2020-11-05 International Business Machines Corporation Index management for a database

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190199693A1 (en) 2015-03-23 2019-06-27 Oleksandr Vityaz Safe-Transfer Exchange Protocol Based on Trigger-Ready Envelopes Among Distributed Nodes.
WO2020082078A1 (en) 2018-10-19 2020-04-23 Digital Asset (Switzerland) GmbH Privacy preserving validation and commit architecture
US20200349194A1 (en) 2019-05-02 2020-11-05 International Business Machines Corporation Index management for a database
US10771524B1 (en) 2019-07-31 2020-09-08 Theta Labs, Inc. Methods and systems for a decentralized data streaming and delivery network

Also Published As

Publication number Publication date
KR20220095509A (ko) 2022-07-07

Similar Documents

Publication Publication Date Title
CN110602138B (zh) 区块链网络的数据处理方法、装置、电子设备及存储介质
CN108881187B (zh) 一种适用于许可链场景的跨链数据传递方法及设备
CN111107136A (zh) 一种基于ipfs的区块链跨链中继方法
Yavari et al. An improved blockchain-based authentication protocol for IoT network management
EP3764308A1 (en) Blockchain-based system, and electronic apparatus and method in the system
CN113923044B (zh) 一种基于可信执行环境的跨链系统及方法
CN112583917B (zh) 一种基于cscp的混合链构建方法
US20100154040A1 (en) Method, apparatus and system for distributed delegation and verification
CN114499898B (zh) 一种区块链跨链安全接入方法及装置
US20230006840A1 (en) Methods and devices for automated digital certificate verification
KR102151746B1 (ko) 블록체인 기반의 IoT플랫폼을 활용한 데이터 저장 방법
CN111262860A (zh) 跨链模式下的身份认证方法及装置
CN112202809A (zh) 区块链节点校验方法
CN114867014A (zh) 一种车联网访问控制方法、系统、介质、设备及终端
KR20210151020A (ko) 개인정보의 익명성을 제공하는 블록체인 시스템 및 블록체인에서 개인정보의 익명성을 제공하는 방법
CN111556026B (zh) 一种基于联盟链的匿名身份认证方法
US20210111900A1 (en) Verification information attaching device, verification device, information management system, method, and program
CN114567491A (zh) 一种基于零信任原则与区块链技术的医学病历共享方法与系统
KR20210060356A (ko) 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법
KR102462998B1 (ko) Bft 합의 방식을 이용한 멀티 체인 간의 교차 인증 장치 및 방법
CN116743387A (zh) 一种基于区块链的车辆雾服务安全通信系统、方法及终端
Chinthamu et al. Self-Secure firmware model for Blockchain-Enabled IOT environment to Embedded system
CN115913647A (zh) 基于区块链的跨域设备访问控制策略强制实施方法及装置
CN116186786A (zh) 基于区块链的业务处理方法、装置、电子设备和可读介质
CN116186749A (zh) 基于区块链的业务处理方法、装置、电子设备和可读介质

Legal Events

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