WO2020138606A1 - 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법 - Google Patents

블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법 Download PDF

Info

Publication number
WO2020138606A1
WO2020138606A1 PCT/KR2019/007674 KR2019007674W WO2020138606A1 WO 2020138606 A1 WO2020138606 A1 WO 2020138606A1 KR 2019007674 W KR2019007674 W KR 2019007674W WO 2020138606 A1 WO2020138606 A1 WO 2020138606A1
Authority
WO
WIPO (PCT)
Prior art keywords
reliability
nodes
verification
global
local
Prior art date
Application number
PCT/KR2019/007674
Other languages
English (en)
French (fr)
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 claimed from KR1020190075373A external-priority patent/KR102214849B1/ko
Publication of WO2020138606A1 publication Critical patent/WO2020138606A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to a method for consensus to allow an obstacle in a blockchain network, and to a method for consensus to allow an obstacle to remove an obstacle for consensus in a blockchain network.
  • Blockchain technology is a high-reliability decentralized information storage (DB: Database) technology that supports transparency, security, and irreversibility.As a simple structure, it is easy to secure irreversibility, so financial/logistics/public sector where integrity is very important Many projects are in progress as it has been in the limelight.
  • DB Database
  • Consensus Algorithm is a technology that determines which information to select to maintain one DB between nodes when information mismatch occurs in a P2P network in which multiple nodes exist.
  • the blockchain decides the block creation authority and the technique for branched blockchain selection through the consensus algorithm.
  • Representative consensus algorithms include Proof of Work (PoW), Proof of Stake (PoS), and Practical Byzantine Fault Tolerance (PBFT).
  • PBFT prevents the inconsistency in the blockchain data by adding blocks to the blockchain only after the normal consensus between the consensus nodes for the data to be added to the blockchain is completed, thereby improving the reliability of the data.
  • the PBFT consensus algorithm allows normal consensus of the Byzantine Fault node under a certain ratio even in an asynchronous network where Byzantine Faulty nodes that do not perform the promised action can exist.
  • n the total number of verification nodes
  • f the number of faulty nodes
  • consensus may be successful in the PBFT if the number of faulty nodes f is less than (n-1)/3. That is, if the total number of verification nodes (n) exceeds three times the number of faulty nodes (f) (N ⁇ 3f+1), normal agreement is possible even if a faulty node is included.
  • 1 shows an example of a consensus procedure through a PBFT consensus algorithm.
  • the PBFT consensus algorithm includes a request (S11), a pre-prepare (S12), a prepare (S13), a commit (S14), and a response (Reply) may be configured in step (S15).
  • Validation nodes 110 are responsible for verifying and agreeing on a transaction request transmitted from a client 120 among a plurality of nodes in the blockchain network and adding it to the block.
  • four verification nodes 111 to 114 exist in the blockchain network, and the first verification node 111 among the four verification nodes 111 to 114 receives a transaction request from the client 120. It is a leader node, and the remaining second to fourth verification nodes 112 to 114 are backup nodes that consensusly verify the requested transaction with the leader node 111.
  • the leader node 111 receives the status change of data from at least one client 120, that is, the data requesting the transaction, and synthesizes, verifies, and sorts it. And in the preliminary preparation step (S12), the leader node 111 propagates the applied block to the remaining verification nodes 112 to 114, that is, backup nodes. In the preparation step (S13), each of the backup nodes 112 to 114 verifies the block in the leader node 111, and if the verification result is true, propagates the preparation message to the other verification nodes 111 to 114.
  • each of the verification nodes 111 to 114 receives the same value from 2f or more nodes and propagates the determination message to other nodes.
  • each of the verification nodes 111 to 114 receives a determination message of the same value from 2f+1 or more other nodes, adds the corresponding block to the chain, and delivers the result to the client 120 . Accordingly, when the client receives the same result from other nodes of f+1 or higher, the client confirms that the result is processed.
  • the object of the present invention is to incorporate a trust evaluation model based on the PBFT consensus algorithm, improve the success rate of consensus through imposing penalties for abnormal behaviors, and allow a consensus method of a blockchain network to allow a consensus deadlock to return to normal consensus. To provide.
  • a method for concluding a fault tolerance for a blockchain network is performed when a block including a transaction request transmitted from at least one client is received by a given leader node among n verification nodes.
  • each of the backup nodes compares the backup reliability, which is the local reliability of the self obtained from the previous voting results, with the reader reliability, and if they are different from each other, propagates a preparation message that changes the reader reliability to the backup reliability to other verification nodes.
  • step Analyzing the preparation message received by each of the verification nodes, and if the number of local trusts having the same value is equal to or greater than a predetermined reference number, propagating the decision message by applying the local trust to the global trusts to other verification nodes ; And each of the verification nodes voting for a transaction request based on the sum of global reliability included in the decision message, adding a block to the blockchain; It includes.
  • the step of adding to the blockchain is the global reliability of each of the n verification nodes ( Determining whether the sum of) is greater than or equal to a predetermined global reference ratio; If it is equal to or greater than the global reference ratio, determining that the global reliability agreement for the block is successful and adding the block to the blockchain; Passing the added result to the client; And recalculating local reliability for each verification node according to whether the agreement is successful. It may include.
  • the local reliability of the t-th round for the k-th verification node calculated by the i-th verification node among the n verification nodes (C t i,k ) Equation
  • Calculating according to It may include.
  • the step of recalculating the local reliability is based on whether the global reliability agreement is successful, the consensus boundary is based on the global reliability.
  • Propagating the determination message may include analyzing a preparation message received by each of the verification nodes to determine whether the number of local reliability values having the same value is greater than or equal to a predetermined reference number; If the number is greater than or equal to the reference number, reflecting the local reliability of the same value in the global reliability of the current round; If it is less than the reference number, reflecting the backup local reliability to the global reliability of the current round; And determining whether the sum of global reliability of verification nodes having the same local reliability value is equal to or greater than a predetermined global reference value, and if it is equal to or greater than a global reference value, propagating a decision message to another verification node. It may include.
  • the method of allowing a fault to remove the obstacles to the consensus of the blockchain network reduces the influence on the consensus of the Byzantine obstacle nodes among the consensus nodes of the blockchain so that it can return to the normal consensus in a deadlock. By doing so, it is possible to increase the success rate of a normal agreement.
  • 1 shows an example of a consensus procedure through a PBFT consensus algorithm.
  • FIG. 2 shows a block chain network configuration according to an embodiment of the present invention.
  • Fig. 3 shows a method of concluding a disability allowance for removing an obstacle to consensus in a blockchain network.
  • FIG. 4 shows a modified block structure according to an embodiment of the present invention.
  • FIG. 5 shows a schematic structure of a disability-tolerant blockchain terminal according to an embodiment of the present invention.
  • FIG. 2 shows a block chain network configuration according to an embodiment of the present invention.
  • the blockchain network 200 includes n verification nodes 211 to 21n (where n is a natural number) capable of mutual communication in a mesh-type among a plurality of nodes. Including, transaction requests sent from multiple clients can be verified and agreed to be added to the block.
  • n is a natural number
  • FIG. 2 only four verification nodes 211 to 21n are illustrated for convenience of description, but the number of verification nodes may be variously adjusted.
  • the first verification node 211 among the plurality of verification nodes 211 to 21n is a leader node receiving a transaction request from at least one of the plurality of clients 221 to 22m, and the remaining second to fourth verification nodes It is assumed that 212 to 21n are backup nodes.
  • the leader node 211 verifies and sorts the transaction request authorized from at least one client 221 to 22m to backup nodes 212 to 21n, which are other verification nodes. ), and the block is confirmed through the agreement between a number of verification nodes 211 to 21n, and the block is extended and maintained by adding it to the blockchain.
  • All n verification nodes (211 to 21n) participating in the blockchain participate in the consensus for each round of consensus, and the malicious node operating from a specific point in time (t 0 ) performs block tampering attempts or non-consensus. It is effective to send a message to more verification nodes in order to overcome the malicious intention, because the malicious node normally participates in the consensus, so it is not considered to send the normal message and the alteration message to other verification nodes at the same time. . At this time, even if the normal node fails to participate in the agreement due to time delay, network congestion, etc., depending on the network environment, a penalty is given because it has a negative effect on the agreement.
  • k 1, ..., nf ⁇ .
  • Each of the n verification nodes 211 to 21n of the blockchain network calculates local credibility (C t i,k ) by performing a reliability evaluation based on the voting information collected in the commit phase.
  • the local reliability set C t i for the entire verification node calculated by the i-th verification node 21i is expressed by Equation (1).
  • Each of the verification nodes 211 to 21n maintains the local reliability C t i,k evaluated through voting in the round t-1 until the round t.
  • the leader node 211 proposes its local reliability (C t 1 ) together with the block at t round.
  • the reliability determined by the agreement between the verification nodes 211 to 21n is recognized as global reliability and can be expressed by Equation (2).
  • the reliability of the previous node is 1, and the reliability is calculated according to the voting results of the previous round from the second block.
  • the node is judged as a royal node (R) and maintains the reliability of the previous round.
  • the reliability of the total failure node in the previous round divided by the reliability of the total verification node is reduced by the value multiplied by the penalty weight ⁇ .
  • the t-1 round local reliability of the kth node (C t-1 i,k ) is the t round global reliability of the kth verification node of the global reliability. ( ).
  • the local reliability (C t i,k ) is calculated as in Equation 3.
  • the allowable consensus algorithm is called an adaptive consensus bound PBTF (hereafter referred to as ACB-PBFT) algorithm.
  • the reliability which means the trust value of each verification node, is calculated for each node. Using the calculated reliability, consensus is performed in a 3-phase protocol method in order for all the verification nodes to share a single trust value.
  • FIG. 3 shows a method of allowing a consensus for disabling an obstacle to consensus in a blockchain network
  • FIG. 4 shows a modified block structure according to an embodiment of the present invention.
  • the modified block structure according to the present embodiment will be described with reference to FIG. 4, and the blocks include a block header 410 and a block body. (420).
  • the block header 410 includes a version field (Version) 411, a previous block hash field (Hash of Prev. Block) 404, a hash field (Hash of Merkle Root) 405, and a time stamp (Time Stamp). ) 406.
  • the block body 420 may be composed of a transaction counter 421, a reliability transaction 422, and transactions 423.
  • the block chain network of this embodiment selects the leader node, which is the block creator, as non-competitive, so the block constructor
  • the Difficulty and Nonce fields used in Bitcoin have been removed to determine.
  • the ACB-PBFT according to the present embodiment uses credibility, which means voting power of each verification node, so each verification node agreed through the Credibility Consensus Procedures described below.
  • the global reliability which is a full set of reliability, is recorded in the reliability transaction field 422 in the block body 420 so that all verification nodes maintaining the blockchain can share the same global reliability.
  • the disability tolerant consensus method may also basically be performed by including a request step, a preliminary preparation step, a preparation step, a decision step, and a response step, like the PBFT algorithm shown in FIG. 1.
  • the reliability consensus procedure is performed.
  • the leader node 211 is the leader local reliability calculated as a result of voting in the previous round (t-1).
  • C L t-1 is recorded in the reliability transaction field 422 of the block data of FIG. 4 to propagate the block to the backup nodes 212 to 21n, which are the remaining verification nodes, and propose (S31).
  • each of the backup nodes 212 to 21n that has received the block in the preparation phase has its own backup local reliability (C i t-1 ) calculated in the previous round ( t-1 ) and the block transmitted from the leader node 211. It is determined whether the leader local reliability (C L t-1 ) recorded in the reliability transaction field 422 is the same (S32).
  • the backup local reliability (C i t-1 ) and the leader local reliability (C L t-1 ) are the same, the leader local reliability (C L t-1 ) is selected, and the selected leader local reliability (C i t-1 ) is selected.
  • L t-1 ) is propagated to the other backup nodes except the leader node 211 as a preparation message (S33).
  • the backup local reliability (C i t-1 ) and the leader local reliability (C L t-1 ) are different from each other, the backup local reliability (C i t-1 ) is recorded in the block's reliability transaction field 422 to read the reader. It propagates to other verification nodes except the node 211 (S34).
  • all the verification nodes 211 to 21n analyze the local reliability (C i t-1 ) of the prepared message propagated from other verification nodes and the local reliability selected by them (S35 ). Then, it is determined whether the number of local confidences having the same value in the analyzed local reliability is greater than or equal to a predetermined reference number with respect to the total number n of the verification nodes 211 to 21n (S36).
  • the reference number may be set to 2(n-1)/3 as an example.
  • the corresponding verification node sets the local reliability of the same value to the global reliability of the current round ( ), that is, the local reliability is recorded in the block's reliability transaction field 422 and propagated to other nodes as a decision message (S37). However, if the number of local reliability values having the same value is less than the reference number, the backup local reliability (C i t-1 ) is set to the global reliability of the current round ( ) To propagate the decision message to another verification node (S38).
  • each of the verification nodes 211 to 21n is a global reference value (for example, a sum of global reliability of verification nodes that transmit a preparation message, that is, verification nodes having the same local reliability value), for example. ), and may be configured to propagate the decision message to another verification node if it is greater than or equal to the global reference value.
  • a global reference value for example, a sum of global reliability of verification nodes that transmit a preparation message, that is, verification nodes having the same local reliability value
  • the leader reliability proposed by the leader node 211 or the same local reliability shared by 2f+1 or more verification nodes among all verification nodes is recognized as global reliability, and the recognized global reliability value is the block's reliability transaction field (422 ).
  • Global reliability in this embodiment ( ) May be used as a voting weight for each verification node 211 to 21n.
  • Each of the plurality of verification nodes 211 to 21n is the sum of the global reliability of the verification nodes that propagated the same result message among the plurality of verification nodes including itself ( ) Is determined to be equal to or greater than a predetermined global reference ratio, and each of the plurality of verification nodes 211 to 21n is the sum of global reliability ( ) Is greater than the global standard ratio, it is determined that the agreement is successful, the block is added to the blockchain, and the added result is transmitted to the client (S40).
  • the reference ratio is an example Can be set to
  • the consensus boundary for determining the consensus success for a plurality of verification nodes 211 to 21n is adaptively changed, and each consensus boundary Can be expressed as Equation (5).
  • FIG. 5 shows a schematic structure of a disability-tolerant blockchain terminal according to an embodiment of the present invention.
  • the terminal may include an information input unit 501, a memory 502, a CPU 503, a message processing unit 504, and an information output unit 505 for information exchange and agreement.
  • the information input unit 501 serves to receive vote information received from another node.
  • the memory 502 stores information processed by the CPU. Specifically, the memory stores information such as voting information of each node, calculated reliability information, and blockchain data.
  • the CPU 503 transmits the received voting information to the message processing unit 504, and transmits the voting information received by the message processing unit to the information output unit 505.
  • operation of the information input unit 501, the information output unit 505, the memory 502, and the message processing unit 504 is controlled.
  • the message processing unit 504 analyzes the voting information of other nodes to calculate the reliability information and compares and validates the received messages at each stage of the agreement.
  • the method according to the present invention may be implemented as a computer program stored in a medium for execution on a computer.
  • the computer readable medium herein can be any available medium that can be accessed by a computer, and can also include any computer storage medium.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, and ROM (readable) Dedicated memory), RAM (random access memory), CD (compact disk)-ROM, DVD (digital video disk)-ROM, magnetic tape, floppy disk, optical data storage, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 블록체인 검증 노드의 투표 정보를 바탕으로 비정상 노드에 대한 패널티를 적용하여 합의 경계를 가변함으로써, 합의 교착상태에 들어가도 정상 노드와 비정상 노드의 투표권을 조정하여 정상 합의로 회귀할 수 있는 블록체인 네트워크의 장애 허용 합의 방법을 제공할 수 있다.

Description

블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
본 발명은 블록체인 네트워크의 장애 허용 합의 방법에 관한 것으로, 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법에 관한 것이다.
블록체인 기술은 투명성, 보안성, 비가역성을 지원하는 고 신뢰도 분산화 정보저장소(DB: Database) 기술로서, 단순한 구조로 비가역성을 쉽게 확보할 수 있음에 따라, 무결성이 매우 중요시되는 금융/물류/공공분야 등에서 각광받으며 많은 프로젝트가 진행되고 있다.
합의 알고리즘(Consensus Algorithm)은 다수 노드가 존재하는 P2P 네트워크에서 정보 불일치 발생 시 노드 간 하나의 DB를 유지하기 위해 어떤 정보를 선택할지 결정하는 기술이다. 블록체인은 합의 알고리즘을 통해 블록 생성 권한과 분기된 블록체인 선택에 대한 기법을 결정한다. 대표적 합의 알고리즘은 작업증명(Proof of Work: 이하 PoW)와 지분증명(Proof of Stake: 이하 PoS), 실용적 비잔틴 장애 허용(Practical Byzantine Fault Tolerance: 이하 PBFT) 등이 있다.
동일한 타임 스탬프(timestamp)에서 데이터가 서로 다른 블록이 발생하는 블록체인 분기 현상이 나타나면, PoW와 PoS에서는 이후 가장 길게 연장된 블록체인을 선택한다. 그러나 이는 일시적 정보 불일치를 허용하는 방식으로 블록체인의 데이터 신뢰도를 낮추게 된다.
반면 PBFT는 블록체인에 추가될 데이터에 대한 합의 노드 간의 정상적인 합의 수행 완료 후에만 블록을 블록체인에 추가함으로써 블록체인 데이터의 불일치를 원천 방지하여, 데이터에 대한 신뢰도를 향상시킨다. PBFT 합의 알고리즘은 약속된 행동을 하지 않는 비잔틴 장애(Byzantine Faulty) 노드가 존재할 수 있는 비동기 네트워크에서도 비잔틴 장애 노드가 일정 비율 이하에서는 정상 합의가 가능하다. 전체 검증 노드 수가 n이고, 장애 노드 수가 f인 경우, PBFT에서는 장애 노드 수(f)가 (n-1)/3 이하이면 합의에 성공할 수 있다. 즉 전체 검증 노드의 수(n)가 장애 노드 수(f)의 3배를 초과(N ≥ 3f+1)하면, 장애 노드가 포함되어도 정상적 합의가 가능하다.
도 1은 PBFT 합의 알고리즘을 통한 합의 절차의 일예를 나타낸다.
도 1을 참조하면, PBFT 합의 알고리즘은 요청(Request) 단계(S11), 선 준비 단계(Pre-prepare)(S12), 준비(Prepare) 단계(S13), 결정(Commit) 단계(S14) 및 응신(Reply) 단계(S15)로 구성될 수 있다.
블록체인 네트워크에서 다수의 노드 중 클라이언트(Client)(120)에서 전송된 트랜잭션 요청을 검증하고 합의하여 블록에 추가하는 역할은 검증 노드들(Validating Nodes)(110)이 담당한다. 도1 에서는 일예로 블록체인 네트워크에 4개의 검증 노드(111 ~ 114)가 존재하고, 4개의 검증 노드(111 ~ 114) 중 제1 검증 노드(111)가 클라이언트(120)로부터 트랜잭션 요청을 인가받는 리더 노드이며, 나머지 제2 내지 제4 검증 노드(112 ~ 114)는 리더 노드(111)와 함께 요청된 랜잭션에 대해 합의 검증하는 백업 노드이다.
PBFT 합의 알고리즘의 요청 단계(S11)에서 리더 노드(111)는 적어도 하나의 클라이언트(120)로부터 데이터의 상태 변환, 즉 트랜잭션을 요청하는 데이터를 인가받아 종합하고, 검증 및 정렬한다. 그리고 선 준비 단계(S12)에서 리더 노드(111)는 인가된 블록을 나머지 검증 노드들(112 ~ 114), 즉 백업 노드들로 전파한다. 준비 단계(S13)에서 백업 노드들(112 ~ 114) 각각은 리더 노드(111)에서 블록을 검증하고, 검증 결과가 참이면, 각각 다른 검증 노드들(111 ~ 114)로 준비 메시지를 전파한다. 결정 단계(S14)에서 각 검증 노드들(111 ~ 114)은 2f개 이상의 노드로부터 같은 값을 받으면 결정 메시지를 다른 노드들에게 전파한다. 응신 단계(S15) 단계에서 검증 노드들(111 ~ 114) 각각은 2f+1개 이상의 다른 노드들로부터 같은 값의 결정 메시지를 받으면 해당 블록을 체인에 추가하고, 결과를 클라이언트(120)에게 전달한다. 이에 클라이언트는 f+1 이상의 다른 노드들로부터 동일한 결과를 받으면 해당 결과가 처리된 것으로 확인한다.
이와 같이 PBFT에서는 전체 검증 노드(n)의 2/3를 초과하는 노드를 확보해야만 블록 데이터의 변경이 가능하므로, 51% 이상의 노드를 확보하면 데이터 변조가 가능한 PoW 및 PoS 보다 데이터 변조 공격에 강하지만, 데이터 변조 공격이 전체 검증 노드의 1/3 이상 노드만 확보해도 정상 합의를 실패하게 만들고 정상 합의로 복귀하지 못하도록 교착 상태로 만들 수 있는 문제점이 있다.
본 발명의 목적은 PBFT 합의 알고리즘을 기반으로 신뢰 평가 모델을 접목하여, 비정상 행위에 대한 벌칙 부과를 통해 합의 성공률 향상 및 합의 교착상태에서 정상 합의로 회귀할 수 있도록 하는 블록체인 네트워크의 장애 허용 합의 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 블록체인 네트워크를 위한 장애 허용 합의 방법은 n개의 검증 노드 중 기지정된 리더 노드가 적어도 하나의 클라이언트로부터 전송된 트랜잭션 요청이 포함된 블록이 수신되면, 상기 리더 노드에 대해 이전 투표 결과로부터 획득된 로컬 신뢰도인 리더 신뢰도를 상기 블록에 포함하여 나머지 검증 노드인 백업 노드들로 전파하는 단계; 상기 백업 노드들 각각이 이전 투표 결과로부터 획득된 자신에 대한 로컬 신뢰도인 백업 신뢰도와 상기 리더 신뢰도를 비교하여, 서로 상이하면 다른 검증 노드들로 리더 신뢰도를 상기 백업 신뢰도로 변경한 준비 메시지를 전파하는 단계; 상기 검증 노드들 각각이 수신한 준비 메시지를 분석하여, 동일한 값을 갖는 로컬 신뢰도의 개수가 기지정된 기준 개수 이상이면, 다른 검증 노드들로 상기 로컬 신뢰도를 글로벌 신뢰도에 적용하여 결정 메시지를 전파하는 단계; 및 상기 검증 노드들 각각이 결정 메시지에 포함된 글로벌 신뢰도의 합을 기반으로 트랜잭션 요청에 대한 투표를 수행하여, 블록을 블록체인에 추가하는 단계; 를 포함한다.
상기 블록체인에 추가하는 단계는 상기 n개의 검증 노드들 각각에 대한 글로벌 신뢰도(
Figure PCTKR2019007674-appb-img-000001
)의 합이 기지정된 글로벌 기준 비율 이상인지 판별하는 단계; 상기 글로벌 기준 비율 이상이면, 상기 블록에 대한 글로벌 신뢰도 합의가 성공한 것으로 판별하여 블록을 블록체인에 추가하는 단계; 추가된 결과를 상기 클라이언트로 전달하는 단계; 및 합의 성공 여부에 따라 검증 노드 각각에 대한 로컬 신뢰도를 재계산하는 단계; 를 포함할 수 있다.
상기 로컬 신뢰도를 재계산하는 단계는 글로벌 신뢰도 합의가 성공한 것으로 판별되면, 상기 n개의 검증 노드 중 i번째 검증 노드가 계산한 k번째 검증 노드에 대한 t번째 라운드의 로컬 신뢰도(C t i,k)를 수학식
Figure PCTKR2019007674-appb-img-000002
(여기서
Figure PCTKR2019007674-appb-img-000003
는 k번째 검증 노드에 대한 t번째 라운드의 글로벌 신뢰도이고, V k는 n개의 검증 노드 중 k번째 검증 노드를 의미하고, R은 정상적인 리더 노드의 제안에 동의하는 투표를 수행한 로얄 노드의 집합을 나타내고, F는 장애 노드 집합을 나타내며, α는 패널티 가중치이다.)에 따라 계산하는 단계; 및 글로벌 신뢰도 합의가 실패한 것으로 판별되면, 상기 검증 노드들 각각에 대한 로컬 신뢰도를 수학식
Figure PCTKR2019007674-appb-img-000004
에 따라 계산하는 단계; 를 포함할 수 있다.
상기 로컬 신뢰도를 재계산하는 단계는 상기 글로벌 신뢰도 합의 성공 여부에 따라 상기 글로벌 신뢰도에 기반하여 합의 경계(Consensus Bound)가 수학식
Figure PCTKR2019007674-appb-img-000005
에 따라 가변될 수 있다.
상기 결정 메시지를 전파하는 단계는 상기 검증 노드들 각각이 수신한 준비 메시지를 분석하여, 동일한 값을 갖는 로컬 신뢰도의 개수가 기지정된 기준 개수 이상인지 판별하는 단계; 상기 기준 개수 이상이면, 동일한 값의 로컬 신뢰도를 현재 라운드의 글로벌 신뢰도에 반영하는 단계; 상기 기준 개수 미만이면, 백업 로컬 신뢰도를 현재 라운드의 글로벌 신뢰도에 반영하는 단계; 및 동일한 로컬 신뢰도 값을 갖는 검증 노드들의 글로벌 신뢰도의 합이 기지정된 글로벌 기준 값 이상인지 판별하고, 글로벌 기준 값 이상이면, 결정 메시지를 다른 검증 노드로 전파하는 단계; 를 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법은 블록체인의 합의 노드 중 비잔틴 장애 노드들의 합의에 대한 영향력을 낮춰 교착 상태에서 정상 합의로 회귀할 수 있도록 함으로써, 정상적인 합의의 성공률을 높일 수 있다.
도 1은 PBFT 합의 알고리즘을 통한 합의 절차의 일예를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 블록체인 네트워크 구성을 나타낸다.
도 3은 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 수정된 블록 구조를 나타낸다.
도5 는 본 발명의 일 실시예에 따른 장애 허용 블록체인 단말의 개략적 구조를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2는 본 발명의 일 실시예에 따른 블록체인 네트워크 구성을 나타낸다.
도 2를 참조하면, 본 실시예에 따른 블록체인 네트워크(200)는 다수의 노드 중 메쉬 타입(mesh-type)으로 상호 통신이 가능한 n(여기서 n은 자연수)개의 검증 노드(211 ~ 21n)를 포함하여 다수의 클라이언트들로부터 전송되는 트랜잭션 요청을 검증하고 합의하여 블록에 추가할 수 있다. 도 2에서는 설명의 편의를 위하여 검증 노드(211 ~ 21n)를 4개만 도시하였으나, 검증 노드의 개수는 다양하게 조절될 수 있다. 그리고 다수의 검증 노드(211 ~ 21n) 중 제1 검증 노드(211)는 다수의 클라이언트(221 ~ 22m) 중 적어도 하나의 클라이언트로부터 트랜잭션 요청을 인가받는 리더 노드이며, 나머지 제2 내지 제4 검증 노드(212 ~ 21n)는 백업 노드인 것으로 가정한다.
상기한 바와 같이 다수의 검증 노드(211 ~ 21n) 중 리더 노드(211)는 적어도 하나의 클라이언트(221 ~ 22m)로부터 인가된 트랜잭션 요청을 검증 및 정렬하여 다른 검증 노드들인 백업 노드들(212 ~ 21n)로 전파하고, 다수의 검증 노드(211 ~ 21n)간의 합의를 통하여 블록을 확정하고, 블록체인에 추가하는 절차로 블록을 연장 및 유지한다.
블록체인에 참여하고 있는 모든 n개 검증 노드(211 ~ 21n)는 합의 라운드마다 합의에 참여하며, 특정시점(t 0)부터 활동하는 악성 노드는 블록 변조 시도 또는 합의 미참여를 수행한다. 악성 노드가 정상적으로 합의에 참여하는 것은 합의에 영향이 없으며, 악의적 의도를 관철하려면 더 많은 검증 노드들에게 메시지를 보내야 효과적이므로 합의 단계별로 다른 검증 노드에게 정상 메시지와 변조 메시지를 동시에 보내는 것은 고려하지 않는다. 이때 정상 노드가 네트워크 환경에 따라 시간 지연(time delay), 네트워크 혼잡(network congestion) 등에 의해 합의에 참여 실패하게 되더라도, 합의에 부정적 영향을 미치므로 패널티(penalty)를 부여한다.
블록체인 네트워크의 n개의 검증 노드(211 ~ 21n) 중 사전에 결정된 리더 노드(211)가 블록을 생성하며, n개 검증 노드(211 ~ 21n) 중 장애(Faulty) 노드의 개수가 f개일 때, 검증 노드 집합(V)과 장애 노드 집합(F), 정상적인 리더 노드(211)의 제안에 동의하는 투표를 한 로얄(Royal) 노드의 집합(R)은 각각 V={V k|k=1, ..., n}, F={F k|k=1, ..., f}, R={R k|k=1, ..., n-f}로 정의될 수 있다.
블록체인 네트워크의 n개의 검증 노드(211 ~ 21n) 각각은 결정(commit) 단계에서 수집한 투표 정보를 바탕으로 신뢰도 평가를 실시하여 로컬 신뢰도(Local Credibility)(C t i,k)를 계산한다. 여기서 i번째 검증 노드(21i)가 계산한 전체 검증 노드에 대한 로컬 신뢰도 집합(C t i)은 수학식 1과 같이 표현된다.
Figure PCTKR2019007674-appb-img-000006
각 검증 노드들(211 ~ 21n)은 t-1 라운드에서 투표를 통해 평가한 로컬 신뢰도(C t i,k)를 t 라운드까지 유지한다. 리더 노드(211)는 t 라운드 시 자신의 로컬 신뢰도(C t 1)를 블록과 함께 제안한다. 검증 노드(211 ~ 21n) 간 합의로 결정된 신뢰도는 글로벌 신뢰도로 인정되며 수학식 2로 표현도리 수 있다.
Figure PCTKR2019007674-appb-img-000007
블록체인의 최초의 블록인 제네시스 블록(Genesis block)에서 이전 노드에 대한 신뢰도는 1이며, 두번째 블록부터 이전 라운드의 투표결과에 따라 신뢰도를 계산한다. 먼저 정상적인 리더 노드(211)의 제안에 동의하는 투표를 했을 경우 해당 노드는 로얄 노드(R)로 판단하며 이전 라운드의 신뢰도를 유지한다.
그러나 잘못된 투표를 하거나 투표를 하지 않은 장애 노드(F)로 판단되면, 이전 라운드의 전체 장애 노드의 신뢰도를 전체 검증 노드의 신뢰도로 나눈 값에 패털티 가중치(α)를 곱한 값만큼 감소시킨다. 이때 신뢰도 합의 절차(Credibility Consensus Procedures)를 통해 정상적으로 글로벌 신뢰도가 결정된 경우, k번째 노드의 t-1 라운드 로컬 신뢰도(C t-1 i,k)는 글로벌 신뢰도의 k번째 검증 노드의 t 라운드 글로벌 신뢰도(
Figure PCTKR2019007674-appb-img-000008
)와 같다. 이를 통해 로컬 신뢰도(C t i,k)는 수학식 3과 같이 계산된다.
Figure PCTKR2019007674-appb-img-000009
반면, 글로벌 신뢰도의 합의가 실패한다면, 이전 라운드의 로컬 신뢰도를 활용하여 수학식 4와 같이 해당 라운드의 신뢰도를 재계산한다.
Figure PCTKR2019007674-appb-img-000010
수학식 3 및 4에서 장애 노드의 개수(f)가 증가할수록 정상 합의에 실패할 확률이 증가한다. 그러므로 장애 노드의 신뢰도 합의 증가에 비례하여 장애 노드들과 전체 검증 노드들(211 ~ 21n)의 신뢰도 합의 비율만큼 패널티를 증가시킴으로써, 장애 노드 합의 영향력을 감소시켜 합의 성공률을 높일 수 있다.
이는 다수의 검증 노드에 의한 합의 경계를 적응적으로 변화시켜, 합의 방해 요인인 장애 노드의 존재에도 불구하고, 성공률 향상 및 합의 교착상태에서 정상 합의로 회귀할 수 있도록 하며, 본 실시예에 따른 장해 허용 합의 알고리즘을 적응적 합의 경계(Adaptive Consensus Bound) PBTF(이하: ACB-PBFT) 알고리즘이라 한다.
각 검증 노드의 신뢰 값(Trust value)을 의미하는 신뢰도는 각 노드별로 계산된다. 계산된 신뢰도를 이용하여 전체 검증 노드가 하나의 신뢰 값을 공유하기 위해서는 3 단계 프로토콜(3-phase protocol) 방식으로 합의를 수행한다.
도 3은 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법을 나타내고, 도 4는 본 발명의 일 실시예에 따른 수정된 블록 구조를 나타낸다.
도 3의 장애 허용 합의 방법을 설명하기에 앞서, 도 4를 참조하여 본 실시예에 따라 수정된 블록 구조를 우선 설명하면, 블록은 블록 헤더(Block Header)(410)와 블록 바디(Block Body)(420)로 구분된다. 그리고 블록 헤더(410)는 버전 필드(Version)(411), 이전 블록 해시 필드(Hash of Prev. Block)(404), 머클 루트 해시 필드(Hash of Merkle Root)(405) 및 타임 스탬프(Time Stamp)(406)로 구성될 수 있다. 한편, 블록 바디(420)는 트랜잭션 카운터(Trasaction Counter)(421), 신뢰도 트랜잭션(Credibility Transaction)(422) 및 트랜잭션(Transactions)(423)으로 구성될 수 있다.
도 4에 도시된 본 실시예에 따른 블록 구조를 기존의 대표적인 블록체인 시스템인 비트코인의 블록 구조와 비교하면, 본 실시예의 블록체인 네트워크는 블록 생성자인 리더 노드를 비경쟁형으로 선정하므로, 블록 생성자를 결정하기 위해 비트코인에서 사용되는 난이도(Difficulty) 필드와 논스(Nonce) 필드가 제거되었다. 또한 본 실시예에 따른 ACB-PBFT는 각 검증 노드의 투표권(Voting Power)을 의미하는 신되도(Credibility)를 사용하므로, 이하에서 설명하는 신뢰도 합의 절차(Credibility Consensus Procedures)를 통해 합의된 각 검증 노드의 신뢰도 전체 집합인 글로벌 신뢰도를 블록 바디(420) 내 신뢰도 트랜잭션 필드 (422)에 기록하여 블록체인을 유지하고 있는 전체 검증 노드가 동일한 글로벌 신뢰도를 공유할 수 있도록 한다.
이하에서는 도 2 및 도 4를 참조하여, 도 3의 장애 허용 합의 방법을 설명한다. 본 실시예에 따른 장애 허용 합의 방법 또한 기본적으로 도 1에 도시된 PBFT 알고리즘과 마찬가지로, 요청 단계, 선 준비 단계, 준비 단계, 결정 단계 및 응신 단계를 포함하여 수행될 수 있다.
우선 신뢰도 합의 절차를 수행한다. 요청 단계(미도시)에서 적어도 하나의 클라이언트로부터 리더 노드(211)로 트랜잭션 요청이 전송되면, 선 준비 단계에서 리더 노드(211)는 이전 라운드(t-1)의 투표 결과로 계산된 리더 로컬 신뢰도(C L t-1)를 도 4의 블록 데이터의 신뢰도 트랜잭션 필드(422)에 기록하여, 블록을 나머지 검증 노드들인 백업 노드들(212 ~ 21n)에게 전파하여 제안한다(S31).
그리고 준비 단계에서 블록을 수신한 백업 노드들(212 ~ 21n) 각각은 이전 라운드(t-1)에서 계산된 자신의 백업 로컬 신뢰도(C i t-1)와 리더 노드(211)에서 전송된 블록의 신뢰도 트랜잭션 필드(422)에 기록된 리더 로컬 신뢰도(C L t-1)가 동일한지 판별한다(S32).
판별 결과, 자신의 백업 로컬 신뢰도(C i t-1)와 리더 로컬 신뢰도(C L t-1)가 동일하면, 리더 로컬 신뢰도(C L t-1)를 선택하고, 선택된 리더 로컬 신뢰도(C L t-1)가 기록된 블록을 준비 메시지로서 리더 노드(211)를 제외한 다른 백업 노드들로 전파한다(S33). 그러나 백업 로컬 신뢰도(C i t-1)와 리더 로컬 신뢰도(C L t-1)가 서로 상이하면, 블록의 신뢰도 트랜잭션 필드(422)에 백업 로컬 신뢰도(C i t-1)를 기록하여 리더 노드(211)를 제외한 다른 검증 노드들로 전파한다(S34).
결정 단계에서 모든 검증 노드(211 ~ 21n)는 자신이 선택한 로컬 신뢰도와 다른 검증 노드들로부터 전파된 준비 메시지의 로컬 신뢰도(C i t-1)를 분석한다(S35). 그리고 분석된 로컬 신뢰도에서 동일한 값을 갖는 로컬 신뢰도의 개수가 전체 검증 노드(211 ~ 21n)의 개수(n)에 대해 기지정된 기준 개수 이상인지 판별한다(S36). 여기서 기준 개수는 일예로 2(n-1)/3로 설정될 수 있다.
만일 동일한 값을 갖는 로컬 신뢰도(C k)의 개수가 기준 개수 이상이면, 해당 검증 노드는 동일한 값의 로컬 신뢰도를 현재 라운드의 글로벌 신뢰도(
Figure PCTKR2019007674-appb-img-000011
)에 반영하여, 즉 로컬 신뢰도를 블록의 신뢰도 트랜잭션 필드(422)에 기록하여 결정 메시지로서 다른 노드로 전파한다(S37). 그러나 동일한 값을 갖는 로컬 신뢰도의 개수가 기준 개수 미만이면, 백업 로컬 신뢰도(C i t-1)를 현재 라운드의 글로벌 신뢰도(
Figure PCTKR2019007674-appb-img-000012
)에 반영하여 결정 메시지를 다른 검증 노드로 전파한다(S38).
이때 검증 노드(211 ~ 21n) 각각은 준비 메시지를 전송한 검증 노드들, 즉 동일한 로컬 신뢰도 값을 갖는 검증 노드들의 글로벌 신뢰도의 합이 기지정된 글로벌 기준 값(예를 들면,
Figure PCTKR2019007674-appb-img-000013
) 이상인지 판별하고, 글로벌 기준 값 이상이면, 결정 메시지를 다른 검증 노드로 전파하도록 구성될 수 있다.
이러한 과정을 통해 리더 노드(211)가 제안한 리더 신뢰도 또는 전체 검증 노드 중 2f+1개 이상의 검증 노드가 공유하는 동일한 로컬 신뢰도는 글로벌 신뢰도 인정받고, 인정된 글로벌 신뢰도 값이 블록의 신뢰도 트랜잭션 필드(422)에 기록되어 된다.
본 실시예에서 글로벌 신뢰도(
Figure PCTKR2019007674-appb-img-000014
)는 각 검증 노드(211 ~ 21n)의 투표 가중치로 이용될 수 있다. 다수의 검증 노드(211 ~ 21n) 각각은 자신을 포함한 다수의 검증 노드 중 동일한 결과 메시지를 전파한 검증 노드들의 글로벌 신뢰도의 합(
Figure PCTKR2019007674-appb-img-000015
)이 기지정된 글로벌 기준 비율 이상인지 판별하고, 다수의 검증 노드(211 ~ 21n) 각각은 글로벌 신뢰도의 합(
Figure PCTKR2019007674-appb-img-000016
)이 글로벌 기준 비율 이상이면, 합의가 성공된 것으로 판별하여 블록을 블록체인에 추가하고, 추가된 결과를 클라이언트로 전달한다(S40). 여기서 기준 비율은 일예로
Figure PCTKR2019007674-appb-img-000017
로 설정될 수 있다.
상기한 바와 같이, 본 실시예에 따른 ACB-PBFT 합의 방법은 다수의 검증 노드(211 ~ 21n)에 대한 합의 성공을 판단하는 합의 경계(Consensus Bound)가 적응적으로 변화하게 되며, 각각의 합의 경계는 수학식 5와 같이 표현될 수 있다.
Figure PCTKR2019007674-appb-img-000018
그리고 블록에 대한 투표 결과에 따라 모든 검증 노드(211 ~ 21n)에 대한 로컬 신뢰도(C t i)를 수학식 3 또는 4에 따라 재계산한다(S41).
도5 는 본 발명의 일 실시예에 따른 장애 허용 블록체인 단말의 개략적 구조를 나타낸다.
도5 를 참조하면, 단말은 정보교환 및 합의수행을 위해 정보 입력부(501), 메모리(502), CPU(503), 메시지 처리부(504), 정보 출력부(505)를 포함할 수 있다.
정보 입력부(501)는 다른 노드로부터 전달받은 투표 정보를 수신하는 역할을 수행한다.
메모리(502)는 CPU에서 처리한 정보들을 저장한다. 구체적으로 메모리는 각 노드의 투표 정보, 계산된 신뢰도 정보, 블록체인 데이터 등의 정보를 저장한다.
CPU(503)는 수신된 투표 정보를 메시지 처리부(504)로 송신하며, 메시지 처리부에서 수신한 투표 정보를 정보 출력부(505)로 송신한다. 또한 정보 입력부(501), 정보 출력부(505), 메모리(502), 메시지 처리부(504)에 대한 동작을 제어한다.
메시지 처리부(504)는 타 노드의 투표 정보를 분석하여 신뢰도 정보를 계산 및 합의 단계별 수신되는 메시지를 비교 검증하는 역할을 수행한다.
본 발명에 따른 방법은 컴퓨터에서 실행 시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (5)

  1. n개의 검증 노드 중 기지정된 리더 노드가 적어도 하나의 클라이언트로부터 전송된 트랜잭션 요청이 포함된 블록이 수신되면, 상기 리더 노드에 대해 이전 투표 결과로부터 획득된 로컬 신뢰도인 리더 신뢰도를 상기 블록에 포함하여 나머지 검증 노드인 백업 노드들로 전파하는 단계;
    상기 백업 노드들 각각이 이전 투표 결과로부터 획득된 자신에 대한 로컬 신뢰도인 백업 신뢰도와 상기 리더 신뢰도를 비교하여, 서로 상이하면 다른 검증 노드들로 리더 신뢰도를 상기 백업 신뢰도로 변경한 준비 메시지를 전파하는 단계;
    상기 검증 노드들 각각이 수신한 준비 메시지를 분석하여, 동일한 값을 갖는 로컬 신뢰도의 개수가 기지정된 기준 개수 이상이면, 다른 검증 노드들로 상기 로컬 신뢰도를 글로벌 신뢰도에 적용하여 결정 메시지를 전파하는 단계; 및
    상기 검증 노드들 각각이 결정 메시지에 포함된 글로벌 신뢰도의 합을 기반으로 트랜잭션 요청에 대한 투표를 수행하여, 블록을 블록체인에 추가하는 단계; 를 포함하는 블록체인 네트워크의 장애 허용 합의 방법.
  2. 제1 항에 있어서, 상기 블록체인에 추가하는 단계는
    상기 n개의 검증 노드들 각각에 대한 글로벌 신뢰도(
    Figure PCTKR2019007674-appb-img-000019
    )의 합이 기지정된 글로벌 기준 비율 이상인지 판별하는 단계;
    상기 글로벌 기준 비율 이상이면, 상기 블록에 대한 글로벌 신뢰도 합의가 성공한 것으로 판별하여 블록을 블록체인에 추가하는 단계;
    추가된 결과를 상기 클라이언트로 전달하는 단계; 및
    합의 성공 여부에 따라 검증 노드 각각에 대한 로컬 신뢰도를 재계산하는 단계; 를 포함하는 블록체인 네트워크의 장애 허용 합의 방법.
  3. 제2 항에 있어서, 상기 로컬 신뢰도를 재계산하는 단계는
    글로벌 신뢰도 합의가 성공한 것으로 판별되면, 상기 n개의 검증 노드 중 i번째 검증 노드가 계산한 k번째 검증 노드에 대한 t번째 라운드의 로컬 신뢰도(C t i,k)를 수학식
    Figure PCTKR2019007674-appb-img-000020
    (여기서
    Figure PCTKR2019007674-appb-img-000021
    는 k번째 검증 노드에 대한 t번째 라운드의 글로벌 신뢰도이고, V k는 n개의 검증 노드 중 k번째 검증 노드를 의미하고, R은 정상적인 리더 노드의 제안에 동의하는 투표를 수행한 로얄 노드의 집합을 나타내고, F는 장애 노드 집합을 나타내며, α는 패널티 가중치이다.)
    에 따라 계산하는 단계; 및
    글로벌 신뢰도 합의가 실패한 것으로 판별되면, 검증 노드들 각각에 대한 로컬 신뢰도를 수학식
    Figure PCTKR2019007674-appb-img-000022
    에 따라 계산하는 단계; 를 포함하는 블록체인 네트워크의 장애 허용 합의 방법.
  4. 제3 항에 있어서, 상기 로컬 신뢰도를 재계산하는 단계는
    상기 글로벌 신뢰도 합의 성공 여부에 따라 상기 글로벌 신뢰도에 기반하여 합의 경계(Consensus Bound)가 수학식
    Figure PCTKR2019007674-appb-img-000023
    에 따라 가변되는 블록체인 네트워크의 장애 허용 합의 방법.
  5. 제1 항에 있어서, 상기 결정 메시지를 전파하는 단계는
    상기 검증 노드들 각각이 수신한 준비 메시지를 분석하여, 동일한 값을 갖는 로컬 신뢰도의 개수가 기지정된 기준 개수 이상인지 판별하는 단계;
    기준 개수 이상이면, 동일한 값의 로컬 신뢰도를 현재 라운드의 글로벌 신뢰도에 반영하는 단계;
    기준 개수 미만이면, 백업 로컬 신뢰도를 현재 라운드의 글로벌 신뢰도에 반영하는 단계; 및
    동일한 로컬 신뢰도 값을 갖는 검증 노드들의 글로벌 신뢰도의 합이 기지정된 글로벌 기준 값 이상인지 판별하고, 글로벌 기준 값 이상이면, 결정 메시지를 다른 검증 노드로 전파하는 단계; 를 포함하는 블록체인 네트워크의 장애 허용 합의 방법.
PCT/KR2019/007674 2018-12-28 2019-06-25 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법 WO2020138606A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2018-0172455 2018-12-28
KR20180172455 2018-12-28
KR10-2019-0075373 2019-06-25
KR1020190075373A KR102214849B1 (ko) 2018-12-28 2019-06-25 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법

Publications (1)

Publication Number Publication Date
WO2020138606A1 true WO2020138606A1 (ko) 2020-07-02

Family

ID=71127961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/007674 WO2020138606A1 (ko) 2018-12-28 2019-06-25 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법

Country Status (1)

Country Link
WO (1) WO2020138606A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645190A (zh) * 2021-07-12 2021-11-12 中国科学院信息工程研究所 一种考虑节点信誉的拜占庭容错共识方法及区块链
CN113676541A (zh) * 2021-08-23 2021-11-19 南昌航空大学 一种改进的pbft共识方法
CN114465866A (zh) * 2022-01-21 2022-05-10 北京航空航天大学 区块链的产生方法和装置、存储介质及电子设备
CN114650289A (zh) * 2020-12-02 2022-06-21 王志诚 用于区块链共识的方法及装置
CN115065468A (zh) * 2022-07-15 2022-09-16 辽宁工程技术大学 一种基于分组信誉值的pbft共识优化方法
CN117527266A (zh) * 2024-01-05 2024-02-06 杭州趣链科技有限公司 异步网络共识方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100002936A (ko) * 2008-06-30 2010-01-07 경희대학교 산학협력단 무선 센서 네트워크에서의 신뢰성 관리 방법
WO2017170679A1 (ja) * 2016-03-31 2017-10-05 株式会社bitFlyer プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム
US20180101560A1 (en) * 2016-10-07 2018-04-12 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100002936A (ko) * 2008-06-30 2010-01-07 경희대학교 산학협력단 무선 센서 네트워크에서의 신뢰성 관리 방법
WO2017170679A1 (ja) * 2016-03-31 2017-10-05 株式会社bitFlyer プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム
US20180101560A1 (en) * 2016-10-07 2018-04-12 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FENG, LIBO ET AL.: "Scalable Dynamic Multi-Agent Practical Byzantine Fault-Tolerant Consensus in Permissioned Blockchain", MDPI, 15 October 2018 (2018-10-15), XP055723251 *
PENG, ZHINIANG ET AL.: "Analysis and Improvement of NEO's dBFT Consensus Mechanism", 360 CORE SECURITY, 19 September 2018 (2018-09-19), XP055723265, Retrieved from the Internet <URL:http://blogs.360.cn/post/NEO_dBFT_en.html> [retrieved on 20190906] *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650289A (zh) * 2020-12-02 2022-06-21 王志诚 用于区块链共识的方法及装置
CN113645190A (zh) * 2021-07-12 2021-11-12 中国科学院信息工程研究所 一种考虑节点信誉的拜占庭容错共识方法及区块链
CN113676541A (zh) * 2021-08-23 2021-11-19 南昌航空大学 一种改进的pbft共识方法
CN113676541B (zh) * 2021-08-23 2023-06-27 南昌航空大学 一种改进的pbft共识方法
CN114465866A (zh) * 2022-01-21 2022-05-10 北京航空航天大学 区块链的产生方法和装置、存储介质及电子设备
CN114465866B (zh) * 2022-01-21 2023-08-15 北京航空航天大学 基于信任度和PBFT的DPoS方法
CN115065468A (zh) * 2022-07-15 2022-09-16 辽宁工程技术大学 一种基于分组信誉值的pbft共识优化方法
CN115065468B (zh) * 2022-07-15 2024-04-30 辽宁工程技术大学 一种基于分组信誉值的pbft共识优化方法
CN117527266A (zh) * 2024-01-05 2024-02-06 杭州趣链科技有限公司 异步网络共识方法、装置、电子设备及可读存储介质
CN117527266B (zh) * 2024-01-05 2024-05-17 杭州趣链科技有限公司 异步网络共识方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
WO2020138606A1 (ko) 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
CN108881187B (zh) 一种适用于许可链场景的跨链数据传递方法及设备
Fu et al. A survey of Blockchain consensus algorithms: mechanism, design and applications
KR20200083145A (ko) 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
US20230318836A1 (en) Computer-implemented systems and methods for linking a blockchain to a digital twin
CN109871669B (zh) 一种基于区块链技术的数据共享解决方法
KR102019211B1 (ko) 비잔틴 장애를 극복 가능한 블록체인 생성 방법
CN111612455A (zh) 一种面向用电信息保护的拜占庭容错联盟链共识方法及其系统、存储介质
US20170236120A1 (en) Accountability and Trust in Distributed Ledger Systems
Wang et al. Mtmr: Ensuring mapreduce computation integrity with merkle tree-based verifications
Golle et al. Secure distributed computing in a commercial environment
KR102337760B1 (ko) 심층강화학습 기반 적응적 샤드 블록체인 네트워크 관리 장치 및 방법
CN111682942B (zh) 一种应用于许可链的二元加权拜占庭容错共识方法
Liu et al. The service architecture of Internet of things terminal connection based on blockchain technology
KR20210087552A (ko) 분산 리소스 할당을 위한 시스템 및 방법
Mao et al. A survey on cross-chain technology: Challenges, development, and prospect
Hegnauer Design and development of a blockchain interoperability api
Fang et al. Pelopartition: Improving blockchain resilience to network partitioning
Kukharenko et al. Verification of hotstuff bft consensus protocol with TLA+/TLC in an industrial setting
Chen et al. MSig-BFT: A witness-based consensus algorithm for private blockchains
Zhu et al. A study on the challenges and solutions of blockchain interoperability
Fu et al. A multiple-blockchains based service monitoring framework in edge-cloud computing
CN115834512A (zh) 一种数据共享方法、系统、电子设备及存储介质
CN111598389B (zh) 一种基于区块链的防范票据市场风险的交易系统
Ming et al. Timely publication of transaction records in a private blockchain

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19902342

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19902342

Country of ref document: EP

Kind code of ref document: A1