더보기

머리에 쏙쏙 들어오는 ‘미사용 트랜잭션 출력값'(UTXO) 정리 

5 mins
Alex Lielacher
번역 Sue Bae

UTXO는 여러분이 블록체인 생태계 내에서 한 번쯤 접해봤을 용어로, ‘미사용 트랜잭션 출력값'(Unspent Transaction Output)의 줄임말이다. 하지만 구체적으로 무엇을 뜻하며, 왜 중요할까?

이번 안내서에서는 UTXO가 무엇이고 어떻게 작동하는지 그리고 이해하기 쉽게 예를 들어 설명할 것이다.

알쏭달쏭하거나 이해하기 어려운 용어 또는 개념이 있으세요? 텔레그램의 비인크립토 거래 커뮤니티에 참여하세요! 전문 트레이더가 여러분이 용어와 개념, 동향 그리고 가격 변동을 쏙쏙 머리에 들어오도록 풀어서 설명해드립니다. 오늘 방문하세요!

안내서의 내용:

  1. 미사용 트랜잭션 출력값(UTXO)이란?
  2. UTXO 생성 방법 
  3. UTXO의 작동 방식
  4. UTXO 사용 예시  
  5. UTXO 통합이란?
  6. UTXO, 왜 중요할까?
  7. UTXO 모델의 이점
  8. UTXO 모델의 단점
  9. UTXO 모델 vs 계좌 모델
  10. 블록체인 생태계의 필수 요소인 UTXO
  11. 자주 묻는 질문

미사용 트랜잭션 출력값(UTXO)이란?

미사용 트랜잭션 출력값 또는 UTXO는 트랜잭션의 사용되지 않은 출력값을 나타낸다. 

암호화폐 거래의 출력은 다른 거래에서 입력으로 사용될 때까지 “미지출” 상태이다. 이처럼 사용되지 않은 트랜잭션 출력값은 여러 블록체인에서 펀드의 소유권을 추적하는 데 사용되는 암호화폐 생태계의 중요한 부분이다.

UTXO는 법정 통화 구입에서 “잔액”에 해당한다.

비트코인 잔고가 1 BTC인데 0.1 BTC인 어떤 것을 사고 싶다고 가정하자. 판매자에게 0.1 BTC를 보냈을 때 나머지 0.9 BTC는 여러분의 UTXO가 된다. 그런 다음 이 UTXO를 사용하여 나중에 더 많은 구매 또는 전송을 수행할 수 있다.

블록체인은 모든 UXTO를 저장한다. 누구나 볼 수 있다는 말이다. 각각은 “아웃포인트”(outpoint)로 알려진 고유 식별자를 가지고 있다. 아웃포인트는 이전 트랜잭션의 해시와 해당 트랜잭션 내 출력의 지표이다.

새 트랜잭션을 생성하려는 사용자는 입력으로 사용할 하나 이상의 UTXO를 선택한다. 예를 들어, 비트코인 네트워크의 이전 거래에서 2 BTC와 4 BTC의 가치가 있는 2개의 UTXO가 남아 있을 수 있다. 4.5 BTC의 물건을 구매하기 때문에 청구서를 처리하기 위해 둘 다 보내야 한다. 0.5 BTC 상당의 새 UTXO인 “잔액”을 받으면 거래가 완료된다.

UTXO의 합계는 발송되는 금액에 거래 수수료를 더한 금액과 같거나 그 이상이어야 한다. 한 번 트랜잭션이 UTXO를 소비하면 재사용할 수 없다. 

각각의 UTXO는 고유한 주소를 가지고 있다. 이렇게 하면 코인이 두 번 사용되지 않는다. 트랜잭션 후 UTXO를 수신하면 일반적으로 두 개의 주소가 표시된다. 하나는 수신자를 위한 것이고 하나는 주소 변경을 위한 것이다. 변경 주소는 여러분의 남은 UTXO를 보내는 곳이다.

UTXO 생성 방법

사용자가 UTXO 모델을 활용한 블록체인에서 트랜잭션을 수행하면 새로운 UTXO가 생성된다. 이 UTXO는 이전 트랜잭션의 출력값이다. 그 다음 이 UTXO는 새로운 트랜잭션의 입력으로 사용된다. 

UTXO가 발생하려면 먼저 입력값이 있어야 한다. 입력값은 단순히 트랜잭션에서 사용할 수 있는 기존 UTXO에 대한 참조이다. 그런 다음 참조된 UTXO가 사용되고 새 UTXO가 대신 생성된다. 출력값은 트랜잭션의 수신자로 간주할 수 있다. 이것은 수신자가 얼마나 많은 코인을 수집할 것인지 지정하고 향후 입력에서 참조되어야만 사용 가능하다. 

UTXO 작동 방식 

다양한 블록체인은 누가 어떤 코인을 소유하는지 추적하기 위해 UTXO 모델을 사용한다. 다른 사람에게 비트코인을 보낼 때 보통 하나 이상의 비트코인 UTXO를 수신자의 공개 키로 보낸다. 그러면 수신자는 이 UTXO를 동시 트랜잭션에 대한 입력값으로 사용할 수 있다.

UTXO는 블록체인에 저장되며 물리적 코인과 비슷하다고 생각하면 된다. 만약 여러분이 물리적인 코인을 가지고 있다면, 다른 사람에게 주는 등 사용가능하다. 대신 한 번 줘버리면 더 이상 여러분이 것이 아니며, 다시는 쓸 수 없다. 거래에서 UTXO를 사용한 후에는 더 이상 지갑에 저장되지 않는다. 대신 이제 거래 내역의 일부로 블록체인에 존재한다. 거래에서 잔액이 남으면 이것을 새로운 UTXO로 받게 된다.

UTXO 사용 예시

작동 방식에 대한 이해를 돕기 위해 예를 하나 들어 보겠다. 앨리샤(Alicia)가 봅(Bob)에게 3 BTC를 보내고 싶어한다고 가정하자. 앨리샤는 비트코인 지갑을 열고 UTXO를 사용할 수 있다.

앨리샤는 이전 거래에서 받은 2 BTC가 있다. 그녀는 다른 거래를 통해서 받은 1.5 BTC를 더 가지고 있다.

앨리샤는 봅에게 3 BTC를 보내기 위해 이 두 UTXO를 입력값으로 사용해야 한다.

트랜잭션이 완료되면 출력값이 두 개가 된다. 먼저 봅은 3 BTC를 받게 된다. 그는 이제 향후 거래를 완료하는 데 사용할 수 있는 3 BTC 가치의 새로운 UTXO를 보유하고 있는 것이다. 총 입력값(3.5 BTC)과 앨리샤가 보낸 금액(3 BTC)의 차이는 0.5 BTC가 된다. 이 금액은 새로운 UTXO로 앨리샤에게 다시 보내진다. 그녀는 이것을 향후 거래를 완료하는 데 사용할 수 있다.

UTXO 블록체인은 또한 트랜잭션에서 사용되지 않은 여러 트랜잭션 출력을 사용하는 복잡성을 방지하기 위해 통합 옵션을 제공한다. 작동방식은 이와 같다. 

UTXO 통합이란?

사용되지 않은 트랜잭션 출력 통합은 여러 UTXO를 단일 출력으로 결합하여 수수료를 줄이거나 개인 정보 보호를 강화한다. 

위에서 설명한 것처럼, 거래를 할 때는 모든 UTXO를 입력값으로 포함시켜야 한다. 따라서 UTXO가 많을수록 더 많은 입력값이 필요하고, 거래 수수료가 더 높아진다. UTXO를 통합하는 경우 입력 수를 줄이고 수수료를 절약할 수 있다. 

또한 UTXO 통합을 통해 스마트 계약을 생성할 수 있다. 여러 UTXO를 하나의 출력값으로 통합함으로써 특정 조건이 충족될 경우에만 사용할 수 있는 출력을 만들 수 있다. 예를 들어, 이를 통해 에스크로(escrow) 계약을 작성할 수 있다.

UTXO를 통합하는 방법에는 수동 통합과 자동 통합의 2가지가 있다. 

수동 통합에는 원하는 UTXO를 입력값으로 사용하여 새 트랜잭션을 만든 다음 전체 금액을 단일 출력으로 자신에게 보내는 작업이 포함된다. 

자동 통합의 경우 여러 UTXOS를 하나의 출력값으로 결합하는 새로운 트랜잭션을 주기적으로 생성하는 작업이 포함된다. 이 통합은 사용자의 입력 없이 자동으로 수행된다.

여러분이 비트코인을 적극적으로 사용하고 있다면 UTXO 통합은 거래 수수료를 절약할 수 있는 좋은 방법이다. 지갑이 지원되는지 여부를 모를 경우 서비스 공급업체에 문의하면 된다. 또는 지갑의 설정 메뉴에서 UTXO 통합 옵션을 검색할 수도 있다. 

UTXO, 왜 중요할까?

UTXO가 중요한 다른 이유는 다음과 같다. 

  • 언어에 구애받지 않는 스마트 계약: UTXO 기반 스마트 계약은 스마트 계약이 합의 메커니즘을 개발할 수 있는 언어 독립적인 솔루션을 제공한다.
  • 이중 지출 방지: UTXO는 한 번만 사용할 수 있다. 이는 동일한 암호화폐를 한 번 이상 쓸 수 없도록 보장하는 블록체인 기술에 필수적이다.
  • 어토믹 스왑 및 탈중앙화 거래소 지원: 어토믹 스왑의 UTXO 구현은 제3자를 개입시키지 않고 P2P(피어 투 피어) 거래를 가능하게 하는 좋은 방법이다. UTXO의 어토믹 스왑 기능은 사용자 지갑 간의 직접 암호화폐 교환에 더 적합하다.
  • 확장성 이점: UTXO의 트랜잭션 메커니즘은 각 트랜잭션이 별도의 이벤트로 처리되도록 보장하여 암호화폐 네트워크의 계산 부하를 크게 줄인다. 
  • 개인 정보 및 보안: 모든 UTXO 트랜잭션에 대해 새 주소가 생성되므로 추적하기가 어렵다. 이는 블록체인 네트워크에서 개인 정보 보호와 보안을 보장한다. 
  • 유연성: UTXO는 미리 결정된 값으로 제공되지 않기 때문에 평균 법정 통화보다 유연하다. 또한 어떤 금액 단위로도 쪼갤 수 있어서 다른 거래에도 적합하다.

UTXO 모델의 이점

UTXO 모델은 다른 모델에 비해 몇 가지 이점이 있다. 

첫째, 확장성이 뛰어나다. 초당 처리되는 트랜잭션 수는 네트워크 속도에 의해서만 제한된다.

둘째, 개인 정보 보호가 확실하다. 이 모델에서는 모든 트랜잭션에 대해 새 주소가 생성되어 트랜잭션의 출처를 추적하는 것이 거의 불가능하다. 

셋째, UTXO가 각각의 입력을 추적할 수 있기 때문에 인증이 간편하다. 이는 발생할 수 있는 이중 지불을 식별하는 데 특히 유용하다. 

넷째, 확장성과 개인 정보 보호를 높이기 위해 블록체인 네트워크에서 여전히 안전하고 검증 가능한 오프체인 트랜잭션을 가능하게 한다.

마지막으로, UTXO 통합 모델은 다른 모델로 작동할 수 없는 특정 유형의 스마트 계약(언어에 구애받지 않는 스마트 계약)을 허용한다.

UTXO 모델의 단점

UTXO 모델의 단점은 다음과 같다.  

첫째, 각 UTXO는 개별적으로 서명해야 하기 때문에 모델은 더 높은 거래 수수료로 이어질 수 있다.

둘째로 UTXO는 ‘더스트(dust)’ 축적으로 이어질 수 있다. 더스트는 최소 거래액보다 적어 쓸 수 없는 소량의 코인을 말한다. 하지만 시간이 지나며 더스트가 모여 일정 양이 되면 사용이 가능하기도 하다. 

마지막으로, UTXO는 공간 효율성이 떨어진다. 각 출력값은 트랜잭션에서 별도의 출력값을 나타내며, 각각 별도로 저장되어야 한다. 그 겨로가 특히 많은 트랜잭션을 처리하는 애플리케이션의 경우 상당한 데이터 저장소가 필요할 수도 있다. 

UTXO 모델 vs 계좌 모델

UTXO 모델은 은행 및 일부 블록체인에서 사용하는 계좌 모델(Account Model 또는 계좌 기반 모델이라고도 함)과 다르다. 계좌 기반 모델에서는 모든 트랜잭션이 계좌 잔액에서 추적된다. UTXO 모델을 사용하면 각 트랜잭션이 개별적으로 추적된다. 은행 잔고가 아닌 각각의 지폐로 여러분의 돈을 추적하는 것으로 생각하면 된다. 

법정화폐 금융과 달리, UTXO는 화폐를 단위가 아닌 하나의 객체로 취급한다. 각 객체에는 기록이 저장되어 있으며 필요할 때 사용할 수 있지만, 소유권은 통화를 보낼 때만 확인하면 된다. 

한편, 계좌 모델은 각 사용자에 대해 별도의 계좌를 생성한다. 따라서 모든 계좌를 추적하고 항상 잔액을 기억해야 한다.

UTXO와 계좌 모델의 다른 차이점은 다음과 같다.

계좌 기반 모델UTXO 모델
트랜잭션의 저장공간 불필요트랜잭션에 많은 저장공간 필요
상태가 노드에 저장됨 상태가 트랜잭션에 저장됨 
보안이 취약함보안성이 뛰어남 
트랜잭션 계산이 복잡함트랜잭션 계산이 간단함
대량 트랜잭션의 효율성 향상대형 트랜잭션의 효율성 저하 

블록체인 생태계의 필수 요소인 UTXO

UTXO는 본질적으로 디지털 변화를 나타내며 비트코인과 다른 여러 암호화폐들이 작동하는 방식에 중요한 역할을 한다. 여러분이 비트코인 거래를 보낼 때, UTXO는 얼마나 많은 디지털 통화를 보내고 받았는지를 네트워크에 출력값으로 기록한다. 즉, 여러분의 비트코인 지갑에 남아있는 것이 UTXO인 것이다. 

자주 묻는 질문

UTXO란 무엇인가?

UTXO 트랜잭션은 어떻게 작동하는가?

비트코인은 왜 UTXO를 사용하는가?

비트코인 UTXO는 어디에 저장되는가?

UTXO를 사용하는 블록체인은?

카르다노에서 UTXO는 무엇인가?

최고의 암호화폐 거래소

Trusted

비인크립토 웹사이트에 포함된 정보는 선의와 정보 제공의 목적을 위해 게시됩니다. 웹사이트 내 정보를 이용함에 따라 발생하는 책임은 전적으로 이용자에게 있습니다.
비인크립토는 투자가이드를 통해 독자에게 유익한 양질의 교육 콘텐츠를 제공하기 위해, 콘텐츠를 검증하고 연구하는 데 많은 시간을 할애하고 있습니다.
비인크립토의 파트너사는 글이 게시되는 대가로 수수료를 제공할 수 있으나, 이는 공정하고 정직하고 유용한 콘텐츠 제작 프로세스에 어떠한 영향도 미치지 않습니다.