KR20220114350A - Management server for blockchain network, blockchain system including the same, and operating method of the same - Google Patents

Management server for blockchain network, blockchain system including the same, and operating method of the same Download PDF

Info

Publication number
KR20220114350A
KR20220114350A KR1020210017755A KR20210017755A KR20220114350A KR 20220114350 A KR20220114350 A KR 20220114350A KR 1020210017755 A KR1020210017755 A KR 1020210017755A KR 20210017755 A KR20210017755 A KR 20210017755A KR 20220114350 A KR20220114350 A KR 20220114350A
Authority
KR
South Korea
Prior art keywords
transaction
block chain
network
blockchain
management server
Prior art date
Application number
KR1020210017755A
Other languages
Korean (ko)
Other versions
KR102497318B1 (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 KR1020210017755A priority Critical patent/KR102497318B1/en
Publication of KR20220114350A publication Critical patent/KR20220114350A/en
Application granted granted Critical
Publication of KR102497318B1 publication Critical patent/KR102497318B1/en

Links

Images

Classifications

    • 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/1044Group management mechanisms 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided are a management server for a blockchain network, a blockchain system including the same, and an operation method thereof. According to some embodiments of the present invention, a management server receives a participation request in a blockchain network for a transaction from a target node and performs authentication for the target node in response to the participation request to allocate a virtual IP address to the target node based on an authentication result.

Description

블록체인 네트워크를 위한 관리 서버, 이를 포함하는 블록체인 시스템 및 이의 동작 방법{MANAGEMENT SERVER FOR BLOCKCHAIN NETWORK, BLOCKCHAIN SYSTEM INCLUDING THE SAME, AND OPERATING METHOD OF THE SAME}A management server for a blockchain network, a blockchain system including the same, and an operation method thereof

본 개시는 블록체인 네트워크를 위한 관리 서버, 이를 포함하는 블록체인 시스템 및 이의 동작 방법에 관한 것이다. 보다 자세하게는, 블록체인 네트워크의 구성, 노드 인증 등의 종합적인 관리 기능을 수행하는 서버, 이를 포함하며 블록체인 기반 거래 서비스를 제공하는 블록체인 시스템 및 이의 동작 방법에 관한 것이다.The present disclosure relates to a management server for a blockchain network, a blockchain system including the same, and an operating method thereof. More specifically, it relates to a server that performs comprehensive management functions such as configuration of a block chain network and node authentication, a block chain system including the same and providing a block chain-based transaction service, and an operation method thereof.

블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 블록체인 노드들이 블록들을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 그 자료 구조로 구성된 데이터 자체를 지칭한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인은 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.A blockchain records continuously increasing data in a specific unit of block, and each block chain node constituting a peer-to-peer (P2P) network manages the blocks as a chain-type data structure. It refers to the data itself consisting of a description or its data structure. At this time, the blockchain composed of a chain-type data structure is operated in the form of a distributed ledger at each node without a central system.

각각의 블록체인 노드는 도 1에 예시된 바와 같은 체인 형태로 블록들을 관리한다. 여기서, 각 블록에는 이전 블록에 대한 해시 값이 기록되며, 해시 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 데이터의 위변조는 어려워지고, 데이터의 신뢰도는 향상되며, 분산된 환경에서도 데이터의 무결성(integrity)이 보장될 수 있다.Each blockchain node manages blocks in the form of a chain as illustrated in FIG. 1 . Here, in each block, a hash value for the previous block is recorded, and the previous block can be referenced through the hash value. Accordingly, as blocks are accumulated, forgery of data recorded in blocks becomes difficult, data reliability is improved, and data integrity can be guaranteed even in a distributed environment.

최근에는, 블록체인 네트워크의 성능 및 보안성을 더욱 향상시키기 위해 프라이빗 블록체인 네트워크가 제안된 바 있다. 프라이빗 블록체인 네트워크는 허가된 노드들로 네트워크를 구성함으로써 보안성을 향상시킬 수 있고, 합의 프로세스를 간소화함으로써 처리 성능 또한 향상시킬 수 있다.Recently, a private blockchain network has been proposed to further improve the performance and security of the blockchain network. A private blockchain network can improve security by configuring the network with authorized nodes, and can also improve processing performance by simplifying the consensus process.

한편, 블록체인 네트워크는 P2P 네트워크이기 때문에, 모든 노드들 간에 통신이 이루어져야 한다. 그런데, 특정 노드가 사설 IP 주소를 사용하는 경우에는, 양방향 통신이 되지 않아 합의 프로세스가 원활하게 이루어지지 않을 수 있다.On the other hand, since the blockchain network is a P2P network, communication between all nodes is required. However, when a specific node uses a private IP address, bi-directional communication may not occur, and thus the consensus process may not be smoothly performed.

한국공개특허 제10-2019-0123624호 (2019.11.01 공개)Korean Patent Publication No. 10-2019-0123624 (published on Nov. 1, 2019)

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 블록체인 네트워크의 구성, 노드 인증 및 등의 종합적인 운영/관리 기능을 수행할 수 있는 서버 및 이의 동작 방법을 제공하는 것이다.A technical problem to be solved through some embodiments of the present disclosure is to provide a server capable of performing comprehensive operation/management functions such as configuration of a block chain network, node authentication, and the like, and an operating method thereof.

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 상술한 관리 서버를 포함하는 블록체인 시스템 및 이의 동작 방법을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a block chain system including the above-described management server and an operating method thereof.

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 블록체인 시스템의 보안성을 향상시킬 수 있는 방법을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a method for improving the security of a block chain system.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 블록체인 네트워크를 위한 관리 서버는, 통신 인터페이스, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리 및 상기 저장된 하나 이상의 인스트럭션들을 실행함으로써, 대상 노드로부터 거래용 블록체인 네트워크에 대한 참여 요청을 수신하고, 상기 참여 요청에 응답하여 상기 대상 노드에 대한 인증을 수행하며, 상기 인증 결과에 기초하여 상기 대상 노드에게 가상 IP 주소를 할당하는 프로세서를 포함할 수 있다. 이때, 상기 대상 노드는 상기 가상 IP 주소를 이용하여 상기 거래용 블록체인 네트워크에 참여하고, 상기 인증 결과 및 상기 가상 IP 주소를 포함하는 로그 데이터는 관리용 블록체인 네트워크를 통해 공유되는 관리용 블록체인에 기록될 수 있다.For solving the above technical problem, the management server for a blockchain network according to some embodiments of the present disclosure is a communication interface, a memory for storing one or more instructions, and by executing the stored one or more instructions, A processor that receives a request to participate in the transaction blockchain network from a target node, performs authentication on the target node in response to the participation request, and assigns a virtual IP address to the target node based on the authentication result may include In this case, the target node participates in the transaction block chain network using the virtual IP address, and log data including the authentication result and the virtual IP address are shared through the management block chain network. can be recorded in

몇몇 실시예들에서, 상기 프로세서는, 상기 대상 노드의 식별자를 이용하여 상기 대상 노드의 과거 가상 IP 주소가 존재하는지 판단하고, 존재한다는 판단에 응답하여, 상기 과거 가상 IP 주소를 상기 가상 IP 주소로 재할당할 수 있다.In some embodiments, the processor determines whether a past virtual IP address of the target node exists by using the identifier of the target node, and in response to determining that it exists, converts the past virtual IP address to the virtual IP address can be reassigned.

몇몇 실시예들에서, 상기 거래용 블록체인 네트워크와 상기 관리용 블록체인 네트워크는 프라이빗 블록체인 네트워크이고, 상기 거래용 블록체인 네트워크의 멤버 노드는 상기 관리용 블록체인에 대한 조회 권한을 가질 수 있다.In some embodiments, the transaction block chain network and the management block chain network are private block chain networks, and a member node of the transaction block chain network may have inquiry authority for the management block chain.

몇몇 실시예들에서, 상기 로그 데이터는 상기 블록체인 네트워크를 위한 관리 서버에 대한 이상 감지 결과를 더 포함할 수 있다.In some embodiments, the log data may further include an abnormality detection result for a management server for the blockchain network.

몇몇 실시예들에서, 상기 거래용 블록체인 네트워크는 에너지 거래 서비스를 제공할 수 있다.In some embodiments, the transaction blockchain network may provide an energy transaction service.

몇몇 실시예들에서, 상기 거래용 블록체인 네트워크는 제1 채널을 형성하는 제1 블록체인 네트워크와 제2 채널을 형성하는 제2 블록체인 네트워크를 포함하고, 상기 제1 채널을 통해 공유되는 제1 블록체인에는 제1 거래에 관한 데이터가 기록되며, 상기 제2 채널을 통해 공유되는 제2 블록체인에는 제2 거래에 관한 데이터가 기록될 수 있다. 이때, 상기 제1 거래에 대한 처리 수수료는 상기 제2 거래보다 높고, 상기 제1 블록체인 네트워크의 처리 성능은 상기 제2 블록체인 네트워크보다 높으며, 상기 제1 블록체인 네트워크의 대역폭은 상기 제2 블록체인 네트워크보다 클 수 있다.In some embodiments, the transaction block chain network includes a first block chain network forming a first channel and a second block chain network forming a second channel, and a first shared through the first channel Data related to the first transaction may be recorded in the block chain, and data related to the second transaction may be recorded in the second block chain shared through the second channel. In this case, the processing fee for the first transaction is higher than that of the second transaction, the processing performance of the first block chain network is higher than that of the second block chain network, and the bandwidth of the first block chain network is higher than that of the second block It can be larger than a chain network.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 블록체인 시스템은, 거래용 블록체인을 관리하는 거래용 블록체인 네트워크, 관리용 블록체인을 관리하는 관리용 블록체인 네트워크 및 관리 서버를 포함할 수 있다. 이때, 관리 서버는 대상 노드로부터 거래용 블록체인 네트워크에 대한 참여 요청을 수신하고, 상기 참여 요청에 응답하여 상기 대상 노드에 대한 인증을 수행하며, 상기 인증 결과에 기초하여 상기 대상 노드에게 가상 IP 주소를 할당할 수 있다. 또한, 상기 할당된 가상 IP와 상기 인증 결과를 포함하는 로그 데이터는 상기 관리용 블록체인에 기록될 수 있다.A block chain system according to some embodiments of the present disclosure for solving the above-described technical problem, a transaction block chain network for managing a transaction block chain, a management block chain network for managing the management block chain, and a management server may include. At this time, the management server receives a request to participate in the transaction blockchain network from the target node, performs authentication on the target node in response to the participation request, and provides a virtual IP address to the target node based on the authentication result can be assigned. In addition, log data including the allocated virtual IP and the authentication result may be recorded in the management block chain.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 대상 노드로부터 거래용 블록체인 네트워크에 대한 참여 요청을 수신하는 단계, 상기 참여 요청에 응답하여 상기 대상 노드에 대한 인증을 수행하는 단계 및 상기 인증 결과에 기초하여 상기 대상 노드에게 가상 IP 주소를 할당하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.A computer program according to some embodiments of the present disclosure for solving the above-described technical problem is coupled to a computing device, receiving a request to participate in a blockchain network for transaction from a target node, in response to the request to participate It may be stored in a computer-readable recording medium to execute the steps of performing authentication for the target node and allocating a virtual IP address to the target node based on the authentication result.

상술한 본 개시의 다양한 실시예들에 따르면, 인증 내역 및 관리 서버의 이상 감지 결과를 포함하는 로그 데이터가 별도의 관리용 블록체인에 기록될 수 있다. 기록된 로그 데이터는 거래용 블록체인 네트워크의 멤버 노드들에게 공유됨으로써, 블록체인 시스템의 전반적인 보안성을 향상시킬 수 있다. 예를 들어, 멤버 노드는 인증 내역을 기초로 인증된 멤버 노드들과의 통신만을 허용하고, 관리 서버의 이상 상태에 따라 적절한 조치를 취할 수 있다. 이에 따라, 관리 서버의 보안 취약점이 전체 블록체인 시스템의 보안 취약점으로 확장되는 것이 방지될 수 있다.According to various embodiments of the present disclosure described above, log data including authentication details and abnormal detection results of the management server may be recorded in a separate management block chain. The recorded log data is shared with member nodes of the blockchain network for transactions, thereby improving the overall security of the blockchain system. For example, the member node may only allow communication with member nodes that are authenticated based on the authentication details, and may take appropriate action according to the abnormal state of the management server. Accordingly, it is possible to prevent the security vulnerability of the management server from being extended to the security vulnerability of the entire blockchain system.

또한, 관리 서버에 의해 할당된 가상 IP 주소를 이용하여 블록체인 노드 간에 통신이 이루어질 수 있다. 이에 따라, 사설 IP로 인한 통신 문제가 해결될 수 있다.In addition, communication can be made between blockchain nodes using the virtual IP address assigned by the management server. Accordingly, the communication problem due to the private IP can be solved.

본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects according to the technical spirit of the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 개시의 다양한 실시예들에서 참조될 수 있는 블록체인의 구조를 예시한다.
도 2는 본 개시의 몇몇 실시예들에 따른 블록체인 시스템을 나타내는 예시적인 구성도이다.
도 3은 본 개시의 다른 몇몇 실시예들에 따른 블록체인 시스템을 나타내는 예시적인 구성도이다.
도 4는 본 개시의 다양한 실시예들에서 참조될 수 있는 멀티 채널 기반 블록체인 네트워크를 예시한다.
도 5는 본 개시의 몇몇 실시예들에 따른 블록체인 네트워크 구성 방법을 나타내는 예시적인 흐름도이다.
도 6은 도 5에 도시된 가상 IP 할당 단계 S80을 부연 설명하기 위한 예시도이다.
도 7은 본 개시의 몇몇 실시예들에 따라 멀티 채널 기반으로 차등적 거래 처리 서비스를 제공하는 방법을 설명하기 위한 예시도이다.
도 8은 본 개시의 다양한 실시예들에 따른 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
1 illustrates the structure of a block chain that may be referred to in various embodiments of the present disclosure.
2 is an exemplary configuration diagram illustrating a block chain system according to some embodiments of the present disclosure.
3 is an exemplary configuration diagram illustrating a block chain system according to some other embodiments of the present disclosure.
4 illustrates a multi-channel based blockchain network that may be referenced in various embodiments of the present disclosure.
5 is an exemplary flowchart illustrating a block chain network configuration method according to some embodiments of the present disclosure.
FIG. 6 is an exemplary diagram for further explaining the virtual IP allocation step S80 shown in FIG. 5 .
7 is an exemplary diagram for explaining a method of providing a differential transaction processing service on a multi-channel basis according to some embodiments of the present disclosure.
8 illustrates an example computing device that may implement an apparatus in accordance with various embodiments of the present disclosure.

이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical spirit of the present disclosure is not limited to the following embodiments, but may be implemented in various different forms, and only the following embodiments complete the technical spirit of the present disclosure, and in the technical field to which the present disclosure belongs It is provided to fully inform those of ordinary skill in the scope of the present disclosure, and the technical spirit of the present disclosure is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present disclosure. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase.

또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present disclosure, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It should be understood that elements may be “connected,” “coupled,” or “connected.”

본 개시에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, “comprises” and/or “comprising” refers to a referenced component, step, operation and/or element of one or more other components, steps, operations and/or elements. The presence or addition is not excluded.

이하, 본 개시의 다양한 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 2는 본 개시의 몇몇 실시예들에 따른 블록체인 시스템을 나타내는 예시적인 구성도이다.2 is an exemplary configuration diagram illustrating a block chain system according to some embodiments of the present disclosure.

도 2에 도시된 바와 같이, 블록체인 시스템은 거래용 블록체인 네트워크(30), 관리 서버(10), 관리용 블록체인 네트워크(40) 및 하나 이상의 사용자 단말(20-1 내지 20-n)을 포함할 수 있다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 블록체인 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 예를 들어, 사용자 단말(20)과 블록체인 네트워크(30, 40)를 구성하는 적어도 하나의 블록체인 노드 또는 관리 서버(10)와 적어도 하나의 블록체인 노드는 동일한 컴퓨팅 장치 내에 서로 다른 로직(logic)의 형태로 구현될 수도 있다. 물론, 복수의 블록체인 노드가 동일한 컴퓨팅 장치 내에 서로 다른 로직의 형태로 구현될 수도 있다.As shown in FIG. 2, the blockchain system includes a blockchain network for transaction 30, a management server 10, a management blockchain network 40, and one or more user terminals 20-1 to 20-n. may include However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and it goes without saying that some components may be added or deleted as needed. In addition, it should be noted that each component of the block chain system shown in FIG. 1 represents functional elements that are functionally separated, and that a plurality of components may be implemented in a form that is integrated with each other in an actual physical environment. For example, at least one blockchain node or management server 10 and at least one blockchain node constituting the user terminal 20 and the blockchain networks 30 and 40 may have different logic within the same computing device. ) may be implemented in the form of Of course, a plurality of blockchain nodes may be implemented in the form of different logic within the same computing device.

또한, 실제 물리적 환경에서 상기 각각의 구성 요소들은 복수의 세부 기능 요소로 분리되는 형태로 구현될 수도 있다. 예컨대, 관리 서버(10)는 복수의 컴퓨팅 장치로 구성될 수 있고, 복수의 컴퓨팅 장치가 관리 서버(10)의 제1 기능과 제2 기능을 나누어 구현할 수도 있다. 여기서, 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 컴퓨팅 장치의 일 예시에 관하여서는 도 8을 참조하도록 한다. 이하, 블록체인 시스템의 각 구성 요소에 대하여 설명하도록 한다. 또한, 이하에서는, 설명의 편의상 복수의 사용자 단말(20-1 내지 20-n)을 총칭하거나 임의의 사용자 단말(20-1 or 20-2, ?, 20-n)을 지칭하는 경우에는 참조번호 "20"를 사용하도록 한다.In addition, in an actual physical environment, each of the components may be implemented in a form separated into a plurality of detailed functional elements. For example, the management server 10 may include a plurality of computing devices, and the plurality of computing devices may implement the first function and the second function of the management server 10 separately. Here, the computing device may be a notebook, a desktop, a laptop, etc., but is not limited thereto and may include any type of device equipped with a computing function and a communication function. For an example of a computing device, refer to FIG. 8 . Hereinafter, each component of the blockchain system will be described. In addition, in the following, for convenience of description, when referring to a plurality of user terminals 20-1 to 20-n or to any user terminals 20-1 or 20-2, ?, 20-n, reference numerals Use "20".

거래용 블록체인 네트워크(30)는 복수의 블록체인 노드에 의해 구성되는 P2P(Peer-To-Peer) 네트워크로서, 블록체인을 통해 다양한 유형의 거래 서비스를 제공할 수 있다. 예를 들어, 거래용 블록체인 네트워크(30)는 에너지 거래 서비스를 제공할 수 있다. 그러나, 본 개시의 범위가 특정 유형의 거래 서비스에 한정되는 것은 아니다. 이하, 설명의 편의상 거래용 블록체인 네트워크(30)를 거래용 네트워크(30)로 약칭하고, 관리용 블록체인 네트워크(40)를 관리용 네트워크(40)로 약칭하도록 한다.The transaction blockchain network 30 is a peer-to-peer (P2P) network configured by a plurality of blockchain nodes, and can provide various types of transaction services through the blockchain. For example, the transaction blockchain network 30 may provide an energy transaction service. However, the scope of the present disclosure is not limited to a specific type of transaction service. Hereinafter, for convenience of description, the transaction block chain network 30 will be abbreviated as the transaction network 30 , and the management block chain network 40 will be abbreviated as the management network 40 .

거래용 네트워크(30)를 구성하는 각각의 블록체인 노드는 블록체인 알고리즘에 따라 동작하며, 거래용 블록체인을 공유할 수 있다. 여기서, 블록체인을 공유한다는 것은 각 블록체인 노드가 동일한 거래 데이터가 기록된 블록체인을 유지한다는 것을 의미할 수 있다. 예를 들어, 블록체인 노드는 거래 데이터를 블록에 기록하고 전파하는 합의(consensus) 프로세스를 통해 블록체인을 동일하게 유지할 수 있다. 상기 블록체인은 당해 기술 분야에서 레저(ledger), 원장 등의 용어와 혼용되어 사용될 수 있다.Each block chain node constituting the transaction network 30 operates according to the block chain algorithm and can share the transaction block chain. Here, sharing the blockchain can mean that each blockchain node maintains a blockchain in which the same transaction data is recorded. For example, blockchain nodes can keep the blockchain the same through a consensus process that records and propagates transaction data into blocks. The block chain may be used interchangeably with terms such as ledger and ledger in the technical field.

거래용 네트워크(30)는 허가된 블록체인 노드로 구성되는 프라이빗 블록체인 네트워크이며, 거래용 네트워크(30)의 구성, 인증 등의 제반 관리 기능은 관리 서버(10)에 의해 수행될 수 있다.The transaction network 30 is a private blockchain network composed of authorized blockchain nodes, and all management functions such as configuration and authentication of the transaction network 30 may be performed by the management server 10 .

몇몇 실시예들에서, 거래용 네트워크(30)는 멀티 채널 기반으로 차등적인 거래 처리 서비스를 제공할 수 있다. 여기서, 채널(channel)이란 블록체인 네트워크 내에 형성된 서브 네트워크 또는 이들의 논리적인 통신 채널을 의미할 수 있으며, 하나의 블록체인 노드가 복수의 채널에 속할 수도 있다. 본 실시예에 관하여서는 도 7을 참조하여 후술하도록 한다.In some embodiments, the transaction network 30 may provide a differential transaction processing service on a multi-channel basis. Here, a channel may mean a sub-network formed in a block chain network or a logical communication channel thereof, and one block chain node may belong to a plurality of channels. This embodiment will be described later with reference to FIG. 7 .

다음으로, 관리용 네트워크(40)는 관리용 블록체인을 관리하는 블록체인 네트워크일 수 있다. 관리용 블록체인에는 관리 서버(10)의 로그 데이터가 기록될 수 있다. 로그 데이터는 예를 들어 블록체인 노드의 인증 내역과 이상 감지 결과 등을 포함할 수 있다. 그러나, 이에 한정되는 것은 아니다. 인증 내역은 인증 결과(e.g. 성공, 실패), 할당된 가상 IP 주소, 인증 시간 등의 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.Next, the management network 40 may be a block chain network that manages the management block chain. Log data of the management server 10 may be recorded in the management block chain. Log data may include, for example, authentication details of blockchain nodes and abnormal detection results. However, the present invention is not limited thereto. The authentication details may include information such as an authentication result (e.g. success or failure), an assigned virtual IP address, and an authentication time, but is not limited thereto.

관리용 블록체인에 기록된 로그 데이터는 거래용 네트워크(30)의 멤버 노드(또는 회원)에게 공유될 수 있다. 예를 들어, 관리용 블록체인이 프라이빗 블록체인인 경우(즉, 관리용 네트워크(40)가 프라이빗 블록체인 네트워크로 구현된 경우), 거래용 네트워크(30)의 멤버 노드는 관리용 블록체인에 대한 조회 권한을 가짐으로써, 기록된 로그 데이터를 조회할 수 있다. 다른 예에서는, 관리용 블록체인이 퍼블릭 블록체인으로 구현되어, 거래용 네트워크(30)의 멤버 노드가 자유롭게 관리용 블록체인을 조회할 수 있다.Log data recorded in the management block chain may be shared with member nodes (or members) of the transaction network 30 . For example, if the management block chain is a private block chain (that is, when the management network 40 is implemented as a private block chain network), the member nodes of the transaction network 30 have access to the management block chain. By having the inquiry authority, the recorded log data can be inquired. In another example, the management block chain is implemented as a public block chain, so that member nodes of the transaction network 30 can freely query the management block chain.

위와 같은 경우, 거래용 네트워크(30)의 멤버 노드는 관리용 블록체인을 조회함으로써 멤버 노드의 인증 내역과 이상 감지 결과 등을 확인할 수 있고, 이를 통해 현재 통신하고 있는 상대방이 미인증 노드인지, 할당되지 않은 IP 주소를 사용하는지 또는 이상 상태에 있는지 등을 판단할 수 있게 된다. 이는 보안 위협을 줄임으로써 블록체인 시스템의 전반적인 보안성을 향상시킬 수 있다.In the above case, the member node of the transaction network 30 can check the authentication details and abnormal detection result of the member node by inquiring the management block chain, and through this, whether the currently communicating counterpart is an unauthenticated node, and assignment It is possible to determine whether an IP address that has not been established is used or whether it is in an abnormal state. This can improve the overall security of the blockchain system by reducing security threats.

몇몇 실시예들에서는, 관리 서버(10)의 이상 감지 결과도 관리용 블록체인에 기록될 수 있다. 상기 이상 감지 결과는 예를 들어 해킹 여부, 오작동 여부, 멀웨어 감염 여부 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 관리 서버(10)에 대한 이상 감지는 자체적으로 수행될 수도 있고, 별도의 이상 감지 장치(미도시)에 의해 수행될 수도 있다. 이상 감지 장치(미도시)는 관리 서버(10)와 연관된 트래픽, 관리 서버(10)의 행위 등을 분석함으로써, 관리 서버(10)에 대한 이상 감지를 수행할 수 있다. 본 실시예에서, 관리 서버(10)의 이상 감지 결과는 거래용 네트워크(30)의 멤버 노드에게 공유될 수 있다. 이에 따라, 관리 서버(10)의 보안 취약점이 전체 블록체인 시스템의 보안을 위협하는 문제가 경감될 수 있다. 가령, 거래용 네트워크(30)의 멤버 노드는 관리 서버(10)가 이상으로 판단된 이후에 참여한 노드와의 통신을 중단함으로써, 거래용 네트워크(30)의 보안 위협을 최소화할 수 있다.In some embodiments, the abnormal detection result of the management server 10 may also be recorded in the management block chain. The abnormal detection result may include, for example, information on whether hacking, malfunction, or malware infection, but is not limited thereto. Anomaly detection for the management server 10 may be performed by itself or by a separate abnormality detection device (not shown). An abnormality detection device (not shown) may perform abnormality detection on the management server 10 by analyzing traffic associated with the management server 10 , an action of the management server 10 , and the like. In the present embodiment, the abnormal detection result of the management server 10 may be shared with member nodes of the network for transaction 30 . Accordingly, the problem that the security vulnerability of the management server 10 threatens the security of the entire blockchain system can be reduced. For example, the member node of the transaction network 30 may minimize the security threat of the transaction network 30 by suspending communication with the participating node after the management server 10 is determined to be abnormal.

다음으로, 관리 서버(10)는 거래용 네트워크(30)에 대한 제반 관리 기능을 수행할 수 있다. 예를 들어, 관리 서버(10)는 거래용 네트워크(30)에 참여하는 블록체인 노드를 인증하고, 인증된 블록체인 노드들로 거래용 네트워크(30)를 구성하는 기능을 수행할 수 있다. 이러한 예에 관하여서는 추후 도 5를 참조하여 보다 상세하게 설명하도록 한다. 다른 예로서, 관리 서버(10)는 거래용 블록체인에 대한 접근 제어를 수행할 수 있다. 또 다른 예로서, 관리 서버(10)는 거래용 네트워크(30)의 멤버 노드에 대한 모니터링을 수행할 수 있다.Next, the management server 10 may perform various management functions for the transaction network 30 . For example, the management server 10 may perform a function of authenticating a blockchain node participating in the transaction network 30 and configuring the transaction network 30 with the authenticated blockchain nodes. This example will be described in more detail later with reference to FIG. 5 . As another example, the management server 10 may perform access control on the transaction block chain. As another example, the management server 10 may perform monitoring of a member node of the network for transaction 30 .

전술한 바와 같이, 관리 서버(10)는 관리 이력이 포함된 로그 데이터를 관리용 블록체인에 기록할 수 있다. 기록된 로그 데이터는 거래용 네트워크(30)의 멤버 노드들과 공유될 수 있다.As described above, the management server 10 may record log data including the management history in the management block chain. The recorded log data may be shared with member nodes of the transaction network 30 .

다음으로, 사용자 단말(40)은 거래용 네트워크(30)를 통해 거래 처리 서비스를 제공받는 사용자 측의 단말을 의미할 수 있다. 사용자 단말(40)은 거래 처리 서비스를 이용만 할 수도 있고, 거래용 네트워크(30)의 노드로 동작할 수도 있다. 사용자 단말(40)은 어떠한 장치로 구현되더라도 무방하다.Next, the user terminal 40 may refer to a terminal on the user's side that receives a transaction processing service through the transaction network 30 . The user terminal 40 may only use the transaction processing service, or may operate as a node of the transaction network 30 . The user terminal 40 may be implemented in any device.

한편, 몇몇 실시예들에서는, 도 3에 도시된 바와 같이, 블록체인 시스템은 앵커링(anchoring)용 블록체인 네트워크(50, 이하 "앵커링용 네트워크"로 약칭함)를 더 포함할 수 있다. 앵커링용 네트워크(50)는 앵커링용 블록체인을 관리하며, 앵커링 블록체인에 앵커링 데이터를 기록할 수 있다. 여기서, 앵커링 데이터는 예를 들어 거래용 블록체인 및/또는 관리용 블록체인에 기록된 데이터와 연관된 해시값(e.g. 거래 데이터의 해시값, 블록의 해시값 등)을 포함할 수 있으나, 이에 한정되는 것은 아니다. 앵커링용 블록체인은 퍼블릭 블록체인으로 구현됨으로써, 거래용 블록체인 및/또는 관리용 블록체인의 무결성을 강화할 수 있다. 이를테면, 거래용 블록체인의 해시값이 누구나 조회 가능한 퍼블릭 블록체인에 해시값이 기록됨으로써, 거래용 블록체인에 기록된 데이터가 위조 또는 변조되는 것이 방지될 수 있다.Meanwhile, in some embodiments, as shown in FIG. 3 , the blockchain system may further include a blockchain network for anchoring (50, hereinafter abbreviated as “network for anchoring”). The anchoring network 50 manages the anchoring block chain, and can record anchoring data in the anchoring block chain. Here, the anchoring data may include, for example, a hash value (e.g. a hash value of transaction data, a hash value of a block, etc.) associated with data recorded in the transaction block chain and/or management block chain, but is not limited thereto. it is not The blockchain for anchoring can be implemented as a public blockchain to enhance the integrity of the blockchain for transactions and/or the blockchain for management. For example, since the hash value of the transaction block chain is recorded in the public block chain where anyone can inquire, it is possible to prevent forgery or falsification of the data recorded in the transaction block chain.

또한, 몇몇 실시예들에서는, 블록체인 네트워크들(30, 40, 50)이 멀티 채널의 형태로 구현될 수 있다. 예를 들어, 도 4에 예시된 바와 같이, 블록체인 네트워크(60)가 3개의 서브 네트워크(61, 63, 65)를 포함하고, 각 서브 네트워크(61, 63, 65)가 독립적으로 블록체인(62, 64, 66)을 관리한다고 가정하자. 이러한 경우, 제1 서브 네트워크(61)가 거래용 네트워크(30)로 기능하고, 제2 서브 네트워크(63)가 관리용 네트워크(40)로 기능하며, 제3 서브 네트워크(65)가 앵커링용 네트워크(50)로 기능할 수 있다. 다른 예에서는, 관리용 네트워크(40)와 앵커링용 네트워크(50)만이 멀티 채널 형태로 구현될 수도 있다. 이러한 경우, 제1 채널을 통해 공유되는 제1 블록체인(e.g. 62)에 관리 서버(10)의 로그 데이터가 기록되고, 제2 채널을 통해 공유되는 제2 블록체인(e.g. 64)에 상기 로그 데이터와 연관된 해시값이 기록될 수 있다. 이와 같이, 도 2 또는 도 3에서 독립적으로 도시된 블록체인 네트워크들(30, 40, 50)은 멀티 채널 기반으로 구현될 수도 있다.In addition, in some embodiments, the blockchain networks 30 , 40 , 50 may be implemented in the form of multi-channels. For example, as illustrated in FIG. 4 , the blockchain network 60 includes three sub-networks 61, 63, and 65, and each sub-network 61, 63, 65 is independently a blockchain ( 62, 64, 66). In this case, the first subnetwork 61 functions as the network for transaction 30 , the second subnetwork 63 functions as the network 40 for management, and the third subnetwork 65 serves as the network for anchoring. It can function as (50). In another example, only the management network 40 and the anchoring network 50 may be implemented in a multi-channel form. In this case, the log data of the management server 10 is recorded in the first block chain (e.g. 62) shared through the first channel, and the log data is recorded on the second block chain (e.g. 64) shared through the second channel. A hash value associated with may be recorded. As such, the block chain networks 30, 40, and 50 independently shown in FIG. 2 or FIG. 3 may be implemented on a multi-channel basis.

상술한 실시예에서, 거래용 네트워크(30) 또는 관리용 네트워크(40)로 기능하는 서브 네트워크(즉, 채널)의 블록체인에 대해서는 접근 제어가 수행되고, 앵커링용 네트워크(50)로 기능하는 서브 네트워크(즉, 채널)의 블록체인에 대해서는 접근 제어가 수행되지 않을 수 있다. 그렇게 함으로써, 앵커링 효과가 담보될 수 있다.In the above-described embodiment, access control is performed on the block chain of the sub-network (ie, channel) functioning as the network for transaction 30 or the network for management 40, and the sub-network serving as the network 50 for anchoring is performed. Access control may not be performed on the blockchain of the network (ie, channel). By doing so, the anchoring effect can be ensured.

도 2 또는 도 3에 도시된 바와 같이, 블록체인 시스템의 각 구성요소들은 네트워크를 통해 통신할 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.As shown in Fig. 2 or Fig. 3, each component of the blockchain system can communicate through a network. The network can be implemented as all kinds of wired/wireless networks such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, and a Wibro (Wireless Broadband Internet). have.

지금까지 도 2 내지 도 4를 참조하여 본 개시의 몇몇 실시예들에 따른 블록체인 시스템에 대하여 설명하였다. 상술한 바에 따르면, 블록체인 노드의 인증 내역 및/또는 관리 서버의 이상 감지 결과를 포함하는 로그 데이터가 별도의 관리용 블록체인에 기록될 수 있다. 기록된 로그 데이터는 거래용 블록체인 네트워크의 멤버 노드들에게 공유됨으로써, 블록체인 시스템의 전반적의 보안성을 향상시킬 수 있다. 예를 들어, 멤버 노드는 인증 내역을 기초로 인증된 멤버 노드와의 통신만을 허용하고, 관리 서버의 이상 상태에 따라 적절한 조치를 취할 수 있다. 이에 따라, 관리 서버의 보안 취약점이 전체 블록체인 시스템의 보안 문제로 확장되는 것이 방지될 수 있다.So far, a block chain system according to some embodiments of the present disclosure has been described with reference to FIGS. 2 to 4 . As described above, log data including the authentication details of the blockchain node and/or the abnormal detection result of the management server may be recorded in a separate management blockchain. The recorded log data is shared with member nodes of the blockchain network for transactions, thereby improving the overall security of the blockchain system. For example, the member node may only allow communication with the member node authenticated based on the authentication details, and may take appropriate action according to the abnormal state of the management server. Accordingly, the security vulnerability of the management server can be prevented from extending to the security problem of the entire blockchain system.

이하에서는, 도 5를 참조하여 본 개시의 몇몇 실시예들에 따른 블록체인 네트워크의 구성 방법에 대하여 설명하도록 한다.Hereinafter, a method of configuring a block chain network according to some embodiments of the present disclosure will be described with reference to FIG. 5 .

도 5는 본 개시의 몇몇 실시예들에 따른 블록체인 네트워크의 구성 방법을 나타내는 예시적인 흐름도이다. 특히, 도 5는 대상 노드(31)가 거래용 네트워크(30)에 참여하는 과정을 예시하고 있으며, 거래용 네트워크(30)와 관리용 네트워크(40)가 프라이빗 블록체인 네트워크인 것을 가정하고 있다.5 is an exemplary flowchart illustrating a method of configuring a blockchain network according to some embodiments of the present disclosure. In particular, FIG. 5 illustrates a process in which the target node 31 participates in the transaction network 30 , and it is assumed that the transaction network 30 and the management network 40 are private blockchain networks.

도 5에 도시된 바와 같이, 단계 S10 및 단계 S20에서, 대상 노드(31)와 관리 서버(10) 간에 회원 가입 절차가 수행될 수 있다. 구체적으로, 대상 노드(31)는 관리 서버(10)로 회원 가입을 요청하고, 관리 서버(10)는 대상 노드(31)의 회원 가입을 승인할 수 있다. 여기서, 회원 정보는 예를 들어 노드의 식별자, 회원 식별자, 패스워드, 인증서 관련 정보 등과 같은 다양한 정보를 포함할 수 있다. 또한, 노드의 식별자는 노드의 MAC 주소, IP 주소, 도메인 주소 등이 될 수 있을 것이나, 이에 한정되는 것은 아니다. 이러한 회원 정보는 관리용 네트워크(40)가 관리하는 관리용 블록체인에 기록될 수 있다. 그렇게 함으로써, 회원 정보에 대한 무결성이 보장될 수 있다.5 , in steps S10 and S20 , a membership registration procedure may be performed between the target node 31 and the management server 10 . Specifically, the target node 31 may request a membership subscription to the management server 10 , and the management server 10 may approve the membership subscription of the target node 31 . Here, the member information may include various information such as, for example, node identifiers, member identifiers, passwords, and certificate-related information. In addition, the identifier of the node may be a MAC address, IP address, domain address, etc. of the node, but is not limited thereto. Such member information may be recorded in the management block chain managed by the management network 40 . By doing so, the integrity of member information can be guaranteed.

단계 S30에서, 대상 노드(31)가 관리 서버(10)로 거래용 네트워크(30)에 대한 참여 요청을 전송할 수 있다. 즉, 대상 노드(31)는 거래용 네트워크(30)의 멤버 노드로 동작하기 위해 관리 서버(10)로 참여 요청을 전송할 수 있다.In step S30 , the target node 31 may transmit a request to participate in the transaction network 30 to the management server 10 . That is, the target node 31 may transmit a participation request to the management server 10 to operate as a member node of the transaction network 30 .

단계 S40에서, 참여 요청에 응답하여, 관리 서버(10)는 관리용 블록체인에서 대상 노드(31)의 회원 정보를 조회할 수 있다.In step S40, in response to the participation request, the management server 10 may inquire member information of the target node 31 in the management block chain.

단계 S50에서, 관리 서버(10)는 조회된 회원 정보에 기초하여 대상 노드(31)를 인증할 수 있다. 인증 방식은 어떠한 방식이 되더라도 무방하다.In step S50, the management server 10 may authenticate the target node 31 based on the inquired member information. The authentication method may be any method.

단계 S60 및 단계 S70에서, 인증 실패라는 판단에 응답하여, 인증 실패를 나타내는 정보가 대상 노드(31)에게 통지될 수 있다.In steps S60 and S70, in response to the determination that the authentication has failed, information indicating authentication failure may be notified to the target node 31 .

단계 S60 및 단계 S80에서, 인증 성공이라는 판단에 응답하여, 대상 노드(31)의 가상 IP 주소가 할당될 수 있다. 여기서, 가상 IP 주소는 거래용 블록체인 네트워크(30)의 멤버 노드들과 통신 가능한 임시의 IP 주소를 의미할 수 있다. 대상 노드(31)는 가상 IP 주소를 이용하여 거래용 네트워크(30)의 다른 멤버 노드와 통신을 확립함으로써, 사설 IP 주소로 인한 통신 문제를 해소할 수 있다.In steps S60 and S80, in response to the determination that the authentication is successful, a virtual IP address of the target node 31 may be assigned. Here, the virtual IP address may mean a temporary IP address capable of communicating with member nodes of the transaction block chain network 30 . The target node 31 establishes communication with other member nodes of the transaction network 30 using the virtual IP address, thereby solving the communication problem caused by the private IP address.

보다 구체적으로, 대상 노드(31)가 사설 IP 주소를 사용 중인 경우, 거래용 네트워크(30)의 멤버 노드들은 대상 노드(31)의 외부 IP 주소(즉, NAT에 의해 변환된 IP 주소)를 알지 못하기 때문에 먼저 통신을 요청할 수 없다. 이러한 문제를 해결하기 위해, 관리 서버(10)가 대상 노드(31)와 통신 시 대상 노드(31)의 외부 IP 주소를 획득하고, 획득된 외부 IP 주소를 거래용 네트워크(30)의 멤버 노드들에게 전파할 수 있다. 그러면, 멤버 노드는 자신과 대상 노드(31)의 가상 IP 주소 및 외부 IP 주소를 이용하여 대상 노드(31)와 터널(tunnel)을 설정하고, 설정된 터널을 통해 가상 IP 기반 통신을 수행할 수 있다. 대상 노드(31)와 멤버 노드 간 직접 터널 설정이 불가능한 경우에는, 관리 서버(10) 또는 다른 통신 중계 장치(미도시)를 통해 간접적으로 터널을 설정할 수 도 있다. 예를 들어, 대상 노드(31)와 관리 서버(10) 간에 제1 터널을 설정하고, 관리 서버(10)와 멤버 노드 사이에 제2 터널을 설정하며, 제1 터널 및 제2 터널을 통해 가상 IP 기반 통신이 이루어질 수도 있다.More specifically, when the target node 31 is using a private IP address, the member nodes of the transaction network 30 do not know the external IP address of the target node 31 (that is, the IP address translated by NAT). Because it can't, it can't request communication first. In order to solve this problem, the management server 10 acquires the external IP address of the target node 31 when communicating with the target node 31 , and uses the obtained external IP address to the member nodes of the transaction network 30 . can spread to Then, the member node may establish a tunnel with the target node 31 using the virtual IP addresses and external IP addresses of the member node and the target node 31, and perform virtual IP-based communication through the established tunnel. . When it is impossible to establish a direct tunnel between the target node 31 and the member node, the tunnel may be indirectly established through the management server 10 or another communication relay device (not shown). For example, a first tunnel is established between the target node 31 and the management server 10 , and a second tunnel is established between the management server 10 and the member node, and the virtual through the first tunnel and the second tunnel are established. IP-based communication may also take place.

또한, 대상 노드(31)가 유동 IP 주소를 사용하여 통신 도중에 IP 주소가 변경되는 경우가 있을 수 있다. 이러한 경우에는, 관리 서버(10)가 변경된 IP 주소를 거래용 네트워크(30)의 멤버 노드들에게 전파하고, 멤버 노드들은 변경된 IP 주소를 이용하여 대상 노드(31)와의 터널을 재설정할 수 있다.Also, there may be a case where the target node 31 uses a dynamic IP address to change the IP address during communication. In this case, the management server 10 may propagate the changed IP address to the member nodes of the transaction network 30 , and the member nodes may re-establish a tunnel with the target node 31 using the changed IP address.

몇몇 실시예들에서는, 관리 서버(10)는 도 6에 예시된 바와 같이 노드 식별자와 가상 IP 주소에 대한 매핑 테이블을 관리할 수 있다. 이러한 경우, 관리 서버(10)는 대상 노드(31)의 식별자를 이용하여 매핑 테이블을 조회함으로써 대상 노드(31)의 과거 가상 IP 주소가 존재하는지 판단할 수 있다. 또한, 과거 가상 IP 주소가 존재한다는 판단에 응답하여, 관리 서버(10)는 과거 가상 IP 주소를 다시 대상 노드(31)에게 재할당할 수 있다. 그렇게 함으로써, 대상 노드(31)가 거래용 네트워크(30)에 참여할 때마다 가상 IP 주소가 변경되는 것이 방지될 수 있다.In some embodiments, the management server 10 may manage a mapping table for a node identifier and a virtual IP address as illustrated in FIG. 6 . In this case, the management server 10 may determine whether a past virtual IP address of the target node 31 exists by inquiring the mapping table using the identifier of the target node 31 . Also, in response to determining that the past virtual IP address exists, the management server 10 may re-assign the past virtual IP address to the target node 31 . By doing so, it can be prevented that the virtual IP address is changed whenever the target node 31 participates in the network 30 for transaction.

다시 도 5를 참조하여 설명한다.It will be described again with reference to FIG. 5 .

단계 S90에서, 관리 서버(10)는 대상 노드(31)의 인증 내역이 기록된 로그 데이터를 관리용 블록체인에 기록할 수 있다. 인증 내역은 예를 들어 인증 결과, 가상 IP 주소, 인증 시간, 노드 식별자 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 앞서 언급한 바와 같이, 관리용 블록체인에 기록된 인증 내역은 거래용 네트워크(30)의 다른 멤버 노드들에게 공유될 수 있다. 그렇게 함으로써, 멤버 노드들이 미인증 노드 또는 미할당된 가상 IP 주소를 갖는 노드와의 통신함으로써 거래용 네트워크(30)의 보안성이 떨어지는 문제가 해결될 수 있다.In step S90, the management server 10 may record log data in which the authentication details of the target node 31 are recorded in the management block chain. The authentication details may include, for example, an authentication result, a virtual IP address, an authentication time, a node identifier, and the like, but is not limited thereto. As mentioned above, the authentication details recorded in the management block chain may be shared with other member nodes of the transaction network 30 . By doing so, the problem that the security of the transaction network 30 is deteriorated due to the member nodes communicating with an unauthenticated node or a node having an unassigned virtual IP address can be solved.

단계 S100에서, 대상 노드(31)는 할당받은 가상 IP 주소를 이용하여 거래용 네트워크(30)에 참여할 수 있다. 즉, 대상 노드(31)는 가상 IP 주소를 이용하여 다른 멤버 노드와 연결(통신)을 확립함으로써 거래용 네트워크(30)의 멤버 노드로 동작할 수 있다.In step S100 , the target node 31 may participate in the transaction network 30 using the allocated virtual IP address. That is, the target node 31 may operate as a member node of the transaction network 30 by establishing a connection (communication) with another member node using a virtual IP address.

한편, 몇몇 실시예들에서는, 거래용 네트워크(30)가 복수의 채널을 갖고, 관리 서버(10)는 다양한 요인에 기초하여 복수의 채널 중에서 대상 노드(31)가 참여할 타깃 채널을 결정할 수 있다. 예를 들어, 관리 서버(10)는 대상 노드(31)의 성능(e.g. 컴퓨팅 성능, 저장 공간의 크기)에 기초하여 타깃 채널을 결정할 수 있다. 이를테면, 관리 서버(10)는 대상 노드(31)의 성능이 기준치 이상인 경우 제1 채널로 참여시키고, 기준치 미만인 경우 제2 채널로 참여시킬 수 있다. 이러한 경우, 차등적인 처리 성능을 갖는 복수의 채널이 용이하게 형성될 수 있으며, 이를 바탕으로 차등적인 거래 처리 서비스도 용이하게 제공될 수 있다. 다른 예로서, 관리 서버(10)는 각 채널의 노드 수를 기초하여 타깃 채널을 결정할 수 있다. 이를테면, 관리 서버(10)는 노드 수가 가장 적은 채널로 대상 노드(31)를 참여시킬 수 있다. 이러한 경우, 균일한 노드 수를 갖는 복수의 채널이 용이하게 형성될 수 있다.Meanwhile, in some embodiments, the network for transaction 30 has a plurality of channels, and the management server 10 may determine a target channel in which the target node 31 will participate from among the plurality of channels based on various factors. For example, the management server 10 may determine the target channel based on the performance (e.g. computing performance, the size of the storage space) of the target node 31 . For example, the management server 10 may participate in the first channel when the performance of the target node 31 is equal to or greater than the reference value, and may participate in the second channel when the performance of the target node 31 is less than the reference value. In this case, a plurality of channels having differential processing performance can be easily formed, and a differential transaction processing service can be easily provided based on this. As another example, the management server 10 may determine the target channel based on the number of nodes of each channel. For example, the management server 10 may allow the target node 31 to participate in the channel with the smallest number of nodes. In this case, a plurality of channels having a uniform number of nodes can be easily formed.

지금까지 도 5 및 도 6을 참조하여 본 개시의 몇몇 실시예들에 따른 블록체인 네트워크 구성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 관리 서버에 의해 할당된 가상 IP 주소를 이용하여 블록체인 노드 간에 통신이 이루어질 수 있다. 이에 따라, 사설 IP로 인한 통신 문제가 해결될 수 있다.So far, a block chain network configuration method according to some embodiments of the present disclosure has been described with reference to FIGS. 5 and 6 . According to the method described above, communication can be made between blockchain nodes using the virtual IP address assigned by the management server. Accordingly, the communication problem due to the private IP can be solved.

이하에서는, 도 7을 참조하여 멀티 채널 기반으로 차등적 거래 처리 서비스를 제공하는 방법에 대하여 설명하도록 한다.Hereinafter, a method of providing a differential transaction processing service based on a multi-channel will be described with reference to FIG. 7 .

도 7은 본 개시의 몇몇 실시예들에 따라 멀티 채널 기반으로 차등적 거래 처리 서비스를 제공하는 방법을 설명하기 위한 예시도이다. 특히, 도 7은 거래용 네트워크(30) 상에 2개의 채널(또는 서브 네트워크)이 형성된 것을 예로써 도시하고 있으나, 이는 이해의 편의를 제공하기 위한 것일 뿐 채널의 개수는 얼마든지 달라질 수 있다.7 is an exemplary diagram for explaining a method of providing a differential transaction processing service on a multi-channel basis according to some embodiments of the present disclosure. In particular, although FIG. 7 illustrates that two channels (or sub-networks) are formed on the transaction network 30 as an example, this is only for convenience of understanding, and the number of channels may vary.

도 7에 도시된 바와 같이, 차등적 거래 처리 서비스를 제공하기 위해 거래용 네트워크(30) 상에 복수의 서브 네트워크(31, 33)가 형성될 수 있다. 예를 들어, 제1 채널을 통해 제1 블록체인(32)을 공유하는 제1 서브 네트워크(31)와 제2 채널을 통해 제2 블록체인(34)을 공유하는 제2 서브 네트워크(33)가 거래용 네트워크(30) 상에 형성될 수 있다.As shown in FIG. 7 , a plurality of sub-networks 31 and 33 may be formed on the transaction network 30 to provide a differential transaction processing service. For example, the first sub-network 31 sharing the first block chain 32 through the first channel and the second sub-network 33 sharing the second block chain 34 through the second channel It may be formed on the transaction network 30 .

이러한 경우, 제1 서브 네트워크(31)에서 제1 유형의 거래가 처리되고, 제2 서브 네트워크(33)에서는 제2 유형의 거래가 처리될 수 있다. 즉, 각 서브 네트워크(31, 33)에서 서로 다른 유형의 거래가 처리될 수 있다. 여기서, 거래가 처리된다는 것은 거래에 관한 데이터가 합의 프로세스를 거쳐 블록체인에 기록된다는 것을 의미할 수 있다.In this case, the first type of transaction may be processed in the first subnetwork 31 , and the second type of transaction may be processed in the second subnetwork 33 . That is, different types of transactions may be processed in each of the sub-networks 31 and 33 . Here, that a transaction is processed may mean that data about the transaction is recorded in the blockchain through a consensus process.

제1 유형의 거래와 제2 유형의 거래는 구분하는 기준은 다양하게 설정될 수 있다. 예를 들어, 상기 기준은 거래 중요도, 거래 처리 수수료 등을 포함할 수 있을 것이나, 이에 한정되는 것은 아니다. 거래 중요도 및/또는 거래 처리 수수료는 사용자의 입력(또는 선택)에 기초하여 결정될 수 있고, 자동으로 결정될 수도 있다. 예를 들어, 거래 중요도 및/또는 거래 처리 수수료는 거래 금액, 거래 데이터의 크기 등에 기초하여 자동으로 결정될 수도 있다. 몇몇 실시예들에서, 거래 처리 수수료는 특정 기준에 따라 변동될 수도 있다. 예를 들어, 거래 처리 수수료는 서브 네트워크(31, 33) 별로 산정되고, 각 서브 네트워크(31, 33)의 거래 처리 수수료는 현재 부하 및/또는 가용 대역폭에 기초하여 변동될 수 있다. 가령, 서브 네트워크(31)의 현재 부하가 높아지거나 가용 대역폭이 낮아질수록 서브 네트워크(31)에 대한 거래 처리 수수료는 올라갈 수 있다. 이러한 경우, 서브 네트워크(31, 33) 간에 처리 부하가 분산되는 효과가 달성될 수 있다.A criterion for distinguishing the first type of transaction and the second type of transaction may be variously set. For example, the criterion may include, but is not limited to, transaction importance, transaction processing fee, and the like. The transaction importance and/or transaction processing fee may be determined based on a user's input (or selection), or may be automatically determined. For example, the transaction importance and/or the transaction processing fee may be automatically determined based on the transaction amount, the size of the transaction data, and the like. In some embodiments, the transaction processing fee may fluctuate according to certain criteria. For example, the transaction processing fee is calculated for each sub-network 31 and 33 , and the transaction processing fee of each sub-network 31 and 33 may be changed based on a current load and/or available bandwidth. For example, as the current load of the sub-network 31 increases or the available bandwidth decreases, the transaction processing fee for the sub-network 31 may increase. In this case, the effect of distributing the processing load among the sub-networks 31 and 33 can be achieved.

이하에서는, 거래 유형 별로 차등적인 처리 서비스가 제공되는 예에 대하여 상세하게 설명하되, 제1 유형의 거래가 제2 유형의 거래보다 중요도 및/또는 거래 처리 수수료가 높다고 가정하여 설명을 이어가도록 한다.Hereinafter, an example in which a differential processing service is provided for each transaction type will be described in detail, but the description will be continued on the assumption that the first type of transaction has higher importance and/or transaction processing fee than the second type of transaction.

몇몇 실시예들에서, 제1 서브 네트워크(31)는 제2 서브 네트워크(33)보다 고성능의 블록체인 노드로 구성될 수 있고, 더 많은 대역폭이 할당된 것일 수 있다. 또는, 제1 서브 네트워크(31)의 블록 생성 주기가 제2 서브 네트워크(33)보다 짧을 수 있다. 이러한 경우, 제1 서브 네트워크(31)는 제2 서브 네트워크(33)보다 합의 프로세스를 신속하게 수행할 수 있기 때문에, 제2 서브 네트워크(33)보다 빠른 거래 처리 서비스를 제공할 수 있다. 이를테면, 처리 수수료가 비싼 거래에 대해 보다 빠른 처리 서비스가 제공될 수 있다.In some embodiments, the first sub-network 31 may be configured as a high-performance blockchain node than the second sub-network 33, and more bandwidth may be allocated. Alternatively, the block generation period of the first sub-network 31 may be shorter than that of the second sub-network 33 . In this case, since the first sub-network 31 can perform the consensus process faster than the second sub-network 33 , it is possible to provide a transaction processing service faster than that of the second sub-network 33 . For example, a faster processing service may be provided for a transaction with an expensive processing fee.

몇몇 실시예들에서, 제1 서브 네트워크(31)는 제2 서브 네트워크(33)보다 우수한 데이터 보안성을 제공할 수 있다. 예를 들어, 제1 블록체인(32)에 기록되는 거래 데이터(즉, 제1 유형의 거래에 관한 데이터)에 대해서는 추가 암호화가 수행될 수 있다. 다른 예로서, 제1 블록체인(32)에 기록되는 거래 데이터에 관해서는 앵커링이 수행될 수 있다. 즉, 상기 거래 데이터와 연관된 해시값을 포함하는 앵커링 데이터가 별도의 퍼블릭 블록체인에 기록될 수 있다. 그렇게 함으로써, 거래 데이터의 무결성이 더욱 강력하게 보장될 수 있다. 본 실시예에 따르면, 처리 수수료가 비싸거나 중요한 거래에 대해 보다 안전한 처리 서비스가 제공될 수 있다.In some embodiments, the first sub-network 31 may provide better data security than the second sub-network 33 . For example, additional encryption may be performed on transaction data recorded in the first blockchain 32 (ie, data relating to the first type of transaction). As another example, anchoring may be performed on transaction data recorded in the first blockchain 32 . That is, anchoring data including a hash value associated with the transaction data may be recorded in a separate public blockchain. By doing so, the integrity of the transaction data can be more strongly guaranteed. According to this embodiment, a more secure processing service can be provided for a transaction in which the processing fee is expensive or important.

몇몇 실시예들에서는, 제1 블록체인(32)에 기록된 거래 데이터에 대해서만 백업이 수행될 수 있다. 예를 들어, 제1 유형의 거래 데이터는 별도의 백업 채널(미도시) 또는 외부 저장소(미도시)에 백업될 수 있다. 외부 저장소에 백업되는 경우, 백업 데이터의 무결성을 담보하기 위해 백업 데이터의 해시값과 백업 위치는 제1 블록체인(32) 또는 다른 블록체인에 기록될 수 있다. 백업의 강도는 거래의 처리 수수료 및/또는 중요도에 기초하여 달라질 수 있다. 예를 들어, 중요도가 매우 높은 거래의 경우에는 복수의 백업 채널에 백업이 수행되고, 외부 저장소에도 추가로 백업이 이루어질 수 있다. 즉, 백업 채널의 개수 및 외부 저장소 백업 여부가 거래의 처리 수수료 및/또는 중요도에 기초하여 달라질 수도 있다. 본 실시예에 따르면, 처리 수수료가 비싸거나 중요한 거래에 대해 보다 안전한 처리 서비스가 제공될 수 있다.In some embodiments, backup may be performed only for transaction data recorded in the first blockchain 32 . For example, the first type of transaction data may be backed up in a separate backup channel (not shown) or an external storage (not shown). When backed up to an external storage, the hash value and backup location of the backup data may be recorded in the first blockchain 32 or another blockchain to ensure the integrity of the backup data. The strength of the backup may vary based on the processing fee and/or importance of the transaction. For example, in the case of a transaction with a very high importance, backup is performed on a plurality of backup channels, and additional backups may be made to an external storage. That is, the number of backup channels and whether the external storage is backed up may vary based on the transaction processing fee and/or importance. According to this embodiment, a more secure processing service can be provided for a transaction in which the processing fee is expensive or important.

몇몇 실시예들에서, 제1 서브 네트워크(31)의 노드 수는 제2 서브 네트워크(33)보다 많을 수 있다. 이러한 경우, 제1 유형의 거래 데이터가 더 많은 노드에 보관됨으로써, 처리 수수료가 비싸거나 중요한 거래에 대해 보다 안전한 처리 서비스가 제공될 수 있다.In some embodiments, the number of nodes of the first sub-network 31 may be greater than that of the second sub-network 33 . In this case, since the first type of transaction data is stored in more nodes, a more secure processing service can be provided for expensive or important transactions.

몇몇 실시예들에서, 제1 유형의 거래는 제2 유형의 거래와 다른 방식으로 처리될 수 있다. 구체적으로, 제1 유형의 거래 데이터는 일단 외부 저장소(e.g. DB)에 저장되고, 데이터의 해시값과 저장 위치만 제1 블록체인(32)에 기록될 수 있다. 이러한 경우, 거래 데이터 전체에 대한 합의 프로세스가 수행되지 않기 때문에 보다 신속한 처리 서비스가 제공될 수 있다. 또한, 거래 데이터가 외부 저장소에 저장된 이후에, 제1 서브 네트워크(31)의 처리 부하가 임계치 미만인 시점에, 상기 거래 데이터가 제1 블록체인(32)에 기록될 수 있다. 또는, 특정 거래 데이터에 대한 조회 요청이 발생한 시점에, 조회 요청을 처리하면서 조회된 거래 데이터가 제1 블록체인(32)에 기록될 수 있다. 그렇게 함으로써, 외부 저장소의 장애 발생에 따라 데이터가 손실되는 것이 방지될 수 있다.In some embodiments, a first type of transaction may be handled differently than a second type of transaction. Specifically, the first type of transaction data is once stored in an external storage (e.g. DB), and only the hash value and storage location of the data can be recorded in the first block chain 32 . In this case, a faster processing service can be provided because the consensus process for the entire transaction data is not performed. In addition, after the transaction data is stored in the external storage, when the processing load of the first sub-network 31 is less than the threshold, the transaction data may be recorded in the first block chain 32 . Alternatively, at the point in time when an inquiry request for specific transaction data occurs, the transaction data inquired while processing the inquiry request may be recorded in the first block chain 32 . By doing so, data loss can be prevented in the event of a failure of the external storage.

한편, 몇몇 실시예에서는, 제1 유형의 거래에 대해서만 무중단 처리 서비스가 제공될 수 있다. 구체적으로, 제1 블록체인(32)의 거래 데이터는 실시간으로 제3 채널(미도시)의 블록체인에 백업될 수 있다. 그리고, 제1 서브 네트워크(31)에서 이상이 감지되면(e.g. 특정 멤버 노드에서 이상 발생), 제1 서브 네트워크(31)의 동작이 중지됨과 동시에 제1 유형의 거래가 제3 채널을 통해 처리될 수 있다. 본 실시예에 따르면, 처리 수수료가 비싸거나 중요한 거래에 대해 무중단 처리 서비스가 제공될 수 있다.Meanwhile, in some embodiments, a non-disruptive processing service may be provided only for the first type of transaction. Specifically, the transaction data of the first block chain 32 may be backed up to the block chain of the third channel (not shown) in real time. And, when an abnormality is detected in the first sub-network 31 (e.g. an abnormality occurs in a specific member node), the operation of the first sub-network 31 is stopped and the first type of transaction can be processed through the third channel. have. According to the present embodiment, an uninterrupted processing service may be provided for a transaction with an expensive processing fee or an important transaction.

지금까지, 도 7을 참조하여 멀티 채널 기반으로 차등적인 거래 처리 서비스를 제공하는 방법에 관하여 설명하였다. 이하에서는, 도 8을 참조하여 본 개시의 다양한 실시예들에 따른 장치(e.g. 블록체인 노드, 관리 서버 10 등)를 구현할 수 있는 예시적인 컴퓨팅 장치(100)에 대하여 설명하도록 한다.So far, a method of providing a differential transaction processing service based on a multi-channel has been described with reference to FIG. 7 . Hereinafter, an exemplary computing device 100 capable of implementing a device (e.g. a blockchain node, a management server 10, etc.) according to various embodiments of the present disclosure will be described with reference to FIG. 8 .

도 8은 컴퓨팅 장치(100)를 나타내는 예시적인 하드웨어 구성도이다.8 is an exemplary hardware configuration diagram illustrating the computing device 100 .

도 8에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 버스(150), 통신 인터페이스(170), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(130)와, 컴퓨터 프로그램(191)을 저장하는 스토리지(190)를 포함할 수 있다. 다만, 도 8에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 8에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(100)에는, 도 8에 도시된 구성 요소 이외에도 다양한 구성 요소가 더 포함될 수 있다.As shown in FIG. 8 , the computing device 100 includes one or more processors 110 , a bus 150 , a communication interface 170 , and a memory (loading) for loading a computer program executed by the processor 110 . 130 , and a storage 190 for storing the computer program 191 . However, only the components related to the embodiment of the present disclosure are illustrated in FIG. 8 . Accordingly, those of ordinary skill in the art to which the present disclosure pertains can see that other general-purpose components other than those shown in FIG. 8 may be further included. That is, the computing device 100 may further include various components in addition to the components shown in FIG. 8 .

프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(110)는 본 개시의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.The processor 110 controls the overall operation of each component of the computing device 100 . The processor 110 includes at least one of a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), or any type of processor well known in the art of the present disclosure. may be included. In addition, the processor 110 may perform an operation on at least one application or program for executing the method according to the embodiments of the present disclosure. The computing device 100 may include one or more processors.

메모리(130)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(130)는 본 개시의 다양한 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(190)로부터 하나 이상의 프로그램(191)을 로드할 수 있다. 메모리(130)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위는 이에 한정되지 아니한다.The memory 130 stores various data, commands and/or information. The memory 130 may load one or more programs 191 from the storage 190 to execute operations/methods according to various embodiments of the present disclosure. The memory 130 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

버스(150)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(150)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 150 provides a communication function between components of the computing device 100 . The bus 150 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

통신 인터페이스(170)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(170)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(170)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The communication interface 170 supports wired/wireless Internet communication of the computing device 100 . In addition, the communication interface 170 may support various communication methods other than Internet communication. To this end, the communication interface 170 may be configured to include a communication module well known in the technical field of the present disclosure.

스토리지(190)는 상기 하나 이상의 프로그램(191)을 비임시적으로 저장할 수 있다. 스토리지(190)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 190 may non-temporarily store the one or more programs 191 . The storage 190 is a non-volatile memory, such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or well in the art to which the present disclosure pertains. It may be configured to include any known computer-readable recording medium.

컴퓨터 프로그램(191)은 메모리(130)에 로드될 때 프로세서(110)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법들을 수행할 수 있다.The computer program 191 may include one or more instructions that, when loaded into the memory 130 , cause the processor 110 to perform an operation/method according to various embodiments of the present disclosure. That is, the processor 110 may perform the operations/methods according to various embodiments of the present disclosure by executing the one or more instructions.

예를 들어, 컴퓨터 프로그램(191)은 대상 노드(31)로부터 거래용 네트워크(30)에 대한 참여 요청을 수신하고, 참여 요청에 응답하여 대상 노드(31)에 대한 인증을 수행하며, 인증 결과에 기초하여 대상 노드(31)에게 가상 IP 주소를 할당하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(100)를 통해 본 개시의 몇몇 실시예들에 따른 관리 서버(10)가 구현될 수 있다.For example, the computer program 191 receives a request to participate in the transaction network 30 from the target node 31, performs authentication on the target node 31 in response to the participation request, and receives an authentication result. It may include instructions for allocating a virtual IP address to the target node 31 based on it. In this case, the management server 10 according to some embodiments of the present disclosure may be implemented through the computing device 100 .

지금까지, 도 8을 참조하여 본 개시의 다양한 실시예들에 따른 장치들을 구현할 수 있는 예시적인 컴퓨팅 장치(100)에 대하여 설명하였다.Up to now, an exemplary computing device 100 capable of implementing devices according to various embodiments of the present disclosure has been described with reference to FIG. 8 .

지금까지 도 1 내지 도 8을 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present disclosure described with reference to FIGS. 1 to 8 may be implemented as computer-readable codes on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.

이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though it has been described that all components constituting the embodiment of the present disclosure are combined or operated as one, the technical spirit of the present disclosure is not necessarily limited to this embodiment. That is, within the scope of the object of the present disclosure, all of the components may operate by selectively combining one or more.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although acts are shown in a particular order in the drawings, it should not be understood that the acts must be performed in the specific order or sequential order shown, or that all depicted acts must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various components in the embodiments described above should not be construed as necessarily requiring such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although embodiments of the present disclosure have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present disclosure pertains may practice the present disclosure in other specific forms without changing the technical spirit or essential features. can understand that there is Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present disclosure should be interpreted by the following claims, and all technical ideas within an equivalent range should be interpreted as being included in the scope of the technical ideas defined by the present disclosure.

10: 관리 서버
30: 거래용 블록체인 네트워크
40: 관리용 블록체인 네트워크
20-1, 20-2, 20-n: 사용자 단말
50: 앵커링용 블록체인 네트워크
31: 대상 노드
100: 컴퓨팅 장치
10: Management Server
30: Blockchain Network for Transactions
40: Blockchain Network for Management
20-1, 20-2, 20-n: user terminal
50: Blockchain Network for Anchoring
31: target node
100: computing device

Claims (10)

통신 인터페이스;
하나 이상의 인스트럭션들(instructions)을 저장하는 메모리; 및
상기 저장된 하나 이상의 인스트럭션들을 실행함으로써,
대상 노드로부터 거래용 블록체인 네트워크에 대한 참여 요청을 수신하고,
상기 참여 요청에 응답하여 상기 대상 노드에 대한 인증을 수행하며,
상기 인증 결과에 기초하여 상기 대상 노드에게 가상 IP 주소를 할당하는 프로세서를 포함하되,
상기 대상 노드는 상기 가상 IP 주소를 이용하여 상기 거래용 블록체인 네트워크에 참여하고,
상기 인증 결과 및 상기 가상 IP 주소를 포함하는 로그 데이터는 관리용 블록체인 네트워크를 통해 공유되는 관리용 블록체인에 기록되는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
communication interface;
a memory storing one or more instructions; and
By executing the stored one or more instructions,
Receive a request to participate in the transaction blockchain network from the target node,
performing authentication on the target node in response to the participation request,
A processor for allocating a virtual IP address to the target node based on the authentication result,
The target node participates in the transaction blockchain network using the virtual IP address,
Log data including the authentication result and the virtual IP address are recorded in a management block chain shared through a management block chain network,
Management server for blockchain networks.
제1 항에 있어서,
상기 프로세서는,
상기 대상 노드의 식별자를 이용하여 상기 대상 노드의 과거 가상 IP 주소가 존재하는지 판단하고,
존재한다는 판단에 응답하여, 상기 과거 가상 IP 주소를 상기 가상 IP 주소로 재할당하는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
The method of claim 1,
The processor is
determining whether a past virtual IP address of the target node exists using the identifier of the target node;
characterized in that in response to determining that there exists, reallocating the past virtual IP address to the virtual IP address,
Management server for blockchain networks.
제1 항에 있어서,
상기 거래용 블록체인 네트워크와 상기 관리용 블록체인 네트워크는 프라이빗 블록체인 네트워크이고,
상기 거래용 블록체인 네트워크의 멤버 노드는 상기 관리용 블록체인에 대한 조회 권한을 갖는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
The method of claim 1,
The transaction block chain network and the management block chain network are private block chain networks,
The member node of the blockchain network for transaction is characterized in that it has an inquiry right for the management blockchain,
Management server for blockchain networks.
제1 항에 있어서,
상기 로그 데이터는 상기 블록체인 네트워크를 위한 관리 서버에 대한 이상 감지 결과를 더 포함하는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
The method of claim 1,
The log data further comprises an abnormality detection result for the management server for the block chain network,
Management server for blockchain networks.
제1 항에 있어서,
상기 거래용 블록체인 네트워크는 프라이빗 블록체인 네트워크이고,
상기 거래용 블록체인 네트워크를 통해 공유되는 거래용 블록체인에는 거래 데이터가 기록되며,
상기 거래 데이터와 연관된 해시값을 포함하는 앵커링(anchoring) 데이터는 퍼블릭 블록체인에 기록되는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
The method of claim 1,
The transaction blockchain network is a private blockchain network,
Transaction data is recorded in the transaction block chain shared through the transaction block chain network,
Anchoring data including a hash value associated with the transaction data is recorded in a public blockchain,
Management server for blockchain networks.
제1 항에 있어서,
상기 관리용 블록체인 네트워크는 제1 채널을 형성하는 제1 블록체인 네트워크와 제2 채널을 형성하는 제2 블록체인 네트워크를 포함하고,
상기 제1 채널을 통해 공유되는 제1 블록체인에는 상기 로그 데이터가 기록되고,
상기 제2 채널을 통해 공유되는 제2 블록체인에는 상기 로그 데이터와 연관된 해시값을 포함하는 앵커링(anchoring) 데이터가 기록되되,
상기 제1 블록체인에 대해서는 접근 제어가 수행되고,
상기 제2 블록체인에 대해서는 접근 제어가 수행되지 않는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
The method of claim 1,
The management block chain network includes a first block chain network forming a first channel and a second block chain network forming a second channel,
The log data is recorded in the first block chain shared through the first channel,
In the second block chain shared through the second channel, anchoring data including a hash value associated with the log data is recorded,
Access control is performed on the first block chain,
Characterized in that access control is not performed on the second block chain,
Management server for blockchain networks.
제1 항에 있어서,
상기 거래용 블록체인 네트워크는 에너지 거래 서비스를 제공하는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
The method of claim 1,
The transaction block chain network is characterized in that it provides an energy transaction service,
Management server for blockchain networks.
제1 항에 있어서,
상기 거래용 블록체인 네트워크는 제1 채널을 형성하는 제1 블록체인 네트워크와 제2 채널을 형성하는 제2 블록체인 네트워크를 포함하고,
상기 제1 채널을 통해 공유되는 제1 블록체인에는 제1 거래에 관한 데이터가 기록되며,
상기 제2 채널을 통해 공유되는 제2 블록체인에는 제2 거래에 관한 데이터가 기록되되,
상기 제1 거래에 대한 처리 수수료는 상기 제2 거래보다 높고,
상기 제1 블록체인 네트워크의 처리 성능은 상기 제2 블록체인 네트워크보다 높으며,
상기 제1 블록체인 네트워크의 대역폭은 상기 제2 블록체인 네트워크보다 큰 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
The method of claim 1,
The transaction block chain network includes a first block chain network forming a first channel and a second block chain network forming a second channel,
Data about the first transaction is recorded in the first block chain shared through the first channel,
Data related to the second transaction is recorded in the second block chain shared through the second channel,
The processing fee for the first transaction is higher than the second transaction,
The processing performance of the first blockchain network is higher than that of the second blockchain network,
The bandwidth of the first blockchain network is larger than that of the second blockchain network,
Management server for blockchain networks.
제8 항에 있어서,
상기 제1 거래에 대한 처리 수수료는 상기 제1 블록체인 네트워크의 현재 부하와 가용 대역폭에 기초하여 변동되는,
블록체인 네트워크를 위한 관리 서버.
9. The method of claim 8,
The processing fee for the first transaction is changed based on the current load and available bandwidth of the first blockchain network,
Management server for blockchain networks.
제8 항에 있어서,
상기 제1 거래와 연관된 해시값을 포함하는 앵커링(anchoring) 데이터만이 퍼블릭 블록체인에 기록되는 것을 특징으로 하는,
블록체인 네트워크를 위한 관리 서버.
9. The method of claim 8,
characterized in that only anchoring data including a hash value associated with the first transaction is recorded in the public blockchain,
Management server for blockchain networks.
KR1020210017755A 2021-02-08 2021-02-08 Management server for blockchain network, blockchain system including the same, and operating method of the same KR102497318B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210017755A KR102497318B1 (en) 2021-02-08 2021-02-08 Management server for blockchain network, blockchain system including the same, and operating method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210017755A KR102497318B1 (en) 2021-02-08 2021-02-08 Management server for blockchain network, blockchain system including the same, and operating method of the same

Publications (2)

Publication Number Publication Date
KR20220114350A true KR20220114350A (en) 2022-08-17
KR102497318B1 KR102497318B1 (en) 2023-02-07

Family

ID=83110611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210017755A KR102497318B1 (en) 2021-02-08 2021-02-08 Management server for blockchain network, blockchain system including the same, and operating method of the same

Country Status (1)

Country Link
KR (1) KR102497318B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190123624A (en) 2018-04-24 2019-11-01 (주)스마트코인 Block Chain Platform System for Block Generation and Verification in Block Chains and Prevention of Hacking
KR102079786B1 (en) * 2018-10-25 2020-02-21 주식회사 팀그릿 Method and system for providing sales broadcast using block-chain
KR20200046947A (en) * 2018-10-26 2020-05-07 삼성에스디에스 주식회사 Method for sharing information based on anchoring and anchoring apparatus supporting the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190123624A (en) 2018-04-24 2019-11-01 (주)스마트코인 Block Chain Platform System for Block Generation and Verification in Block Chains and Prevention of Hacking
KR102079786B1 (en) * 2018-10-25 2020-02-21 주식회사 팀그릿 Method and system for providing sales broadcast using block-chain
KR20200046947A (en) * 2018-10-26 2020-05-07 삼성에스디에스 주식회사 Method for sharing information based on anchoring and anchoring apparatus supporting the same

Also Published As

Publication number Publication date
KR102497318B1 (en) 2023-02-07

Similar Documents

Publication Publication Date Title
US11310047B2 (en) Method and apparatus for configuring local consensus and computer-readable storage medium
US8341722B2 (en) Load balancing and failover of gateway devices
US10523748B2 (en) Managing health status of network devices in a distributed global server load balancing system
EP3937459B1 (en) Blockchain integrated stations and automatic node adding methods and apparatuses
US10263788B2 (en) Systems and methods for providing a man-in-the-middle proxy
US11451404B2 (en) Blockchain integrated stations and automatic node adding methods and apparatuses
US8832819B2 (en) Load balancing and failover of gateway devices
CN110474797A (en) API operation system, the method and device of active-standby switch
CN104754552A (en) Trusted execution environment (TEE) initialization method and equipment
CN103701899A (en) Method and device for accessing resource
CN114338153B (en) IPSec negotiation method and device
US20220247717A1 (en) Distributed memory data repository based defense system
CN101272389A (en) CS communication method, system and device
EP3680780B1 (en) Cluster system, control method, and corresponding computer program
CN108366087B (en) ISCSI service realization method and device based on distributed file system
KR102497318B1 (en) Management server for blockchain network, blockchain system including the same, and operating method of the same
US11411887B2 (en) Method and device for performing traffic control on user equipment
KR20080077966A (en) Method and system for registering a distributed service site
CN111818081A (en) Virtual encryption machine management method and device, computer equipment and storage medium
CN114930773A (en) Dormant account identifier
CN115242700B (en) Communication transmission method, device and system
CN113873041A (en) Message transmission method, device, network equipment and computer readable storage medium
US20160344717A1 (en) Communicating between a cluster and a node external to the cluster
CN114362976A (en) Butt joint storage method, device and system for bare computers
US11546251B2 (en) System and method for securing communication between devices on a network with multiple access points

Legal Events

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