# UTXO 모델이란 무엇인가요?

비트코인의 원장 시스템은 우리가 익숙한 “계정/잔액” 모델과 다릅니다. 비트코인의 동작을 더 잘 이해하려면, 비트코인 고유의 회계 방식인 UTXO(Unspent Transaction Output) 모델을 이해해야 합니다.

UTXO 모델은 계정 잔액이 아니라 “거래 기록”을 통해 자금을 관리합니다. 즉, 각 거래의 “입력(Input)”과 “출력(Output)”을 기록하고, 남아 있는 출력(UTXO)을 다음 거래의 입력으로 사용하는 구조입니다.

비트코인 시스템에서 각 거래는 두 부분으로 이루어집니다:

* 거래 입력(Input): 자금의 출처를 식별합니다.
* 거래 출력(Output): 자금의 도착지를 식별합니다.

각 거래는 여러 개의 입력과 출력을 가질 수 있습니다. 각 거래는 이전 거래의 출력을 “소비”하면서, 향후 거래에 사용할 수 있는 새로운 출력을 생성한다고 이해할 수 있습니다.

#### 거래 예시

거래 A: 채굴자 노드 X가 채굴을 통해 15 BTC 보상을 받았다고 가정합니다. 이 15 BTC는 처음에 미사용 트랜잭션 출력(UTXO)을 의미합니다.

이후 노드 X는 여러 거래를 수행합니다:

<figure><img src="https://2635091210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYDTQZz8SAKtEV8VeYE%2Fuploads%2Fq7KizfBFPdKO9oPu5d6Y%2Futxo1.png?alt=media&#x26;token=1d0e0c24-851f-4088-8bef-12eb915bcd0c" alt=""><figcaption></figcaption></figure>

거래 B: 노드 X가 노드 Y에게 5 BTC를 전송합니다. 이 거래는 다음과 같이 표현할 수 있습니다:

* 입력: 노드 X의 15 BTC(채굴 보상)
* 출력: 노드 Y가 5 BTC 수령, 노드 X는 10 BTC를 잔돈으로 보유

<figure><img src="https://2635091210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYDTQZz8SAKtEV8VeYE%2Fuploads%2FgJbNfthJZ6MuNdq5gpYi%2Futxo2.png?alt=media&#x26;token=5256bd66-a3f6-49ec-859a-1da3431a843e" alt=""><figcaption></figcaption></figure>

이 거래에서 노드 X는 앞서 획득한 15 BTC(입력)를 소비하고, 두 개의 새로운 UTXO(노드 Y의 5 BTC, 노드 X의 10 BTC)를 생성합니다.

거래 C: 이후 노드 X와 노드 Y가 각각 3 BTC씩을 지불하여 노드 Z에게 6 BTC를 보냅니다. 이 거래는 다음과 같이 표현할 수 있습니다:

* 입력: 노드 X의 남은 10 BTC 중 3 BTC, 노드 Y의 5 BTC 중 3 BTC(거래 B에서 생성)
* 출력: 노드 Z가 6 BTC 수령, 노드 X는 7 BTC 잔돈, 노드 Y는 2 BTC 잔돈 — 모두 새로 생성된 UTXO입니다.

<figure><img src="https://2635091210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYDTQZz8SAKtEV8VeYE%2Fuploads%2FIax7Oq9G9lHb6PV1LwRk%2Futxo3.png?alt=media&#x26;token=01168550-348e-4eec-99f7-a3c3a2eb2097" alt=""><figcaption></figcaption></figure>

#### 결론

비트코인 시스템에서 각 “계정”은 특정 주소에 대응합니다. 비트코인 블록체인은 각 주소의 잔액을 직접 추적하지 않고, 전체 거래 이력을 온체인에 저장합니다. 네트워크는 “거래 풀”을 통해 전체 UTXO 집합을 추적하며, 특정 주소의 “잔액”은 해당 주소와 관련된 모든 UTXO를 합산하여 계산됩니다. UTXO가 소비되면 거래 풀에서 제거되어 실시간 잔액 변동을 반영합니다.

<figure><img src="https://2635091210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYDTQZz8SAKtEV8VeYE%2Fuploads%2FaJSAAtFWfYmuHW1qPoyi%2Futxo4.png?alt=media&#x26;token=cbf39b98-26ea-48a0-8e04-afc98ba7aea1" alt=""><figcaption></figcaption></figure>
