본문 바로가기
블록체인

블록체인 비잔틴 장애 허용

by 인플레이션의 종말 2023. 3. 25.

비잔틴 장애 허용(Byzantine Fault Tolerance, BFT)이란?

 

BFT(Byzantine Fault Tolerance)는 네트워크 장애 또는 악의적인 노드와 같은 결함이 있거나 악의적인 구성 요소가 있는 경우에도 계속 작동할 수 있도록 하는 분산 시스템의 속성입니다. BFT는 노드의 하위 집합이 악의적으로 작동하거나 제대로 작동하지 않는 경우에도 네트워크가 합의를 유지할 수 있도록 보장하기 때문에 블록체인에서 중요합니다.

BFT는 1982년 Lamport, Shostak 및 Pease의 논문에서 처음 소개되었으며 이후 블록체인을 포함한 다양한 분산 시스템에 적용되었습니다.

블록체인 네트워크에서 BFT는 네트워크 보안을 손상시키지 않고 노드 하위 집합의 장애를 허용할 수 있는 합의 알고리즘을 사용하여 달성됩니다. 블록체인에서 사용되는 일반적인 BFT 알고리즘 중 하나는 PBFT(Practical Byzantine Fault Tolerance) 알고리즘입니다.

PBFT는 트랜잭션을 검증하고 블록체인 상태에 대한 합의에 도달하기 위해 서로 통신하는 노드 또는 검증자 네트워크를 포함합니다. 각 검증자는 블록체인의 복사본을 가지고 있으며 트랜잭션을 실행하는 상태 시스템을 유지합니다.

PBFT 알고리즘은 다음과 같은 여러 단계를 포함합니다:

1. 요청 단계: 클라이언트가 트랜잭션 요청을 검증자 네트워크로 보냅니다.
2. 사전 준비 단계: 기본 검증자가 트랜잭션을 네트워크로 브로드캐스트 하고 시퀀스 번호를 할당합니다.
3. 준비 단계: 다른 유효성 검사자는 트랜잭션을 확인하고 시퀀스 번호에 동의합니다.
4. 커밋 단계: 검증자는 트랜잭션을 실행하고 결과를 네트워크에 브로드캐스트 합니다.
5. 회신 단계: 클라이언트는 결과를 수신하고 결과가 올바르게 실행되었는지 확인할 수 있습니다.

검증자가 결함이 있거나 악의적인 경우 프로토콜을 벗어나거나 네트워크에 잘못된 정보를 보낼 수 있습니다. 그러나 PBFT는 프로토콜의 각 단계에서 합의하기 위해 특정 검증자 임계값이 필요하기 때문에, 일부 검증자가 제대로 작동하지 않더라도 네트워크는 여전히 합의에 도달할 수 있습니다.

BFT는 결함이 있거나 악의적인 노드가 있더라도 네트워크가 합의를 유지할 수 있도록 보장하기 때문에 블록체인에서 중요합니다. 이를 통해 네트워크를 보다 강력하고 안전하게 만들고 공격이나 네트워크 장애의 위험을 줄일 수 있습니다.

'블록체인' 카테고리의 다른 글

블록체인 시스템 구성요소  (0) 2023.03.26
블록체인 관련 용어  (1) 2023.03.25
블록체인 위임 지분 증명 DPoS  (0) 2023.03.25
블록체인 지분증명 PoS  (0) 2023.03.25
블록체인 작업증명 PoW  (0) 2023.03.25

댓글