KR102519186B1 - Blockchain Network Node and Method for Processing Transaction - Google Patents

Blockchain Network Node and Method for Processing Transaction Download PDF

Info

Publication number
KR102519186B1
KR102519186B1 KR1020190018810A KR20190018810A KR102519186B1 KR 102519186 B1 KR102519186 B1 KR 102519186B1 KR 1020190018810 A KR1020190018810 A KR 1020190018810A KR 20190018810 A KR20190018810 A KR 20190018810A KR 102519186 B1 KR102519186 B1 KR 102519186B1
Authority
KR
South Korea
Prior art keywords
nodes
participating
node
user
blockchain network
Prior art date
Application number
KR1020190018810A
Other languages
Korean (ko)
Other versions
KR20200100472A (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 KR1020190018810A priority Critical patent/KR102519186B1/en
Publication of KR20200100472A publication Critical patent/KR20200100472A/en
Application granted granted Critical
Publication of KR102519186B1 publication Critical patent/KR102519186B1/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 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA

Abstract

블록체인 네트워크 상의 노드 장치가 개시된다. 노드 장치는 블록체인 네트워크에 대한 상태정보를 획득하는 블록체인 상태 모니터링부, 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정하고, 블록체인 네트워크를 구성하는 복수의 노드들 중에서 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는 참여노드 결정부, 및 결정된 참여노드들에 의해 사용자의 트랜잭션이 처리되도록 하는 트랜잭션 처리부를 포함한다.A node device on a blockchain network is disclosed. The node device determines the minimum number of participating nodes that satisfy user requirements by using the blockchain status monitoring unit and the status information on the blockchain network that obtains status information on the blockchain network, and configures the blockchain network. and a participating node determination unit that determines nodes having the determined minimum number of participating nodes as participating nodes among a plurality of nodes, and a transaction processing unit that allows the user's transaction to be processed by the determined participating nodes.

Description

트랜잭션 처리를 위한 블록체인 네트워크의 노드 장치 및 이의 동작방법{Blockchain Network Node and Method for Processing Transaction}Blockchain network node device and its operation method for transaction processing {Blockchain Network Node and Method for Processing Transaction}

본 개시는 트랜잭션 처리를 위한 블록체인 네트워크 노드 장치에 관한 것이다.The present disclosure relates to a blockchain network node device for transaction processing.

블록체인은 공유하는 데이터와 상호 계약을 여러 컴퓨팅 노드들에 중복시킴으로써, 신뢰성, 가용성 등을 크게 향상시키는 분산 장부 보관 및 처리 플랫폼 기술이다. 블록체인 네트워크 상에서, 데이터와 상호 계약 내용들은 블록단위로 기록되며, 블록체인 네트워크를 구성하는 컴퓨팅 노드들에 의해 상호 검증된다. 블록체인에 기록된 블록은 블록 생성 및 상호 검증의 수행에 참여하는 노드들(이하, 참여노드)에 분산 저장되어 의도적/비의도적 결함으로부터 안전하게 보호된다. 이러한 블록체인의 특징은 데이터 저작권을 보호하며, 데이터 위조 및 훼손을 방지하고, 일부 노드의 결함 또는 해킹에 강하다는 등의 많은 장점을 갖는다.Blockchain is a distributed ledger storage and processing platform technology that greatly improves reliability and availability by duplicating shared data and mutual contracts across multiple computing nodes. On a blockchain network, data and mutual agreements are recorded in blocks and mutually verified by computing nodes constituting the blockchain network. Blocks recorded in the blockchain are safely protected from intentional/unintentional defects by being distributed and stored in nodes participating in block generation and mutual verification (hereinafter referred to as participating nodes). The characteristics of these blockchains have many advantages, such as protecting data copyright, preventing data forgery and damage, and being resistant to defects or hacking of some nodes.

그러나 기존 블록체인 네트워크에서는 노드들 전부 또는 고정된 개수의 노드들이 블록을 상호 검증하고 데이터를 분산 저장하기 때문에 많은 컴퓨팅 자원이 소모되며, 처리속도가 저하되는 문제가 발생한다.However, in an existing blockchain network, all or a fixed number of nodes mutually verify blocks and distribute and store data, so a lot of computing resources are consumed and processing speed is reduced.

본 개시에 따른 다양한 실시예들은 사용자 요구사항 및 컴퓨팅 환경을 고려하여 적응적으로 참여노드 수와 데이터 저장노드 수를 제어할 수 있는 블록체인 네트워크 노드 장치 및 이의 동작방법을 제공하고자 한다. 본 개시가 이루고자 하는 기술적 과제는 상기와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.Various embodiments according to the present disclosure are intended to provide a blockchain network node device and its operating method capable of adaptively controlling the number of participating nodes and the number of data storage nodes in consideration of user requirements and computing environments. The technical problem to be achieved by the present disclosure is not limited to the above technical problems, and other technical problems may be inferred from the following embodiments.

일 실시예에 따른 블록체인 네트워크 상의 노드 장치는, 상기 블록체인 네트워크에 대한 상태정보를 획득하는 블록체인 상태 모니터링부; 상기 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정하고, 상기 블록체인 네트워크를 구성하는 복수의 노드들 중에서 상기 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는 참여노드 결정부; 및 상기 결정된 참여노드들에 의해 상기 사용자의 트랜잭션이 처리되도록 하는 트랜잭션 처리부를 포함한다.A node device on a blockchain network according to an embodiment includes a blockchain status monitoring unit for obtaining status information about the blockchain network; Using the state information on the blockchain network, the minimum number of participating nodes that satisfies the user's requirements is determined, and among a plurality of nodes constituting the blockchain network, the nodes of the determined minimum number of participating nodes are selected as participating nodes. Participating node determining unit to determine; and a transaction processing unit for processing the transaction of the user by the determined participating nodes.

일 실시예에 따른 블록체인 네트워크 상의 노드 장치의 동작방법은, 상기 블록체인 네트워크에 대한 상태정보를 획득하는 단계; 상기 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정하는 단계; 상기 블록체인 네트워크를 구성하는 복수의 노드들 중에서 상기 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는 단계; 및 상기 결정된 참여노드들에 의해 상기 사용자의 트랜잭션이 처리되도록 하는 단계를 포함한다.A method of operating a node device on a blockchain network according to an embodiment includes obtaining state information about the blockchain network; determining the minimum number of participating nodes that satisfies a user's requirements by using state information about the blockchain network; determining nodes having the determined minimum number of participating nodes among a plurality of nodes constituting the blockchain network as participating nodes; and allowing the user's transaction to be processed by the determined participating nodes.

본 개시의 실시예들에 따른 블록체인 네트워크 상의 노드 장치 및 이의 동작방법은 사용자의 요구사항 및 블록체인 네트워크 상황에 따라 적응적으로 참여노드 개수를 조정함으로써, 블록체인 네트워크의 컴퓨팅 자원이 필요 이상으로 과도하게 낭비되는 문제를 방지할 수 있다. 이에 따라, 트랜잭션 처리속도 및 처리율을 향상시킬 수 있는 효과가 있다.The node device and its operating method on a blockchain network according to the embodiments of the present disclosure adjust the number of participating nodes adaptively according to user requirements and blockchain network conditions, so that the computing resources of the blockchain network are used more than necessary. The problem of excessive waste can be prevented. Accordingly, there is an effect of improving transaction processing speed and processing rate.

또한, 본 개시의 실시예들에 따른 노드 장치 및 이의 동작방법은 사용자의 요구사항에 따라 참여노드 개수를 결정함으로써, 블록체인에서도 서비스 레벨 합의(Service Level Agreement, SLA)를 가능하게 할 수 있다.In addition, the node device and its operating method according to embodiments of the present disclosure may enable a service level agreement (SLA) in a blockchain by determining the number of participating nodes according to user requirements.

도 1은 일부 실시예들에 따른 노드 장치의 구성을 나타내는 블록도이다.
도 2는 일부 실시예들에 따른 노드 장치의 프로세서의 구성을 나타내는 블록도이다.
도 3은 일부 실시예들에 따른 노드 장치의 동작을 설명하기 위한 흐름도이다.
도 4는 일부 실시예들에 따른 노드 장치의 동작을 설명하기 위한 흐름도이다.
1 is a block diagram showing the configuration of a node device according to some embodiments.
2 is a block diagram showing the configuration of a processor of a node device according to some embodiments.
Figure 3 is a flow chart for explaining the operation of the node device according to some embodiments.
Figure 4 is a flow chart for explaining the operation of the node device according to some embodiments.

이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.Hereinafter, embodiments for illustrative purposes will be described in detail with reference to the accompanying drawings. Of course, the following description is only for specifying the embodiments and is not intended to limit or limit the scope of the invention. What can be easily inferred by an expert in the art from the detailed description and examples is construed as belonging to the scope of rights.

본 명세서에서 사용되는 "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Terms such as "consisting of" or "comprising" used in this specification should not be construed as necessarily including all of the various components or steps described in the specification, and some components or some steps among them. It should be construed that they may not be included, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 "제 1" 또는 "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.Also, terms including ordinal numbers such as “first” or “second” used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another.

본 명세서에서, "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 서비스의 이용 내역 정보를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다. 또한, P2P 시스템은 중앙 노드의 조정 없이 네크워크의 모든 노드들이 서로에게 자원(처리 능력, 저장 공간, 데이터 또는 네트워크 대역폭 등)을 제공할 수 있다. 또한, "블록체인"은 이용 내역 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 네트워크 내의 노드들이 공동으로 기록하고 관리하는 분산원장(distributed ledger) 기술을 의미할 수 있다.In this specification, "blockchain" refers to a ledger that utilizes software elements composed of algorithms in which blocks connected in order to secure and maintain integrity negotiate service use history information using encryption techniques and security technologies. It may mean a distributed P2P (Peer to Peer) system. Here, the distributed P2P system may be a special type of distributed system. In addition, a peer-to-peer system allows all nodes in a network to provide resources (processing power, storage space, data or network bandwidth, etc.) to each other without coordination of a central node. In addition, "blockchain" may refer to a distributed ledger technology in which a ledger recording usage history information is distributed to a P2P network rather than a central server of a specific institution, and nodes in the network jointly record and manage it.

본 명세서에서, "노드"는 블록체인 네트워크 내에서 구성요소를 의미할 수 있다. 예를 들면, 노드는 특수 목적 컴퓨터(special-purpose computer), 범용 컴퓨터(general-purpose computer), 슈퍼 컴퓨터(supercomputer), 대형 컴퓨터(mainframe computer), 개인용 컴퓨터(personal computer), 스마트폰, 태블릿 PC 등일 수 있으나, 이에 제한되지 않는다. "참여노드"는 블록체인 네트워크에서 트랜잭션 처리에 참여하는 노드로서, 발생한 트랜잭션의 유효성을 검증하고, 유효성이 검증된 트랜잭션에 대한 데이터를 블록체인에 추가하여 저장하는 노드를 의미할 수 있다.In this specification, "node" may mean a component within a blockchain network. For example, a node may be a special-purpose computer, a general-purpose computer, a supercomputer, a mainframe computer, a personal computer, a smartphone, or a tablet PC. etc., but is not limited thereto. A "participating node" is a node that participates in transaction processing in a blockchain network, and may refer to a node that verifies the validity of a transaction that has occurred and adds and stores data about the validated transaction to the blockchain.

본 명세서에서, "사용자"는 트랜잭션을 발생시키는 자로서, 블록체인 네트워크를 구성하는 노드 장치를 이용하여 해당 트랜잭션이 처리되도록 요청할 수 있다.In this specification, a "user" is a person who generates a transaction, and may request that the transaction be processed using a node device constituting a blockchain network.

도 1은 일부 실시예들에 따른 노드 장치(100)의 구성을 나타내는 블록도이다. 노드 장치(100)는 프로세서(130), 통신부(140) 및 메모리(150)를 포함한다. 노드 장치(100)는 사용자 입력부(110) 및 출력부(120)를 더 포함할 수 있다. 다만, 노드 장치(100)는 도 1에 도시된 구성요소보다 많은 구성요소에 의해 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 구현될 수도 있다.1 is a block diagram showing the configuration of a node device 100 according to some embodiments. The node device 100 includes a processor 130, a communication unit 140 and a memory 150. The node device 100 may further include a user input unit 110 and an output unit 120 . However, the node device 100 may be implemented by more components than the components shown in FIG. 1, or may be implemented by fewer components than the components shown.

사용자 입력부(110)는 사용자가 노드 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(110)에는 키 패드(key pad), 돔 스위치(dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.User input unit 110 means a means for the user to input data for controlling the node device (100). For example, the user input unit 110 includes a key pad, a dome switch, and a touch pad (contact capacitance method, pressure resistive film method, infrared sensing method, surface ultrasonic conduction method, integral type tension measuring method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.

일부 실시예들에 따르면, 사용자 입력부(110)는 트랜잭션의 처리에 있어서 사용자가 원하는 요구사항에 대한 입력을 수신할 수 있다. 또한, 사용자 입력부(110)는 트랜잭션 처리요청에 대한 입력을 수신할 수 있다.According to some embodiments, the user input unit 110 may receive an input regarding a user's desired requirements in processing a transaction. Also, the user input unit 110 may receive an input for a transaction processing request.

출력부(120)는 오디오 신호, 비디오 신호 또는 진동 신호를 출력할 수 있다. 도 1에 도시하지 않았으나, 출력부(120)는 디스플레이부, 음향 출력부 및 진동 모터 중 적어도 하나를 포함할 수 있다.The output unit 120 may output an audio signal, a video signal or a vibration signal. Although not shown in FIG. 1 , the output unit 120 may include at least one of a display unit, a sound output unit, and a vibration motor.

일부 실시예들에 따르면, 출력부(120)는 사용자의 트랜잭션 처리요청에 따른 동작의 수행 결과를 출력할 수 있다. 예를 들면, 사용자의 트랜잭션 처리요청이 발생함에 따라 노드 장치(100)에서 소정의 동작이 수행될 수 있고, 소정의 동작이 수행된 결과는 출력부(120)를 통해 출력될 수 있다.According to some embodiments, the output unit 120 may output a result of performing an operation according to a user's transaction processing request. For example, a predetermined operation may be performed in the node device 100 according to a user's transaction processing request, and a result of the predetermined operation may be output through the output unit 120 .

프로세서(130)는 통상적으로 노드 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는 메모리(150)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(110), 출력부(120), 통신부(140) 등을 전반적으로 제어할 수 있다. 노드 장치(100)는 적어도 하나의 프로세서를 포함할 수 있다.Processor 130 typically controls the overall operation of the node device (100). For example, the processor 1300 may generally control the user input unit 110, the output unit 120, the communication unit 140, and the like by executing programs stored in the memory 150. Node device 100 may include at least one processor.

프로세서(130)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(150)로부터 프로세서(130)에 제공되거나, 통신부(140)를 통해 수신되어 프로세서(130)로 제공될 수 있다. 예를 들면, 프로세서(130)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.The processor 130 may be configured to process commands of a computer program by performing basic arithmetic, logic, and input/output operations. The command may be provided to the processor 130 from the memory 150 or may be received through the communication unit 140 and provided to the processor 130 . For example, the processor 130 may be configured to execute instructions according to program codes stored in a recording device such as a memory.

일부 실시예들에 따르면, 프로세서(130)는 트랜잭션에 대한 사용자의 요구사항 및 블록체인 네트워크에 대한 상태정보에 기초하여, 트랜잭션을 처리하기 위한 참여노드의 최소 개수를 결정할 수 있다. 또한, 프로세서(130)는 블록체인 네트워크를 구성하는 복수의 노드들 중에서 상기 결정된 최소 개수의 노드들을 결정하여 트랜잭션이 처리되도록 할 수 있다. 이에 대한 상세한 설명은 다른 도면을 참조하여 후술한다.According to some embodiments, the processor 130 may determine the minimum number of participating nodes for processing a transaction based on a user's request for a transaction and state information on a blockchain network. In addition, the processor 130 may determine the determined minimum number of nodes among a plurality of nodes constituting the blockchain network so that the transaction is processed. A detailed description thereof will be described later with reference to other drawings.

통신부(140)는 노드 장치(100)가 블록체인 네트워크에 포함된 다른 노드 (미도시) 또는 외부 장치(미도시)와 통신하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(140)는 근거리 통신부, 이동 통신부, 방송 수신부를 포함할 수 있다.The communication unit 140 may include one or more components that allow the node device 100 to communicate with other nodes (not shown) or external devices (not shown) included in the blockchain network. For example, the communication unit 140 may include a short-distance communication unit, a mobile communication unit, and a broadcast reception unit.

일부 실시예들에 따르면, 통신부(140)는 사용자에 의해 처리요청된 트랜잭션을 블록체인 네트워크에 참여하는 적어도 하나의 다른 노드에 전달할 수 있다. 예를 들어, 통신부(140)는 사용자 요구사항을 만족시키는 트랜잭션 처리요청이 발생한 경우, 해당 트랜잭션에 대한 유효성을 검증할 수 있도록 상기 적어도 하나의 다른 노드로 해당 트랜잭션을 전달할 수 있다.According to some embodiments, the communication unit 140 may transfer the transaction requested by the user to at least one other node participating in the blockchain network. For example, when a transaction processing request that satisfies user requirements occurs, the communication unit 140 may transfer the corresponding transaction to at least one other node to verify the validity of the corresponding transaction.

메모리(150)는 프로세서(130)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 노드 장치(100)로 입력되거나 노드 장치(100)로부터 출력되는 데이터를 저장할 수도 있다.The memory 150 may store a program for processing and control of the processor 130, and may store data input to or output from the node device 100.

일부 실시예들에 따르면, 메모리(150)는 블록체인과 관련된 정보로서 스마트 계약 및 분산 원장과 관련된 정보를 저장할 수 있다. 예를 들어, 메모리(150)는 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스일 수 있다. 일부 실시예들에 따르면, 메모리(150)는 노드 장치(100)가 포함된 블록체인 네트워크에 대한 상태정보를 더 저장할 수 있다. 예를 들면, 메모리(150)에 저장된 블록체인 네트워크에 대한 상태정보를 이용하여, 노드 장치(100)는 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정할 수 있다.According to some embodiments, the memory 150 may store information related to smart contracts and distributed ledgers as information related to blockchain. For example, the memory 150 may be a blockchain database that stores all or some blocks of the entire blockchain. According to some embodiments, the memory 150 may further store state information about the blockchain network including the node device 100 . For example, using state information about the blockchain network stored in the memory 150, the node device 100 may determine the minimum number of participating nodes that satisfy the user's requirements.

메모리(150)의 예로서, 플래시 메모리 타입(flash memory type), 하드디스크 타입(harddisk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예: SD 또는 XD 메모리 등), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 들 수 있으나, 이에 한정되는 것은 아니다.As an example of the memory 150, a flash memory type, a harddisk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, A storage medium of at least one of a magnetic disk and an optical disk may be used, but is not limited thereto.

도 2는 일부 실시예들에 따른 노드 장치(100)의 프로세서(130)의 구성을 나타내는 블록도이다. 프로세서(130)는 블록체인 상태 모니터링부(132), 참여노드 결정부(134) 및 트랜잭션 처리부(136)의 기능을 위한 프로그램 코드를 수행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(150)와 같은 기록 장치에 저장될 수 있다. 블록체인 상태 모니터링부(132), 참여노드 결정부(134) 및 트랜잭션 처리부(136)를 구분하여 도시한 것은 각각의 기능을 구별하여 설명하기 위함이다. 따라서, 프로세서(130)는 블록체인 상태 모니터링부(132), 참여노드 결정부(134) 및 트랜잭션 처리부(136) 각각의 기능을 수행하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다.Figure 2 is a block diagram showing the configuration of the processor 130 of the node device 100 according to some embodiments. The processor 130 may be configured to execute program codes for the functions of the blockchain state monitoring unit 132, the participating node determining unit 134, and the transaction processing unit 136. These program codes may be stored in a recording device such as the memory 150 . The block chain state monitoring unit 132, the participating node determination unit 134, and the transaction processing unit 136 are shown separately to distinguish and explain their respective functions. Accordingly, the processor 130 may include at least one processor configured to perform functions of the blockchain state monitoring unit 132, the participating node determining unit 134, and the transaction processing unit 136, respectively.

블록체인 상태 모니터링부(132)는 블록체인 네트워크에 대한 상태정보를 획득한다. 일부 실시예들에 따르면, 블록체인 상태 모니터링부(132)는 주기적으로 블록체인 네트워크에 대한 상태정보를 획득할 수 있다.The blockchain status monitoring unit 132 obtains status information about the blockchain network. According to some embodiments, the blockchain status monitoring unit 132 may periodically obtain status information on the blockchain network.

블록체인 네트워크에 대한 상태정보는 블록체인 상태 데이터베이스(200)에 저장된 정보로서, 블록체인 네트워크의 전반적인 상황을 나타내는 정보를 의미한다. 예를 들어, 블록체인 네트워크에 대한 상태정보는 블록체인 네트워크를 구성하는 복수의 노드들에 대한 시간에 따른 노드 별 신뢰도를 포함할 수 있다. 예를 들어, 블록체인 네트워크에 대한 상태정보는 블록 생성 주기, 블록 생성 소요시간, 트랜잭션 처리요청 빈도 및 처리 중인 트랜잭션 개수 중 적어도 하나를 더 포함할 수 있다.Status information about the blockchain network is information stored in the blockchain status database 200, and refers to information representing the overall status of the blockchain network. For example, state information on a blockchain network may include reliability of each node over time for a plurality of nodes constituting the blockchain network. For example, the state information on the blockchain network may further include at least one of a block generation period, a required block generation time, a transaction processing request frequency, and the number of transactions being processed.

블록체인 상태 모니터링부(132)는 블록체인 상태 데이터베이스(200)로부터 주기적으로 또는 실시간으로 블록체인 네트워크에 대한 상태정보를 획득할 수 있다. 일부 실시예들에서, 블록체인 상태 데이터베이스(200)는 노드 장치(100)의 메모리(150)에 구현될 수 있다. 일부 실시예들에서, 블록체인 상태 데이터베이스(200)는 노드 장치(100) 외의 블록체인 네트워크를 구성하는 별도의 노드로 구현될 수도 있다.The blockchain status monitoring unit 132 may obtain status information on the blockchain network periodically or in real time from the blockchain status database 200 . In some embodiments, blockchain state database 200 may be implemented in memory 150 of node device 100 . In some embodiments, the blockchain state database 200 may be implemented as a separate node constituting a blockchain network other than the node device 100.

일부 실시예들에 따른 참여노드 결정부(134)는 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정한다. 일부 실시예들에서, 사용자의 요구사항은 트랜잭션을 처리하는데 참여하는 노드들에 의해 결정되는 신뢰도로서 사용자에 의해 요구되는 최소 신뢰도를 포함할 수 있다. 이러한 실시예들에서, 참여노드 결정부(134)는 시간에 따른 노드 별 신뢰도를 이용하여 결정되는 신뢰도가 사용자에 의해 요구되는 최소 신뢰도 이상이 되도록 하는 최소 참여노드 개수를 결정할 수 있다.The participating node determining unit 134 according to some embodiments uses state information about the blockchain network to determine the minimum number of participating nodes that satisfies the user's requirements. In some embodiments, the user's requirements may include a minimum trust required by the user as a trust determined by the nodes participating in processing the transaction. In these embodiments, the participating node determining unit 134 may determine the minimum number of participating nodes to make the reliability determined by using the reliability of each node over time be equal to or greater than the minimum reliability required by the user.

예를 들어, 블록체인 네트워크를 구성하는 노드들의 신뢰도가 모두 동일하게 r일 때, n개의 참여노드들에 의해 결정되는 신뢰도 Rn은 아래 수학식 1과 같을 수 있다.For example, when the reliability of all nodes constituting the blockchain network is equal to r, the reliability Rn determined by n participating nodes may be as shown in Equation 1 below.

Figure 112019017056711-pat00001
Figure 112019017056711-pat00001

Figure 112019017056711-pat00002
Figure 112019017056711-pat00002

참여노드 개수가 증가할수록 트랜잭션의 신뢰도가 증가할 수 있다. 시간에 따라 노드의 신뢰도가 달라질 수 있으므로, 노드 별 신뢰도가 상대적으로 낮은 주기에서는 노드 별 신뢰도가 상대적으로 높은 주기에서보다 최소 참여노드 개수가 더 많게 결정될 수 있다. 한편, 노드 별 신뢰도가 서로 다른 경우에도 위와 유사한 방식으로 최소 참여노드 개수가 결정될 수 있다.As the number of participating nodes increases, the reliability of the transaction may increase. Since the reliability of a node may vary over time, the minimum number of participating nodes may be determined to be greater in a period in which the reliability of each node is relatively low than in a period in which the reliability of each node is relatively high. Meanwhile, even when the reliability of each node is different, the minimum number of participating nodes may be determined in a similar manner to the above.

일부 실시예들에서, 사용자의 요구사항은 최대 트랜잭션 처리완료시간 및 최대 트랜잭션 비용 중 적어도 하나를 포함할 수 있다. 트랜잭션 처리완료시간은 트랜잭션에 대한 처리요청이 발생한 이후, 해당 트랜잭션을 포함하는 블록이 블록체인에 추가되기까지의 시간을 의미할 수 있다. 즉, 트랜잭션 처리완료시간은 트랜잭션을 포함하는 블록이 생성되어 블록체인 네트워크 내 다른 노드들에게 전달되고, 상기 다른 노드들에 의해 해당 트랜잭션의 유효성이 검증된 후 해당 트랜잭션을 포함하는 블록이 블록체인에 추가되기까지 소요되는 시간을 의미할 수 있다. 트랜잭션 비용은 다른 노드들에 의해 트랜잭션이 처리되는 것에 대한 일종의 수수료로서 사용자가 지불해야 하는 비용을 의미할 수 있다.In some embodiments, the user's requirements may include at least one of a maximum transaction completion time and a maximum transaction cost. The transaction processing completion time may mean a time from when a processing request for a transaction occurs until a block including the corresponding transaction is added to the blockchain. That is, the transaction processing completion time is when a block including the transaction is generated and transmitted to other nodes in the blockchain network, and after the validity of the transaction is verified by the other nodes, the block including the transaction is added to the blockchain. It can mean the time required for addition. The transaction cost is a kind of fee for processing a transaction by other nodes, and may refer to a cost that a user must pay.

일부 실시예들에서, 참여노드 결정부(134)는 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자가 요구한 최대 트랜잭션 처리완료시간 이내에 트랜잭션이 처리완료될 수 있도록 하는 최소 참여노드 개수를 결정할 수 있다. 또한, 참여노드 결정부(134)는 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자가 요구한 최대 트랜잭션 비용 이하의 트랜잭션 비용으로 사용자가 요구한 최대 트랜잭션 처리완료시간 이내에 트랜잭션이 처리완료될 수 있도록 하는 최소 참여노드 개수를 결정할 수 있다.In some embodiments, the participating node determining unit 134 may determine the minimum number of participating nodes that allow the transaction to be completed within the maximum transaction processing completion time requested by the user, using state information on the blockchain network. there is. In addition, the participating node determining unit 134 uses the state information on the blockchain network to complete the transaction within the maximum transaction processing completion time requested by the user at a transaction cost less than the maximum transaction cost requested by the user. It is possible to determine the minimum number of participating nodes.

일부 실시예들에 따른 참여노드 결정부(134)는 블록체인 네트워크를 구성하는 복수의 노드들 중에서, 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정한다. 일부 실시예들에서, 참여노드 결정부(134)는 노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여, 복수의 노드들 중에서 최소 참여노드 개수의 노드들을 참여노드로 결정할 수 있다. 예를 들어, 참여노드 결정부(134)는 사용자의 요구사항을 만족시킬 수 있는 후보노드들 중에서 부하가 적은 노드 순으로, 또는 트랜잭션 처리완료 예상시간이 짧은 노드 순으로, 또는 트랜잭션 비용이 적은 노드 순으로 최소 개수의 참여노드들을 결정할 수 있다.The participating node determining unit 134 according to some embodiments determines, among a plurality of nodes constituting a blockchain network, nodes having the determined minimum number of participating nodes as participating nodes. In some embodiments, the participating node determining unit 134 may determine nodes having the minimum number of participating nodes among a plurality of nodes as participating nodes based on at least one of a load for each node, an expected transaction completion time, and a transaction cost. there is. For example, among the candidate nodes that can satisfy the user's requirements, the participating node determining unit 134 selects a node with a low load, a node with a short expected transaction processing completion time, or a node with a low transaction cost. In order, it is possible to determine the minimum number of participating nodes.

일부 실시예들에 따른 트랜잭션 처리부(136)는 결정된 참여노드들에 의해 사용자의 트랜잭션이 처리되도록 한다. 예를 들어, 트랜잭션 처리부(136)는 사용자에 의해 처리요청된 트랜잭션을 포함하는 블록의 유효성이 검증되도록 해당 블록을 결정된 참여노드들에게 전달하고, 유효성이 검증된 해당 블록이 결정된 참여노드들에 분산 저장되도록 할 수 있다.The transaction processing unit 136 according to some embodiments allows the user's transaction to be processed by the determined participating nodes. For example, the transaction processing unit 136 delivers the block including the transaction requested by the user to the determined participating nodes so that the validity of the block is verified, and the validated block is distributed to the determined participating nodes. can be saved.

일부 실시예들에서, 참여노드 결정부(134)는 블록체인 네트워크를 구성하는 복수의 노드들로부터, 사용자의 요구사항을 만족시키는 최소 참여노드 개수의 노드들로 이루어진 적어도 하나의 후보 참여노드 집합을 결정할 수 있다. 참여노드 결정부(134)는 노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여 상기 적어도 하나의 후보 참여노드 집합 중 하나의 후보 참여노드 집합을 선택할 수 있다. 예를 들어, 참여노드 결정부(134)는 사용자의 요구사항을 만족시킬 수 있는 적어도 하나의 후보 참여노드 집합 중에서 부하가 가장 적은 집합, 또는 트랜잭션 처리완료 예상시간이 가장 짧은 집합, 또는 트랜잭션 비용이 가장 적은 집합을 선택할 수 있다.In some embodiments, the participating node determining unit 134 selects at least one candidate participating node set consisting of nodes with the minimum number of participating nodes that satisfy the user's requirements, from a plurality of nodes constituting the blockchain network. can decide The participating node determining unit 134 may select one candidate participating node set from among the at least one candidate participating node set based on at least one of a load for each node, an expected transaction processing completion time, and a transaction cost. For example, the participating node determining unit 134 determines whether a set having the smallest load, a set having the shortest estimated transaction processing completion time, or a transaction cost among at least one candidate participating node set capable of satisfying the user's requirements is selected. The smallest set can be selected.

일부 실시예들에서, 트랜잭션 처리부(136)는 선택된 하나의 후보 참여노드 집합에 의해 사용자의 트랜잭션이 처리되도록 할 수 있다.In some embodiments, the transaction processing unit 136 may allow a user's transaction to be processed by a selected set of candidate participating nodes.

도 3은 일부 실시예들에 따른 노드 장치(100)의 동작을 설명하기 위한 흐름도이다.Figure 3 is a flow chart for explaining the operation of the node device 100 according to some embodiments.

트랜잭션 처리를 위한 사용자의 요구사항이 사용자 입력부(110)를 통해 노드 장치(100)에 입력될 수 있다(S310). 노드 장치(100)는 블록체인 네트워크에 대한 상태정보를 획득할 수 있다(S320). 노드 장치(100)는 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정할 수 있다(S330). 일부 실시예들에서, 블록체인 네트워크에 대한 상태정보는, 복수의 노드들에 대한 시간에 따른 노드 별 신뢰도를 포함할 수 있고, 사용자의 요구사항은, 트랜잭션을 처리하는데 참여하는 노드들에 의해 결정되는 신뢰도로서 사용자에 의해 요구되는 최소 신뢰도를 포함할 수 있다. 일부 실시예들에서, 단계 S330은 시간에 따른 노드 별 신뢰도를 이용하여 결정되는 신뢰도가 사용자에 의해 요구되는 최소 신뢰도 이상이 되도록 하는 최소 참여노드 개수를 결정하는 단계를 포함할 수 있다.The user's requirements for transaction processing may be input to the node device 100 through the user input unit 110 (S310). The node device 100 may obtain state information about the blockchain network (S320). The node device 100 may determine the minimum number of participating nodes that satisfy the user's requirements by using state information about the blockchain network (S330). In some embodiments, the state information on the blockchain network may include the reliability of each node over time for a plurality of nodes, and the user's requirements are determined by nodes participating in transaction processing. The minimum reliability required by the user may be included as the level of reliability. In some embodiments, step S330 may include determining the minimum number of participating nodes such that the reliability determined using the reliability of each node over time is equal to or greater than the minimum reliability required by the user.

노드 장치(100)는 블록체인 네트워크를 구성하는 복수의 노드들 중에서, 단계 S330에서 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정할 수 있다(S340). 일부 실시예들에서, 단계 340은 노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여 상기 복수의 노드들 중에서 상기 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는 단계를 포함할 수 있다.The node device 100 may determine nodes having the minimum number of participating nodes determined in step S330 as participating nodes among a plurality of nodes constituting the blockchain network (S340). In some embodiments, step 340 includes determining nodes having the determined minimum number of participating nodes among the plurality of nodes as participating nodes based on at least one of a load per node, an expected transaction processing completion time, and a transaction cost. can do.

노드 장치(100)는 단계 S340에서 결정된 참여노드들에 의해 사용자의 트랜잭션이 처리되도록 제어할 수 있다(S350).The node device 100 may control the user's transaction to be processed by the participating nodes determined in step S340 (S350).

도 4는 일부 실시예들에 따른 노드 장치(100)의 동작을 설명하기 위한 흐름도이다.Figure 4 is a flow chart for explaining the operation of the node device 100 according to some embodiments.

트랜잭션 처리를 위한 사용자의 요구사항이 사용자 입력부(110)를 통해 노드 장치(100)에 입력될 수 있다(S410). 노드 장치(100)는 블록체인 네트워크에 대한 상태정보를 획득할 수 있다(S420). 노드 장치(100)는 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정할 수 있다(S430). 단계 S420 및 단계 S430은 도 3의 단계 S320 및 단계 S330와 각각 동일 또는 유사할 수 있다.User requirements for transaction processing may be input to the node device 100 through the user input unit 110 (S410). The node device 100 may obtain state information about the blockchain network (S420). The node device 100 may determine the minimum number of participating nodes that satisfy the user's requirements by using state information about the blockchain network (S430). Steps S420 and S430 may be the same as or similar to steps S320 and S330 of FIG. 3 , respectively.

노드 장치(100)는 블록체인 네트워크를 구성하는 복수의 노드들로부터, 사용자의 요구사항을 만족시키는 최소 참여노드 개수의 노드들로 이루어진 적어도 하나의 후보 참여노드 집합을 결정할 수 있다(S440). 노드 장치(100)는 노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여, 단계 S440에서 결정된 적어도 하나의 후보 참여노드 집합 중 하나의 후보 참여노드 집합을 선택할 수 있다(S450). 노드 장치(100)는 선택된 하나의 후보 참여노드 집합에 의해 사용자의 트랜잭션이 처리되도록 제어할 수 있다(S460).The node device 100 may determine at least one candidate participating node set consisting of nodes having a minimum number of participating nodes that satisfy a user's requirements from a plurality of nodes constituting the blockchain network (S440). The node device 100 may select one candidate participating node set from among the at least one candidate participating node set determined in step S440 based on at least one of the load for each node, the expected transaction processing completion time, and the transaction cost (S450). . The node device 100 may control a user's transaction to be processed by a selected set of candidate participating nodes (S460).

이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concept of the present invention defined in the following claims are also within the scope of the present invention. belongs to

Claims (12)

블록체인 네트워크 상의 노드 장치에 있어서,
상기 블록체인 네트워크에 대한 상태정보를 획득하는 블록체인 상태 모니터링부;
상기 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정하고, 상기 블록체인 네트워크를 구성하는 복수의 노드들 중에서 상기 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는 참여노드 결정부; 및
상기 결정된 참여노드들에 의해 상기 사용자의 트랜잭션이 처리되도록 하는 트랜잭션 처리부를 포함하고,
상기 블록체인 네트워크에 대한 상태정보는, 상기 복수의 노드들에 대한 시간에 따른 노드 별 신뢰도를 포함하고,
상기 사용자의 요구사항은, 트랜잭션을 처리하는데 참여하는 노드들에 의해 결정되는 신뢰도로서 상기 사용자에 의해 요구되는 최소 신뢰도를 포함하고,
상기 참여노드 결정부는,
상기 시간에 따른 노드 별 신뢰도를 이용하여 결정되는 신뢰도가 상기 사용자에 의해 요구되는 상기 최소 신뢰도 이상이 되도록 하는 최소 참여노드 개수를 결정하는 노드 장치.
In the node device on the blockchain network,
A blockchain status monitoring unit that obtains status information on the blockchain network;
Using the state information on the blockchain network, the minimum number of participating nodes that satisfies the user's requirements is determined, and among a plurality of nodes constituting the blockchain network, the nodes of the determined minimum number of participating nodes are selected as participating nodes. Participating node determining unit to determine; and
A transaction processor configured to process the transaction of the user by the determined participating nodes;
The state information on the blockchain network includes reliability of each node over time for the plurality of nodes,
The user's requirements include a minimum trust level required by the user as a level of trust determined by nodes participating in transaction processing;
The participating node determining unit,
A node device for determining the minimum number of participating nodes such that the reliability determined using the reliability for each node over time is equal to or greater than the minimum reliability required by the user.
삭제delete 삭제delete 제1항에 있어서,
상기 참여노드 결정부는,
노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여 상기 복수의 노드들 중에서 상기 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는, 노드 장치.
According to claim 1,
The participating node determining unit,
Based on at least one of a load per node, an expected time to complete transaction processing, and a transaction cost, nodes having the determined minimum number of participating nodes among the plurality of nodes are determined as participating nodes.
제1항에 있어서,
상기 참여노드 결정부는,
상기 블록체인 네트워크를 구성하는 상기 복수의 노드들로부터, 상기 사용자의 요구사항을 만족시키는 상기 최소 참여노드 개수의 노드들로 이루어진 적어도 하나의 후보 참여노드 집합을 결정하는, 노드 장치.
According to claim 1,
The participating node determining unit,
A node device that determines, from the plurality of nodes constituting the blockchain network, a set of at least one candidate participating node consisting of nodes having the minimum number of participating nodes that satisfy the user's requirements.
제5항에 있어서,
상기 참여노드 결정부는,
노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여 상기 적어도 하나의 후보 참여노드 집합 중 하나의 후보 참여노드 집합을 선택하고,
상기 트랜잭션 처리부는,
상기 선택된 하나의 후보 참여노드 집합에 의해 상기 사용자의 트랜잭션이 처리되도록 하는, 노드 장치.
According to claim 5,
The participating node determining unit,
Selecting one candidate participating node set from among the at least one candidate participating node set based on at least one of a load for each node, an estimated transaction processing completion time, and a transaction cost;
The transaction processing unit,
A node device that allows the user's transaction to be processed by the selected set of one candidate participating node.
블록체인 네트워크 상의 노드 장치의 동작방법에 있어서,
상기 블록체인 네트워크에 대한 상태정보를 획득하는 단계;
상기 블록체인 네트워크에 대한 상태정보를 이용하여, 사용자의 요구사항을 만족시키는 최소 참여노드 개수를 결정하는 단계;
상기 블록체인 네트워크를 구성하는 복수의 노드들 중에서 상기 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는 단계; 및
상기 결정된 참여노드들에 의해 상기 사용자의 트랜잭션이 처리되도록 하는 단계;
상기 블록체인 네트워크에 대한 상태정보는, 상기 복수의 노드들에 대한 시간에 따른 노드 별 신뢰도를 포함하고,
상기 사용자의 요구사항은, 트랜잭션을 처리하는데 참여하는 노드들에 의해 결정되는 신뢰도로서 상기 사용자에 의해 요구되는 최소 신뢰도를 포함하는 단계; 및
상기 최소 참여노드 개수를 결정하는 단계는,
상기 시간에 따른 노드 별 신뢰도를 이용하여 결정되는 신뢰도가 상기 사용자에 의해 요구되는 상기 최소 신뢰도 이상이 되도록 하는 최소 참여노드 개수를 결정하는 단계;를 포함하는 방법.
In the method of operating a node device on a blockchain network,
obtaining state information about the blockchain network;
determining the minimum number of participating nodes that satisfies a user's requirements by using state information about the blockchain network;
determining nodes having the determined minimum number of participating nodes among a plurality of nodes constituting the blockchain network as participating nodes; and
allowing the user's transaction to be processed by the determined participating nodes;
The state information on the blockchain network includes reliability of each node over time for the plurality of nodes,
the user's requirements include a minimum level of trust required by the user as a level of trust determined by nodes participating in transaction processing; and
The step of determining the minimum number of participating nodes,
and determining the minimum number of participating nodes such that the reliability determined by using the reliability for each node over time is equal to or greater than the minimum reliability required by the user.
삭제delete 삭제delete 제7항에 있어서,
상기 최소 참여노드 개수의 노드들을 참여노드로 결정하는 단계는,
노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여 상기 복수의 노드들 중에서 상기 결정된 최소 참여노드 개수의 노드들을 참여노드로 결정하는 단계를 포함하는, 방법.
According to claim 7,
The step of determining the nodes of the minimum number of participating nodes as participating nodes,
and determining nodes having the determined minimum number of participating nodes from among the plurality of nodes as participating nodes based on at least one of a load per node, an expected time to complete transaction processing, and a transaction cost.
제7항에 있어서,
상기 최소 참여노드 개수를 결정하는 단계는,
상기 블록체인 네트워크를 구성하는 상기 복수의 노드들로부터, 상기 사용자의 요구사항을 만족시키는 상기 최소 참여노드 개수의 노드들로 이루어진 적어도 하나의 후보 참여노드 집합을 결정하는 단계를 포함하는, 방법.
According to claim 7,
The step of determining the minimum number of participating nodes,
And determining, from the plurality of nodes constituting the blockchain network, at least one candidate participating node set composed of nodes having the minimum number of participating nodes that satisfy the user's requirements.
제11항에 있어서,
상기 최소 참여노드 개수의 노드들을 참여노드로 결정하는 단계는,
노드 별 부하, 트랜잭션 처리완료 예상시간 및 트랜잭션 비용 중 적어도 하나에 기초하여 상기 적어도 하나의 후보 참여노드 집합 중 하나의 후보 참여노드 집합을 선택하는 단계를 포함하고,
상기 사용자의 트랜잭션이 처리되도록 하는 단계는,
상기 선택된 하나의 후보 참여노드 집합에 의해 상기 사용자의 트랜잭션이 처리되도록 하는 단계를 포함하는, 방법.
According to claim 11,
The step of determining the nodes of the minimum number of participating nodes as participating nodes,
Selecting one candidate participating node set from among the at least one candidate participating node set based on at least one of a load for each node, an estimated transaction processing completion time, and a transaction cost;
The step of allowing the user's transaction to be processed,
and allowing the user's transaction to be processed by the selected one set of candidate participating nodes.
KR1020190018810A 2019-02-18 2019-02-18 Blockchain Network Node and Method for Processing Transaction KR102519186B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190018810A KR102519186B1 (en) 2019-02-18 2019-02-18 Blockchain Network Node and Method for Processing Transaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190018810A KR102519186B1 (en) 2019-02-18 2019-02-18 Blockchain Network Node and Method for Processing Transaction

Publications (2)

Publication Number Publication Date
KR20200100472A KR20200100472A (en) 2020-08-26
KR102519186B1 true KR102519186B1 (en) 2023-04-06

Family

ID=72242389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190018810A KR102519186B1 (en) 2019-02-18 2019-02-18 Blockchain Network Node and Method for Processing Transaction

Country Status (1)

Country Link
KR (1) KR102519186B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220129873A1 (en) * 2020-10-27 2022-04-28 Jpmorgan Chase Bank, N.A. Method and system for an electronic bill payment platform
KR102506286B1 (en) * 2020-11-25 2023-03-06 주식회사 디지캡 Multi-channel blockchain transaction batch processing device
KR20230004216A (en) * 2021-06-30 2023-01-06 주식회사 아티프렌즈 Token issuance service apparatus and method for media content based on blockchain

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101092359B1 (en) * 2009-11-30 2011-12-09 한국과학기술정보연구원 Scheduling apparatus and method in grid
GB201607476D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices

Also Published As

Publication number Publication date
KR20200100472A (en) 2020-08-26

Similar Documents

Publication Publication Date Title
JP6783923B2 (en) Methods and devices for managing service operation risk
KR102519186B1 (en) Blockchain Network Node and Method for Processing Transaction
US20180121909A1 (en) System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
TWI387284B (en) Method and system for credit-based peer-to-peer storage, and computer storage medium for recording related instructions thereon
US11044175B2 (en) Hybrid cloud broker with static and dynamic capability matching
US11128440B2 (en) Blockchain based file management system and method thereof
KR20200132518A (en) System for supporting transaction interoperation between blockchain networks and method thereof
KR102124499B1 (en) Method, apparatus and computer-readable medium of providing application service based on cloud service
JP2005259126A (en) Metered execution of code
US20190294800A1 (en) Security Policy Enforcement Based On Dynamic Security Context Updates
TW201243725A (en) Image analysis tools
RU2640653C2 (en) Network management of data protection kits
US10761875B1 (en) Large scale compute instance launching
KR20210096619A (en) An intelligent, decentralized and autonomous marketplace for distributed computing and storage
KR20210130825A (en) Prevention of erroneous transfer of copies of data records to distributed ledger systems
EP3776209A1 (en) Backup and restore validation
US11032366B2 (en) Node device on blockchain network for processing transaction
US9118650B1 (en) Persistent connections for email web applications
KR20220142210A (en) Adaptive transaction processing node and method for blockchain
KR102039063B1 (en) Method and Apparatus for Management of Sensor Data
KR102253506B1 (en) Apparatus and method for managing distributed ledger based on block chain
JP2024501401A (en) Decentralized broadcast encryption and key generation facility
US20180060583A1 (en) Application Behavior Information
KR102128832B1 (en) Network interface apparatus and data processing method for network interface apparauts thereof
US10089261B2 (en) Discriminating dynamic connection of disconnectable peripherals

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