블록체인의 특징
- 중앙 서버가 없다
- 누구나 시스템에 참여할 수 있다
- 심지어 일부는 악의적으로 행동한다
이 환경에서 과연 우리는 “이 거래가 진짜다”라고 말할 수 있을까?
이 질문에서 시작되는 이야기가 바로 블록체인이고, 그 근본에는 비잔티움 장군 문제가 있다.
---
1. 모두를 믿을 수 없는 세상
비잔티움 장군 문제는 꽤 직관적인 상황을 가정한다.
여러 장군이 동시에 공격해야 승리할 수 있다.
하지만 일부 장군은 배신자다.
어떤 장군은 공격하자고 말하고,
어떤 장군은 후퇴하자고 말한다.
심지어 같은 내용을 서로 다르게 전달하기도 한다.
이때 중요한 건 단 하나다.
모두가 같은 결정을 내려야 한다는 것.
이 문제를 분산 시스템에 그대로 옮기면 이렇게 바뀐다.
“신뢰할 수 없는 서버들이 서로 다른 데이터를 보내고 있을 때, 우리는 무엇을 기준으로 ‘정답’을 결정할 것인가?”
---
2. 기존 방식은 왜 통하지 않을까
우리는 이미 분산 시스템에서 합의를 만드는 방법을 알고 있다.
대표적으로 Raft 같은 알고리즘이 있다.
이 방식은 간단하다.
- Leader 하나를 정한다
- Leader만 데이터를 기록한다
- 나머지는 이를 따른다
문제는 전제가 있다.
Leader를 믿을 수 있어야 한다는 것이다.
하지만 블록체인의 세계에서는 이 전제가 성립하지 않는다.
누가 Leader가 되든, 그 사람이 거짓말을 하면 끝이다.
누군가 데이터를 조작해도 막을 방법이 없다.
즉, “누군가를 믿는 구조” 자체가 깨진다.
---
3. 발상의 전환: 신뢰하지 말자
블록체인은 여기서 완전히 다른 선택을 한다.
아예 아무도 믿지 않는 것이다.
대신 이런 질문을 던진다.
“거짓말을 하려면 엄청난 비용이 들게 만들면 어떨까?”
이게 바로 블록체인의 핵심 아이디어다.
---
4. Proof of Work: 정답은 ‘노력’으로 결정된다
비트코인은 아주 단순한 규칙을 만든다.
- 어려운 문제를 하나 던진다
- 가장 먼저 푼 사람이 기록을 추가한다
여기서 중요한 점은 두 가지다.
문제를 푸는 것은 매우 어렵다.
하지만 정답을 검증하는 것은 매우 쉽다.
이 구조가 만들어내는 효과는 명확하다.
- 정직하게 참여하면 보상을 얻는다
- 조작하려면 엄청난 계산 비용이 든다
결국 시스템은 이렇게 흘러간다.
가장 많은 연산을 수행한 기록이 쌓이고,
그 기록이 가장 신뢰할 수 있는 데이터가 된다.
---
5. “가장 긴 체인”이 진짜인 이유
블록체인에서는 “가장 긴 체인”을 정답으로 본다.
이게 처음 보면 이상하다.
왜 길이가 길다고 진짜일까?
이걸 이해하려면 이렇게 생각하면 된다.
체인이 길다는 것은
그만큼 많은 계산이 누적되었다는 의미다.
만약 누군가 과거 데이터를 조작하려면 어떻게 해야 할까?
- 기존 체인을 따라잡아야 한다
- 동시에 새로운 블록도 계속 만들어야 한다
즉, 전체 네트워크보다 더 많은 연산 능력이 필요하다.
현실적으로 거의 불가능하다.
그래서 “가장 긴 체인”은
“가장 많은 비용이 들어간 기록”이 되고,
결국 가장 신뢰할 수 있는 데이터가 된다.
---
6. 이것이 비잔티움 문제의 해답이 되는 이유
비잔티움 문제의 핵심은 이것이다.
누가 맞는지 알 수 없는 상황에서 어떻게 합의할 것인가
블록체인은 이 질문을 이렇게 바꾼다.
누가 맞는지는 중요하지 않다.
누가 가장 많은 비용을 지불했는지가 중요하다.
이 순간, 문제는 완전히 다른 형태가 된다.
신뢰의 문제가 아니라, 경제적 게임이 된다.
---
7. 다시 돌아보는 분산 시스템
이 흐름을 분산 시스템 이론과 연결해보면 더 명확해진다.
CAP 정리는 장애 상황에서 무엇을 포기할지 선택하게 만든다.
PACELC 정리는 평상시에도 성능과 정확성 사이의 균형을 요구한다.
Raft는 Leader를 통해 데이터 충돌을 막는다.
하지만 이 모든 것들은 기본적으로 “정직한 시스템”을 전제로 한다.
블록체인은 이 전제를 버린다.
그리고 그 위에 완전히 새로운 규칙을 만든다.
---
8. 마무리
블록체인을 이해하면서 가장 인상 깊었던 점은 이것이다.
신뢰를 강화하려고 하지 않았다.
아예 신뢰를 제거했다.
그리고 그 자리를 비용과 보상이라는 구조로 채웠다.
결국 분산 시스템은 기술적인 문제이면서 동시에 설계의 문제다.
무엇을 믿고, 무엇을 포기하고, 어떤 기준으로 합의를 만들 것인지에 대한 선택이다.
그리고 블록체인은 그 선택 중 하나의 극단적인 해답이다.
“서버를 믿지 못하면 어떻게 할까?”: 블록체인으로 풀어보는 비잔티움 장군 문제
2026. 3. 18. 15:12