본문 바로가기

블록 체인 * 암호 화폐

블록 체인에서의 트랜잭션

블록체인에서 트랜잭션과 UTXO란 무엇인지 공부해 보겠습니다.

 

 ( 나의 UTXOs ) 금액
Tom -->  Me 0.1 BTC
Jihun --> Me 0.6 BTC

 

모든 트랜잭션을 Bitcoin으로 받은 상황이며, 이것을 비트코인에서는 UTXO(Unspent Transaction Outputs)라 하고, 미사용 트랜잭션 출력값이란 뜻입니다. ( UTXO는 비트코인과 다른 알트코인을 포함한 암호화폐의 주요 개념이지만, 처리되는 방식은 각각 차이가 존재할 수도 있습니다. ex 이더리움 )

 

은행 시스템은 한번 트랜잭션을 보내면 끝이고, 해당 트랜잭션이 완료되면 장부 같은 곳에 기록이 되는 식이지만, 비트코인에서는 트랜잭션이 실행된 후에도 해당 트랜잭션의 UTXO가 다른 트랜잭션을 만들 때까지 지속됩니다. 

 

지금 저의 UTXOs에는 총 2개의 트랜잭션이 존재하고 각각 0.1,0.6 BTC가 있습니다. 만약 0.5 BTC 값어치를 하는 물건을 산다고 하면, 0.6 BTC에 해당하는 트랜잭션을 선택하고, 트랜잭션을 위해 해당하는 필드인 input에 값을 넣습니다.

단순하게 0.5만 지불하고 output이 되면 좋지만, input으로 들어간 액수 그대로 output이 책정돼야 하기에 0.5 BTC는 물건을 판 상인의 UTXOs로 가게 되고, 나머지 0.1 BTC는 나의 UTXOs로 보내야 합니다.( me --> me 0.1 BTC )

 

그렇다면 저의 UTXOs는 이와 같아집니다.

 

Tom -->  Me 0.1 BTC
Me ---> Me 0.1 BTC

 

트랜잭션의 수수료

 

 ( C의 UTXOs ) 금액
A ---> C 0.5 BTC
B ---> C 0.1 BTC
D ---> C 0.4 BTC
F ---> C 0.07 BTC

 

값이 0.53 BTC인 인형을 산다고 하면, C는 자신의 UTXOs에서 0.5, 0.07 BTC를 선택할 수 있을 것입니다. 

 

1.A---> C 0.5 BTC 트랜잭션과 F---> C 0.07 BTC 트랜잭션을 input에 넣으면 물건 0.53 BTC를 사고 0.04 BTC가 남게 됩니다. 

2. 이 0.04 BTC 중 0.02 BTC는 me---> me( C )로 보내게 되고, 나머지 0.02 BTC는 fee가 됩니다. 수수료인 것입니다. 

 

위처럼 간단하게 수수료가 어떻게 책정이 되는지를 알아보았습니다.( 무조건 0.02가 fee로 책정이 되는 것은 아닙니다. 네트워크의 상황이나 사용자의 설정등의 요소로 fee가 책정될 수 있습니다. )