블록체인/비트코인 / / 2023. 4. 13. 19:15

UTXO (Unspent Transaction Outputs)


본 글은 비트코인의 작동 원리를 이해하기 쉽게 설명해 놓은 해외 사이트 Learn me a bitcoin 내에 있는 UTXO 페이지를 번역한 글입니다. 읽은 것을 개인적으로 이해하기 쉽게 정리하여 작성한 글이다 보니, 어색한 부분이 있을 수도 있습니다. 원문을 읽고자 하시는 분은 위의 링크를 참조해 주세요. 😀


 

UTXO (Unspent Transaction Output)

 

 

 

사용된 Output은 트랜잭션에서 사용된 후 다시 사용할 수 없기 때문에 죽은 것과 같습니다.
하지만 사용되지 않은 Output, UTXO는 살아 있습니다. 새로운 트랜잭션에서 사용 가능합니다. (물론 당신이 잠금 해제할 수 있다면)

그래서 사용된 Output과 사용되지 않은 Output (UTXO) 간에 구별이 있는 것입니다.

 

 

UTXO는 어디에 사용되나요?

 

1. 트랜잭션 검증

 

노드는 받은 트랜잭션을 검증할 때, 트랜잭션의 Output이 이미 사용되지 않았는지 확인합니다.
그러므로 비트코인 트랜잭션을 생성하려면 UTXO를 Input으로 사용해야 합니다.

 

새로운 트랜잭션이 사용되지 않은 output을 사용하고 있습니다. Good!

 

그러나 이미 다른 트랜잭션에서 사용된 Output을 사용하려고 시도하면, 노드들에 의해 거래가 거부될 것입니다.

 

새로운 트랜잭션이 이미 사용된 output을 사용하고 있네요. 노드들은 이 트랜잭션을 거부할 것 입니다.

 

2. 주소 잔액 확인

 

만약 어떤 주소(Address)의 잔액을 계산하려면, 해당 주소에 잠금이 걸린 모든 UTXO의 잔액을 합산하기만 하면 됩니다.

 

UTXO Database

 

UTXO는 노드가 수신하는 모든 트랜잭션을 확인하기 위해 필요하므로, UTXO는 별도의 데이터베이스에 저장됩니다.

~/.bitcoin/chainstate/

 

노드는 트랜잭션의 Input이 UTXO 데이터베이스에 있는지 확인함으로써 트랜잭션이 유효한지 아닌지, 빠르게 확인할 수 있습니다.

✏️ UTXO 데이터베이스는 노드들이 Bitcoin Client를 실행할 때 메모리(RAM)에 로드되며, 이는 검증 속도를 더욱 높여줍니다.

 

'블록체인 > 비트코인' 카테고리의 다른 글

비트코인 기술 가이드 (Bitcoin Technical Guide)  (0) 2023.04.13
트랜잭션 수수료(Transaction Fee)  (1) 2023.04.13
트랜잭션 데이터(Transaction Data)  (0) 2023.04.13
Target(목표값)  (1) 2023.04.08
채굴(Mining)  (0) 2023.04.08
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유