Bitcoin Forum

Other => Beginners & Help => Topic started by: MJ on March 24, 2013, 10:56:30 AM



Title: Bitcoin Questions
Post by: MJ on March 24, 2013, 10:56:30 AM
Hello,

Im trying to wrap my head as to what exactly goes on to generate new bitcoins. I have a comp sci background (although it was many years ago) so wouldnt mind a more technical explanation.

Also, I keep seeing transaction fees.  Why would anyone want to pay these? It appears that they're voluntary.. no?


Title: Re: Bitcoin Questions
Post by: Raoul Duke on March 24, 2013, 11:04:33 AM
Start here: https://bitcoin.org/bitcoin.pdf


Title: Re: Bitcoin Questions
Post by: Foxpup on March 24, 2013, 01:19:00 PM
Also, I keep seeing transaction fees.  Why would anyone want to pay these? It appears that they're voluntary.. no?
Because confirming transactions is also voluntary. If you don't pay any fees, that fine; just don't expect your transactions to be confirmed anytime soon (or even ever, in some cases).


Title: Re: Bitcoin Questions
Post by: DannyHamilton on March 24, 2013, 10:24:08 PM
Im trying to wrap my head as to what exactly goes on to generate new bitcoins. I have a comp sci background (although it was many years ago) so wouldnt mind a more technical explanation.

Bitcoins are not "generated", they are earned.  Miners secure the network by adding transactions to the blockchain.  There is a proof-of-work requirement that makes it exceedingly difficult for a malicious actor to subvert the work of the rest of the honest network.  For performing this proof-of-work, the miner that first successfully completes it is awarded 25 bitcoins that previously never existed.  The difficulty of the proof-of-work is adjusted automatically by the rules of the protocol to attempt to require on average approximately 10 minutes to complete with the collective hashing power of all participating miners on the network.

Also, I keep seeing transaction fees.  Why would anyone want to pay these? It appears that they're voluntary.. no?

This question has already been answered.


Title: Re: Bitcoin Questions
Post by: ebildude123 on March 24, 2013, 11:00:40 PM
When you pay a transaction fee, usually about 0.0005 or the like, it's more likely that it will be confirmed quickly basically  ;D


Title: Re: Bitcoin Questions
Post by: MJ on March 25, 2013, 08:09:18 AM
Ah I didn't realize someone else has to verify a transaction. So whenever a new block is found or someone pays for something using bitcoins, a third party has to verify the transaction for it to be registered in the block chain? And for this to be done requires a transaction fee to compensate the 3rd parties time?


Title: Re: Bitcoin Questions
Post by: DannyHamilton on March 25, 2013, 09:28:50 AM
Ah I didn't realize someone else has to verify a transaction. So whenever a new block is found or someone pays for something using bitcoins, a third party has to verify the transaction for it to be registered in the block chain? And for this to be done requires a transaction fee to compensate the 3rd parties time?

Bitcoin is a voluntary system.  It is not "required" that you include a fee.  You are welcome to attempt to broadcast a transaction with no fee (some wallets prevent this under certain circumstances, others will allow you to do so regardless of the circumstances).

However, peers are not "required" to relay your transaction.  They are welcome to refuse to relay it for any reason they like.  Most peers will be running the "reference client" called Bitcoin-Qt.  In that case they will relay most all transactions, but if the transaction appears "spammy" or like it could potentially be part of a denial-of-service attack on the network, then they may refuse to relay the transaction if it doesn't include a sufficient fee.

Additionally, miners are not "required" to include your transaction in a block.  They are welcome to refuse to include it if they feel they can increase their profits by including some other transaction that has a fee instead of your "free" transaction.

This all being said, most all "free" transactions where all outputs are greater than 0.01 BTC and the total size of the transaction is less than 10 kilobytes, will be relayed and will eventually be included in a block by a miner.  Miners see a long term benefit to maintaining a system that is cheap and easy to use.  The miners are currently subsidized by the minting of new bitcoins, and they get enough revenue from that subsidy that they are generally willing to include a reasonable number of "free" transactions in each block they mine.

Every node that relays the transaction "verifies" it.  The miners register it in a block to "confirm" it.  This process requires both time, and more importantly energy (in the form of the electricity required to perform the "proof-of-work").

Since you could theoretically broad cast 2 different transactions each using the exact same bitcoins, sending each of the 2 different transactions to a different sub-set of the current bitcoin network, this "confirmation" process of adding one of those transactions to the blockchain is how the bitcoin network comes to a consensus on which of the two transactions is legitimate and which can be disregarded as invalid.