BlockChain/theory

[BlockChain] 비트코인-UTXO 알아보기

BEJM 2022. 5. 11. 14:52

UTXO

UTXO(Unspent Transaction Outputs)는 미사용 트랜잭션 출력 값을 뜻합니다. 비트코인은 계정이나 잔고가 없습니다. 이에 블록체인에 UTXO(기록된 소비되지 않은 출력 값)을 통해 거래의 유효성을 검사하여 코인의 존재 여부를 확인합니다. 즉 코인은 지갑에 저장되는 것이 아니고 UTXO에 저장되며, UTXO를 통해 코인의 존재 여부를 확인할 수 있습니다.

 

트랜잭션 구조

Tx, Input, Output 구조

  • 트랜잭션 버전(Transaction Version)
    트랜잭션 버전은 네트워크에서 트랜잭션의 유형을 지정하는 버전 번호입니다. 트랜잭션은 버전 별로 그 구조와 규칙이 조금씩 다릅니다. 따라서 노드는 트랜잭션을 읽을 때는 버전 번호를 확인하고 트랜잭션을 어떻게 읽어야 하는지 파악할 수 있습니다.

  • 잠금 시간(Lock Time)
    마지막 데이터는 잠금 시간(Lock Time)으로, 트랜잭션을 블록체인에 바로 포함시킬 수 있는지, 아니면 지정된 시간이 지나면 포함시킬 수 있는지를 지정합니다.
  • 입력(Inputs)
    트랜잭션 버전과 잠금 시간 사이에는 입력과 출력 목록이 들어옵니다.

    트랜잭션 입력은 포인터(Pointer)와 해제키(Unlocking key)가 들어있습니다. 포인터는 이전 트랜잭션 출력을 가리킵니다. 그리고 키는 포인터로 가리키고 있는 이전 출력을 해제하는 데 사용됩니다.
  • 출력(Outputs)
    트랜잭션 버전과 잠금 시간 사이에는 입력과 출력 목록이 들어옵니다.
    트랜잭션 출력은 잠금(Lock)과 값(Value)으로 구성되어 있습니다. 출력은 기본적으로 잠겨있으며, 입력에는 잠금을 해제할 수 있는 키(Key)가 들어있습니다. 값은 출력 내에 잠겨있는 사토시의 양을 의미합니다.

※ 사토시 : 비트코인의 단위로 1사토시는 1비트코인을 1억 등분한 것을 뜻합니다.