🛡️ 비잔틴 장애 허용 BFT
일부 참여자가 꺼지거나 거짓말을 해도 블록체인이 하나의 올바른 역사에 합의할 수 있는 성질이에요. 정직한 노드가 충분히 많으면 네트워크는 안전하게 돌아가요.
🏰 핵심을 쉽게 — 도시를 포위한 장군들
이 개념은 1982년의 비잔틴 장군 문제라는 사고 실험에서 왔어요. 여러 장군이 도시를 포위하고 있는데, 모두 동시에 공격하거나 모두 동시에 후퇴해야 해요. 소통 수단은 전령밖에 없고, 문제는 여기서 터져요: 반역자인 장군이나 전령이 거짓 명령을 흘릴 수 있거든요. 충성스러운 장군들이 어떻게 하나의 계획에 합의할 수 있을까? 블록체인이 마주한 문제가 정확히 이거예요. "장군"은 각 노드이고, 합의해야 할 "계획"은 올바른 장부 기록이에요.
🗳️ 왜 ⅔가 기준선인가요?
비잔틴 장애 허용 시스템은 정해진 범위 안의 오류만 감당해요 — 무한정이 아니에요. 일반적인 기준: 참여자의 ⅔ 이상이 정직하면 네트워크는 안전하고, 뒤집어 말하면 최대 약 ⅓까지의 불량 노드를 허용한다는 뜻이에요. 불량 노드가 이 선을 넘으면 보장이 깨지고 네트워크가 멈추거나 의견이 갈릴 수 있어요. BFT는 마법의 방패가 아니라, 명확히 측정된 한계예요.
🔗 BFT vs 합의 메커니즘
초보자가 자주 헷갈리는 부분이에요. BFT는 목표예요: 배신자가 있어도 하나의 역사에 합의하기. 합의 메커니즘은 그 목표에 도달하기 위해 블록체인이 선택한 방법이고요.
| 개념 | 설명 |
|---|---|
| 🛡️ 비잔틴 장애 허용 | 보안 성질 — 일부 노드가 실패하거나 속여도 올바른 상태를 유지 |
| ⛏️ 작업증명 | BFT를 달성하는 방법 중 하나. 컴퓨팅 파워 경쟁 활용 (비트코인 사용) |
| 🪙 지분증명 | BFT를 달성하는 방법 중 하나. 예치된 코인 지분으로 선별 (이더리움 사용) |
📌 한 줄 요약: BFT는 목적지고, 합의 메커니즘은 그리로 가는 도로예요.
⚡ pBFT — 빠르지만 규모가 작은 변형
실용 비잔틴 장애 허용(pBFT)은 최적화 버전이에요. 한 노드가 주 리더(primary)가 되고 나머지는 백업으로 참여하며, 작업증명 같은 무거운 계산 경쟁 없이 다수결 투표로만 합의해요. 덕분에 빠르고 지연도 낮아요. 단, 모든 노드가 서로 메시지를 주고받아야 해서 트래픽이 폭발적으로 늘어나는 게 약점이에요. 그래서 pBFT는 대규모 네트워크에는 잘 맞지 않고 다른 메커니즘과 조합해서 씁니다. pBFT도 합의에는 ⅔ 이상의 동의가 필요해요.
🌐 실제 코인에서 BFT를 만나는 곳
- 🪐 텐더민트(Tendermint) — 코스모스(ATOM)를 움직이는 BFT 합의 엔진
- 💧 연합 비잔틴 합의(Federated Byzantine Agreement) — XRP와 스텔라(XLM)가 쓰는 방식
- 🔷 pBFT — 질리카(ZIL)가 채택
- 🛡️ BFT 수준의 안전성 — 비트코인·이더리움은 자체 합의 메커니즘으로 BFT와 동등한 안전성을 달성해요(명칭에 'BFT'는 없어도)
❓ 자주 묻는 질문
- 비잔틴 장애 허용이면 블록체인이 절대 멈추지 않나요?
- 아니요. 허용할 수 있는 문제 규모에는 한계가 있어요. 정직한 참여자가 기준선(보통 ⅔ 이상)을 유지해야만 안전이 보장됩니다. 불량 노드가 ⅓을 넘으면 안전 보장이 깨지고 네트워크가 합의를 멈출 수 있어요.
- BFT는 작업증명·지분증명과 같은 말인가요?
- 아니요. BFT는 '배신자가 있어도 하나의 역사에 합의한다'는 목표이고, 작업증명과 지분증명은 그 목표에 도달하기 위한 방법이에요. BFT를 목적지라고 하면, 합의 메커니즘은 그리로 가는 도로라고 할 수 있어요.
- 이 개념은 어디서 나왔나요?
- 1982년에 발표된 '비잔틴 장군 문제'라는 사고 실험에서 왔어요. 도시를 포위한 여러 장군이 '모두 공격' 또는 '모두 후퇴'를 동시에 실행해야 하는데, 전령만으로 소통하다 보니 반역자인 장군이나 전령이 거짓 명령을 보낼 수 있어요. 충성스러운 장군들이 어떻게 하나의 계획에 합의할 수 있는가가 핵심 물음이에요.