Bitcoin Forum
November 09, 2024, 10:57:25 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Unspent bitcoins?  (Read 3987 times)
RokShox (OP)
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
March 13, 2013, 09:48:15 PM
 #1

Why aren't all bitcoins "unspent"? You spend it when you send to someone. They receive it and it's now "unspent".

Does every fraction of a bitcoin contain some reference to it's original whole parent? Over time, won't they all just be ground down into dust?
Prattler
Full Member
***
Offline Offline

Activity: 192
Merit: 100


View Profile
March 13, 2013, 09:50:39 PM
 #2

Bitcoins are just records in a public ledger. A transaction output can only be spent once, so yes, all bitcoins are unspent bitcoins (unspent outputs). Spent bitcoins (spent outputs) are just history.

Please clarify your question, if this doesn't answer it.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
March 13, 2013, 09:51:25 PM
 #3

Why aren't all bitcoins "unspent"? You spend it when you send to someone. They receive it and it's now "unspent".

Does every fraction of a bitcoin contain some reference to it's original whole parent? Over time, won't they all just be ground down into dust?


Bitcoin works on the concept of inputs and outputs.

A tx contains as it's INPUT, one or more unspent OUTPUT of a prior tx (except coinbase generation txs).  The network ensures a particular output isn't spent.  Saying a bitcoin is spent or unspent has no meaning.   The status of an output (spent or unspent) matters because an output can only be spent once.  The network verifies that an output has never been spent before.  To validate new transactions the working set of possible inputs is all unspent outputs.  Outputs aren't ground into dust because you can have tx can have more than one input or output.  You could create a tx which takes 100 0.01 unspent outputs as the input and has a single 1.00 BTC output.  You have "converted" 100 0.01 unspent outputs (which are now spent) for a single 1.00 BTC unspent output.

RokShox (OP)
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
March 13, 2013, 10:00:14 PM
 #4

Clarification: There's all this fuss about "unspent transactions" UTXO. Do not understand significance.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
March 13, 2013, 10:05:42 PM
 #5

Clarification: There's all this fuss about "unspent transactions" UTXO. Do not understand significance.

To validate txs each INPUT of a newly created tx is the unspent OUTPUT of a prior tx.  The working set isn't the entire blockchain it is the set of unspent tx.   If the unspent tx working set is larger than that means more resources are required to validate txs.  If a large portion of that working set is "spam" 0.00000001 BTC unspent outputs which will never be spent then it makes all nodes less efficient.
RokShox (OP)
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
March 13, 2013, 10:24:33 PM
 #6

It seems an easy way to handle all the satoshi sized UTXO is simply for the wallet software to lump them in with a transaction along with, say, 0.01 BTC extra, with the 0.01000001 change appearing as an output transaction back to the originator.

Now the satoshi is lumped in with a reasonable sized transaction that is easily spent.
Prattler
Full Member
***
Offline Offline

Activity: 192
Merit: 100


View Profile
March 13, 2013, 11:02:42 PM
 #7

It seems an easy way to handle all the satoshi sized UTXO is simply for the wallet software to lump them in with a transaction along with, say, 0.01 BTC extra, with the 0.01000001 change appearing as an output transaction back to the originator.

Now the satoshi is lumped in with a reasonable sized transaction that is easily spent.

This is not done at the bitcoin protocol level, because outputs are more flexible than addresses. An alternative currency could use account balances instead of outputs, but this is not bitcoin today.

Wallet software will be able to do that in the future. It could rearrange your outputs at off peak times, when block space is cheap.

The problem is that miners don't have the financial incentive to include such lumping transactions for free and a rational user would not pay a fee, because fees would be bigger than the inputs themselves (0.0005 fee vs 0.00000001 input). It is economically rational to just leave those outputs dangling and never use them.

Unspent outputs have a cost for the whole network, because they need to be stored in fast storage and used for transaction validation.
RokShox (OP)
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
March 13, 2013, 11:48:15 PM
 #8

I am assuming the additional miniscule input(s) does not change the transaction fee. There is an incentive for miners to accept them since it relieves UTXO pressure.


Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!