The UTXO is exactly what you can get whenever someone pays you some Bitcoin. The output of these deal may be the cash they paid for you. And whilst it sits in your wallet, it really is, clearly, unspent. Thus unspent transaction output.
That they have not yet spent so you can think of the current state of the Bitcoin system as being a huge pool of UTXOs: all the payments that have been received by Bitcoin users:
Every re payment which has perhaps perhaps not itself been invested is modeled when you look at the Bitcoin system being a unspent transaction output. As a whole, each UTXO is only able to be invested because of the dog owner of this address to which it absolutely was sent (not necessarily, and also this may be the true point; see later). And every UTXO has an identifier (the deal it starred in and its particular place when you look at the directory of outputs of this deal) and a value: exactly exactly how bitcoins that are many represented by that UTXO.
Exactly what individuals frequently miss is the fact that these UTXOs are in reality small small computer programs that go on the ledger, control usage of bitcoins and operate in response to specific incoming events. Smart Contracts, if you shall. While the best way you can invest the funds 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
Whenever you can result in the system return TRUE, you can state what are the results to your funds. If you cant, then you dont.
Therefore, when you need to invest your cash, right right right heres everything you do:
Your wallet computer pc software writes only a little computer system into the bitcoin network for you and then sends it. It efficiently states towards the system: Please run this little system Ive simply provided you. Then please find a scheduled program(smart contract?) on the working platform with this particular ID for me personally. Whenever youve done that, feed the production from my system into system you just located. And this is a two step procedure: you offer yours program that is little additionally the production of this is given into the UTXO program you want to blow.
The manner in which you spend some money in Bitcoin is ask the working platform to perform a tiny computer program which you provide and feed the production of this system into the smart contract that is keeping the funds you need to invest. If you’re able to get this second system run effectively, you can invest the income. In Bitcoin terminology, this program you offer is scriptSig and also the UTXO program is scriptPubKey. Your ultimate goal would be to give a scriptSig whose production could be fed into scriptPubKey to help make it get back TRUE
What exactly are these little programs? Theyre really simple in the common case. The UTXO program merely claims: provide me personally having a signature that is digital proves you top article own the key from the following Bitcoin address (and please additionally demonstrate that you understand the general general public key that corresponds to the bitcoin address). Thats why it is called the scriptPubKey.
Additionally the system you provide is simply ways to make sure the bitcoin system delivers this evidence in to the scriptPubKey program within the right method. Its an easy method of supplying a electronic signature. Ergo it is called the scriptSig
If you dont understand the private key then chances are you cant create the best signature which means you cant produce the input essential to obtain the smart contract (scriptPubKey) to operate effectively and you also dont get to invest the funds. So this, apparently complex model, is simply a method to make sure that the sole one who can spend cash at address 1abcde may be the one who understands the personal key just as we’d wish.
Exactly why is it this complex?