Nothing at Stake: PoS 블록체인의 숨은 합의 위험성
PoS 블록체인의 대표적인 보안 이슈인 Nothing at Stake 문제를 직관적으로 설명하고, 왜 슬래싱과 체인 선택 규칙이 필수적인지 정리한 tech-lab 인트로 글입니다.
독자는 이 글을 통해 Nothing at Stake 문제의 직관적인 의미와 PoS에서 왜 반드시 슬래싱과 체인 선택 규칙이 필요한지를 이해하게 되며, 앞으로 다른 합의 알고리즘 글을 읽을 때 공통된 위험 모델을 더 쉽게 연결해 볼 수 있습니다.

Nothing at Stake란 무엇인가
Nothing at Stake는 말 그대로 검증자가 잃을 것이 거의 없는 상태에서 여러 체인에 동시에 서명할 수 있는 상황을 가리킵니다. 이 개념은 특히 PoS(Proof of Stake, 지분 증명) 블록체인에서 자주 등장합니다.
PoW에서는 블록을 생성하려면 실제 계산 자원과 전기를 써야 하므로, 여러 포크 체인을 동시에 캔다는 것은 엄청난 비용을 의미합니다. 반대로 PoS에서는 검증자가 이미 스테이킹만 해 놓았다면, 추가적인 계산 비용 없이 여러 체인에 서명할 수 있습니다. 여기서 “아무 대가 없이 여러 체인에 참여할 수 있다”는 점이 Nothing at Stake 문제의 핵심입니다.
정리하면, 체인이 포크될 때:
- PoW: 두 체인에 동시에 참여하려면 두 배의 해시 파워와 비용이 필요.
- PoS: 동일한 지분으로 두 체인 모두에 서명 가능(제한이 없다면).
검증자 입장에서 “어느 체인이 최종 승자가 될지 몰라서 그냥 다 서명한다”는 전략이 합리적인 선택이 되어 버리면, 네트워크 입장에서는 일관성(consistency) 과 최종성(finality) 이 크게 흔들립니다.
PoW와 비교해 보는 위험 구조
Nothing at Stake를 직관적으로 이해하기 위해, PoW와 PoS의 체인 포크 상황을 간단한 표로 비교해 보겠습니다.
| 구분 | PoW(작업 증명) | PoS(지분 증명, 단순 모델) |
|---|---|---|
| 추가 비용 | 다른 체인에 참여할 때 해시 파워·전기 비용 증가 | 동일 지분으로 여러 체인에 서명 가능 |
| 합리적 전략 | 보통 하나의 체인에만 마이닝 | 여러 체인에 모두 서명하는 전략 가능 |
| 공격 난이도 | 51% 해시 파워 필요 등 높은 비용 | Nothing at Stake를 악용한 포크·더블 스펜딩 시도 가능 |
| 방어 수단 | 해시 파워 확보, 난이도 조정 | 슬래싱, 체인 선택 규칙, BFT 합의 등 |
PoS가 “전기를 쓰지 않는다”는 장점은 동시에, 행동을 제약하는 물리적 비용이 사라졌다는 의미이기도 합니다. 그래서 프로토콜 차원에서 별도의 제약을 걸어주지 않으면, 검증자는 자연스럽게 여러 체인에 서명하게 되고, 그 결과 합의 알고리즘은 설계대로 동작하지 않게 됩니다.
Nothing at Stake가 초래하는 공격 시나리오
Nothing at Stake는 단순히 “검증자가 욕심을 내서 여러 체인에 서명하는 문제”를 넘어서, 실제 공격 시나리오로 이어질 수 있습니다. 대표적으로 다음과 같은 위험이 있습니다.
-
합의 지연 및 혼란
- 검증자들이 여러 포크에 서명하면, 어떤 체인이 “진짜 체인인지”를 네트워크가 빠르게 결정하기 어렵습니다.
- 이 상태가 길어지면, 사용자 입장에서는 거래가 확정되었다고 믿기 어렵고, 서비스 신뢰도가 떨어집니다.
-
더블 스펜딩(Double Spending)
- 공격자가 자신의 지분과 네트워크 지연을 악용해 특정 시점 이전에서 포크를 인위적으로 만들고, 일부 검증자들의 Nothing at Stake 행동을 유도할 수 있습니다.
- 이때 공격자는 한 체인에서는 결제를 취소하고, 다른 체인에서는 결제된 것처럼 만들면서 동일 자산을 두 번 쓰는 공격을 시도할 수 있습니다.
-
체인 분기 장기화와 신뢰도 하락
- Nothing at Stake를 방치한 채 포크가 여러 번 반복되면, “최종 합의”의 의미가 흐려집니다.
- 결국 사용자는 “어느 체인이든 내 거래가 나중에 뒤집힐 수 있다”는 불안감을 가지게 되고, 해당 네트워크 자체의 가치와 신뢰가 떨어질 수 있습니다.
이 시나리오들은 이론적인 논의로 출발했지만, 실제 PoS 설계에서는 모두 중요한 위협 모델로 고려되고 있습니다.
PoS에서 Nothing at Stake를 막는 대표적인 방법들
Nothing at Stake는 프로토콜 설계로 충분히 완화할 수 있는 문제로 간주됩니다. 대표적인 해결책들을 살펴보겠습니다.
경제적 페널티: 슬래싱(Slashing)
가장 널리 알려진 방법은 이중 서명이나 모순되는 행동을 한 검증자의 지분을 강제로 소각(slashing)하는 것입니다.
- 검증자가 같은 높이의 서로 다른 블록에 서명하는 등, 명백히 잘못된 행동을 하면 스테이킹한 자산의 일부 또는 전부를 잃습니다.
- 결과적으로 검증자는 “모든 체인에 다 서명하면 이익”이 아니라, “잘못 서명하면 돈을 잃는다” 는 인센티브 구조 속에서 행동하게 됩니다.
- 이더리움 PoS처럼, 슬래싱 규칙과 이를 감지하는 메커니즘이 함께 설계된 프로토콜에서는 Nothing at Stake를 현실적인 공격 수단으로 만들기 어렵게 만듭니다.
팁: 슬래싱은 “벌점”이라기보다, 합의 프로토콜에 내장된 계약 위반 보증금이라고 생각하면 이해가 쉽습니다.
체인 선택 규칙과 최종성(Finality)
슬래싱만으로는 충분하지 않을 때도 많습니다. 그래서 PoS 프로토콜은 다음과 같은 규칙을 함께 사용합니다.
-
체인 선택 규칙
- 예:
Longest Chain Rule을 변형한 “가장 많은 투표 지분을 모은 체인” 선택 등. - 검증자가 어떤 포크를 따라야 하는지 명확히 정의해, 여러 체인을 동시에 추종하는 전략이 장기적으로 손해가 되도록 설계합니다.
- 예:
-
BFT 기반 최종성
- 일부 현대 PoS는
BFT(비잔틴 장애 허용)계열 알고리즘을 결합해, 일정 조건이 만족되면 “이 블록은 되돌릴 수 없다”고 보는 경제적·논리적 최종성을 제공합니다. - 이 경우 Nothing at Stake는 “최종성 이전 특정 구간에서만 제한적으로 의미를 가지는 이슈”로 축소되기도 합니다.
- 일부 현대 PoS는
인센티브 및 정보 공개
- 단일 체인에만 서명했을 때 더 높은 보상을 주거나, 여러 체인에 서명할 경우 보상을 줄이거나 몰수하는 방식으로 인센티브를 설계합니다.
- 검증자의 서명·행동 이력을 온체인에 투명하게 남겨, 누가 이중 서명을 했는지 누구나 검증할 수 있게 하는 구조도 중요합니다. 이는 슬래싱 조건을 구현하는 데에도 필요합니다.
정리
정리해 보면, Nothing at Stake 문제는 PoS가 “전기를 쓰지 않는다”는 장점의 이면에서 드러나는 합의 보안 이슈입니다. 계산 비용이 거의 들지 않는 덕분에, 검증자가 여러 체인에 동시에 서명할 유인이 생기고, 이를 제어하지 않으면 합의와 최종성이 크게 흔들릴 수 있습니다.
그래서 현대 PoS 설계에서는:
- 슬래싱을 통한 경제적 페널티,
- 명확한 체인 선택 규칙,
- BFT 기반 최종성(Finality),
등을 조합해 Nothing at Stake를 실질적인 공격으로 이어지지 않도록 막고 있습니다.