UTXO란 무엇인가 — 비트코인이 잔액을 기록하는 방식
비트코인에는 잔액이 없다. 블록체인 어디에도 잔고라고 적힌 칸은 존재하지 않는다. 대신 비트코인은 모든 거래를 UTXO라는 단위로 추적한다.
Lee Chang Jun
Insights
UTXO, 비트코인의 장부를 읽는 법
비트코인에는 잔액이 없다. 정확히 말하면, 블록체인 어디에도 "A의 잔고: 1.5 BTC"라고 적힌 칸은 존재하지 않는다. 대신 비트코인은 모든 거래를 **아직 쓰이지 않은 출력값(UTXO, Unspent Transaction Output)**이라는 단위로 추적한다. 지갑 앱이 보여주는 잔액은 이 UTXO들을 합산한 수치에 불과하다.
현금과 닮은 구조
UTXO는 현금 지폐에 비유하면 이해가 빠르다.
지갑에 5만 원이 있다고 하자. 이건 만 원권 3장, 오천 원권 2장, 천 원권 5장일 수 있다. 금액은 같지만 구성이 다르다. 비트코인도 마찬가지다. 주소에 1.5 BTC가 표시된다면, 내부적으로는 과거 거래에서 발생한 0.8 BTC, 0.5 BTC, 0.2 BTC짜리 UTXO 세 개가 각각 존재하는 식이다.
결제가 발생하면 UTXO 하나가 통째로 소비된다. 만 원짜리 지폐로 3천 원짜리 커피를 사면 지폐 자체가 사라지고, 커피값 3천 원과 거스름돈 7천 원이라는 두 개의 새로운 UTXO가 생긴다. 원래의 UTXO는 "사용 완료(Spent)" 처리되어 재사용이 불가능하다.
단순하지 않은 설계 의도
이 구조가 채택된 이유는 보안이다.
각 UTXO는 딱 한 번만 사용할 수 있다. 같은 UTXO를 두 곳에 동시에 보내려는 시도—이른바 이중 지불—은 네트워크 차원에서 자동으로 거부된다. 중앙 서버 없이 이중 지불을 막는 구조를 만들기 위해 사토시 나카모토가 선택한 방식이 바로 UTXO다.
부수적인 이점도 있다. 각 UTXO가 독립적이기 때문에 네트워크 노드들이 서로 다른 거래를 동시에 검증할 수 있고, 거래마다 새 UTXO가 생성되므로 자금 흐름의 추적이 상대적으로 어려워진다.
3~4백만 BTC가 잠들어 있다
여기서 흥미로운 문제가 발생한다.
체이널리시스(Chainalysis)를 비롯한 복수의 블록체인 분석 기관은 비트코인 총 공급량 2,100만 개 중 약 300~400만 BTC에 해당하는 UTXO가 10년 이상 움직이지 않은 채 방치되어 있다고 추정한다. 개인키를 분실한 것인지, 의도적으로 보유 중인 것인지는 알 수 없다. 블록체인은 "누가 이 코인을 통제하는가"는 기록하지만, "그 사람이 아직 살아 있는가"는 기록하지 않기 때문이다.
이 불확실성은 단순한 호기심의 문제가 아니다. 실제 유통 가능한 공급량을 알 수 없다는 것은 비트코인의 희소성에 대한 경제적 모델링 자체에 오차가 생긴다는 뜻이다.
BTCMobick이 이 문제에 접근하는 방식
BTCMobick의 고래 사냥(Whale Hunting) 프로젝트는 이 잠자는 UTXO 문제를 정면으로 겨냥한다.
특정 시점의 비트코인 UTXO 스냅샷을 촬영한 뒤, 보유자가 개인키 서명을 통해 BTCMobick을 청구하도록 한다. 서명이 검증되면 해당 UTXO는 "살아있는 코인"으로 확인된다. 청구 기간이 지나도 움직이지 않는 UTXO는 사실상 분실된 것으로 간주한다.
이 접근이 가능한 것은 UTXO 모델의 특성 덕분이다. 각 UTXO가 독립적으로 존재하고, 해당 개인키 없이는 절대 움직일 수 없는 구조이기 때문에 — "이 코인의 주인이 존재하는가"라는 검증이 성립한다.



