관리 메뉴

평행우주 : world 1

[블록체인이론] UTXO : 거래 출력값과 거래 입력값 본문

텃밭 1 : BlockChain/이론

[블록체인이론] UTXO : 거래 출력값과 거래 입력값

parallelworlds 2022. 3. 3. 07:55

UTXO

  • 소비되지 않은 거래출력값(unspent transaction output)이다
  • 거래 출력값은 블록체인 상에 기록되어 있으며
  • 전체 네트워크에 의해 통화단위로 인정받은 불가분의 비트코인 덩어리다.

 

  • 비트코인 풀 노드는 UTXO라는 사용 및 소비가 가능한 모든 출력값을 추적한다. 
  • UTXO무리는 UTXO세트라고 하고,
  • UTXO세트는 새로운 UTXO가 생겨나면 커지고, UTXO가 소비되면 작아진다
  • 모든 거래는 UTXO세트 내의 변화를 의미한다

 

  • 거래 출력값은 사토시 단위로 표현되는 임의의 정수 값을 가질 수 있다
  • 출력값은 임의의 값을 가질 수 있지만, 한 번 생성되면 값을 나눌 수 없다
  • 즉 축력값은 개별적이고 나눌 수 없는 가치의 단위로 정수로 된 사토시 단위로 표현된다
  • 소비되지 않은 출력값은 거래에서 통째로 소비될 수만 있다
  • 거래 시에는 이전에 기록된 소비되지 않은 거래 출력값을 소비하고
  • 향후 거래에서 소비될 수 있는 새로운 거래 출력값을 생성한다

거래 출력값

  • 모든 비트코인 거래는 출력값을 생성하며, 출력값은 비트코인 장부에 기록된다
  • 출력값 대부분은 UTXO라는 소비 가능한 비트코인 덩어리를 생성한다
  • UTXO은 생성된 후 네트워크 전체의 승인을 받게 되고
  • 향후 거래에서 소유주가 사용가능하게 한다

 

  • UTXO세트 내의 모든 풀 노드 비트코인 클라이언트는 UTXO를 추적할 수 있다
  • 신규 거래는 UTXO세트에서 나온 UTXO를 하나 이상 소비한다

 

 

거래 출력값 구성 요소

  • 비트코인의 최소 단위인 사토시로 표현되는 비트코인 금액
  • 출력값을 소비하기 위해 필요한 조건을 결정하는 암호 퍼즐

 

+)암호퍼즐이란

잠금 스크립트, 서명 스크립트라고도 한다

 

 


거래입력값

  • 거래입력값은 어떤 UTXO가 사용되고 해제 스크립트를 통해 소유권을 증명할 것인지를 식별
  • 거래를 빌드하기 위해 지갑은 통제하고 있는 UTXO 중 하나를 선택한다
  • 이때, UTXO는 요청 지불을 할 수 있는 충분한 값을 가지고 있다
  • UTXO 한 개만으로 충분한 경우도 있고, 그 이상이 필요할 수도 있다
  • 지불에 사용될 UTXO 각각에 대해 해당 지갑은 해당 UTXO를 지정하는 입력값을 생성하고
  • 해제 스크립트를 이용해 UTXO를 해제한다

 

입력값의 구성요소

  • 첫 부분은 UTXO가 블록체인 내에 기록되는 경우 해당 거래의 해시와 일련번호를 참조해 어떤 한 UTXO를 지시
  • 두 번째 부분은 해제 스크립트로, UTXO 소비요건을 만족하기 위해 지갑 구성 (대부분 소유권 증명을 위한 디지털 서명 및 공개키)
  • 세 번째 부분은 일렬번호이다. (나중에 추가 설명)
Comments