합의 알고리즘, 한 번에 정리하기: PoW·PoS·DPoS·BFT
블록체인 합의가 필요한 이유부터 PoW/PoS/DPoS/BFT의 핵심 원리와 장단점, Nothing-at-Stake 개념을 “언제 어떤 선택이 맞는지” 기준으로 연결해 이해하는 필러 글
블록체인에서 제일 헷갈리는 단어 중 하나가 ‘합의(consensus)’다.
처음엔 “채굴이냐 스테이킹이냐” 정도로만 보이다가, 어느 순간 BFT가 나오고, DPoS가 나오고, “Nothing-at-Stake” 같은 말까지 튀어나오면 흐름이 끊긴다.
나는 합의 알고리즘을 외우는 대신, 아래 질문 3개로 정리하는 게 제일 현실적이라고 본다.
- 왜 합의가 필요한가? (서로 믿지 못하는데 장부를 하나로 맞추려면)
- 무엇을 합의하는가? (어느 블록/상태가 ‘정답’인지)
- 대신 무엇을 포기하는가? (속도, 비용, 탈중앙성, 운영 난이도)
이 글은 PoW, PoS, DPoS, BFT 계열을 “정의”보다 “트레이드오프” 중심으로 연결해주는 지도 역할을 한다.
0) 합의란 결국 “누가 맞는 체인인가”를 정하는 규칙이다
블록체인은 여러 노드가 동시에 같은 규칙을 실행하지만, 네트워크 지연이나 공격 때문에 서로 다른 블록 후보가 잠깐씩 생길 수 있다.
합의 알고리즘은 그때마다 이런 질문에 답한다.
- 지금 이 순간, 어떤 블록을 채택할 것인가?
- 포크가 생기면 어떻게 하나로 수렴할 것인가?
- 공격자가 체인을 뒤집으려면 얼마나 비싸게 만들 것인가?
한 줄 요약:
합의는 “정답 체인을 고르는 방식”이고, 보안은 그 방식이 공격자를 얼마나 ‘손해 보게’ 만드는지에 달려 있다.
1) PoW(Proof of Work): ‘비싼 연산’을 강제로 태워서 공격을 어렵게 만든다
PoW는 가장 직관적이다.
블록을 만들려면 일(Work) 을 해야 하고, 그 일이 비싸기 때문에 공격이 어렵다.
PoW의 핵심 감각
- 누가 블록을 만들지 = 가장 먼저 유효한 해시를 찾은 사람
- 체인을 뒤집기 어렵게 만드는 힘 = 전기/장비/시간 같은 현실 비용
장점
- 검증이 단순하고, 보안 직관이 강함(공격 비용이 물리적으로 큼)
- 오랜 기간 검증된 모델
단점(현실적인 단점)
- 에너지/환경 논쟁, 장비 경쟁(채굴 중앙화 우려)
- 빠른 확장성/낮은 수수료와 같이 달성하기 어려움
PoW를 한 문장으로:
“블록 생성 권한을 ‘비싼 비용을 태우는 경쟁’으로 배분한다.”
2) PoS(Proof of Stake): ‘돈을 걸어’ 규칙을 어기면 잃게 만든다
PoS는 “전기를 태우는 대신, 담보를 걸게 만들자”는 발상이다.
검증자(validator)는 코인을 스테이킹하고, 규칙을 어기면 슬래싱(slash) 같은 형태로 손해를 본다.
PoS의 핵심 감각
- 보안의 기반이 “물리적 비용”에서 “경제적 담보”로 이동한다
- 공격자는 단순히 컴퓨팅 파워가 아니라 스테이크(지분) 를 확보해야 한다
장점
- 에너지 소비가 PoW보다 훨씬 낮음(일반적으로)
- 프로토콜 설계에 따라 더 빠른 확정성(finality) 설계가 가능
단점(운영/게임이론 포인트)
- 검증자 집합이 특정 세력에 과도하게 쏠리면 중앙화 우려
- “검증 규칙/벌점/인센티브” 설계가 복잡해짐
PoS를 한 문장으로:
“규칙을 어길 때 손해가 커지도록 ‘담보’로 보안을 만든다.”
3) Nothing-at-Stake: “아무 비용 없이 여러 체인에 동시에 투표”할 유인이 생긴다
PoS 이야기를 하면 거의 항상 따라붙는 표현이 Nothing-at-Stake다.
의미는 어렵지 않다.
PoW에서는 포크가 났을 때 양쪽 체인에 동시에 채굴하려면 전기/장비가 두 배로 든다.
하지만 일부 PoS 구조에서는 “여러 체인에 동시에 서명”하는 게 큰 비용이 없을 수 있다.
그러면 검증자는 이런 유혹을 받는다.
- “어차피 비용이 거의 없으니 양쪽에 다 서명해두면 손해가 없잖아?”
그래서 현대 PoS는 보통 다음을 강하게 설계한다.
- 이중 서명/악의적 행위에 대한 슬래싱
- 체인 선택 규칙
- 최종성(finality) 메커니즘
핵심:
Nothing-at-Stake는 “PoS가 나쁘다”가 아니라, PoS를 제대로 만들려면 반드시 막아야 하는 취약점을 설명하는 용어다.
4) DPoS(Delegated Proof of Stake): “대표를 뽑아서 운영 효율을 올리자”
DPoS는 PoS의 한 변형으로, 모두가 직접 검증자가 되기보다 대표(블록 생산자)를 선출해 운영 효율을 올리는 구조에 가깝다.
DPoS의 핵심 감각
- 합의 참여자를 줄여서 처리량/속도/운영 효율을 높인다
- 대신 “대표가 소수”가 되니 정치(거버넌스)와 중앙화 리스크가 커진다
장점
- 빠른 블록 생성, 비교적 예측 가능한 운영
- 사용자 입장 UX 개선에 유리한 경우가 많음
단점
- 대표 선출 과정에서 담합/매수/권력 고착이 생길 수 있음
- 검열 저항성이 낮아질 수 있음
DPoS를 한 문장으로:
“탈중앙을 조금 덜고, 운영 효율을 더하는 대표 선출형 합의.”
5) BFT(Byzantine Fault Tolerance): “일부가 악의적이어도 합의를 유지하는 방식”
BFT는 ‘비잔틴 장군 문제’에서 나온 개념으로, 네트워크 참여자 일부가 악의적이거나 오류가 있어도 합의를 유지하는 모델을 말한다.
실무적으로는 BFT를 이렇게 이해하는 게 편하다.
- “참여자 수가 비교적 제한적일 때”
- “메시지 교환(투표/확인)을 통해”
- “빠른 확정성(finality)을 제공”하는 방식
장점
- 빠른 최종성: “이 블록은 확정”이 비교적 명확
- 엔터프라이즈/허가형(퍼미션드) 네트워크에서 강점
단점
- 참여자 수가 커질수록 메시지 교환 비용이 커져 확장성 제한
- 퍼블릭 환경에서 완전한 개방형 참여와 결합하기 까다로움
BFT를 한 문장으로:
“투표 기반으로 빠르게 확정하되, 참여자 규모에 제약이 생긴다.”
6) 한 장으로 정리: 언제 어떤 합의가 ‘맞는 선택’인가?
이걸 “우열”로 보려 하면 끝이 없다.
대신 상황별로 보면 빠르다.
- PoW: 보안 직관이 강하고 검증된 모델이 필요할 때(단, 비용/확장성 trade-off)
- PoS: 에너지 효율 + 경제적 담보 기반 보안 + 더 다양한 프로토콜 설계를 원할 때
- DPoS: 속도/운영 효율을 크게 얻고, 대표 선출 구조(거버넌스)를 감수할 때
- BFT 계열: 빠른 확정성과 제한된 참여자 집합이 자연스러운 환경(허가형/컨소시엄 등)
7) 초보가 제일 많이 헷갈리는 포인트 3개(짧게)
-
“PoS = 중앙화”는 반만 맞다
구조/분산 정도/검증자 구성/슬래싱 설계에 따라 달라진다. -
“BFT = 프라이빗 체인 전용”도 반만 맞다
퍼블릭에서도 BFT 메커니즘을 부분적으로 채택하는 설계가 있다(다만 확장성/참여자 수가 관건). -
“Nothing-at-Stake = PoS의 치명적 단점”도 정확히는 아니다
그건 “막아야 하는 공격/유인”이고, 그래서 슬래싱/최종성 설계가 중요해진다.
마무리: 합의 알고리즘은 결국 ‘가격표’다
합의 알고리즘은 공짜가 아니다.
PoW는 “전기/장비”로, PoS는 “담보/벌점”으로, DPoS는 “대표 구조”로, BFT는 “메시지 교환 비용”으로 가격을 치른다.
그래서 좋은 질문은 이거다.
“이 체인은 무엇을 얻기 위해, 어떤 비용을 선택했나?”
이 질문 하나면, 새로운 체인을 보더라도 합의 방식이 덜 낯설어진다.
FAQ
Q1. PoW가 더 안전한가요, PoS가 더 안전한가요?
“안전”의 정의가 필요하다. PoW는 물리 비용 기반이라 직관이 강하고, PoS는 경제적 담보 기반이라 설계에 따라 강점이 달라진다. 결국 보안 모델 + 참여자 분포 + 인센티브 설계를 같이 봐야 한다.
Q2. Finality(최종성)는 왜 중요한가요?
결제가 “정말 확정”인지 판단하는 기준이 된다. 확정성이 강할수록 되돌리기 어려워지고, 서비스 설계(대기 시간/리스크 관리)가 쉬워진다.
참고 링크
- https://www.in-labs.xyz/tech-lab/blockchain-course-11-proof-of-work-pow
- https://www.in-labs.xyz/tech-lab/mining-basics-rewards-halving-pools
- https://www.in-labs.xyz/tech-lab/blockchain-course-12-proof-of-stake-pos
- https://www.in-labs.xyz/tech-lab/nothing-at-stake-pos
- https://www.in-labs.xyz/tech-lab/blockchain-course-13-dpos-delegated-proof-of-stake
- https://www.in-labs.xyz/tech-lab/byzantine-generals-problem-bft
- https://www.in-labs.xyz/tech-lab/turing-completeness-principles-blockchain