If you need an analogy, think of them as invoice numbers, but remember that at the protocol level, there aren't even any bitcoin addresses at all. Addresses are an abstraction that we humans use to make it easier to talk about transferring control of value.
Ok I definitely understand that. So basically an address is just for us to see a consolidation of how may unspent outputs (or chunks of gold in different sizes, or invoices in different amounts) we have.
When talking about bitcoin transactions, the word "input" refers to value being put into the transaction, not value being put into an address, or wallet, or account. Again, if you really need an analogy, you can think about an input as being a removal (or subtraction) from your control and an addition to the transaction's control.
I think I understand it a bit better. If I add a transaction to the Blockchain that's an input to said transaction. It now becomes a spent output for me and can never be used again.
When talking about bitcoin transactions, the word "output" refers to value coming out of the transaction, not value coming out of an address, or wallet, or account. If you really need an analogy, you can think about an output as being a removal (or subtraction) from the transaction's control and an addition to the control of a private key.
So I just received an output from someone else. I didn't get a credit to my bitcoin address but instead the transaction now is controlled by my private key (or I guess I should say my private key controls that unspent output now).
Each wallet simply keeps track of all the outputs that it has control over, and displays to the user a sum of those outputs.
Got it... I think.
Can you correct me if I'm wrong?:
I have 1
BTC.
I send the 1
BTC (minus fees) to Charlie with transaction A so I did an input onto the Blockchain of .99 +.01 in fees.
Charlie now receives the output. He has an unspent output until he sends the .99
BTC (minus fees) to Alice. He sends an input of .98 + .01 in fees to the Blockchain with transaction B.
Alice now sees her .98
BTC show up as an output. Again, it'll be an unspent output until she spends it in the future. Her private key has control of the unspent output.
So:
When your private key 'loses control' of an output it = input
When your private key 'gains control' of an input = output
Outputs are unspent outputs until they're an input, then your private key loses control of that transaction.
So basically every portion of a bitcoin that you have is an output and once you input it onto the Blockchain it's now an output for the other private key it was sent to.
Is that all right?