#17 - UTXO에 대한 개념정리 / 비트코인 거래원리(5/5)

in #kr7 years ago (edited)


main.jpg


안녕하세요. 어미새입니다.


오늘은 지난 포스팅에 이어서 비트코인 거래원리에 필요한 개념인 UTXO에 대한 개념정리를 하도록 하겠습니다!




비트코인 거래를 하기 위해서는 당연히 비트코인을 소유하고 있어야지만 거래를 할 수 있습니다. 비트코인을 획득할 수 있는 방법은 아래와 같이 2가지 방법이 있습니다.


  1. 비트코인 '채굴'에 대한 보상으로 발행된 비트코인을 수령
  2. 현물로 구입 후 유저에게 비트코인을 수령


비트코인을 입금 받기 위해서는 당연히 입금 받을 주소가 필요하며, 해당 주소에 입금된 모든 기록들은 해당 주소가 보유한 비트코인의 총합이됩니다!



24_0.png


반대로 내가 누군가에게 비트코인을 송금하고 싶다면 내가 입금 받았던 기록을 토대로 비트코인의 보유 수량을 입증 할 수 있고, 가지고 있는 수량 중 얼마를 송금할지를 기록하여 작성하게 됩니다.



24_1.png


위의 과정이 바로 새로운 UTXO의 생성과, 소멸에 대한 과정입니다. 응..?? 무슨말이냐구요? 지금부터 이 UTXO에 대한 개념정리를 해보도록 하겠습니다.



UTXO(Unspent transaction output)


UTXO는 소비되지않은 거래 출력 값을 의미합니다. 즉 내가 입금만 받고 송금하지 않았다면 아직 소비하지 않은 거래가 됩니다. 이러한 거래 정보를 UTXO라고 합니다!


하나의 주소에는 송금받은 여러개의 UTXO가 논리적으로 연결되어 있습니다!


예를들어 Caw가 Bird에게 1 BTC를 보내고, Dog도 Bird에게 3 BTC를 송금하게 되면 Bird는 2가지의 입금 정보가 발생합니다. 그리고 Bird는 해당 거래를 입금만 받았고 아직 사용한 기록이 없습니다. 즉 소비되지 않은 거래정보가 됩니다. 이렇게 아직 소되지 않은 거래의 출력 값이 UTXO의 개념입니다!



24_2.png


그렇다면 Bird가 이번엔 Dog에게 1 BTC를 보낸다면 어떻게 될까요?

아래의 그림과 같이 Bird가 아직 소비하지 않은 거래 정보, UTXO 정보를 input에 입력하고, 송금할 BTC 기록을 output에 입력하여 거래를 진행합니다. 거래가 진행되면 기존에 보유중이던 UTXO 정보는 소비된 거래정보가 되며, 반대로 입금을 받은 Caw는 새로운 UTXO 정보가 생성되는겁니다!



24_3.png


위의 그림과 같이 utxo를 소비하게 되면, 소비된 거래가 정보가 됩니다. 이런 경우를 spent tansation이라고 표현하며, 소비된 거래는 두번 다시 사용할 수 없게됩니다!


우리가 현실세계에서 편의점에 들려서 물건을 구매한다고 가정해보겠습니다. 제 지갑에는 만원권 밖에 보유하고 있지 않은 상태에서 5천원 자리 물건을 구매한다면 거스름돈으로 5천원을 다시 받게됩니다.


Caw가 보유한 비트코인의 총 합은 아직 소비하지 않은 UTXO의 총합 즉 1 BTC입니다. 그리고 1 BTC보다 작은 금액인 0.5 BTC를 송금하고 싶은 경우는 흡사 위의 예제처럼 5천원을 지불하기 위해 만원권을 주고 5천원을 다시 되돌려 받는 행위와 같습니다.


아직 소비하지 않은 1 BTC의 UTXO는 소비할 경우 사용할 수 없습니다. 그렇기 때문에 송금할 0.5 BTC의 거래 기록과 자신이 되돌려 받을 0.5BTC의 거래 정보가 아래와 그림과 같이 생성됩니다!



24_4.png


이런식으로 계속해서 비트코인의 거래가 이루어지며, 비트코인의 거래는 UTXO의 소멸과 생성이 반복되는 과정으로 이루어집니다.




다시 한번 정리를 해보면 아래와 같습니다.


  1. UTXO는 소비되지 않은 거래 정보로, A라는 사용자가 B라는 사용자에게 BTC를 수령만 하고 소비하지 않았을 경우 A에 새로운 UTXO가 생성된 것입니다.
  2. 주소에는 이러한 UTXO가 논리적으로 연결되어 있으며, 연결된 UTXO의 총합이 해당 주소의 비트코인의 보유 수량이 됩니다.
  3. 비트코인 거래는 이러한 UTXO의 정보가 소멸되고, 새롭게 생성되는 과정입니다.


최대한 이해하기 쉽게 설명을 하려고 노력했습니다. 개념이 어떻게 보면 어려울 수 있으나, 천천히 읽어보시면 반드시 이해할 수 있다고 생각합니다!


이번 포스팅으로 비트코인 거래원리에 대한 포스팅을 마무리하겠습니다. 저도 아직 부족한 실력으로 인터넷 자료를 참고하여 포스팅을 준비하다보니.. 부족한 설명 부분과, 포스팅 순서가 뒤바뀐 경향이 있습니다. 이부분에 대한 보강을 통하여 추후에 비트코인 거래원리를 하나의 포스팅으로 깔끔하게 재 구성할 예정입니다.


아마도 다음주쯤 비트코인 거래원리에 대한 완벽한 하나의 포스팅이 나오지 않을까.. 라는 생각을해봅니다.


지금까지 비트코인 거래원리에 대한 글을 읽어주셔서 감사합니다!



이전 자료




[참고 자료]

https://steemit.com/coinkorea/@goldenman/utxo

https://steemit.com/kr/@jsralph/5qe3fp-2

https://organicmedialab.com/2014/02/20/bitcoin-addresses-transactions-and-wallets/

https://blockchain.info/ko/tx/25ef3c25d8bdeca3b575410d4ba365bc4f5cd31e2a31ce5457968ec298dc1072

Sort:  

정독했습니다! 좋은 글 감사해요🙂

핫 감사합니다:)

흥미롭게 잘 보고 가네요
이렇게 보니 이해가 쏙쏙 되는거 같애요.ㅎ

감사합니다! 더 발전했으면 좋겠습니다만 아직 능력이 부족한것 같아요 흐흐

히야 제가 예전에 했던 설명이 부끄러울 정도네요..ㅎㅎ
친절한 설명 감사드립니다. ㅎㅎ
utxo가 아무래도 생소한 개념이다 보니 쉽게 설명하는 게 넘 힘들었는데 전..ㅎㅎ
복습도 되고 너무 좋네요~~ 블록체인 글 자주 와서 볼게요 ^^
팔로우 하고 가요 ^^

복습에 도움이 되셨다니
감사합니다:)
저도 팔로우하고 자주 찾아가겠습니다~!
즐거운 스팀잇 하세요~!

늘 깔끔하고 명확한 포스팅에 감사드려요^^
팔로우했어요^^

저도 늘 좋은 글 잘 읽고있습니다~
제 블로그에 찾아주셔서 감사합니다 ^^

이해하기 쉽게 너무 잘 정리해주셨네요~ 감사합니다 ^^

부족한글 좋게 봐주셔서 감사합니다 ^^
오늘 하루도 마무리 잘하세요:)

짱짱맨 태그 사용에 감사드립니다^^
짱짱 레포트가 나왔어요^^
https://steemit.com/kr/@gudrn6677/3zzexa-and

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 64284.72
ETH 2650.82
USDT 1.00
SBD 2.79