비트코인 개념 - UTXO 란?

in kr •  6 years ago 

UTXO 란 Unspent Transaction Output 의 약자로, 아직 쓰지않은 잔액 이라는 의미입니다. 비트코인 네트워크에서는 잔액이라는 개념은 애초에 존재하지 않고, 트랜잭션에 의한 결과물들의 합을 잔액이라는 개념으로 사용하는데 이를 UTXO 데이터로 대체합니다. 각 지갑의 UTXO들은 해당 지갑 주인(소유주)에 대해 공개키 암호로 잠겨있습니다.

1.jpeg
UTXO 거래 예시

아래는 UTXO를 설명하기 위한 예시입니다. A, B가 F에게 각 1BTC, 2BTC를 송금해주고 C, D, E가 G에게 3BTC, 4BTC, 10BTC를 송금을 하면 F와 G는 각 UTXO가 2개, 3개가 되어 총 UTXO가 5개 생성됩니다.

2.jpeg

다음 아래는 G가 H에게 9BTC를 보내려고 하는 그림입니다. 먼저 G가 가진 UTXO 중 9BTC 이상인 값을 찾습니다. 아래 그림에는 10BTC인 UTXO가 존재하여 해당 값을 입력값으로 넣습니다. H의 지갑에서 출력값으로 찍히게 되는 9BTC를 제외하고 1BTC는 G의 지갑에 찍히게 됩니다.

3.jpeg

위 절차를 거치게 되면 UTXO는 5개에서 6개로 늘어난 것을 확인할 수 있습니다.

이와 같은 예시가 UTXO의 개념입니다. 만원짜리를 찢어서 2천원, 4천원과 같이 사용할 수 없는 것 처럼 UTXO 또한 찢어 사용할 수 없고 비트코인 지갑이 사용할 수 있는 UTXO를 찾아 데이터를 전송하는 역할을 해줍니다.

위에서 설명한 것과 같이 큰 단위를 찢어서 사용할 수 없는것처럼 작은 단위를 합쳐서 사용할 수 없습니다.

만약 H에게 9BTC가 아닌 17BTC를 전송해야된다고 해서 G의 UTXO를 전부 더해 보낼 수 없습니다. (17BTC의 UTXO가 없기 때문에 ERROR가 발생함)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!