Bitcoin Forum

Bitcoin => Mining => Topic started by: mpradeep on December 12, 2012, 12:36:59 AM



Title: Why
Post by: mpradeep on December 12, 2012, 12:36:59 AM
At present there are 3000+ unconfirmed transactions. But why the newly found block adds only 8 of them to the block chain??

who controls how many will be added to the block chain??

Thanks


Title: Re: Why
Post by: DannyHamilton on December 12, 2012, 01:02:03 AM
The miner who mines the block (or the pool who distributes the work to the miners) gets to choose which transactions (if any) they want to include in the block that they mine.

Their isn't much cost associated with increasing the number of transactions in a block, so if the block isn't full (there is a 1 megabyte limit on block size) many miners and pools will happily include as many transactions as they can.  However, the miners get to keep the transaction fees associated with any transactions, so there is a financial incentive for miners to include transactions that have fees.  If there are enough transactions to fill a block, then there is a financial incentive for miners to include only the transactions that have the highest fees until the block is full.


Title: Re: Why
Post by: mccorvic on December 12, 2012, 01:04:49 AM
They didn't add enough for fees when they sent it, namely.

Miners are don't have much interest in including transactions with little or no fees for a couple reasons.  For one, if they started accepting those transaction it would entice people to include no fees ever on their transactions and the miners lose out. 


Title: Re: Why
Post by: Fjordbit on December 12, 2012, 01:12:08 AM
Their isn't much cost associated with increasing the number of transactions in a block, so if the block isn't full (there is a 1 megabyte limit on block size) many miners and pools will happily include as many transactions as they can.

There is a propagation risk to taking on more transactions. If you find a block and another miner finds a smaller block within the next few seconds, the smaller  block may be sent through the network faster, effectively orphaning your block. This translated into maybe a 0.83% risk, but it's still a cost. When pool operators are charging 2% PPS, that .83% represents over 1/3rd of their revenue. Thus a pool will likely not include as many transactions as possible.


Title: Re: Why
Post by: DannyHamilton on December 12, 2012, 01:21:05 AM
Their isn't much cost associated with increasing the number of transactions in a block, so if the block isn't full (there is a 1 megabyte limit on block size) many miners and pools will happily include as many transactions as they can.

There is a propagation risk to taking on more transactions. If you find a block and another miner finds a smaller block within the next few seconds, the smaller  block may be sent through the network faster, effectively orphaning your block. This translated into maybe a 0.83% risk, but it's still a cost. When pool operators are charging 2% PPS, that .83% represents over 1/3rd of their revenue. Thus a pool will likely not include as many transactions as possible.
And this is where the incentive provided by transaction fees helps out.  0.4 BTC in fees with a 0.83% risk is financially better in the long run than 0.39995 BTC in fees (or less) and no risk.


Title: Re: Why
Post by: bitcoinbear on December 12, 2012, 02:16:33 AM
At present there are 3000+ unconfirmed transactions. But why the newly found block adds only 8 of them to the block chain??

who controls how many will be added to the block chain??

Thanks

Could you link to this block?

The miner who mines the block (or the pool who distributes the work to the miners) gets to choose which transactions (if any) they want to include in the block that they mine.

Their isn't much cost associated with increasing the number of transactions in a block, so if the block isn't full (there is a 1 megabyte limit on block size) many miners and pools will happily include as many transactions as they can.  However, the miners get to keep the transaction fees associated with any transactions, so there is a financial incentive for miners to include transactions that have fees.  If there are enough transactions to fill a block, then there is a financial incentive for miners to include only the transactions that have the highest fees until the block is full.

Perhaps one of the 8 included transactions was very complex, using up much of the 1 megabyte limit for the block?


Title: Re: Why
Post by: DannyHamilton on December 12, 2012, 02:22:12 AM
At present there are 3000+ unconfirmed transactions. But why the newly found block adds only 8 of them to the block chain??

who controls how many will be added to the block chain??

Thanks

Could you link to this block?
http://blockchain.info/block-height/211860

And then there is this one a bit more than an hour later with 9 transactions:

http://blockchain.info/block-height/211868


Perhaps one of the 8 included transactions was very complex, using up much of the 1 megabyte limit for the block?
It doesn't look like it.  Just a miner that chose to include 8 transactions for whatever reasoning they used.

Size: 3.4 KB
Fees: 0.0067 BTC


Title: Re: Why
Post by: Fjordbit on December 12, 2012, 03:39:43 AM
And this is where the incentive provided by transaction fees helps out.  0.4 BTC in fees with a 0.83% risk is financially better in the long run than 0.39995 BTC in fees (or less) and no risk.

Well, 0.39668 BTC and no risk would be the same as .4 with .83% risk, but .39995 and no risk is better from an expected value point of view.


Title: Re: Why
Post by: DannyHamilton on December 12, 2012, 04:10:29 AM
And this is where the incentive provided by transaction fees helps out.  0.4 BTC in fees with a 0.83% risk is financially better in the long run than 0.39995 BTC in fees (or less) and no risk.

Well, 0.39668 BTC and no risk would be the same as .4 with .83% risk, but .39995 and no risk is better from an expected value point of view.
Hmm, I forgot to consider the block reward.  If you lose the block in a propagation race, then you lost the block reward too. In actuality, 0.4 BTC in fees with a 0.83% risk is financially better in the long run than  0.39745 in fees (or less) and no risk.


Title: Re: Why
Post by: Graet on December 12, 2012, 02:21:28 PM
Dont believe the FUD guys
 
there is no advantage to restricting transactions in blocks, it does not help in orphan races
Ozcoin runs a vanilla bitcoind and does not have a high orphan rate

mccorvic um there is no "start", free transactions have been a part of Bitcoin all along.
In the default bitcoind there is also space for free transactions, Ozcoin accept free transactions - they are valid Bitcoin transactions, not to acceept them would be bad for Bitcoin


Title: Re: Why
Post by: DannyHamilton on December 12, 2012, 02:43:28 PM
Dont believe the FUD guys
 
there is no advantage to restricting transactions in blocks, it does not help in orphan races
Ozcoin runs a vanilla bitcoind and does not have a high orphan rate
Nobody ever said anything about a "high orphan rate".  The rate quoted by Fjordbit was 0.83%.  I'm not sure where he got his information, and it may turn out that the rate is actually lower than that (or higher), but at 8.3 orphaned blocks out of every 1,000 solved blocks I'm not sure that I'd call that a "high rate".  Can you identify how many total blocks Ozcoin has solved so far? Can you tell how many of those blocks have been orphaned?

mccorvic um there is no "start", free transactions have been a part of Bitcoin all along.
It seemed obvious to me that mccorvic was referring specifically to the miners who have chosen not to include transactions that don't have fees.  They would have to "start" to accept those free transactions since they haven't yet.


Title: Re: Why
Post by: Graet on December 12, 2012, 02:54:36 PM
Dont believe the FUD guys
 
there is no advantage to restricting transactions in blocks, it does not help in orphan races
Ozcoin runs a vanilla bitcoind and does not have a high orphan rate
Nobody ever said anything about a "high orphan rate".  The rate quoted by Fjordbit was 0.83%.  I'm not sure where he got his information, and it may turn out that the rate is actually lower than that (or higher), but at 8.3 orphaned blocks out of every 1,000 solved blocks I'm not sure that I'd call that a "high rate".  Can you identify how many total blocks Ozcoin has solved so far? Can you tell how many of those blocks have been orphaned?

mccorvic um there is no "start", free transactions have been a part of Bitcoin all along.
It seemed obvious to me that mccorvic was referring specifically to the miners who have chosen not to include transactions that don't have fees.  They would have to "start" to accept those free transactions since they haven't yet.
there are pool operators that restrict transactions from blocks in the false belief that it reduces their orphan rate -regardless of what has been posted in this thread.

yes Ozcoins complete block history is available, also tracked independently https://bitcointalk.org/index.php?topic=77000.0

most miners accept free transactions and always have iirc only 2 pools dont 


Title: Re: Why
Post by: DannyHamilton on December 12, 2012, 03:38:28 PM
yes Ozcoins complete block history is available, also tracked independently https://bitcointalk.org/index.php?topic=77000.0
I don't see the information at this link that would support your assertion.  My understanding of network propogation (it takes longer to transfer 1 megabyte to a peer than 285 bytes) seems to indicate that there is an increase in risk of losing a race condition as you increase the number of transactions in a block.  I understand that race conditions are rare, but unless you can provide a source of data that demonstrates otherwise, I have to assume that larger blocks mean increased risk of orphan.

most miners accept free transactions and always have iirc only 2 pools dont 
Well then, clearly the 2 blocks linked to in this discussion must have come from one of those pools.


Title: Re: Why
Post by: Graet on December 12, 2012, 06:42:12 PM
yes Ozcoins complete block history is available, also tracked independently https://bitcointalk.org/index.php?topic=77000.0
I don't see the information at this link that would support your assertion.  My understanding of network propogation (it takes longer to transfer 1 megabyte to a peer than 285 bytes) seems to indicate that there is an increase in risk of losing a race condition as you increase the number of transactions in a block.  I understand that race conditions are rare, but unless you can provide a source of data that demonstrates otherwise, I have to assume that larger blocks mean increased risk of orphan.

most miners accept free transactions and always have iirc only 2 pools dont  
Well then, clearly the 2 blocks linked to in this discussion must have come from one of those pools.
sigh
yes Ozcoins complete block history is available https://ozcoin.net/content/block-history-bitcoin (freely available for all - sorry not to link it before, the pool link is in my signature), also tracked independently https://bitcointalk.org/index.php?topic=77000.0
assume away, you seem to assume my original post was attacking posters in this thread too... there have been stats published on this, I have read them somewhere in these forums, but given I can read 100's of posts a day and it is a few weeks since I saw the data I cannot immediately link you. It shows both smaller and larger blocks win the race ~50% of the time. as well as discussions I have had in IRC with other pool operators while they were having large amounts of orphan issues....

This is an important subject to pool operators and being one I have watched closely for some time.

the blocks linked in this discussion could come from a pool or a solo miner, I see one was relayed by deepbit, for some time there was a "mystery miner " making a large number of 1txn blocks and relaying them through deepbit there are threads discussing that too.http://blockorigin.pfoe.be/blocklist.php shows them as "unknown" blockorigin has a good handle on most of the pools

bottom line - it is better for Bitcoin if miners (pools or solo) do not restrict the number of transactions in their blocks and makes no difference to the number of orphan blocks that miners (pool or solo) create.


Title: Re: Why
Post by: DannyHamilton on December 12, 2012, 08:40:29 PM
. . . assume away, you seem to assume my original post was attacking posters in this thread too...
Nope.  Never assumed any such thing.  Just trying to understand the details of network propagation and the effects of block size.

I'm sure there are other details/variables involved (such as network bandwidth and peer connectivity), but with everything else being identical I'm just having a hard time understanding how 1 megabyte can propagate through the network faster than 285 bytes.


Title: Re: Why
Post by: Fjordbit on December 12, 2012, 08:42:02 PM
bottom line - it is better for Bitcoin if miners (pools or solo) do not restrict the number of transactions in their blocks and makes no difference to the number of orphan blocks that miners (pool or solo) create.

If everyone relays blocks with full transactions, then there's no risk in doing so, although there is an advantage. Sorry, but a block that is faster to copy will propagate faster. If your block gets to a mining pool, say deepbit, ahead of another that that pool will use that block to mine their next block. With that block going out in front of another block on the network, there will be some miners mining the other block, but the majority of miners mining your block.

If deepbit finds the next block first then the other block is orphaned. That's why the person mining single transaction blocks is relaying via  deepbit. They are the pool with the highest hashshare, which improves the odds of their block being in the chain for the next solved block.