비잔틴 장애 허용(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 |
댓글