UTXO 모델 (Unspent Transaction Output)

2026-03-10 · ideas · ko

비트코인은 계좌 잔액이 아닌 미사용 트랜잭션 출력(UTXO)의 합으로 잔액을 관리한다. 동전 모델의 원리와 프라이버시·보안상 이점.


import Mermaid from '@components/shortcodes/Mermaid.astro'; import InfoBox from '@components/shortcodes/InfoBox.astro'; import CompareTable from '@components/shortcodes/CompareTable.astro'; import ChartBar from '@components/shortcodes/ChartBar.astro'; import ChartLine from '@components/shortcodes/ChartLine.astro'; import KidsQuiz from '@components/shortcodes/KidsQuiz.astro'; import KidsStory from '@components/shortcodes/KidsStory.astro'; import KidsCert from '@components/shortcodes/KidsCert.astro';

UTXO(Unspent Transaction Output, 미사용 트랜잭션 출력)는 비트코인이 잔액을 관리하는 근본적인 방식이다. 은행처럼 "계좌 잔액"을 기록하는 것이 아니라, 아직 사용하지 않은 개별 출력값들의 합으로 잔액을 계산한다.

동전 모델

현금 거래를 떠올리면 이해하기 쉽다. 지갑에 1만 원짜리 2장과 5천 원짜리 1장이 있으면, 잔액은 "25,000원"이라는 숫자가 아니라 3개의 개별 지폐의 합이다. 비트코인도 마찬가지다.

비트코인 트랜잭션이 발생하면:

  1. 입력(Input): 이전에 받은 UTXO 중 하나 이상을 "소비"한다
  2. 출력(Output): 새로운 UTXO를 생성한다 - 수신자에게 보내는 금액과 자신에게 돌아오는 거스름돈
  3. 소비된 UTXO는 영구히 사라지고, 새 UTXO가 탄생한다

예를 들어, 0.7 BTC짜리 UTXO 하나를 가진 사람이 0.3 BTC를 보내면:

0.5 BTC"] U2["UTXO B<br/>0.3 BTC"] end subgraph 트랜잭션 TX["트랜잭션"] end subgraph 출력 O1["수신자<br/>0.7 BTC"] O2["잔돈<br/>0.0999 BTC"] end U1 --> TX U2 --> TX TX --> O1 TX --> O2 FEE["수수료: 0.0001 BTC"] TX -.-> FEE style TX fill:#f7931a,stroke:#f7931a,color:#000 style FEE fill:none,stroke:none,color:#8b949e`} />

왜 계좌 모델이 아닌가

이더리움은 은행처럼 계좌 잔액 모델을 사용한다. 비트코인이 굳이 복잡해 보이는 UTXO 모델을 선택한 이유:

UTXO 관리의 실전

UTXO의 개수와 크기는 수수료에 직접 영향을 미친다:

Sparrow Wallet 같은 데스크탑 지갑은 UTXO를 개별적으로 확인하고 관리할 수 있는 기능을 제공한다.

연결되는 개념

Read on the full site: https://learn.txid.uk/ko/ideas/utxo/