The UTXO is really what you obtain when someone pays you some Bitcoin. The output of the transaction may be the cash they paid for you. And it is, obviously, unspent whilst it sits in your wallet. Thus unspent transaction output.
To help you think about the present state regarding the Bitcoin system to be a big pool of UTXOs: all of the payments that have now been received by Bitcoin users which they have never yet invested:
Every re payment which includes perhaps maybe not itself been invested is modeled into the Bitcoin system as a transaction output that isunspent. As a whole, each UTXO can just only be invested because of the dog owner regarding the address to which it was delivered (not at all times, and also this may be the point; see later). And every UTXO posseses an identifier (the deal it starred in and its particular place within the variety of outputs of this transaction) and a value: just just how numerous Bitcoins are represented by that UTXO.
But exactly what individuals usually skip is the fact that these UTXOs are in fact small small computer programs that go on the ledger, control use of bitcoins and operate in response to specific incoming events. Smart Contracts, in the event that you shall. Plus the only method you’re able to invest the income managed by that agreement is that it returns if you can provide some input data that allows every node on the system to execute the program and check TRUE
If you’re able to result in the system return TRUE, you are free to state what goes on into the funds. If you cant, then you dont.
Therefore, when you need to blow your hard earned money, right right right heres everything you do:
Your wallet computer software writes just a little computer system into the bitcoin network for you and then sends it. It effortlessly claims towards the community: Please run this little system Ive simply provided you. Then please find a program (smart contract?) on the working platform with this particular ID in my situation. Whenever youve done that, feed the production from my program into system you just located. And this is a two action process: you offer your own personal small system as well as the production of the is given to your UTXO program you want to blow.
The manner in which you spend cash in Bitcoin would be to ask the working platform to perform a little computer system that you provide and feed the production of the system towards the smart contract that is saving the funds you wish to invest. You get to spend the money if you can make this second program run successfully. In Bitcoin terminology, this program you provide is scriptSig and also the UTXO program is scriptPubKey. Your aim is always to supply a scriptSig whose production could be given into scriptPubKey to really make it get back TRUE
What exactly are these programs that are little? Theyre really simple in the common case. The UTXO program merely claims: provide me personally having a digital signature that demonstrates you own the key from the following Bitcoin target (and please additionally demonstrate that you understand the general general general public key that corresponds to your bitcoin target). Thats why it is called the scriptPubKey.
As well as the system you offer is simply a method to make sure the bitcoin system delivers this evidence to the scriptPubKey system into the way that is right. Its an easy method of supplying a electronic signature. Ergo it is called the scriptSig
In the event that you dont understand the personal key then chances are you cant produce the best signature and that means you cant produce the input essential to have the smart agreement (scriptPubKey) to operate effectively and you also dont get to expend the funds. Which means this, apparently complex model, is simply a method to make certain that the sole individual who can spend cash at address 1abcde could be the individual who understands the personal key exactly as we might wish.
Exactly why is it this complex?