# 내결함성 (Fault Tolerance)

내결함성(fault tolerance)은 시스템의 일부 구성 요소가 고장 나거나 오작동해도 전체 시스템이 정상적으로 계속 동작하는 성질입니다. 서버·디스크·네트워크·소프트웨어 어디에서든 장애는 언젠가 일어난다는 전제에서 출발하는 설계 원칙입니다.

## 자세히 알아보기

내결함성의 기본 수단은 중복(redundancy)입니다. 같은 데이터를 여러 디스크에 저장하는 RAID, 같은 서비스를 여러 서버·데이터센터에 두는 이중화와 자동 장애 조치(failover), 데이터 복제 등이 있습니다. 고장을 감지하는 헬스 체크, 일부 기능만으로 버티는 성능 저하 운전(graceful degradation)도 함께 쓰입니다.

어떤 고장까지 견딜 수 있는지는 '장애 모델'로 정의합니다. 가장 단순한 것은 노드가 멈추기만 하는 크래시 장애이고, 가장 어려운 것은 노드가 거짓 정보를 보내거나 서로 다른 상대에게 다른 말을 하는 비잔틴 장애입니다. 분산 합의 이론에서 크래시 장애를 견디는 Paxos·Raft는 전체 n개 노드 중 f개 장애를 견디려면 n ≥ 2f + 1이 필요하고, 비잔틴 장애를 견디는 BFT 합의는 n ≥ 3f + 1이 필요합니다.

내결함성은 고가용성과 비슷하지만 같지 않습니다. 고가용성이 "짧은 중단 후 빨리 복구"를 목표로 한다면, 내결함성은 이용자가 장애를 아예 느끼지 않게 하는 것을 목표로 합니다. 그만큼 비용과 복잡도가 커집니다.

내결함성 수준을 정할 때는 비용과 위험의 균형이 필요합니다. 모든 구성 요소를 세 겹으로 이중화하면 안전하지만 비용이 크게 늘고, 구성 요소가 많아질수록 설정 오류 같은 새로운 장애 원인도 생깁니다.

## 블록체인·암호화폐에서는

블록체인은 그 자체로 내결함성 시스템입니다. 수천 개의 노드가 같은 원장을 보관하므로 일부 노드가 꺼지거나 악의적으로 행동해도 네트워크는 계속 동작합니다. 비트코인의 작업 증명은 해시파워의 과반이 정직하면 안전하고, 텐더민트·HotStuff 계열 BFT 합의를 쓰는 체인은 검증자 지분의 3분의 1 미만이 악의적이면 안전합니다. 거래소와 노드 운영자는 여러 지역에 노드를 분산하고, 여러 RPC 제공자를 함께 써서 단일 장애 지점을 줄입니다.

스테이블코인 발행사와 브리지 운영자처럼 관리자 키를 쥔 주체에게는 키 관리의 내결함성도 중요합니다. 한 사람이나 한 서버만 키를 가지고 있으면 그 하나가 고장 나는 것만으로 서비스가 멈추기 때문입니다.

## 쉽게 말하면

비행기 엔진 하나가 꺼져도 나머지 엔진으로 계속 날 수 있도록 만든 설계입니다.

---
출처: https://achivx.kr/glossary/fault-tolerance-%EA%B3%A0%EC%9E%A5-%ED%97%88%EC%9A%A9/ · ACHIVX 용어 사전 · 수정일 2026-10-20
