스테일 블록 (Stale Block)

중급블록체인수정일

스테일 블록은 유효하게 채굴되었지만 경쟁 블록에 밀려 최종적으로 메인 체인에 포함되지 못한 블록입니다. 작업증명(PoW) 블록체인에서 두 채굴자가 거의 동시에 블록을 찾았을 때 주로 생깁니다.

자세히 알아보기

비트코인 네트워크에서는 블록이 전 세계 노드에 전파되는 데 시간이 걸립니다. 그 사이 다른 채굴자가 같은 높이의 블록을 찾으면 네트워크가 일시적으로 두 갈래로 나뉩니다. 노드들은 각자 먼저 받은 블록을 기준으로 다음 블록을 쌓다가, 어느 한쪽 체인이 더 많은 누적 작업량을 갖게 되면 그쪽을 메인 체인으로 채택합니다. 이때 밀려난 쪽의 블록이 스테일 블록이 됩니다.

스테일 블록 안의 트랜잭션은 사라지지 않고 대부분 멤풀로 돌아가 이후 블록에 다시 포함됩니다. 하지만 스테일 블록을 만든 채굴자는 블록 보상과 수수료를 받지 못합니다. 그래서 채굴자에게 스테일 비율은 수익에 직접 영향을 주는 지표이며, 블록 전파를 빠르게 하는 기술(컴팩트 블록 등)이 개발된 이유이기도 합니다.

'고아 블록(orphan block)'이라는 말과 자주 혼용되지만, 엄밀히 고아 블록은 노드가 부모 블록을 아직 모르는 블록을 가리킵니다. 비트코인 개발자 문서는 메인 체인에서 밀려난 블록을 스테일 블록이라 부르고, 고아 블록과 혼동하지 말라고 구분합니다.

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

스테일 블록이 생기면 짧은 체인 재구성(리오그)이 일어나며, 그 블록에만 들어 있던 트랜잭션은 확인 수가 0으로 돌아갈 수 있습니다. 거래소가 입금 반영 전에 여러 번의 확인을 기다리는 이유입니다. 이더리움은 PoW 시절 스테일 블록 일부를 '엉클(ommer) 블록'으로 포함시켜 보상을 주었지만, 2022년 지분증명(PoS) 전환 이후에는 엉클 블록이 없습니다.

스테일 블록이 자주 생기는 네트워크는 해시파워가 낭비되고, 블록 전파가 빠른 대형 채굴 풀이 상대적으로 유리해지는 문제가 있습니다. 블록 간격이 짧은 체인일수록 스테일 비율이 높아지는 경향이 있어, 블록 시간 설계에서 고려되는 요소입니다.

쉽게 말하면

두 사람이 동시에 결승선을 통과했지만 사진 판독으로 한 명만 1등으로 인정받은 상황과 같습니다. 탈락한 선수도 끝까지 달렸지만 기록에는 남지 않습니다.

예시

높이 N에서 채굴자 A와 B가 몇 초 차이로 각각 블록 A_N, B_N을 찾았다고 합시다. 다음 블록 N+1이 B_N 위에서 먼저 발견되면 B 쪽 체인이 더 길어지고, 노드들은 A_N을 버리고 B 체인으로 옮겨 갑니다. 이때 A_N이 스테일 블록이 되며, A_N에만 들어 있던 트랜잭션은 멤풀로 돌아가 이후 블록에 다시 포함되기를 기다립니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.