
비트코인 필독 가이드 Ⅱ: UTXO 모델의 과거와 현재
저자: Echo, BiHelix; Satoshi Labs
지도: 홍서녕
서론
"UTXO 블록체인은 오늘날 블록체인 산업의 기초이자 불가역적인 근간을 이루고 있다. UTXO 기술은 사토시 나카모토가 추구한 금융적 궁극의 자유에 대한 핵심 비전을 반영한다." UTXO 모델은 금융 활동의 핵심인 보안성, 데이터 프라이버시 및 확장성을 보장하며, 이더리움 계정 모델과 비교했을 때 더 안전한 대안이다.
블록체인 원리: UTXO 모델의 기초
블록체인은 디지털화되고 탈중앙화되며 분산된 원장이다. 블록체인은 P2P(피어 투 피어) 네트워크를 활용하며, 네트워크 참여자들은 노드라 불린다. 원장은 거래와 관련된 데이터를 저장한다. 블록체인의 가장 중요한 특징은 각 블록들이 암호학적으로 연결되어 있다는 점이다.
블록체인: 암호학적으로 연결됨
• 첫 번째 블록(제네시스 블록이라 함)을 제외하고, 블록체인 내 모든 블록은 "이전 해시"라는 필드를 포함한다. 이것은 바로 이전 블록의 해시값이며, 블록체인 보안의 핵심 기반이다.

• 블록 해시값을 결정하는 요소들. 이 네 가지 요소 중 어느 하나라도 1비트라도 변경되면, 눈사태 효과(torrent effect)로 인해 해시값 전체가 완전히 달라진다. 거래는 블록 내부에 저장되며, 블록 해시를 변화시키는 네 가지 요인 중 하나이기도 하다. 즉, 채굴자가 다른 거래를 선택하고 나머지 네 가지 요소는 동일하게 유지하면 해시값은 달라질 수밖에 없다.
1. 타임스탬프
2. 블록 번호: 체인 내 현재 블록의 순번.
3. 데이터: 블록에 저장된 거래 정보.
4. 난스(nonce)
• 공격자가 블록의 데이터를 수정하려고 시도할 경우, 해당 블록의 해시값은 변하게 된다. 앞서 언급했듯이 다음 블록은 현재 블록의 해시값을 저장하고 있으므로, 해시값이 바뀌면 체인이 깨진다. 또는 공격자는 그 지점부터 모든 블록을 다시 채굴해야 한다. 이것이 51% 공격의 한 형태이다.

블록이란 무엇인가?
블록체인의 블록은 거래 정보를 저장한다. 비트코인의 경우, 평균 10분마다 새로운 블록이 블록체인에 추가되며, 목표 해시 난이도에 따라 새 블록 생성 시간이 달라질 수 있다.
• 채굴자가 성공적으로 해당 블록을 채굴하면, 블록체인에 추가된다. 블록이 체인에 추가될 때, 블록 내 모든 거래 상태는 미확정에서 확정으로 변경된다.
• 비트코인의 경우, 블록 내 저장 가능한 거래 수는 고정되지 않지만 평균 블록 크기는 약 1MB이다.
• 빈 블록(empty block)도 유효하며, 즉 아무런 거래 없이도 채굴되어 체인에 추가될 수 있다.
블록체인 거래 구조
개별 거래를 분해하면 다양한 의미를 가진 여러 구조적 요소를 확인할 수 있다. 거래 내 존재하는 주요 구성 요소는 다음과 같다:

1. 거래 버전 번호: 네트워크에 거래 유형을 알려주는 버전 번호. 이 번호를 통해 노드는 특정 거래를 검증하기 위한 규칙 집합을 결정할 수 있다.
2. 출력(output): 암호 잠금장치와 시간으로 구성된다.
3. 입력(input): 포인터와 해제 키(unlocking key)로 구성된다. 포인터는 이전 거래 출력을 가리키며, 해제 키는 해당 출력을 잠금 해제하는 데 사용된다. 입력을 통해 출력이 해제될 때마다 블록체인 데이터베이스에서는 이를 사용됨으로 표시한다.
4. 잠금 시간(locktime): 거래가 즉시 포함될 수 있는지 아니면 특정 시간 이후에만 포함될 수 있는지를 지정한다.
UTXO는 아직 입력에 의해 해제되지 않은 모든 출력을 말한다.
출력이 해제되면 순환 공급량에서 제거되며, 새로운 출력이 그 자리를 대체한다. 따라서 해제된 출력들의 총합은 항상 새로 생성된 출력 값의 총합과 동일하다.
UTXO 모델이란 무엇인가?
UTXO는 비트코인(BTC)의 사토시(satoshi)나 이더리움(ETH)의 기웨이(gwei) 같은 암호화폐 단위가 아니다. 그러나 UTXO는 이러한 단위로 측정할 수 있다. UTXO는 '사용되지 않은 거래 출력(Unspent Transaction Output)'을 의미한다. 비트코인에서 거래는 실행되기 전까지 계속 존재하며, 해당 UTXO에서 새 거래가 완료될 때까지 지속된다. 거래가 완료되면 미사용 출력은 입력으로 데이터베이스에 다시 기록되며, 이후 다른 거래에서 사용될 수 있다.

사용자가 지갑을 통해 거래를 시작하면, 해당 거래 정보를 포함한 UTXO가 위치 파악되고 잠금이 해제되며, 새로운 소유자의 정보가 이 UTXO와 연결된다. 이후 사용자는 동일한 과정을 통해 이를 또 다른 거래에서 사용할 수 있다. 거래가 반복되면서 데이터베이스에는 소유권 변경 기록이 쌓이게 된다. 출력은 사용자가 누구에게 보내긴 했지만 아직 사용하지 않은 암호화폐의 일부이다. 이러한 출력은 암호화폐 단위로서 데이터베이스에 입력으로 기록된다.
UTXO는 어떻게 생성되는가?
UTXO는 기존 UTXO를 소비함으로써 생성된다. 모든 비트코인 거래는 입력과 출력으로 구성된다. 입력은 기존 UTXO를 소비하고, 출력은 새로운 UTXO를 생성한다. 비트코인을 사용하기로 결정할 때 우리는 오직 차감된 금액과 지갑에 남아 있는 잔액만을 확인할 수 있다. 사용자 입장에서는 1달러 지폐로 0.5달러짜리 물건을 사고 거스름돈을 받아 주머니에 넣는 것과 유사하다.
UTXO 모델의 장점
UTXO 모델은 프로토콜 수준에서 지갑 개념을 포함하지 않는다. 이는 블록에 묶인 개별 거래를 기반으로 한다. UTXO 모델은 특히 비트코인 등 다수의 암호화폐에서 일반적으로 사용되는 설계이다.
• UTXO 모델을 사용하는 암호화폐는 계정이나 잔고 개념을 사용하지 않는다. 대신 UTXO는 마치 현금처럼 사용자 간에 직접 이동한다.
• UTXO 모델에서 각 거래는 시스템을 새로운 상태로 전환하지만, 모든 거래가 매번 새로운 상태로 전환하는 것은 불가능하다.
• 네트워크 참여자들은 현재 상태와 지속적으로 동기화되어야 한다.

블록체인에 존재하는 전체 UTXO는 하나의 집합(set)을 형성하며, 각 비트코인 노드가 지속적으로 관리한다.
• 각 거래는 이 집합에서 요소를 소비하고, 새로운 요소를 생성하여 집합에 추가한다. 블록체인에 새 블록이 채택될 때마다 UTXO 집합은 업데이트되며, 네트워크 내 모든 비트코인 노드는 로컬 저장소에 정확한 UTXO 복사본을 유지한다.
• 전체 UTXO 집합은 특정 시점의 암호화폐 총 공급량을 계산하는 데 사용할 수 있으며, 유효한 블록체인 거래의 경우, 추가 거래를 위한 자금 조달은 오직 미사용 출력만 가능하다. 이중 지출과 사기를 방지하기 위해, 후속 거래에 사용할 수 있는 출력은 반드시 미사용 상태여야 한다.
UTXO 모델과 이더리움 계정 모델의 차이점

미사용 거래 출력(UTXO)은 비트코인과 기타 암호화폐의 배후에 있는 분산 데이터베이스 기술의 일부이다. 비트코인은 UTXO를 사용하지만, UTXO 자체는 비트코인이 아니다. 또한 이더리움은 계정 기반 접근법과 계정 잔고를 사용하므로, 이더리움 가상 머신(EVM)에는 UTXO가 존재하지 않는다.
UTXO의 기술적 중요성
• 언어 독립적 스마트 계약: UTXO 기반 스마트 계약은 언어에 독립적이며, UTXO가 고유한 합의 메커니즘을 개발할 수 있도록 한다.
• 탈중앙화 거래소 및 원자 교환 지원: UTXO 모델은 원자 교환(atomical swap)을 지원하여 제3자의 개입 없이 P2P 암호화폐 거래를 가능하게 한다. UTXO의 원자 교환 기능은 사용자 지갑 간 직접 암호화폐 거래의 편의성을 크게 향상시킨다.
• 확장성 이점: 병렬 처리 기능을 통해 블록체인 네트워크의 계산 부하를 줄일 수 있다.
• 프라이버시 및 보안: 모든 UTXO 거래는 새로운 주소를 사용하므로, 거래 추적이 불가능하다.
• 이중 지출 방지: UTXO는 한 번만 사용할 수 있으며, 이는 블록체인 기술의 기본 운용 원리로, 통화가 여러 번 사용되지 않도록 보장한다.
• 더 큰 유연성: 법정화폐보다 더 큰 유연성을 제공한다.
• 단순한 병렬화: 스마트 계약 내 거래의 더 쉬운 병렬 처리를 가능하게 한다.
많은 암호화폐가 UTXO 모델을 사용하는 이유는 사용자가 해당 암호화폐의 모든 부분에 대한 소유권을 추적할 수 있기 때문이다. 암호화폐는 익명성을 고려해 설계되었으므로, UTXO는 전체 네트워크에서 공개 주소와 연결된다.
사용자가 자신의 주소를 공개하지 않는 한, 소유권을 통해 사용자를 식별할 수는 없지만, 이 모델은 주소를 통해 투명성을 실현할 수 있게 한다.
UTXO 활용 사례 — RGB의 오프체인 전송 방식
RGB 프로토콜의 핵심 아이디어는 필요할 때만 비트코인 블록체인을 호출하는 것이다. 즉 작업 증명(PoW)과 네트워크의 탈중앙화를 활용해 이중 지출 방지와 검열 저항성을 실현하는 것이다. 모든 토큰 이전의 검증 작업은 글로벌 합의 계층에서 제거되어 오프체인에서 처리되며, 결제 수령 측 클라이언트만이 검증을 수행한다.
작동 원리:
특정 RGB 계약에서, 최초 발행된 토큰은 하나의 비트코인 UTXO에 속하게 되며(기존의 것이거나 일시적으로 생성된 것이든), 이 토큰을 이전하려면 해당 UTXO를 사용해야 한다. 이 UTXO를 사용할 때 비트코인 거래는 추가 출력(output)을 포함해야 하는데, 이 출력은 메시지에 대한 커밋(commitment)을 담고 있으며, 그 메시지 내용은 RGB 결제 정보를 정의한다. 여기에는 입력, 해당 토큰이 이전될 UTXO, 자산 ID, 수량, 사용된 거래 및 첨부되어야 할 데이터가 포함된다.
결론
UTXO의 본질은 일종의 전표식 회계 방식이다. UTXO 모델은 거래 자금의 존재 여부를 검증하고, 그 출처를 추적한 후, 오류가 없는 것을 확인하면 합의 메커니즘을 통해 전 세계에 방송하고 체인에 기록한다. 이 과정에서 UTXO는 관련 계정의 자금, 거래 주소, 송금 금액, 자금 출처 등의 정보를 모두 기록하여 각 거래의 최초 출처를 추적할 수 있게 한다. 바로 이러한 특성 덕분에 UTXO는 합의 메커니즘과 함께 이중 지출 문제를 해결할 수 있다. RGB 프로토콜의 거래 정보 보안성과 무결성은 UTXO를 통해 보장된다.
요약하자면, UTXO는 합의 메커니즘을 지원하여 블록체인의 이중 지출 문제를 해결하고, 추적 가능성을 부여한다. 블록체인은 이를 기반으로 모든 거래의 진실성과 신뢰성을 보장할 수 있다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














