Blockchain Academy
We'll get together for networking with people interested in Blockchain including developers and anyone curious about Blockchain.

UTXO(Unspent Transaction Output)

The ledger of cryptocurrency such as Bitcoin can be said one of the state transition system. This system is consisted of a 'state', which is made up with all Bitcoin ownership, and a 'state transition function', which outputs the result data through a new transaction. One of the important components of this state transition is UTXO which is an output of a transaction that has not been spent. It verifies the shift of transaction as well as the validity of this shift, and outputs 'true' if it is right or 'false' if it is wrong. Here is an example to help further understanding. The state transition of the balance is shown below when A transfers money to B through an ordinary bank.

The traditional way works through this state transition function that A's account balance decreases by the transferred amount as B's account balance increases. If A tries to transfer amount bigger than the account balance, the function will return an error in output.

The state transition in Bitcoin is the shift of UTXO shown as follows.

The transfer histories of A and B are combined and form the balance of C's account. C hasn't spent bitcoins from A and B yet, so these become UTXO. Therefore the balance in Bitcoin system indicates the sum of unspent values.

The process of spending UTXO by C is shown below.

C spends the previous UTXO#1 to make a transfer to A. Then UTXO#1 becomes a ST(Spent Transaction) and cannot be spent again. UTXO#3 is newly created by this transfer and added to A's balance. These UTXO contain the data of owner's public key and remittance etc., and get signed with sender's private key. An error occurs in Bitcoin state transition function when none of UTXO exists for the reference or the signature doesn't match with the owner.