KR102485970B1 - 비잔틴 장애를 감내하는 블록체인 시스템 및 그 시스템 내의 블록체인 노드의 동작 방법 - Google Patents
비잔틴 장애를 감내하는 블록체인 시스템 및 그 시스템 내의 블록체인 노드의 동작 방법 Download PDFInfo
- Publication number
- KR102485970B1 KR102485970B1 KR1020210066732A KR20210066732A KR102485970B1 KR 102485970 B1 KR102485970 B1 KR 102485970B1 KR 1020210066732 A KR1020210066732 A KR 1020210066732A KR 20210066732 A KR20210066732 A KR 20210066732A KR 102485970 B1 KR102485970 B1 KR 102485970B1
- Authority
- KR
- South Korea
- Prior art keywords
- blockchain
- block
- transaction
- ordering service
- audit
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title claims 2
- 238000012550 audit Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000004458 analytical method Methods 0.000 claims abstract description 26
- 230000007257 malfunction Effects 0.000 claims abstract description 14
- 230000008859 change Effects 0.000 claims description 99
- 238000012508 change request Methods 0.000 claims description 29
- 238000002360 preparation method Methods 0.000 claims description 18
- 239000004744 fabric Substances 0.000 claims description 12
- 230000000644 propagated effect Effects 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 5
- 230000001902 propagating effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000010076 replication Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예의 블록체인 플랫폼을 위한 비잔틴 장애 감내(BFT; Byzantine Fault Tolerance) 장치의 전체 시스템 구성도이다.
도 3은 본 발명의 일 실시예의 블록체인 플랫폼을 위한 비잔틴 장애 감내(BFT; Byzantine Fault Tolerance) 장치의 감사부 구성도이다.
도 4는 본 발명의 일 실시예의 블록체인 플랫폼을 위한 비잔틴 장애 감내(BFT; Byzantine Fault Tolerance) 장치의 변경부 구성도이다.
도 5는 본 발명의 일 실시예의 순서 정렬 서비스 감사를 위한 감사 트랜잭션 생성 및 분석 순서도이다.
도 6은 본 발명의 일 실시예의 순서 정렬 서비스 변경을 위한 변경 제안 트랜잭션 생성 및 제출 순서도이다.
도 7은 본 발명의 일 실시예의 변경 제안 트랜잭션 수신 및 변경 제안 트랜잭션에 대한 감사 트랜잭션 제출 순서도이다.
도 8은 본 발명의 일 실시예의 변경 제안 트랜잭션에 대한 합의 순서도이다.
도 9는 본 발명의 일 실시예의 하이퍼레저 패브릭으로의 감사부 적용 구성도이다.
도 10은 본 발명의 일 실시예의 하이퍼레저 패브릭으로의 변경부 적용 구성도이다.
Claims (14)
- 비잔틴 장애를 감내하는 블록체인 시스템에 있어서,
복수의 순서 정렬 서비스 후보군; 및
상기 복수의 순서 정렬 서비스 후보군 중 현재 순서 정렬 서비스에 의하여 생성된 블록을 수신하고, 상기 수신된 블록을 감사한 결과를 제1 감사 트랜잭션으로서 생성하는 블록체인 노드;
를 포함하고,
상기 제1 감사 트랜잭션은 다른 블록체인 노드들로 전파되고,
상기 블록체인 노드는 적어도 상기 제1 감사 트랜잭션을 분석한 결과에 기반하여 상기 복수의 순서 정렬 서비스 후보군 중 상기 현재 순서 정렬 서비스를 대체할 다른 신규 순서 정렬 서비스를 위한 변경 제안 트랜잭션을 생성하는,
블록체인 시스템. - 청구항 1에 있어서,
상기 블록체인 노드는 상기 제1 감사 트랜잭션, 및 상기 다른 블록체인 노드들로부터 수신된 제2 감사 트랜잭션의 분석 결과에 기반하여 상기 현재 순서 정렬 서비스를 변경하도록 제안하는 제1 변경 요청 메시지를 생성하고,
상기 제1 변경 요청 메시지는 상기 다른 블록체인 노드들로 전파되는,
블록체인 시스템. - 청구항 2에 있어서,
상기 블록체인 노드는 상기 다른 블록체인 노드들로부터 상기 현재 순서 정렬 서비스를 변경하도록 제안하는 제2 변경 요청 메시지들이 수신된 개수가 임계값 이상이면 상기 변경 제안 트랜잭션을 생성하고,
상기 변경 제안 트랜잭션은 상기 신규 순서 정렬 서비스에 제출되고, 상기 변경 제안 트랜잭션은 상기 신규 순서 정렬 서비스에 의하여 상기 다른 블록체인 노드로 전파되는,
블록체인 시스템. - 청구항 2에 있어서,
상기 블록체인 노드는 상기 제1 감사 트랜잭션 및 상기 제2 감사 트랜잭션의 분석 결과에 기반하여 각 블록의 합의 수준을 결정하고,
상기 블록체인 노드는 상기 제1 감사 트랜잭션 및 상기 제2 감사 트랜잭션의 분석 결과에 기반하여 얻어지는 오류 분석 결과와 합의 수준 업데이트 지연 시간을 기반으로 상기 현재 순서 정렬 서비스의 악의적 공격 여부 및 오동작을 검출하는,
블록체인 시스템. - 청구항 4에 있어서,
상기 블록체인 노드가 상기 제1 감사 트랜잭션 및 상기 제2 감사 트랜잭션의 분석 결과에 기반하여 각 블록의 합의 수준을 결정함에 있어서,
블록체인 구조에서 모든 블록들이 해시 체인으로 연결되어 있는 특징을 활용하여, 해시 체인으로 연결된 두 블록에 중에서 블록의 높이가 더 높은 블록에 대한 감사 트랜잭션을, 블록의 높이가 더 낮은 블록에 대한 감사 트랜잭션으로 해석하는 블록 합의 수준 결정 기법을 이용하는,
블록체인 시스템. - 청구항 4에 있어서,
상기 블록체인 노드가 상기 현재 순서 정렬 서비스의 악의적 공격 여부 및 오동작을 검출함에 있어서,
상기 블록체인 노드는 상기 현재 순서 정렬 서비스의 공격으로 인한 안정성(safety), 생존성(liveness), 그리고 공정성(fairness) 위반을 검출하고,
안정성(safety) 위반의 검출은, 블록체인상 동일한 높이의 블록에 대해 블록체인 노드들이 서로 다른 해시 값을 갖는 감사 트랜잭션을 제출한 경우를 판단함으로써 수행되고,
생존성(liveness) 위반의 검출은, 블록의 합의 수준이 유한하게 정해진 시간 동안 업데이트 되지 않는 경우를 판단함으로써 수행되고,
공정성(fairness) 위반의 검출은, 블록체인상 동일한 범위 내에 위치한 블록들에서 확인되는 감사 트랜잭션 개수가 각 블록체인 노드들 간에 불균형이 확인되는 경우를 판단함으로써 수행되는,
블록체인 시스템. - 비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법에 있어서,
블록체인 노드가 순서 정렬 서비스 변경을 제안하는 변경 요청 메시지를 생성하고 다른 블록체인 노드들로 전파하는 단계;
각 블록체인 노드로부터 수신한 변경 요청 메시지를 분석하여, 소정의 수 이상의 블록체인 노드들이 변경에 동의한다고 판단하는 경우, 신규 순서 정렬 서비스를 위한 변경 제안 트랜잭션을 생성하여 이를 변경될 순서 정렬 서비스에 제출하는 단계;
블록체인 노드가 신규 순서 정렬 서비스로부터 변경 제안 트랜잭션이 포함된 블록을 수신하고, 해당 블록에 대한 변경 제안 합의를 위한 감사 트랜잭션을 생성하고 제출하는 단계; 및
블록체인 노드가 신규 순서 정렬 서비스로부터 수신하는 블록에 포함되어 있는 각 블록체인 노드들이 제출한 변경 제안 합의를 위한 감사 트랜잭션을 분석하여 신규 순서 정렬 서비스로의 변경을 합의하는 단계; 를 포함하는,
비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법. - 청구항 7에 있어서, 변경 요청 메시지는,
준비(prepared) 합의 수준을 갖는 블록 중 가장 높은 블록 높이인 준비 높이를 갖는 블록을 기준으로 생성한 정보를 포함하고,
준비 높이를 갖는 블록을 기준으로 생성한 정보는, 신규 순서 정렬 서비스 식별 정보, 현재 제공받고 있는 순서 정렬 서비스 식별 정보, 준비 높이, 준비 높이에 위치한 블록 해시 값, 해당 블록의 합의 수준인 준비(prepared)를 검증하는데 필요한 다른 블록체인 노드들의 감사 트랜잭션을 포함하는 후속 블록 정보 리스트, 및 블록체인 노드의 신원을 포함하는,
비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법. - 청구항 7에 있어서, 변경 제안 트랜잭션은,
신규 순서 정렬 서비스 식별 정보, 타 블록체인 노드들로부터 수신한 변경 요청 메시지 집합, 수신한 변경 요청 메시지들 중에서 최신의 순서 정렬 서비스 식별 정보, 최신 순서 정렬 서비스에서 확인되는 최고 준비 높이 정보, 최고의 준비 높이에 위치한 블록 해시 값, 최고의 준비 높이에 대한 검증을 위한 블록체인 노드들의 감사 트랜잭션을 포함하는 후속 블록 리스트, 최고의 준비 높이 블록까지 고려하여 생성된 블록체인 상태 정보, 및 블록체인 노드의 신원을 포함하는,
비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법. - 청구항 7에 있어서, 변경 제안 합의를 위한 감사 트랜잭션은,
블록의 높이, 블록의 해시 값, 현재 순서 정렬 서비스 식별 정보, 블록 내의 변경 제안 트랜잭션 위치 오프셋 정보, 및 블록체인 노드의 신원을 포함하는,
비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법. - 청구항 7에 있어서, 상기 방법은,
해시 체인으로 연결된 두 블록에 대해 블록의 높이가 더 높은 블록에 대한 감사 트랜잭션을 블록의 높이가 더 낮은 블록에 대한 감사 트랜잭션으로 해석하고, 각 블록체인 노드가 판단한 유효한 변경 제안 트랜잭션의 위치 오프셋 정보 단위로 나누어 감사 트랜잭션을 해석하여 정하는 변경 제안 합의를 위한 감사 트랜잭션 분석 방법인 변경 제안 트랜잭션을 포함하는 블록의 합의 수준을 정하는 단계를 더 포함하는,
비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법. - 청구항 7에 있어서, 상기 방법은,
하이퍼레저 패브릭의 피어(peer) 노드상 기존 모듈과 연동하는 하이퍼레저 패브릭에서의 순서 정렬 서비스 비잔틴 장애 감내 방법인 감사부 및 변경부를 하이퍼레저 패브릭으로 적용하는 단계를 더 포함하는,
비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법. - 청구항 7 내지 청구항 12 중 어느 한 항의 비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
- 청구항 7 내지 청구항 12 중 어느 한 항의 비잔틴 장애를 감내하는 블록체인 시스템 내의 블록체인 노드의 동작 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/473,954 US12147535B2 (en) | 2020-09-14 | 2021-09-13 | Apparatus and method for tolerating Byzantine faults in blockchain platforms |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20200117921 | 2020-09-14 | ||
KR1020200117921 | 2020-09-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220035823A KR20220035823A (ko) | 2022-03-22 |
KR102485970B1 true KR102485970B1 (ko) | 2023-01-09 |
Family
ID=80988969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210066732A KR102485970B1 (ko) | 2020-09-14 | 2021-05-25 | 비잔틴 장애를 감내하는 블록체인 시스템 및 그 시스템 내의 블록체인 노드의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102485970B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240002729A (ko) | 2022-06-29 | 2024-01-05 | 포항공과대학교 산학협력단 | 외부 저장장치를 활용하는 비잔틴 장애 감내 블록 데이터 저장 시스템, 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102002509B1 (ko) * | 2019-04-04 | 2019-07-22 | 주식회사 한국정보보호경영연구소 | 공증센터를 포함하는 프라이빗 블록체인 시스템 및 이의 공증방법 |
-
2021
- 2021-05-25 KR KR1020210066732A patent/KR102485970B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102002509B1 (ko) * | 2019-04-04 | 2019-07-22 | 주식회사 한국정보보호경영연구소 | 공증센터를 포함하는 프라이빗 블록체인 시스템 및 이의 공증방법 |
Non-Patent Citations (1)
Title |
---|
"hyperledger-fabricdocs Documentation", https://hyperledger-fabric.readthedocs.io/_/downloads/en/release-1.3/pdf/(2020.09.02)* |
Also Published As
Publication number | Publication date |
---|---|
KR20220035823A (ko) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8464091B2 (en) | Byzantine fault tolerant dynamic quorum using a trusted platform module | |
KR102170345B1 (ko) | 뷰 변경 프로토콜을 종료하기 위한 시스템 및 방법 | |
US10810001B2 (en) | Device-driven auto-recovery using multiple recovery sources | |
KR102424841B1 (ko) | 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법 | |
EP3596888B1 (en) | System and method for ending view change protocol | |
US8166341B2 (en) | Systems and methods for testing results of configuration management activity | |
US20180285217A1 (en) | Failover response using a known good state from a distributed ledger | |
KR102019211B1 (ko) | 비잔틴 장애를 극복 가능한 블록체인 생성 방법 | |
US12147535B2 (en) | Apparatus and method for tolerating Byzantine faults in blockchain platforms | |
US20070214355A1 (en) | Leaderless Byzantine consensus | |
JP5531625B2 (ja) | 通信システム及びその障害検出方法 | |
CN109063489A (zh) | 一种启动方法及装置 | |
Shapiro et al. | The performance of Byzantine fault tolerant blockchains | |
CN111769903A (zh) | 应用于网络安全防御系统的网络安全防御方法及相关装置 | |
KR102485970B1 (ko) | 비잔틴 장애를 감내하는 블록체인 시스템 및 그 시스템 내의 블록체인 노드의 동작 방법 | |
CN113630445B (zh) | 一种基于区块链网络的数据存储方法及装置 | |
CN111124429B (zh) | 持续交付方法和装置 | |
EP4195033A1 (en) | Method and apparatus for upgrading blockchain system, and terminal device | |
CN105550071A (zh) | 系统文件升级及检测方法、通信设备 | |
EP3545658B1 (en) | Evaluation and generation of a whitelist | |
CN106301967B (zh) | 一种数据同步方法及带外管理设备 | |
Yang et al. | Analysis of instantaneous availability of communication system based on the influence of support equipment | |
CN110347514B (zh) | 事件处理方法和装置 | |
CN107949831B (zh) | 多重化处理系统、多重化处理方法以及程序 | |
CN112311607B (zh) | Cli配置验证方法、装置、控制器及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20210525 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20220727 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20221227 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230103 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20230103 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |