UTXO는 아직 다른 거래의 입력으로 소비되지 않은 비트코인 거래 출력이다. 지갑 잔액은 지출 가능한 UTXO의 합이며, 송금할 때 입력을 통째로 쓰고 수취 출력·거스름돈·수수료로 다시 나눈다.
잔액 대신 미사용 출력을 본다
UTXO는 아직 다른 거래의 입력으로 소비되지 않은 거래 출력이며, 비트코인 지갑 잔액은 계정 숫자 하나가 아니라 지출 가능한 여러 출력의 합이다
비트코인 노드는 계좌별 잔액 칸을 저장해 더하고 빼는 방식보다 아직 소비되지 않은 거래 출력의 집합을 추적한다. 지갑의 잔액은 그중 현재 키로 지출 조건을 충족할 수 있는 출력들을 찾아 합산한 표시값이다.
입력 합계는 송금액이 아니며, 수취 출력과 거스름돈을 나눈 뒤에야 이동 규모가 보인다.
JOBCOIN 해설
UTXO를 입력으로 소비하는 과정
새 거래는 과거 UTXO를 입력으로 가리키고, 수취인에게 잠긴 출력과 필요하면 송금자에게 돌아오는 거스름돈 출력을 만든다. 선택한 입력 총액은 전부 소비되어야 하며 출력 합계와의 차이가 수수료다. 노드는 같은 출력을 두 번 쓰는 거래를 유효하지 않게 본다.
새 거래는 하나 이상의 UTXO를 입력으로 모두 소비하고 새 출력을 만든다. 입력 일부만 잘라 쓰는 기능은 없어서 송금액을 제외한 나머지를 새 거스름돈 출력으로 되돌린다. 이 때문에 주소 잔액이 한 거래에서 전부 움직인 것처럼 보일 수 있다.
UTXO·입력·거스름돈 비교
UTXO는 소비 전의 독립된 출력이고, 입력은 그것을 참조해 잠금 조건을 해제하는 구성요소다. 거스름돈은 보내는 사람이 다시 통제하는 새 UTXO다. 세 용어를 계좌의 입금·출금 항목처럼 읽으면 실제 소유자를 오해할 수 있다.
| 항목 | 의미 | 검증 포인트 |
|---|---|---|
| UTXO | 아직 소비되지 않은 특정 거래 출력 | txid와 output index로 식별 |
| 입력 | 이번 거래가 소비하는 과거 출력 참조 | 서명 조건 충족 필요 |
| 거스름돈 | 남은 값을 새 출력으로 되돌림 | 외부 송금처럼 보여도 본인 주소일 수 있음 |
0.8 BTC 출력으로 0.5 BTC 보내기
0.3 BTC와 0.8 BTC UTXO를 가진 지갑이 0.5 BTC를 보내면 0.8 BTC 하나를 입력으로 골라 0.5 BTC 수취 출력, 수수료를 뺀 약 0.3 BTC 거스름돈 출력을 만들 수 있다. 정확한 값은 수수료율과 거래 크기에 따라 달라진다.
0.8 BTC UTXO 하나로 0.5 BTC를 보내고 수수료가 0.001 BTC라면 수취 출력 0.5와 거스름돈 0.299를 만든다. 거스름돈 주소가 처음 보는 주소여도 지갑이 같은 시드에서 자동 파생했을 수 있다.
큰 입력이 큰 송금액을 뜻하지 않는다
블록 탐색기에서 송금액보다 큰 입력이 보인다고 실제로 그 전액을 상대에게 보낸 것은 아니다. 출력 목록에서 수취·거스름돈을 나눠 봐야 한다. 거스름돈 주소가 새 주소라면 지갑 소유자에게도 낯설 수 있다.
입력 합계는 수취인이 받은 금액이 아니다. 여러 UTXO를 묶은 뒤 상당 부분을 거스름돈으로 돌려보낼 수 있다. 고래 이동 알림이 입력 전체를 송금액으로 잡았다면 출력 소유 관계를 다시 확인해야 한다.
탐색기에서 입력과 출력을 맞추는 법
탐색기에서 각 입력이 참조한 이전 TXID와 출력 번호를 열고, 새 거래의 모든 출력을 합산한다. 입력 합계에서 출력 합계를 뺀 값이 수수료다. 수취 출력과 거스름돈은 주소 재사용, 지갑 패턴만으로 확정하지 않고 가능성으로 표시한다.
- 입력별 이전 txid와 vout을 확인한다
- 출력 합계와 입력 합계 차이로 수수료를 본다
- 거스름돈 주소를 지갑의 change로 식별할 근거를 찾는다
- 소액 UTXO가 많을 때 거래 바이트와 수수료 증가를 고려한다
UTXO 선택이 수수료와 프라이버시에 미치는 영향
UTXO 선택은 프라이버시와 수수료에 영향을 준다. 여러 출력을 한 거래에서 함께 쓰면 같은 지갑 소유일 가능성을 드러낼 수 있고, 작은 UTXO를 많이 합치면 입력 수가 늘어 수수료가 커진다. 지갑의 코인 제어 기능이 있다면 선택 기준을 이해하고 사용해야 하며, 무작정 모든 출력을 통합하면 추적 가능성을 높일 수 있다.
작은 UTXO가 많으면 입력 데이터가 커져 같은 송금액에도 수수료가 늘 수 있다. 여러 출력을 합치면 과거 주소들이 같은 주체라는 단서도 생긴다. 지갑의 코인 선택 기능은 비용과 프라이버시 사이의 선택에 관여한다.
지갑이 여러 작은 UTXO를 자동 선택하면 거래 입력 수가 늘어 수수료가 예상보다 커질 수 있다. 반대로 수수료가 낮을 때 통합 거래를 만들면 미래 비용을 줄일 수 있지만 서로 다른 수취 이력이 한 주체와 연결되는 프라이버시 비용이 생긴다. 통합 여부는 수수료와 주소 연결 노출을 함께 보고 결정한다.
거스름돈 출력을 수취인에게 보낸 추가 금액으로 오해하면 고래 이동이나 거래소 유출입 집계도 틀릴 수 있다. 주소 군집 규칙은 휴리스틱이므로 같은 지갑으로 보이는 근거와 반례를 밝힌다. 코인조인처럼 여러 참여자가 한 거래를 만드는 경우에는 입력 공동 소유 가정이 특히 약해진다.
자주 묻는 질문
잔액 1 BTC는 하나의 코인인가요?
대개 아니다. 여러 UTXO의 합이 지갑에 1 BTC로 표시될 수 있다.
거스름돈 주소가 바뀌어도 제 돈인가요?
지갑이 새로 파생한 change 주소라면 같은 지갑이 통제한다. 외부 주소인지 여부는 지갑 기록과 파생 정보를 확인해야 한다.
UTXO가 많으면 왜 수수료가 늘 수 있나요?
각 입력에는 참조와 서명 데이터가 들어가 거래 크기가 커질 수 있기 때문이다.



