Author

Topic: Transactions per block (Read 5873 times)

full member
Activity: 210
Merit: 106
April 13, 2011, 12:33:23 AM
#11
Quote
 (Concern over "will there be enough miners?" is pretty irrelevant, except for the matter of security, since I don't believe the number of miners can have any positive or negative impact on the actual transaction processing rate.  Correct?)

The number of miners do not affect the block rate in the long term, because the system adjusts to changes in the network's total hashing power every 2016 blocks, or about two weeks.  However, within that two week window, it is expected that increasing transaction fees during peak periods will eventually create an "elastic" processing rate by drawing in miners who are marginal with just the block reward.  The idea being that during the high transaction periods, the accumulation of fees that are seen unprocessed on the network will trigger automatic generation to try to process those fee paying transactions, and the average time between blocks will drop.  The flipside being that on the weekends, and the off periods of the major Bitcoin trading areas, will end up having an average time between blocks longer than 10 minutes to compensate.

In short, "will there be enough miners?" is not an irrelevant question, even outside of the context of security.  However, the answer is always "yes" because the ebb and flow of the transactions and their average fees will create a fast moving market that will adapt to the conditions consistently.
IMHO that's brilliant.  Thanks for explaining!
administrator
Activity: 5222
Merit: 13032
April 12, 2011, 11:39:15 PM
#10
Somehow, this block has 43 KB of free transactions: http://blockexplorer.com/b/118089

Is a limit on free transactions set in the mining client, or is it a condition of a block being valid?

It's chosen by miners. Miners could fill blocks to 1MB with free transactions if they wanted.

That block was probably solved by an old client. The current free limit is 27 kB. It was originally 200 kB, and there were some intermediate adjustments between those.
legendary
Activity: 1708
Merit: 1010
April 12, 2011, 11:26:49 PM
#9
I've seen this question answered before, but I can't recall where.  What is the maximum number of transactions per block?
It's not limited by number of transactions, but by individual and collective size in kilobytes.  I can't remember the exact details, but I'm pretty sure that the total free transactions are limited to 25 KB and then fee paying transactions increase the minimum required fee to a maximum hard blocksize limit of one Mb.
Somehow, this block has 43 KB of free transactions: http://blockexplorer.com/b/118089
Then it's probably 50 KB, I know that it's not much.
Quote

Is a limit on free transactions set in the mining client, or is it a condition of a block being valid?
I believe that the fee structure is a condition of validity, but miners are not compelled to include free transactions at all.  In a future that there are enough paying transactions to max out the total blockspace, free transactions are likely to be ignored my profit minded miners.  Although there will likely be some miners that always include free transactions on ideological grounds, there is no way to know if free transactions will continue to be processed on any reasonable timescale.

Quote
Just some rough math to answer my own question, a 1MB block would contain roughly 3000 typical transactions.  Thus there's an upper limit on the transaction processing rate for the entire economy - I reckon that means that once the transaction rate rises over an average of 18k/hr., there will be a minimum fee for your transaction to even have a chance of being processed, and market forces will drive the minimum fee up with time.


Probably, but the 1 meg hard limit was an arbitrary rule included early on as a method to limit harm in the event of a 'transaction flood' spam-type attack.  It was never intended to remain in effect, and to my knowledge, could be removed without effect now that the transaction priority score rules and the minimum transfer fee rule are effective.  As far as I know, we have never even come close to the 1 meg hard limit anyway.   
Quote

  (Concern over "will there be enough miners?" is pretty irrelevant, except for the matter of security, since I don't believe the number of miners can have any positive or negative impact on the actual transaction processing rate.  Correct?)

The number of miners do not affect the block rate in the long term, because the system adjusts to changes in the network's total hashing power every 2016 blocks, or about two weeks.  However, within that two week window, it is expected that increasing transaction fees during peak periods will eventually create an "elastic" processing rate by drawing in miners who are marginal with just the block reward.  The idea being that during the high transaction periods, the accumulation of fees that are seen unprocessed on the network will trigger automatic generation to try to process those fee paying transactions, and the average time between blocks will drop.  The flipside being that on the weekends, and the off periods of the major Bitcoin trading areas, will end up having an average time between blocks longer than 10 minutes to compensate.

In short, "will there be enough miners?" is not an irrelevant question, even outside of the context of security.  However, the answer is always "yes" because the ebb and flow of the transactions and their average fees will create a fast moving market that will adapt to the conditions consistently.
full member
Activity: 210
Merit: 106
April 12, 2011, 10:56:05 PM
#8
I've seen this question answered before, but I can't recall where.  What is the maximum number of transactions per block?
It's not limited by number of transactions, but by individual and collective size in kilobytes.  I can't remember the exact details, but I'm pretty sure that the total free transactions are limited to 25 KB and then fee paying transactions increase the minimum required fee to a maximum hard blocksize limit of one Mb.
Somehow, this block has 43 KB of free transactions: http://blockexplorer.com/b/118089

Is a limit on free transactions set in the mining client, or is it a condition of a block being valid?

Just some rough math to answer my own question, a 1MB block would contain roughly 3000 typical transactions.  Thus there's an upper limit on the transaction processing rate for the entire economy - I reckon that means that once the transaction rate rises over an average of 18k/hr., there will be a minimum fee for your transaction to even have a chance of being processed, and market forces will drive the minimum fee up with time.  (Concern over "will there be enough miners?" is pretty irrelevant, except for the matter of security, since I don't believe the number of miners can have any positive or negative impact on the actual transaction processing rate.  Correct?)
member
Activity: 98
Merit: 13
April 12, 2011, 10:50:44 PM
#7
It needs to be resent?  Does that imply it expires after a certain amount of time?

Until your transaction gets into a block, nothing is guaranteed.  This is an untrusted, peer-to-peer network after all.  Bitcoin nodes try to remember your transaction, but the client must resend in case they do not.  New nodes appearing on the network have never seen your TX, and nodes may be restarted or leave the network, also forgetting your TX.

One of my proposals for bitcoin is to introduce a new rule that causes all nodes to forget a transaction, if it does not make it into a block within 24 hours (~150 blocks).

Clients that wish to resend for such transactions will continue to do so, submitting a copy again after 24 hours passes.  This is current behavior.

Clients that wish to cease retransmission, perhaps in order to rewrite the transaction into something more acceptable, are newly permitted to do so with my proposed change.

Thus, transaction lifetime would become deterministic.

full member
Activity: 210
Merit: 106
April 12, 2011, 10:38:38 PM
#6
Is there any mechanism then to at least make it unlikely that a transaction will "fall through the cracks" and never get processed?  Or is the idea that that's simply a risk you're taking if you skimp on transaction fees?

You'll keep resending it forever until it gets in a block.
"You" = the default client?

It needs to be resent?  Does that imply it expires after a certain amount of time?
administrator
Activity: 5222
Merit: 13032
April 12, 2011, 10:18:47 PM
#5
Is there any mechanism then to at least make it unlikely that a transaction will "fall through the cracks" and never get processed?  Or is the idea that that's simply a risk you're taking if you skimp on transaction fees?

You'll keep resending it forever until it gets in a block.
hero member
Activity: 672
Merit: 500
BitLotto - best odds + best payouts + cheat-proof
April 12, 2011, 10:17:48 PM
#4
Quote
Is there a maximum amount of time any given transaction will stay unprocessed? 

No.
Is there any mechanism then to at least make it unlikely that a transaction will "fall through the cracks" and never get processed?  Or is the idea that that's simply a risk you're taking if you skimp on transaction fees?

I'm sure some mining group somewhere will always make blocks to process those fee-less transactions. Perhaps a charity group sometime in the far future. Fee's will be for speed. If it's never processed I believe the person that sent it could re-send it somewhere else. But if the old transaction is ever processed, it won't go through.
full member
Activity: 210
Merit: 106
April 12, 2011, 10:07:39 PM
#3
Quote
Is there a maximum amount of time any given transaction will stay unprocessed? 

No.
Is there any mechanism then to at least make it unlikely that a transaction will "fall through the cracks" and never get processed?  Or is the idea that that's simply a risk you're taking if you skimp on transaction fees?
legendary
Activity: 1708
Merit: 1010
April 12, 2011, 07:51:20 PM
#2
I've seen this question answered before, but I can't recall where.  What is the maximum number of transactions per block?

It's not limited by number of transactions, but by individual and collective size in kilobytes.  I can't remember the exact details, but I'm pretty sure that the total free transactions are limited to 25 KB and then fee paying transactions increase the minimum required fee to a maximum hard blocksize limit of one Mb.

Quote
Will/can the average number of transactions per block increase with time? 


Up to the artificial scarcity limits mentioned above, yes.

Quote
(Right now it seems to be about 10 or 15.)  If so, what mechanism will cause miners to start including more transactions in their blocks?

Increasing fees attached to the transactions.

Quote

Is there a maximum amount of time any given transaction will stay unprocessed? 

No.
full member
Activity: 210
Merit: 106
April 12, 2011, 07:44:59 PM
#1
I've seen this question answered before, but I can't recall where.  What is the maximum number of transactions per block?

Will/can the average number of transactions per block increase with time?  (Right now it seems to be about 10 or 15.)  If so, what mechanism will cause miners to start including more transactions in their blocks?

Is there a maximum amount of time any given transaction will stay unprocessed?  If so, what mechanism is responsible for that?
Jump to: