KR102461653B1 - Apparatus and method for selecting consensus node in byzantine environment - Google Patents

Apparatus and method for selecting consensus node in byzantine environment Download PDF

Info

Publication number
KR102461653B1
KR102461653B1 KR1020190039750A KR20190039750A KR102461653B1 KR 102461653 B1 KR102461653 B1 KR 102461653B1 KR 1020190039750 A KR1020190039750 A KR 1020190039750A KR 20190039750 A KR20190039750 A KR 20190039750A KR 102461653 B1 KR102461653 B1 KR 102461653B1
Authority
KR
South Korea
Prior art keywords
byzantine
nodes
subject
consensus
environment
Prior art date
Application number
KR1020190039750A
Other languages
Korean (ko)
Other versions
KR20200117530A (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 KR1020190039750A priority Critical patent/KR102461653B1/en
Publication of KR20200117530A publication Critical patent/KR20200117530A/en
Priority to KR1020220139826A priority patent/KR102657387B1/en
Application granted granted Critical
Publication of KR102461653B1 publication Critical patent/KR102461653B1/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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • H04L67/107Discovery involving direct consultation or announcement among potential requesting and potential source peers with limitation or expansion of the discovery scope
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/1051Group master selection mechanisms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Hardware Redundancy (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

비잔틴 환경에서의 합의 주체 선택 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법은 비잔틴 환경에서의 합의 주체 선택 장치의 비잔틴 환경에서의 합의 주체 선택 방법에 있어서, 블록체인 시스템의 비잔틴 환경에서 분산 합의 주체를 선택하는 단계; 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인지 판단하는 단계 및 상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인 경우에만 상기 분산 합의 주체를 변경하는 단계를 포함한다.An apparatus and method for selecting a consensus subject in a Byzantine environment are disclosed. A method for selecting a subject of consensus in a Byzantine environment according to an embodiment of the present invention is a method for selecting a subject of consensus in a Byzantine environment of a device for selecting a consensus subject in a Byzantine environment, in which a distributed consensus subject is selected in the Byzantine environment of the block chain system. step; determining whether the number of nodes of the selected distributed consensus subject is equal to or greater than a preset minimum number of selected nodes; and changing the distributed consensus subject only when the selected number of nodes of the selected distributed consensus subject is greater than or equal to the preset minimum number of selected nodes.

Description

비잔틴 환경에서의 합의 주체 선택 장치 및 방법 {APPARATUS AND METHOD FOR SELECTING CONSENSUS NODE IN BYZANTINE ENVIRONMENT}Apparatus and method for selecting a consensus subject in a Byzantine environment {APPARATUS AND METHOD FOR SELECTING CONSENSUS NODE IN BYZANTINE ENVIRONMENT}

본 발명은 블록체인 기술에 관한 것으로, 보다 상세하게는 분산 합의 주체 선택 기술에 관한 것이다.The present invention relates to blockchain technology, and more particularly, to distributed consensus subject selection technology.

분산 합의 주체 선택은 고정 합의 주체에 의한 방식과 비고정 합의 주체에 의한 방식으로 구분 할 수 있다.Decentralized consensus subject selection can be divided into a method by a fixed consensus subject and a method by a non-fixed consensus subject.

고정 합의 주체에 의한 분산 합의 방식은 tendermint 등이 대표적인 사례이다. 이러한 방식에서는 합의 주체를 미리 고정하고 합의를 진행하므로 완전 탈 중앙화가 어렵고 고정된 노드의 노출로 인해 보안성이 낮아지는 문제를 가지고 있다. Tendermint is a typical example of a distributed consensus method by a fixed consensus subject. In this method, since the subject of the agreement is fixed in advance and the agreement is carried out, it is difficult to achieve complete decentralization and there is a problem in that the security is lowered due to the exposure of the fixed node.

비고정 합의 주체에 의한 분산 합의 방식은 매번 합의 주체를 바꾸는 방식과 합의 주체 선택은 랜덤 하지만 매번 주체를 다시 선정하지 않는 반고정 방식으로 나누어 볼 수 있다. The distributed consensus method by non-fixed consensus subjects can be divided into a method in which the consensus subject is changed each time and a semi-fixed method in which the subject is randomly selected but the subject is not selected again every time.

고정 방식(ex. tendermint)의 경우 선택된 노드에 비잔틴 노드가 33% 이하에서는 비잔틴 장애를 감내한다.In the case of the fixed method (ex. tendermint), if the number of Byzantine nodes in the selected node is 33% or less, the Byzantine failure is tolerated.

비고정 방식(ex. Zilliqa)의 경우 노드를 랜덤하게 선택하는 과정에서 정상노드와 비잔틴 노드가 분산이 0 보다 큰 분포를 가지고 선택되므로 600개의 합의 노드를 선택하는 경우 25% 이하의 비잔틴 장애를 확률적인 범위내에서 감내한다고 알려져 있다. In the case of the non-fixed method (ex. Zilliqa), in the process of randomly selecting nodes, normal nodes and Byzantine nodes are selected with a distribution greater than 0, so if 600 consensus nodes are selected, the probability of a Byzantine failure of 25% or less It is known to be tolerated within an acceptable range.

합의 노드 수를 600 이하로 줄이는 경우 비잔틴 장애 허용은 25% 보다 작아진다. 매번 합의 주체를 바꾸는 비고정 방식의 선행 기술에서 제안한 합의 주체 선택 방법은 비잔틴 노드가 없는 private 환경에서는 선택된 노드 수가 합의를 위한 최소 노드만 선택되면 합의가 중단되지 않는다. 비잔틴을 허용하는 public 환경에서는 합의 주체 노드 수가 작아지는 경우 확률 적분 구간이 크져 비잔틴 장애 확률이 커진다. 따라서 비고정 합의 주체 환경에서 비잔틴 장애 확률을 줄일 수 있는 분산 합의 주체 선정 방법이 필요하다.If the number of consensus nodes is reduced below 600, the Byzantine fault tolerance becomes less than 25%. The consensus subject selection method proposed in the prior art, which is a non-fixed method that changes the consensus subject every time, does not interrupt the consensus if only the minimum number of nodes selected for consensus is selected in a private environment without Byzantine nodes. In a public environment that allows Byzantine, if the number of consensus subject nodes decreases, the probability integration interval becomes large and the probability of Byzantine failure increases. Therefore, a method for selecting a distributed consensus subject that can reduce the probability of Byzantine failure in a non-fixed consensus subject environment is required.

한편, 한국등록특허 제 10-1949712 호“계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법”는 계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법에 관하여 개시하고 있다.On the other hand, Korea Patent Registration No. 10-1949712, “Blockchain generation method having a consensus process of a node verification method by layered and probabilistic election of representatives and a process of distributing rewards” is a consensus of a node verification method by selecting a stratified and probabilistic representative. Disclosed is a method for creating a blockchain with a process and a process for distribution of rewards.

본 발명은 확률적인 범위 내에서 비잔틴 장애를 감내하는 것을 목적으로 한다.An object of the present invention is to tolerate Byzantine disorders within a stochastic range.

또한, 본 발명은 합의에 필요한 최소 노드 수를 유지하는 것을 목적으로 한다.In addition, the present invention aims to maintain the minimum number of nodes required for consensus.

또한, 본 발명은 비잔틴 노드의 승리 확률을 제어하는 것을 목적으로 한다.In addition, an object of the present invention is to control the win probability of a Byzantine node.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법은 비잔틴 환경에서의 합의 주체 선택 장치의 비잔틴 환경에서의 합의 주체 선택 방법에 있어서, 블록체인 시스템의 비잔틴 환경에서 분산 합의 주체를 선택하는 단계; 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인지 판단하는 단계 및 상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인 경우에만 상기 분산 합의 주체를 변경하는 단계를 포함한다.The method for selecting a consensus subject in a Byzantine environment according to an embodiment of the present invention for achieving the above object is a method for selecting a consensus subject in the Byzantine environment of the apparatus for selecting a consensus subject in the Byzantine environment, the Byzantine environment of the block chain system selecting a decentralized consensus entity from; determining whether the number of nodes of the selected distributed consensus subject is equal to or greater than a preset minimum number of selected nodes; and changing the distributed consensus subject only when the selected number of nodes of the selected distributed consensus subject is greater than or equal to the preset minimum number of selected nodes.

본 발명은 확률적인 범위 내에서 비잔틴 장애를 감내할 수 있다.The present invention can tolerate Byzantine disorders within a stochastic range.

또한, 본 발명은 합의에 필요한 최소 노드 수를 유지할 수 있다.In addition, the present invention can maintain the minimum number of nodes required for consensus.

또한, 본 발명은 비잔틴 노드의 승리 확률을 제어할 수 있다.In addition, the present invention can control the winning probability of the Byzantine node.

도 1은 본 발명의 일실시예에 따른 비잔틴 환경을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법을 나타낸 동작흐름도이다.
도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
1 is a view showing a Byzantine environment according to an embodiment of the present invention.
2 is a flowchart illustrating a method for selecting a subject of consensus in a Byzantine environment according to an embodiment of the present invention.
3 is a diagram illustrating a computer system according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings as follows. Here, repeated descriptions, well-known functions that may unnecessarily obscure the gist of the present invention, and detailed descriptions of configurations will be omitted. The embodiments of the present invention are provided in order to more completely explain the present invention to those of ordinary skill in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clearer description.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

블록체인 시스템의 분산 합의 방법은 분산 합의 주체가 고정되어 합의를 진행하는 방식과 분산합의 주체가 고정되지 않고 합의 후 새로운 분산합의 주체가 선택되어 합의를 진행하는 방식으로 나누어 볼 수 있다. The distributed consensus method of the blockchain system can be divided into a method in which the subject of the distributed agreement is fixed to proceed with the consensus, and the method in which the subject of the distributed agreement is not fixed and a new distributed agreement subject is selected after consensus to proceed with the consensus.

분산 합의 주체를 고정하는 경우 초기 비잔틴 확률이 유지되므로 분산이 0인 특징을 갖는다.When the subject of the distributed consensus is fixed, the initial Byzantine probability is maintained, so the variance is 0.

고정된 합의 주체 간 합의에 의해 동일 거버넌스에 맞는 체인구성으로 편이성은 보장하나 완전 탈중앙화 방식이라 하기 어렵고, 특정 합의 주체가 고정되어 있어 보안성이 낮은 방식이다. Convenience is guaranteed with a chain configuration suitable for the same governance by consensus between fixed consensus subjects, but it is difficult to call it a fully decentralized method, and it is a low security method because a specific consensus subject is fixed.

비고정 분산 합의 주체에 의한 분산합의는 매 선택마다 비잔틴 노드의 분포가 달라지므로 비잔틴의 노드의 분산이 0보다 큰 특징을 갖는다.The distribution of Byzantine nodes is different for each selection in the distributed agreement by the non-fixed distributed consensus subject, so the distribution of Byzantine nodes is greater than 0.

매번 새로운 합의 주체가 선택될 수 있어 탈 중앙화 방식이라 할 수 있고 합의 주체를 특정 할 수 없어 보안성이 높은 방식이다. It is a decentralized method because a new consensus subject can be selected each time.

비고정 분산 합의 주체에 의한 분산 합의 방식에서는 랜덤하게 합의 주체 노드들을 선택하므로 합의 주체 노드 수는 분산이 0 보다 큰 분포를 가지게 된다.In the distributed consensus method by the non-fixed distributed consensus subject, the number of consensus subject nodes has a distribution with a variance greater than 0 because the consensus subject nodes are randomly selected.

분산의 0 보다 큰 분포에서는 선택된 노드 수가 평균 이하로 선택될 수 있다. 합의를 위한 노드 수가 적을 경우 비잔틴 장애에 취약해 질 수 있으므로 특정 수 이상의 노드가 반드시 선택되도록 유지할 필요가 있다.In a distribution greater than zero of variance, the number of selected nodes may be chosen to be below the mean. If the number of nodes for consensus is small, it may be vulnerable to Byzantine failure, so it is necessary to keep a certain number of nodes or more.

따라서, 본 발명에서는 비고정 분산 합의 주체 방식에서 랜덤하게 노드를 선택하면서 합의에 필요한 최소 노드 수를 유지 하는 방법을 제공할 수 있다.Therefore, the present invention can provide a method for maintaining the minimum number of nodes required for consensus while randomly selecting nodes in a non-fixed distributed consensus subject method.

도 1은 본 발명의 일실시예에 따른 비잔틴 환경을 나타낸 도면이다.1 is a view showing a Byzantine environment according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 블록체인 시스템의 비잔틴 환경을 나타낸 것을 알 수 있다.Referring to FIG. 1, it can be seen that the Byzantine environment of the block chain system according to an embodiment of the present invention is shown.

본 발명의 일실시예에 따른 비고정 분산 합의 주체 선택 방식에서 분산 합의 주체를 랜덤하게 선택하는 경우(비잔틴 노드가 하나 이상 모든 경우의 수가 가능) 비잔틴이 이길 경우의 수는 비잔틴 노드 수 f가 1이상 모든 구간에 대해 비잔틴이 이길 경우의 수를 적분해야 할 수 있다.In the case of randomly selecting a distributed consensus subject in the non-fixed distributed consensus subject selection method according to an embodiment of the present invention (the number of cases where there is more than one Byzantine node is possible), the number of cases in which the Byzantine wins is the number of Byzantine nodes f is 1 It may be necessary to integrate the number of cases in which the Byzantines win for all the above sections.

예를 들어, 1,000개의 노드 중에 25%의 비잔틴 노드가 있는 환경에서 평균 100개 노드를 랜덤하게 선택한다고 가정할 수 있다. 이 때, 비잔틴 노드가 선택될 확률 분포는 평균 25, 분산 22.5의 특징을 가지게 되고, 정상 노드는 평균 75, 분산 67.5의 특징을 가지고 선택될 수 있다. For example, in an environment with 25% Byzantine nodes out of 1,000 nodes, it can be assumed that an average of 100 nodes is randomly selected. At this time, the probability distribution in which the Byzantine node will be selected has an average of 25 and a variance of 22.5, and a normal node can be selected with an average of 75 and a variance of 67.5.

본 발명의 일실시예에 따른 비잔틴 노드의 승리 조건을 정의하면, 비잔틴과 정상노드가 동시에 선택되는 상황에서 비잔틴 노드가 x개 선택될때 정상노드가 2*x 이하로 선택되면 합의를 할 수 없는 결과가 발생하며 이러한 상황을 비잔틴이 승리하였다고 정의할 수 있다. 따라서, 비잔틴 노드가 x개 선택될 때, 비잔틴 노드가 승리할 확률 분포는 아래 수학식 1과 같이 나타낼 수 있다.If the victory condition of the Byzantine node according to an embodiment of the present invention is defined, when the Byzantine node and the normal node are selected at the same time when x number of Byzantine nodes are selected, if the number of normal nodes is 2*x or less, consensus cannot be reached This situation can be defined as the victory of the Byzantines. Therefore, when x number of Byzantine nodes are selected, the probability distribution that the Byzantine node will win can be expressed as Equation 1 below.

[수학식 1][Equation 1]

fbzt(x)*Fnom(2*x)fbzt(x)*Fnom(2*x)

수학식 1에서 비잔틴과 정상 노드들은 서로 독립의 사건이라 할때 fbzt(x) 는 비잔틴 노드의 확률밀도 함수(probability distribution function, pdf)를 의미하며, Fnom(2*x)는 정상 노드의 누적 분포 함수(cumulative distribution function, cdf)를 의미 한다.In Equation 1, when the Byzantine and normal nodes are independent events, fbzt(x) means the probability distribution function (pdf) of the Byzantine node, and Fnom(2*x) is the cumulative distribution of the normal node. It means a function (cumulative distribution function, cdf).

상기 확률 분포 함수를 모든 x에 대해 적분한 값이 비잔틴 노드가 승리할 수 있는 확률값이 될 수 있다.A value obtained by integrating the probability distribution function with respect to all x may be a probability value that a Byzantine node can win.

본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 장치 및 방법은 랜덤하게 선택된 노드수가 최소 선택 노드 수 N 이상인 경우에만 분산 합의 노드를 변경하도록 제한할 수 있다.The apparatus and method for selecting a subject of consensus in a Byzantine environment according to an embodiment of the present invention may limit the change of distributed consensus nodes only when the number of randomly selected nodes is equal to or greater than the minimum number of nodes N.

이 때, 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 장치 및 방법은 랜덤하게 선택된 노드가 N이상인 경우에만 노드 변경을 허용할 수 있다.In this case, the apparatus and method for selecting a subject of consensus in a Byzantine environment according to an embodiment of the present invention may allow node change only when the number of randomly selected nodes is N or more.

예를 들어, 최소 선택 노드 수 N을 선택 노드 평균인 100으로 가정할 수 있고, 본 발명의 효과를 두가지로 설명할 수 있다. 첫번째 효과는 N이 100인 경우 선택된 노드가 100 이상되어야 노드가 변경되므로 비잔틴 노드가 33개 이하로 선택되면 정상 노드가 67개 이상인 모든 경우에 비잔틴이 이길 경우의 수는 0이 될 수 있다. For example, it can be assumed that the minimum number of selected nodes N is 100, which is the average of selected nodes, and the effect of the present invention can be explained in two ways. The first effect is that when N is 100, the number of cases in which the Byzantine wins can be 0 in all cases where the number of normal nodes is 67 or more when the number of Byzantine nodes is 33 or less, because the node is changed only when the selected node is 100 or more when N is 100.

두번째 효과는 비잔틴 노드 수 x = 34로 선택되는 경우 이전에 정상노드가 2*x = 68이하로 선택되는 모든 경우의 누적 확률을 곱해야 했던 것이, 비잔틴 노드와 정상 노드의 합이 N 이상인 경우만 고려해야 하므로 적분 구간의 시작점이 N-x에서 부터 시작되므로 아래 수학식 2와 같은 비잔틴이 승리 확률 분포가 되므로 비잔틴이 승리할 확률이 작아지는 효과가 발생할 수 있다. The second effect is that when the number of Byzantine nodes is selected as x = 34, it is necessary to multiply the cumulative probability of all cases in which the normal node is previously selected to be 2*x = 68 or less, only when the sum of the Byzantine node and the normal node is N or more. Therefore, since the starting point of the integration section starts from N-x, the Byzantine win probability distribution as in Equation 2 below may have an effect of reducing the Byzantine win probability.

[수학식 2][Equation 2]

fbzt(x)*(Fnom(2*x) - Fnom(N-x)) fbzt(x)*(Fnom(2*x) - Fnom(N-x))

수학식 2에서 비잔틴과 정상 노드들은 서로 독립의 사건이라 할때 fbzt(x) 는 비잔틴 노드의 확률밀도 함수(probability distribution function, pdf)를 의미하며, Fnom(2*x)는 정상 노드의 누적 분포 함수(cumulative distribution function, cdf)를 의미 한다.In Equation 2, when the Byzantine and the normal nodes are independent events, fbzt(x) means the probability distribution function (pdf) of the Byzantine node, and Fnom(2*x) is the cumulative distribution of the normal node. It means a function (cumulative distribution function, cdf).

또한, 상기 예에서 최소 선택 노드 수를 100으로 하는 경우, 선택되는 노드 평균이므로 50%의 확률로 100개 이상의 노드가 선택되므로 투표 노드 변경 확률은 50%가 될 수 있다. In addition, in the above example, when the minimum number of selected nodes is 100, since 100 or more nodes are selected with a 50% probability because it is an average of the selected nodes, the voting node change probability may be 50%.

최소 선택 노드 수를 110 등의 값으로 정하는 경우 비잔틴이 이길 확률값을 줄일 수 있지만 노드 변경 확률을 감소하는 영향이 나타날 수 있다. 최소 선택 노드 수를 90 등으로 정하는 경우 비잔틴이 승리할 확률이 증가하고 노드 변경 확률도 증가하는 효과가 발생한다. 최소 선택 노드 수는 시스템이 감내할 비잔틴 장애 확률에 의해 결정 할 수 있다.If the minimum number of selected nodes is set to a value such as 110, the probability value of the Byzantine victory can be reduced, but the effect of reducing the node change probability may appear. If the minimum number of selected nodes is set to 90, etc., the probability that the Byzantines will win increases and the probability of changing nodes also increases. The minimum number of selected nodes can be determined by the Byzantine failure probability that the system will tolerate.

본 발명에서는 많은 노드에서 특정 확률로 노드를 선택할 때 최소 선택 노드 수 N이상의 경우에만 노드 변경하는 방법을 통해 비잔틴 노드의 승리 확률을 제어할 수 있다.In the present invention, when selecting a node with a specific probability from many nodes, the win probability of the Byzantine node can be controlled through the method of changing the node only when the minimum number of selected nodes is N or more.

도 2는 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법을 나타낸 동작흐름도이다.2 is a flowchart illustrating a method for selecting a subject of consensus in a Byzantine environment according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법은 먼저 분산 합의 주체를 선택할 수 있다(S110).Referring to FIG. 2 , in the method for selecting a consensus subject in a Byzantine environment according to an embodiment of the present invention, a distributed consensus subject may be selected first ( S110 ).

즉, 단계(S110)는 블록체인 시스템의 비잔틴 환경에서 분산 합의 주체를 랜덤하게 선택할 수 있다.That is, step S110 may randomly select a distributed consensus subject in the Byzantine environment of the blockchain system.

또한, 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법은 분산합의 주체의 노드 수를 판단할 수 있다(S120).In addition, the method for selecting a consensus subject in a Byzantine environment according to an embodiment of the present invention may determine the number of nodes of a distributed consensus subject ( S120 ).

즉, 단계(S120)는 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인지 판단할 수 있다.That is, in step S120, it may be determined whether the number of nodes of the selected distributed agreement subject is equal to or greater than a preset minimum number of selected nodes.

이 때, 단계(S120)는 랜덤하게 선택된 노드가 N이상인 경우에만 노드 변경을 허용할 수 있다.In this case, step S120 may allow node change only when the number of randomly selected nodes is N or more.

예를 들어, 단계(S120)는 최소 선택 노드 수 N을 선택 노드 평균인 100으로 가정할 수 있고, 본 발명의 효과를 두가지로 설명할 수 있다. 첫번째 효과는 N이 100인 경우 선택된 노드가 100 이상되어야 노드가 변경되므로 비잔틴 노드가 33개 이하로 선택되면 정상 노드가 67개 이상인 모든 경우에 비잔틴이 이길 경우의 수는 0이 될 수 있다. For example, in step S120 , it may be assumed that the minimum number of selected nodes N is an average of 100 selected nodes, and the effect of the present invention can be explained in two ways. The first effect is that when N is 100, the number of cases in which the Byzantine wins can be 0 in all cases where the number of normal nodes is 67 or more when the number of Byzantine nodes is 33 or less, because the node is changed only when the selected node is 100 or more when N is 100.

두번째 효과는 비잔틴 노드 수 x = 34로 선택되는 경우 이전에 정상노드가 2*x = 68이하로 선택되는 모든 경우의 누적 확률을 곱해야 했던 것이, 비잔틴 노드와 정상 노드의 합이 N 이상인 경우만 고려해야 하므로 적분 구간의 시작점이 N-x에서 부터 시작되므로 아래 수학식 2와 같은 비잔틴이 승리 확률 분포가 되므로 비잔틴이 승리할 확률이 작아지는 효과가 발생할 수 있다. The second effect is that when the number of Byzantine nodes is selected as x = 34, it is necessary to multiply the cumulative probability of all cases in which the normal node is previously selected to be 2*x = 68 or less, only when the sum of the Byzantine node and the normal node is N or more. Therefore, since the starting point of the integration section starts from N-x, the Byzantine win probability distribution as in Equation 2 below may have an effect of reducing the Byzantine win probability.

또한, 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법은 분산 합의 주체를 변경할 수 있다(S130).In addition, the method for selecting a subject of consensus in a Byzantine environment according to an embodiment of the present invention may change the subject of a distributed consensus ( S130 ).

즉, 단계(S130)는 상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인 경우에만 상기 분산 합의 주체를 변경할 수 있다.That is, in step S130, the subject of the distributed agreement can be changed only when the number of nodes of the selected distributed agreement subject is equal to or greater than the preset minimum number of selected nodes.

이 때, 단계(S130)는 랜덤하게 선택된 노드가 최소 선택 노드 수 N이상인 경우에만 노드 변경을 허용하기 위하여 수학식 2와 같이 정상 노드의 누적 분포 함수와 최소 선택 노드 수 N과 비잔틴 노드 수 x를 고려한 누적 분포 함수를 이용하여 비잔틴 승리 확률 분포를 계산할 수 있다.At this time, in step S130, the cumulative distribution function of normal nodes and the minimum number of selected nodes N and the number of Byzantine nodes x are calculated as in Equation 2 to allow node change only when the randomly selected node is equal to or greater than the minimum number of selected nodes N. By using the considered cumulative distribution function, the Byzantine victory probability distribution can be calculated.

이 때, 단계(S130)는 수학식 2에서 비잔틴과 정상 노드들은 서로 독립의 사건이라 할때 fbzt(x) 는 비잔틴 노드의 확률밀도 함수(probability distribution function, pdf)를 의미하며, Fnom(2*x)는 정상 노드의 누적 분포 함수(cumulative distribution function, cdf)를 의미 한다.At this time, in step S130, when the Byzantine and normal nodes are independent events in Equation 2, fbzt(x) means the probability distribution function (pdf) of the Byzantine node, and Fnom(2*) x) means the cumulative distribution function (cdf) of the normal node.

이 때, 단계(S130)는 최소 선택 노드 수를 100으로 하는 경우, 선택되는 노드 평균이므로 50%의 확률로 100개 이상의 노드가 선택되므로 투표 노드 변경 확률은 50%가 될 수 있다. At this time, in step S130, when the minimum number of selected nodes is 100, since 100 or more nodes are selected with a probability of 50% because it is an average of the selected nodes, the voting node change probability may be 50%.

이 때, 단계(S130)는 최소 선택 노드 수를 110 등의 값으로 정하는 경우 비잔틴이 이길 확률값을 줄일 수 있지만 노드 변경 확률을 감소하는 영향이 나타날 수 있다. 최소 선택 노드 수를 90 등으로 정하는 경우 비잔틴이 승리할 확률이 증가하고 노드 변경 확률도 증가하는 효과가 발생한다. 최소 선택 노드 수는 시스템이 감내할 비잔틴 장애 확률에 의해 결정 할 수 있다.In this case, in step S130, when the minimum number of selected nodes is set to a value such as 110, the probability value of the Byzantine victory may be reduced, but the effect of reducing the node change probability may appear. If the minimum number of selected nodes is set to 90, etc., the probability that the Byzantines will win increases and the probability of changing nodes also increases. The minimum number of selected nodes can be determined by the Byzantine failure probability that the system will tolerate.

이 때, 단계(S130)는 많은 노드에서 특정 확률로 노드를 선택할 때 최소 선택 노드 수 N이상의 경우에만 노드 변경하는 방법을 통해 비잔틴 노드의 승리 확률을 제어할 수 있다.At this time, in step S130, when selecting a node with a specific probability from many nodes, the win probability of the Byzantine node can be controlled through a method of changing the node only when the minimum number of selected nodes is N or more.

도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.3 is a diagram illustrating a computer system according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체선택 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 3에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 3 , the apparatus for selecting a subject for agreement in a Byzantine environment according to an embodiment of the present invention may be implemented in a computer system 1100 such as a computer-readable recording medium. As shown in FIG. 3 , the computer system 1100 includes one or more processors 1110 , a memory 1130 , a user interface input device 1140 , and a user interface output device 1150 that communicate with each other via a bus 1120 . and storage 1160 . In addition, the computer system 1100 may further include a network interface 1170 coupled to the network 1180 . The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160 . The memory 1130 and the storage 1160 may be various types of volatile or non-volatile storage media. For example, the memory may include a ROM 1131 or a RAM 1132 .

이 때, 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 방법에 관한 하나 이상의 프로그램은 상기 메모리(1130)에 저장되고, 상기 하나 이상의 프로세서(1110)에 의해 실행되고, 상기 하나 이상의 프로세서(1110)는 상기 하나 이상의 프로그램을 실행하여, 블록체인 시스템의 비잔틴 환경에서 분산 합의 주체를 선택하고, 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인지 판단하고, 상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인 경우에만 상기 분산 합의 주체를 변경한다.At this time, one or more programs related to the method for selecting a consensus subject in a Byzantine environment according to an embodiment of the present invention are stored in the memory 1130, executed by the one or more processors 1110, and the one or more processors 1110 executes the one or more programs, selects a distributed consensus subject in the Byzantine environment of the block chain system, determines whether the number of nodes of the selected distributed consensus subject is greater than or equal to a preset minimum number of selected nodes, and The distributed consensus subject is changed only when the number of nodes is equal to or greater than the predetermined minimum number of selected nodes.

이 때, 상기 하나 이상의 프로세서(1110)는 먼저 분산 합의 주체를 선택할 수 있다.In this case, the one or more processors 1110 may first select a distributed consensus subject.

이 때, 상기 하나 이상의 프로세서(1110)는 블록체인 시스템의 비잔틴 환경에서 분산 합의 주체를 랜덤하게 선택할 수 있다.At this time, the one or more processors 1110 may randomly select the subject of the distributed consensus in the Byzantine environment of the block chain system.

이 때, 상기 하나 이상의 프로세서(1110)는 분산합의 주체의 노드 수를 판단할 수 있다.In this case, the one or more processors 1110 may determine the number of nodes of the subject of the distribution agreement.

이 때, 상기 하나 이상의 프로세서(1110)는 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인지 판단할 수 있다.In this case, the one or more processors 1110 may determine whether the number of nodes of the selected distributed agreement subject is equal to or greater than a preset minimum number of selected nodes.

이 때, 상기 하나 이상의 프로세서(1110)는 랜덤하게 선택된 노드가 N이상인 경우에만 노드 변경을 허용할 수 있다.In this case, the one or more processors 1110 may allow node change only when the number of randomly selected nodes is N or more.

예를 들어, 상기 하나 이상의 프로세서(1110)는 최소 선택 노드 수 N을 선택 노드 평균인 100으로 가정할 수 있고, 본 발명의 효과를 두가지로 설명할 수 있다. 첫번째 효과는 N이 100인 경우 선택된 노드가 100 이상되어야 노드가 변경되므로 비잔틴 노드가 33개 이하로 선택되면 정상 노드가 67개 이상인 모든 경우에 비잔틴이 이길 경우의 수는 0이 될 수 있다. For example, the one or more processors 1110 may assume that the minimum number of selected nodes N is an average of 100 selected nodes, and the effect of the present invention can be explained in two ways. The first effect is that when N is 100, the number of cases in which the Byzantine wins can be 0 in all cases where the number of normal nodes is 67 or more when the number of Byzantine nodes is 33 or less, because the node is changed only when the selected node is 100 or more when N is 100.

두번째 효과는 비잔틴 노드 수 x = 34로 선택되는 경우 이전에 정상노드가 2*x = 68이하로 선택되는 모든 경우의 누적 확률을 곱해야 했던 것이, 비잔틴 노드와 정상 노드의 합이 N 이상인 경우만 고려해야 하므로 적분 구간의 시작점이 N-x에서 부터 시작되므로 아래 수학식 2와 같은 비잔틴이 승리 확률 분포가 되므로 비잔틴이 승리할 확률이 작아지는 효과가 발생할 수 있다. The second effect is that when the number of Byzantine nodes is selected as x = 34, it is necessary to multiply the cumulative probability of all cases in which the normal node is previously selected to be 2*x = 68 or less, only when the sum of the Byzantine node and the normal node is N or more. Therefore, since the starting point of the integration section starts from N-x, the Byzantine win probability distribution as in Equation 2 below may have an effect of reducing the Byzantine win probability.

이 때, 상기 하나 이상의 프로세서(1110)는 분산 합의 주체를 변경할 수 있다.In this case, the one or more processors 1110 may change the subject of the distributed agreement.

이 때, 상기 하나 이상의 프로세서(1110)는 상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인 경우에만 상기 분산 합의 주체를 변경할 수 있다.In this case, the one or more processors 1110 may change the subject of the distributed agreement only when the number of nodes of the selected distributed agreement subject is equal to or greater than a preset minimum number of selected nodes.

이 때, 상기 하나 이상의 프로세서(1110)는 랜덤하게 선택된 노드가 최소 선택 노드 수 N이상인 경우에만 노드 변경을 허용하기 위하여 수학식 2와 같이 정상 노드의 누적 분포 함수와 최소 선택 노드 수 N과 비잔틴 노드 수 x를 고려한 누적 분포 함수를 이용하여 비잔틴 승리 확률 분포를 계산할 수 있다.At this time, in order to allow node change only when the randomly selected node is equal to or greater than the minimum number of nodes N, the one or more processors 1110 perform the cumulative distribution function of normal nodes, the minimum number of selected nodes, and the Byzantine node as shown in Equation (2). The Byzantine victory probability distribution can be calculated using the cumulative distribution function considering the number x.

이 때, 상기 하나 이상의 프로세서(1110)는 수학식 2에서 비잔틴과 정상 노드들은 서로 독립의 사건이라 할때 fbzt(x) 는 비잔틴 노드의 확률밀도 함수(probability distribution function, pdf)를 의미하며, Fnom(2*x)는 정상 노드의 누적 분포 함수(cumulative distribution function, cdf)를 의미 한다.At this time, when the one or more processors 1110 say that Byzantine and normal nodes are independent events in Equation 2, fbzt(x) means a probability distribution function (pdf) of the Byzantine node, Fnom (2*x) means the cumulative distribution function (cdf) of the normal node.

이 때, 상기 하나 이상의 프로세서(1110)는 최소 선택 노드 수를 100으로 하는 경우, 선택되는 노드 평균이므로 50%의 확률로 100개 이상의 노드가 선택되므로 투표 노드 변경 확률은 50%가 될 수 있다. At this time, when the minimum number of nodes selected by the one or more processors 1110 is 100, since 100 or more nodes are selected with a probability of 50% because the average of the selected nodes is 50%, the voting node change probability may be 50%.

이 때, 상기 하나 이상의 프로세서(1110)는 최소 선택 노드 수를 110 등의 값으로 정하는 경우 비잔틴이 이길 확률값을 줄일 수 있지만 노드 변경 확률을 감소하는 영향이 나타날 수 있다. 최소 선택 노드 수를 90 등으로 정하는 경우 비잔틴이 승리할 확률이 증가하고 노드 변경 확률도 증가하는 효과가 발생한다. 최소 선택 노드 수는 시스템이 감내할 비잔틴 장애 확률에 의해 결정 할 수 있다.In this case, when the one or more processors 1110 set the minimum number of selected nodes to a value such as 110, the probability value of the Byzantine victory may be reduced, but an effect of reducing the node change probability may be observed. If the minimum number of selected nodes is set to 90, etc., the probability that the Byzantines will win increases and the probability of changing nodes also increases. The minimum number of selected nodes can be determined by the Byzantine failure probability that the system will tolerate.

이 때, 상기 하나 이상의 프로세서(1110)는 많은 노드에서 특정 확률로 노드를 선택할 때 최소 선택 노드 수 N이상의 경우에만 노드 변경하는 방법을 통해 비잔틴 노드의 승리 확률을 제어할 수 있다.In this case, the one or more processors 1110 may control the victory probability of the Byzantine node through a method of changing the node only when the minimum number of selected nodes is N or more when selecting a node with a specific probability from many nodes.

이상에서와 같이 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, in the apparatus and method for selecting a subject of agreement in a Byzantine environment according to an embodiment of the present invention, the configuration and method of the described embodiments are not limitedly applicable as described above, but the embodiments are subject to various modifications. All or part of each of the embodiments may be selectively combined and configured so that this can be achieved.

Claims (10)

비잔틴 환경에서의 합의 주체 선택 장치의 비잔틴 환경에서의 합의 주체 선택 방법에 있어서,
블록체인 시스템의 비잔틴 환경에서 분산 합의 주체를 선택하는 단계;
선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수에 상응하는 조건을 만족하는지 여부를 판단하는 단계; 및
상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수에 상응하는 조건을 만족하는 경우에만 상기 선택된 분산 합의 주체로의 변경을 허용하는 단계;
를 포함하고,
상기 기설정된 최소 선택 노드 수는 상기 블록체인 시스템이 감내할 비잔틴 장애 확률에 의해 결정되고,
상기 분산 합의 주체 선택에 의한 비잔틴 노드의 승리 확률은
정상 노드들의 누적 분포 함수에 있어서, 합의 불가능한 정상 노드의 최대 개수에 상응하는 제1 함수값과 상기 최소 선택 노드 수와 비잔틴 노드 수의 차이에 상응하는 제2 함수값의 차이값에 기반하여 계산되는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
In the method for selecting a consensus subject in the Byzantine environment of the consensus subject selection device in the Byzantine environment,
selecting a distributed consensus entity in the Byzantine environment of the blockchain system;
determining whether the number of nodes of the selected distributed consensus subject satisfies a condition corresponding to a preset minimum number of selected nodes; and
allowing a change to the selected distributed agreement subject only when the number of nodes of the selected distributed agreement subject satisfies a condition corresponding to a preset minimum number of selected nodes;
including,
The predetermined minimum number of selected nodes is determined by the Byzantine failure probability that the blockchain system will tolerate,
The winning probability of the Byzantine node by selecting the subject of the distributed consensus is
In the cumulative distribution function of normal nodes, it is calculated based on the difference between the first function value corresponding to the maximum number of non-consensible normal nodes and the second function value corresponding to the difference between the minimum number of selected nodes and the number of Byzantine nodes. A method for selecting a consensus subject in a Byzantine environment, characterized in that.
청구항 1에 있어서,
상기 블록체인 시스템의 비잔틴 환경은
블록체인 시스템에서 정상 노드들과 비잔틴 노드들을 포함하여 비잔틴 장애를 허용하는 환경인 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
The method according to claim 1,
The Byzantine environment of the blockchain system is
A consensus subject selection method in a Byzantine environment, characterized in that it is an environment that allows Byzantine failure, including normal nodes and Byzantine nodes in the blockchain system.
삭제delete 삭제delete 청구항 1에 있어서,
상기 분산 합의 주체를 변경하는 단계는
상기 기설정된 최소 선택 노드 수를 변경하여 상기 비잔틴 노드의 승리 확률과 상기 분산 합의 주체를 변경할 확률을 제어하는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
The method according to claim 1,
The step of changing the distributed consensus subject is
The method of selecting a consensus subject in a Byzantine environment, characterized in that by changing the preset minimum number of selected nodes, the probability of winning the Byzantine node and the probability of changing the subject of the distributed consensus are controlled.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
블록체인 시스템의 비잔틴 환경에서 분산 합의 주체를 선택하고,
선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수에 상응하는 조건을 만족하는지 여부를 판단하고,
상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수에 상응하는 조건을 만족하는 경우에만 상기 선택된 분산 합의 주체로의 변경을 허용하고,
상기 기설정된 최소 선택 노드 수는 상기 블록체인 시스템이 감내할 비잔틴 장애 확률에 의해 결정되고,
상기 분산 합의 주체 선택에 의한 비잔틴 노드의 승리 확률은
정상 노드들의 누적 분포 함수에 있어서, 합의 불가능한 정상 노드의 최대 개수에 상응하는 제1 함수값과 상기 최소 선택 노드 수와 비잔틴 노드 수의 차이에 상응하는 제2 함수값의 차이값에 기반하여 계산되는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 장치.
one or more processors; and
an execution memory for storing at least one or more programs executed by the one or more processors;
including,
the at least one program
Choosing a distributed consensus entity in the Byzantine environment of the blockchain system,
It is determined whether the number of nodes of the selected distributed consensus subject satisfies a condition corresponding to the preset minimum number of selected nodes,
Allows change to the selected distributed consensus subject only when the number of nodes of the selected distributed consensus subject satisfies a condition corresponding to a preset minimum number of selected nodes;
The predetermined minimum number of selected nodes is determined by the Byzantine failure probability that the blockchain system will tolerate,
The winning probability of the Byzantine node by the selection of the distributed consensus subject is
In the cumulative distribution function of normal nodes, it is calculated based on the difference between the first function value corresponding to the maximum number of non-consensible normal nodes and the second function value corresponding to the difference between the minimum number of selected nodes and the number of Byzantine nodes. Consensus subject selection device in the Byzantine environment, characterized in that.
청구항 6에 있어서,
상기 블록체인 시스템의 비잔틴 환경은
블록체인 시스템에서 정상 노드들과 비잔틴 노드들을 포함하여 비잔틴 장애를 허용하는 환경인 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 장치.
7. The method of claim 6,
The Byzantine environment of the blockchain system is
A consensus subject selection device in a Byzantine environment, characterized in that it is an environment that allows Byzantine failure, including normal nodes and Byzantine nodes in the blockchain system.
삭제delete 삭제delete 청구항 6에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 기설정된 최소 선택 노드 수를 변경하여 상기 비잔틴 노드의 승리 확률과 상기 분산 합의 주체를 변경할 확률을 제어하는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 장치.
7. The method of claim 6,
the at least one program
The apparatus for selecting a consensus subject in a Byzantine environment, characterized in that by changing the preset minimum number of selected nodes, the probability of winning the Byzantine node and the probability of changing the subject of the distributed consensus are controlled.
KR1020190039750A 2019-04-04 2019-04-04 Apparatus and method for selecting consensus node in byzantine environment KR102461653B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190039750A KR102461653B1 (en) 2019-04-04 2019-04-04 Apparatus and method for selecting consensus node in byzantine environment
KR1020220139826A KR102657387B1 (en) 2022-10-27 Apparatus and method for selecting consensus node in byzantine environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190039750A KR102461653B1 (en) 2019-04-04 2019-04-04 Apparatus and method for selecting consensus node in byzantine environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220139826A Division KR102657387B1 (en) 2022-10-27 Apparatus and method for selecting consensus node in byzantine environment

Publications (2)

Publication Number Publication Date
KR20200117530A KR20200117530A (en) 2020-10-14
KR102461653B1 true KR102461653B1 (en) 2022-11-02

Family

ID=72846813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190039750A KR102461653B1 (en) 2019-04-04 2019-04-04 Apparatus and method for selecting consensus node in byzantine environment

Country Status (1)

Country Link
KR (1) KR102461653B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180063238A1 (en) * 2016-08-25 2018-03-01 Jiangang Zhang Massively Scalable, Low Latency, High Concurrency and High Throughput Decentralized Consensus Algorithm
US20190068380A1 (en) * 2017-08-24 2019-02-28 Alibaba Group Holding Limited Blockchain consensus node selection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180063238A1 (en) * 2016-08-25 2018-03-01 Jiangang Zhang Massively Scalable, Low Latency, High Concurrency and High Throughput Decentralized Consensus Algorithm
US20190068380A1 (en) * 2017-08-24 2019-02-28 Alibaba Group Holding Limited Blockchain consensus node selection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"PBFT 공부해보자", 네이버블로그, https://blog.naver.com/tyami/221268715771(2018.05.05.)*

Also Published As

Publication number Publication date
KR20220148151A (en) 2022-11-04
KR20200117530A (en) 2020-10-14

Similar Documents

Publication Publication Date Title
US11509679B2 (en) Trust topology selection for distributed transaction processing in computing environments
CN110177084B (en) Distributed storage system meta-service structure for defending network attack, construction method and system architecture
US10158527B2 (en) Changing an existing blockchain trust configuration
US9300728B1 (en) Controlling resource deployment thresholds in a distributed computer system
JP6727633B2 (en) Service execution method and device
CN111930845A (en) Block chain consensus method, system, terminal and storage medium
CN112468596B (en) Cluster arbitration method and device, electronic equipment and readable storage medium
RU2420893C2 (en) Systems and methods for distributing key updates with maximum key change intensity
CN111104282B (en) Node processing method and device based on block chain
JP2009009372A (en) Information terminal, client/server system, and program
CN107305548B (en) Task allocation method and device for controlling web crawler
KR102461653B1 (en) Apparatus and method for selecting consensus node in byzantine environment
CN112764913A (en) Service fusing method and device, storage medium and electronic equipment
KR102657387B1 (en) Apparatus and method for selecting consensus node in byzantine environment
US11625260B2 (en) Method for enhancing throughput in blockchain network
CN110336680B (en) Network broadcast control method, system, electronic equipment and storage medium
US20220012233A1 (en) Creation of a Blockchain with Blocks Comprising an Adjustable Number of Transaction Blocks and Multiple Intermediate Blocks
US9521134B2 (en) Control apparatus in software defined network and method for operating the same
CN106817244A (en) Method and apparatus for generating mesh dependence
CN109784481B (en) Neural network-based adjustment method, device and equipment
JP2007164240A (en) File management system and automatic management method for storage and automatic management program
CN114553765B (en) OSPF neighbor oscillation processing method, device and medium
CN114756380A (en) Cloud server deployment method and device, electronic equipment and storage medium
CN111526045B (en) Fault processing method and system for block chain
CN112685769A (en) Data processing method and device of block chain and electronic equipment

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)