Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: NewLibertyStandard on March 22, 2010, 08:26:37 PM



Title: Future 'Generate Coins' Motivation
Post by: NewLibertyStandard on March 22, 2010, 08:26:37 PM
As the amount of Bitcoins awarded per block decreases, the motivation to verify transactions decreases. Once there are zero or close to zero bitcoins awarded per block, there is a very small chance that no one will verify transactions. However, it is in the best interest of every person sending bitcoins to have their transaction cleared in a timely manner. This secondary motivation could solve the problem of the possibility of no one verifying transactions. Clients could temporarily enable 'Generate Coins' whenever bitcoins are sent, and if 'Generate Coins' had previously been turned off, automatically turn it back off after the bitcoins have been cleared. It would also be alright if Bitcoin only used a low percentage of one thread at a low priority during this scenario. This would ensure that transactions would continue to be cleared on average every ten minutes even after bitcoins stop being awarded for verifying a block.


Title: Re: Future 'Generate Coins' Motivation
Post by: ksd5 on July 13, 2010, 02:37:30 AM
When the coin limit is reached, future builds of the software will replace the "Generate Coins" option with a "Act as Node" or "Donate CPU" option (or similarly named). A transaction fee will be charged from then on, and any CPUs that have the option turned on will receive the payment from the fee.


Title: Re: Future 'Generate Coins' Motivation
Post by: Bitcoiner on July 13, 2010, 03:06:58 AM
"It would also be alright if Bitcoin only used a low percentage of one thread at a low priority during this scenario."

Doing otherwise will cause my laptop to shut down :)


Title: Re: Future 'Generate Coins' Motivation
Post by: InterArmaEnimSil on July 13, 2010, 05:02:35 AM
When the coin limit is reached, future builds of the software will replace the "Generate Coins" option with a "Act as Node" or "Donate CPU" option (or similarly named). A transaction fee will be charged from then on, and any CPUs that have the option turned on will receive the payment from the fee.

On what authority do we have it that this switch is going to happen?  It occurs to me that if there is some dramatic software shift, say, from "Generate Coins" to "Run Network and Collect Transaction Fees" that the network could fragment and "Transaction" coins would be rejected by "Generate" clients, and vice versa.  Or, more basically, it might just...not...happen.  Also, when is the switch to take place?  When all 21M BC have been created, or when it becomes unreasonably difficult to create the new coins?  Ie, toward the end of the 21M, it may be infeasible, in terms of electricity cost, to generate new coins alone, necessitating a hybrid of the two systems.

My main question, though - Is this a definite planned switch, or just a person's idea for what might be good to do in the future?


Title: Re: Future 'Generate Coins' Motivation
Post by: theymos on July 13, 2010, 06:07:48 AM
Transaction fees are already changed in certain circumstances. This will be the incentive once generating coins isn't profitable.


Title: Re: Future 'Generate Coins' Motivation
Post by: Insti on July 13, 2010, 11:19:34 AM
It should be possible for the person attempting to generate the next block to only include transactions that give them some (fractions of) coins.


Title: Re: Future 'Generate Coins' Motivation
Post by: joechip on July 14, 2010, 11:40:37 AM
As the amount of Bitcoins awarded per block decreases, the motivation to verify transactions decreases. Once there are zero or close to zero bitcoins awarded per block, there is a very small chance that no one will verify transactions. However, it is in the best interest of every person sending bitcoins to have their transaction cleared in a timely manner. This secondary motivation could solve the problem of the possibility of no one verifying transactions. Clients could temporarily enable 'Generate Coins' whenever bitcoins are sent, and if 'Generate Coins' had previously been turned off, automatically turn it back off after the bitcoins have been cleared. It would also be alright if Bitcoin only used a low percentage of one thread at a low priority during this scenario. This would ensure that transactions would continue to be cleared on average every ten minutes even after bitcoins stop being awarded for verifying a block.

The incentive to maintain the network is inherent in the desire to use the currency.  The problem solves itself if the value of using the currency outweighs the cost of maintaining the network/verifying the transactions.


Title: Re: Future 'Generate Coins' Motivation
Post by: Stone Man on July 14, 2010, 03:20:42 PM
Here is a good explanation of the fee scale

http://bitcointalk.org/index.php?topic=141.0 (http://bitcointalk.org/index.php?topic=141.0)

Internally, bitcoins are bundled into packs of 50.00 or however many get sent over the network. Bitcoins usually have to be re-bundled each time they get sent. If a certain very large number of bitcoin bundles have to be re-bundled, there is a very small fee which the sender has to pay. The fee goes to the bitcoin client (yours in this case) which verifies the large re-bundling. It's not a well known behavior and I hope that future versions will display a warning or confirmation before such a fee is charged.

There is a post somewhere with more specific details. I'll look for it for a few minutes and I'll edit this post if I happen to find it. As always, the source code, which is open source, will reveal the exact behavior. I haven't examined the code and my description of the behavior is based on my poor memory, so it might not be exactly correct.

Edit: Here's the explanation I mentioned (http://bitcointalk.org/index.php?topic=48.msg327#msg327). It seems that if more than 500 bundles of bitcoins are re-bundled, there's roughly a 0.002% fee. So during that ten minute period, one or more people each re-bundled 500 bundles of bitcoins, totaling roughly 132,000 bitcoins.

Since the sender pays the fee, I'd like to know what happens when a person sends all their bitcoins. I would expect that if there weren't enough bitcoins to cover the fee, then the amount of the fee which can not be paid would be subtracted from the payment. If this is not the case, then the fee could be avoided by sending all your coins to yourself before sending a large payment.