KR102657387B1 - 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
KR102657387B1
KR102657387B1 KR1020220139826A KR20220139826A KR102657387B1 KR 102657387 B1 KR102657387 B1 KR 102657387B1 KR 1020220139826 A KR1020220139826 A KR 1020220139826A KR 20220139826 A KR20220139826 A KR 20220139826A KR 102657387 B1 KR102657387 B1 KR 102657387B1
Authority
KR
South Korea
Prior art keywords
nodes
byzantine
consensus
subject
probability
Prior art date
Application number
KR1020220139826A
Other languages
Korean (ko)
Other versions
KR20220148151A (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 KR1020220139826A priority Critical patent/KR102657387B1/en
Publication of KR20220148151A publication Critical patent/KR20220148151A/en
Application granted granted Critical
Publication of KR102657387B1 publication Critical patent/KR102657387B1/en

Links

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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • 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

Abstract

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

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

분산 합의 주체 선택은 고정 합의 주체에 의한 방식과 비고정 합의 주체에 의한 방식으로 구분 할 수 있다.Selection of distributed consensus entities can be divided into methods by fixed consensus entities and methods by non-fixed consensus entities.

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

비고정 합의 주체에 의한 분산 합의 방식은 매번 합의 주체를 바꾸는 방식과 합의 주체 선택은 랜덤 하지만 매번 주체를 다시 선정하지 않는 반고정 방식으로 나누어 볼 수 있다. The distributed consensus method using non-fixed consensus entities can be divided into a method that changes the consensus entity each time and a semi-fixed method in which the selection of the consensus entity is random but the entity is not reselected each time.

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

비고정 방식(ex. Zilliqa)의 경우 노드를 랜덤하게 선택하는 과정에서 정상노드와 비잔틴 노드가 분산이 0 보다 큰 분포를 가지고 선택되므로 600개의 합의 노드를 선택하는 경우 25% 이하의 비잔틴 장애를 확률적인 범위내에서 감내한다고 알려져 있다. In the case of a 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 when 600 consensus nodes are selected, the probability of Byzantine failure is less than 25%. It is known to endure within a reasonable range.

*합의 노드 수를 600 이하로 줄이는 경우 비잔틴 장애 허용은 25% 보다 작아진다. 매번 합의 주체를 바꾸는 비고정 방식의 선행 기술에서 제안한 합의 주체 선택 방법은 비잔틴 노드가 없는 private 환경에서는 선택된 노드 수가 합의를 위한 최소 노드만 선택되면 합의가 중단되지 않는다. 비잔틴을 허용하는 public 환경에서는 합의 주체 노드 수가 작아지는 경우 확률 적분 구간이 크져 비잔틴 장애 확률이 커진다. 따라서 비고정 합의 주체 환경에서 비잔틴 장애 확률을 줄일 수 있는 분산 합의 주체 선정 방법이 필요하다.*If the number of consensus nodes is reduced below 600, 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 stop the agreement in a private environment without Byzantine nodes as long as the minimum number of selected nodes for consensus is selected. In a public environment that allows Byzantine, when the number of consensus subject nodes becomes small, the probability integral section becomes large, increasing the probability of Byzantine failure. Therefore, a distributed consensus entity selection method that can reduce the probability of Byzantine failure in a non-fixed consensus entity environment is needed.

한편, 한국등록특허 제 10-1949712 호“계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법”는 계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법에 관하여 개시하고 있다.Meanwhile, Korea Registered Patent No. 10-1949712, “Blockchain creation method with node proof-type consensus process and reward distribution process by stratified and probabilistic representative election,” is a node-proof method consensus method by layered and probabilistic representative election. It discloses a method of creating a blockchain that has a process and a reward distribution process.

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

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

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

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

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

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

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

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

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

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

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

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

*고정된 합의 주체 간 합의에 의해 동일 거버넌스에 맞는 체인구성으로 편이성은 보장하나 완전 탈중앙화 방식이라 하기 어렵고, 특정 합의 주체가 고정되어 있어 보안성이 낮은 방식이다. *Convenience is guaranteed by forming a chain that matches the same governance through agreement between fixed consensus entities, but it is difficult to say that it is a completely decentralized method, and the method has low security because the specific consensus entity is fixed.

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

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

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

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

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

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

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

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

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

본 발명의 일실시예에 따른 비잔틴 노드의 승리 조건을 정의하면, 비잔틴과 정상노드가 동시에 선택되는 상황에서 비잔틴 노드가 x개 선택될때 정상노드가 2*x 이하로 선택되면 합의를 할 수 없는 결과가 발생하며 이러한 상황을 비잔틴이 승리하였다고 정의할 수 있다. 따라서, 비잔틴 노드가 x개 선택될 때, 비잔틴 노드가 승리할 확률 분포는 아래 수학식 1과 같이 나타낼 수 있다.Defining the winning conditions of Byzantine nodes according to an embodiment of the present invention, in a situation where Byzantine and normal nodes are selected at the same time, when x number of Byzantine nodes are selected, if less than 2*x normal nodes are selected, an agreement cannot be reached. occurs, and this situation can be defined as Byzantine victory. Therefore, when x number of Byzantine nodes are selected, the probability distribution that the Byzantine node wins 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 Byzantine and normal nodes are independent events, fbzt(x) means the probability distribution function (pdf) of Byzantine nodes, and Fnom(2*x) is the cumulative distribution of normal nodes. It refers to a cumulative distribution function (cdf).

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

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

이 때, 본 발명의 일실시예에 따른 비잔틴 환경에서의 합의 주체 선택 장치 및 방법은 랜덤하게 선택된 노드가 N이상인 경우에만 노드 변경을 허용할 수 있다.At this time, the apparatus and method for selecting a consensus subject in a Byzantine environment according to an embodiment of the present invention can 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, the minimum number of selected nodes N can be assumed to be 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 selected node must be 100 or more to change the node, so if 33 or less Byzantine nodes are selected, the number of cases where Byzantine wins in all cases where there are 67 or more normal nodes can be 0.

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

[수학식 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 Byzantine and normal nodes are independent events, fbzt(x) means the probability distribution function (pdf) of Byzantine nodes, and Fnom(2*x) is the cumulative distribution of normal nodes. It refers to a cumulative distribution function (cdf).

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

최소 선택 노드 수를 110 등의 값으로 정하는 경우 비잔틴이 이길 확률값을 줄일 수 있지만 노드 변경 확률을 감소하는 영향이 나타날 수 있다. 최소 선택 노드 수를 90 등으로 정하는 경우 비잔틴이 승리할 확률이 증가하고 노드 변경 확률도 증가하는 효과가 발생한다. 최소 선택 노드 수는 시스템이 감내할 비잔틴 장애 확률에 의해 결정 할 수 있다.If the minimum number of selected nodes is set to a value such as 110, the probability that Byzantine will win can be reduced, but this may have the effect of reducing the probability of node change. If the minimum number of selected nodes is set to 90, the probability of Byzantine victory increases and the probability of node change 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 certain probability from many nodes, the probability of winning of the Byzantine node can be controlled by changing the node only when the minimum number of selected nodes is N or more.

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

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

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

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

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

이 때, 단계(S120)는 랜덤하게 선택된 노드가 N이상인 경우에만 노드 변경을 허용할 수 있다.At this time, 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, the minimum number of selected nodes N can be assumed to be 100, which is the average of the 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 selected node must be 100 or more to change the node, so if 33 or less Byzantine nodes are selected, the number of cases where Byzantine wins in all cases where there are 67 or more normal nodes can be 0.

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

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

즉, 단계(S130)는 상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인 경우에만 상기 분산 합의 주체를 변경할 수 있다.That is, in step S130, the distributed consensus subject can be changed only when the number of nodes of the selected distributed consensus subject is greater than or equal to 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, the minimum number of selected nodes N, and the number of Byzantine nodes The Byzantine victory probability distribution can be calculated using the considered cumulative distribution function.

이 때, 단계(S130)는 수학식 2에서 비잔틴과 정상 노드들은 서로 독립의 사건이라 할때 fbzt(x) 는 비잔틴 노드의 확률밀도 함수(probability distribution function, pdf)를 의미하며, Fnom(2*x)는 정상 노드의 누적 분포 함수(cumulative distribution function, cdf)를 의미 한다.At this time, in step S130, when 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 set to 100, since it is the average of the selected nodes, more than 100 nodes are selected with a probability of 50%, so the probability of changing the voting node can be 50%.

이 때, 단계(S130)는 최소 선택 노드 수를 110 등의 값으로 정하는 경우 비잔틴이 이길 확률값을 줄일 수 있지만 노드 변경 확률을 감소하는 영향이 나타날 수 있다. 최소 선택 노드 수를 90 등으로 정하는 경우 비잔틴이 승리할 확률이 증가하고 노드 변경 확률도 증가하는 효과가 발생한다. 최소 선택 노드 수는 시스템이 감내할 비잔틴 장애 확률에 의해 결정 할 수 있다.At this time, in step S130, if the minimum number of selected nodes is set to a value such as 110, the probability that Byzantine will win can be reduced, but this may have the effect of reducing the node change probability. If the minimum number of selected nodes is set to 90, the probability of Byzantine victory increases and the probability of node change 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 probability of winning of the Byzantine node can be controlled by changing the node only when the minimum number of selected nodes is N or more.

도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.Figure 3 is a diagram showing 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 Figure 3, the consensus subject selection device 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 through a bus 1120. and storage 1160. Additionally, the computer system 1100 may further include a network interface 1170 connected 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 storage 1160. Memory 1130 and storage 1160 may be various types of volatile or non-volatile storage media. For example, memory may include ROM 1131 or RAM 1132.

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

이 때, 상기 하나 이상의 프로세서(1110)는 먼저 분산 합의 주체를 선택할 수 있다.At this time, 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 distributed consensus subject in the Byzantine environment of the blockchain system.

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

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

이 때, 상기 하나 이상의 프로세서(1110)는 랜덤하게 선택된 노드가 N이상인 경우에만 노드 변경을 허용할 수 있다.At this time, 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 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 selected node must be 100 or more to change the node, so if 33 or less Byzantine nodes are selected, the number of cases where Byzantine wins in all cases where there are 67 or more normal nodes can be 0.

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

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

이 때, 상기 하나 이상의 프로세서(1110)는 상기 선택된 분산 합의 주체의 노드 수가 기설정된 최소 선택 노드 수 이상인 경우에만 상기 분산 합의 주체를 변경할 수 있다.At this time, the one or more processors 1110 can change the distributed consensus subject only when the number of nodes of the selected distributed consensus subject is greater than or equal to the 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 more than the minimum number of selected nodes N, the one or more processors 1110 calculate the cumulative distribution function of the normal node, the minimum number of selected nodes N, 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, the one or more processors 1110 use Equation 2, when Byzantine and normal nodes are independent events, 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.

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

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

이 때, 상기 하나 이상의 프로세서(1110)는 많은 노드에서 특정 확률로 노드를 선택할 때 최소 선택 노드 수 N이상의 경우에만 노드 변경하는 방법을 통해 비잔틴 노드의 승리 확률을 제어할 수 있다.At this time, the one or more processors 1110 can control the winning probability of the Byzantine node by 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, the apparatus and method for selecting a consensus subject in a Byzantine environment according to an embodiment of the present invention are not limited to the configuration and method of the embodiments described above, but the embodiments can be modified in various ways. To achieve this, all or part of each embodiment may be selectively combined.

1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크
1100: computer system 1110: processor
1120: Bus 1130: Memory
1131: Romans 1132: Ram
1140: User interface input device
1150: User interface output device
1160: Storage 1170: Network Interface
1180: network

Claims (9)

합의 주체 선택 장치에서 수행되는 복수의 노드를 포함하는 비잔틴 환경에서의 합의 주체 선택 방법에 있어서,
블록체인 시스템이 허용할 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수를 획득하는 단계;
상기 블록체인 시스템 내 노드 수에 기반한 노드 변경 허용 확률을 획득하는 단계;
상기 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수에 기반하여 최소 선택 노드 수를 설정하는 단계; 및
임의로 선택된 합의 주체 노드 수가 상기 최소 선택 노드 수 이상인 경우에만 합의 주체 노드의 변경을 허용하는 단계
를 포함하고,
상기 최소 선택 노드 수를 설정하는 단계는
비잔틴 노드의 승리 확률과 상기 노드 변경 허용 확률에 기반하여 상기 최소 선택 노드 수를 설정하는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
In the method of selecting a consensus subject in a Byzantine environment including a plurality of nodes performed in a consensus subject selection device,
Obtaining a Byzantine failure probability that the blockchain system will tolerate and the number of nodes in the blockchain system;
Obtaining a node change acceptance probability based on the number of nodes in the blockchain system;
Setting a minimum number of selected nodes based on the Byzantine failure probability and the number of nodes in the blockchain system; and
A step of allowing a change in the consensus subject node only when the number of randomly selected consensus subject nodes is greater than the minimum number of selected nodes.
Including,
The step of setting the minimum number of selected nodes is
A method of selecting a consensus subject in a Byzantine environment, characterized in that setting the minimum number of selected nodes based on the probability of victory of the Byzantine node and the probability of allowing the node change.
합의 주체 선택 장치에서 수행되는 복수의 노드를 포함하는 비잔틴 환경에서의 합의 주체 선택 방법에 있어서,
블록체인 시스템이 허용할 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수를 획득하는 단계;
상기 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수에 기반하여 최소 선택 노드 수를 설정하는 단계; 및
임의로 선택된 합의 주체 노드 수가 상기 최소 선택 노드 수 이상인 경우에만 합의 주체 노드의 변경을 허용하는 단계
를 포함하고,
상기 비잔틴 장애 확률은
비잔틴 노드의 확률 밀도 함수 및 정상 노드의 누적 분포 함수를 이용하여 산출되는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
In the method of selecting a consensus subject in a Byzantine environment including a plurality of nodes performed in a consensus subject selection device,
Obtaining a Byzantine failure probability that the blockchain system will tolerate and the number of nodes in the blockchain system;
Setting a minimum number of selected nodes based on the Byzantine failure probability and the number of nodes in the blockchain system; and
A step of allowing a change in the consensus subject node only when the number of randomly selected consensus subject nodes is greater than the minimum number of selected nodes.
Including,
The Byzantine failure probability is
A consensus subject selection method in a Byzantine environment, characterized in that it is calculated using the probability density function of Byzantine nodes and the cumulative distribution function of normal nodes.
청구항 2에 있어서,
상기 비잔틴 장애 확률은
상기 정상 노드의 누적 분포 함수에 있어서, 합의 불가능한 정상 노드의 최대 개수에 상응하는 제1 함수값과 상기 최소 선택 노드 수와 비잔틴 노드 수의 차이에 상응하는 제2 함수값의 차이에 기반하여 산출되는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
In claim 2,
The Byzantine failure probability is
In the cumulative distribution function of the normal nodes, calculated based on the difference between a first function value corresponding to the maximum number of normal nodes that cannot be agreed upon and a second function value corresponding to the difference between the minimum number of selected nodes and the number of Byzantine nodes. A method of selecting a consensus entity in a Byzantine environment, characterized by:
삭제delete 청구항 1에 있어서,
상기 방법은
상기 최소 선택 노드 수에 기반하여 상기 비잔틴 노드의 승리 확률과 상기 노드 변경 허용 확률을 제어하는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
In claim 1,
The above method is
A method of selecting a consensus subject in a Byzantine environment, characterized in that controlling the probability of victory of the Byzantine node and the probability of allowing the node change based on the minimum number of selected nodes.
청구항 1에 있어서,
상기 최소 선택 노드 수는 상기 비잔틴 장애 확률이 낮을수록 증가하는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
In claim 1,
A method for selecting a consensus subject in a Byzantine environment, wherein the minimum number of selected nodes increases as the probability of Byzantine failure decreases.
청구항 1에 있어서,
상기 최소 선택 노드 수는 상기 노드 변경 허용 확률이 클수록 작아지는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 방법.
In claim 1,
A method of selecting a consensus subject in a Byzantine environment, wherein the minimum number of selected nodes decreases as the probability of allowing node change increases.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
블록체인 시스템이 허용할 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수를 획득하고,
상기 블록체인 시스템 내 노드 수에 기반한 노드 변경 허용 확률을 획득하고,
상기 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수에 기반하여 최소 선택 노드 수를 설정하고,
임의로 선택된 합의 주체 노드 수가 상기 최소 선택 노드 수 이상인 경우에만 합의 주체 노드의 변경을 허용하고,
비잔틴 노드의 승리 확률과 상기 노드 변경 허용 확률에 기반하여 상기 최소 선택 노드 수를 설정하는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 장치.
One or more processors; and
an execution memory storing at least one program executed by the one or more processors;
Including,
At least one program above is
Obtain the Byzantine failure probability that the blockchain system will tolerate and the number of nodes in the blockchain system,
Obtain the probability of node change acceptance based on the number of nodes in the blockchain system,
Set the minimum number of selected nodes based on the Byzantine failure probability and the number of nodes in the blockchain system,
A change in the consensus subject node is allowed only if the number of randomly selected consensus subject nodes is greater than the minimum number of selected nodes,
A consensus subject selection device in a Byzantine environment, characterized in that the minimum number of selected nodes is set based on the probability of victory of the Byzantine node and the probability of allowing the node change.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
블록체인 시스템이 허용할 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수를 획득하고,
상기 비잔틴 장애 확률 및 상기 블록체인 시스템 내 노드 수에 기반하여 최소 선택 노드 수를 설정하고,
임의로 선택된 합의 주체 노드 수가 상기 최소 선택 노드 수 이상인 경우에만 합의 주체 노드의 변경을 허용하고,
상기 비잔틴 장애 확률은
비잔틴 노드의 확률 밀도 함수 및 정상 노드의 누적 분포 함수를 이용하여 산출되는 것을 특징으로 하는 비잔틴 환경에서의 합의 주체 선택 장치.


One or more processors; and
an execution memory storing at least one program executed by the one or more processors;
Including,
At least one program above is
Obtain the Byzantine failure probability that the blockchain system will tolerate and the number of nodes in the blockchain system,
Set the minimum number of selected nodes based on the Byzantine failure probability and the number of nodes in the blockchain system,
A change in the consensus subject node is allowed only if the number of randomly selected consensus subject nodes is greater than the minimum number of selected nodes,
The Byzantine failure probability is
A consensus subject selection device in a Byzantine environment, characterized in that it is calculated using the probability density function of Byzantine nodes and the cumulative distribution function of normal nodes.


KR1020220139826A 2019-04-04 2022-10-27 Apparatus and method for selecting consensus node in byzantine environment KR102657387B1 (en)

Priority Applications (1)

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

Applications Claiming Priority (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) 2019-04-04 2022-10-27 Apparatus and method for selecting consensus node in byzantine environment

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20220148151A KR20220148151A (en) 2022-11-04
KR102657387B1 true KR102657387B1 (en) 2024-04-16

Family

ID=72846813

Family Applications (2)

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
KR1020220139826A KR102657387B1 (en) 2019-04-04 2022-10-27 Apparatus and method for selecting consensus node in byzantine environment

Family Applications Before (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 (2) 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 (2)

* Cited by examiner, † Cited by third party
Title
"PBFT 공부해보자", 네이버블로그, https://blog.naver.com/tyami/221268715771(2018.05.05.)
X. Hao, L. Yu, L. Zhiqiang, L. Zhen and G. Dawu, "Dynamic Practical Byzantine Fault Tolerance," 2018 IEEE Conference on Communications and Network Security(2018.06.01.)*

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110177084B (en) Distributed storage system meta-service structure for defending network attack, construction method and system architecture
TWI684943B (en) Processing method, device and server for selecting consensus node
US11095432B2 (en) System for processing data based on blockchain and operating method thereof
CN110474774A (en) Block creation method and block chain node in system based on block chain
JP2013541090A5 (en)
EP2930610A2 (en) Random number generator and method for generating random numbers
CN104219232B (en) Method for controlling file security of block distributed file system
KR102657387B1 (en) Apparatus and method for selecting consensus node in byzantine environment
Tessone et al. How big is too big? Critical shocks for systemic failure cascades
CN112328694A (en) Method and device for adjusting node trust degree in block chain, electronic equipment and storage medium
CN112764913A (en) Service fusing method and device, storage medium and electronic equipment
Yang et al. Selectivity-based spreading dynamics on complex networks
US9762430B2 (en) Method and apparatus for clearing configuration command in communication equipment
US20210200570A1 (en) Method for enhancing throughput in blockchain network
Turalska et al. Greedy control of cascading failures in interdependent networks
CN110336680B (en) Network broadcast control method, system, electronic equipment and storage medium
KR102584292B1 (en) Creation of a blockchain with blocks containing an adjustable number of transaction blocks and multiple intermediate blocks
US8650396B2 (en) Permission-based dynamically tunable operating system kernel
CN106817244A (en) Method and apparatus for generating mesh dependence
WO2020164921A1 (en) Method and apparatus for processing data stored in a storage device
CN108270810B (en) Media data access method and device
KR102253506B1 (en) Apparatus and method for managing distributed ledger based on block chain
KR20210066348A (en) A terminal device and a method for consturcting secure block chain based on neural block clusters
CN110737524A (en) task rule management method, device, equipment and medium
EP2728507B1 (en) Method and system for enabling and disabling execution of computer instructions

Legal Events

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