-
UTXO 에 대해 알아보자.block Chain/ETC 2021. 9. 25. 17:57test
UTXO (Unspent Transaction Output)
UTXO는 사용되지 않은 트랜잭션을 의미한다.
트랜잭션을 남은 잔액이라고 생각해서 이해하면 쉽게 접근할 수 있다.
UTXO는 보유하고 있는 잔액의 단위의 개수라고 볼 수 있다.예로 내가 만 원짜리 한 장과 천 원짜리 한 장이 있다고 했을 때
금액은 11000원이겠지만
여기서의 UTXO는 2가 된다.
나의 잔액 단위 개수는 2개이며
각 단위들은 사로 다른 잔액을 가리키고 있다.
하나는 만 원, 하나는 천원
만약 만원 한 장, 천원 두 장이라고 본다면
UTXO는 3개가 된다.
블록체인 위에서의 UTXO 도 위와 같이 이해할 수 있다.
UTXO는 남은 잔액을 알려주는 것이 아닌 남은 잔액의 수를 알려주는 것으로
각각의 UTXO는 각각 다른 개수의 비트코인을 가리키고 있다.그럼 거래를 한번 봐보자.
다른 사람에게 나의 코인을 보내려 한다.
위와 같이 0.1 코인을 보내려고 하면
0.1 코인에 해당하는 UTXO를 소모하여 전달하게 된다.주는 게 아니다. 소모하는 것이다.
UTXO는 지갑으로 코인을 받게 되면 그때 그에 해당하는 UTXO 가 생성이 되는데
해당 UTXO를 다른 지갑으로 전달하려고 하면 해당 UTXO는 소멸이 되고
전달받은 다른 지갑에 새로운 UTXO가 생성되는 것이다.그러면 딱 맞는 코인의 개수에 부합하는 UTXO가 없으면 어떻게 할까.
우리가 물건을 살 때 딱 맞는 금액이 아닌 경우 그거보다 높은 금액을 주고 거스름돈을 받게 된다.위와 같은 경우 정확히 2개를 가리키고 있는 UTXO는 없다.
따라서 2개 이상을 가리키는 UTXO를 찾게 되는데
맨 위에 있는 3개짜리 UTXO라는 것을 알 수 있다.
여기서 중요한 점이 있다면 거스름돈이다.
보통 마트에서 거래를 한다면 위와 같은 상황에서
나에게 3의 UTXO를 받은 사람은 자연스럽게 1의 UTXO를 돌려주겠지만
블록체인 위에서는 다르다. 내가 돌려받아야 할 금액도 내가 정해야 한다.중요한 포인트는
보내야 할 코인보다 많은 UTXO를 사용할 때 그 안의 일부만을 보내는 게 아니라는 것과
돌려받아야 할 코인도 지정해야 한다는 것이다.
이와 같이 나의 UTXO를 소모하고 새로운 UTXO를 받게 된다.
요약
- UTXO는 지갑에 코인을 받게 되면 생성된다.
- UTXO는 정해진 코인 단위가 있는 것이 아닌 나에게 온 코인에 대한 거래 정보라고 볼 수 있다.
- 나의 코인을 다른 곳으로 전달하려면 UTXO는 사용해게 되고 UTXO는 소멸한다.
'block Chain > ETC' 카테고리의 다른 글
블록체인 확장성에 대한 문제 와 Rollup (0) 2022.09.03 블록체인 에서의 이중 지불 문제 와 해결 (0) 2021.09.25 비잔틴 장군의 딜레마와 블록체인 (0) 2021.09.25