Bitcoin Forum

Other => Beginners & Help => Topic started by: sl3ax on August 14, 2012, 02:01:49 PM



Title: How works the ten-minute-block?
Post by: sl3ax on August 14, 2012, 02:01:49 PM
If a block (then a transaction) can be confirmed every about ten minutes, if in these 10 min there're many transactions, how it works? They're put in queue? And if they're put in queue, the transactions will grow up always and it will be impossible to solve all if there's a time limited. Or not?


Title: Re: How works the ten-minute-block?
Post by: dree12 on August 14, 2012, 02:03:41 PM
If a block (then a transaction) can be confirmed every about ten minutes, if in these 10 min there're many transactions, how it works? They're put in queue? And if they're put in queue, the transactions will grow up always and it will be impossible to solve all if there's a time limited. Or not?
Transactions with highest fee are processed first. If the fee is too low, it'll have to wait until there's a block with space.


Title: Re: How works the ten-minute-block?
Post by: sl3ax on August 14, 2012, 02:17:21 PM
Yes, but at the end anyone will remain unprocessed!


Title: Re: How works the ten-minute-block?
Post by: eb3full on August 14, 2012, 02:32:24 PM
Yes, but at the end anyone will remain unprocessed!

It is true that some transactions may be unprocessed, but those transactions will almost definitely be ones which have not paid an adequate transaction fee. This is not a problem now because of block rewards and the general good behavior of miners. Market forces will eventually compel miners to include transactions that benefit them.


Title: Re: How works the ten-minute-block?
Post by: sl3ax on August 14, 2012, 02:52:05 PM
But if for example,all will pay a fee for their transaction, all will be processed with high-priority, but always one every 10 minutes,  and the others?
For example, in the arch of ten minutes there are three transactions:
1.priority 2
2.priority 1
3. priority 0
First,the first will be processed, and the others?


Title: Re: How works the ten-minute-block?
Post by: P4man on August 14, 2012, 02:54:02 PM
a single block can contain a lot of transactions. Im not even sure there is a limit to how many (is there?)


Title: Re: How works the ten-minute-block?
Post by: dree12 on August 14, 2012, 02:57:07 PM
a single block can contain a lot of transactions. Im not even sure there is a limit to how many (is there?)
Yes. Blocks can currently be up to 10 MO in size. AFAIK, only FAN nodes do not enforce this restriction.


Title: Re: How works the ten-minute-block?
Post by: Stephen Gornick on August 14, 2012, 09:42:23 PM
a single block can contain a lot of transactions. Im not even sure there is a limit to how many (is there?)

There is a limit as to how much data can be included in a block (500K).  The client starts to get choose as that block starts to fill, so when there are more transactions than space, the fee starts to become an issue and transactions with higher fees (relative to their transaction size) will be included and others won't. 

Any transactions not included remain in the memory pool to be considered for inclusion in the next block.  There are many transactions whose fees are inadequate or appear spammy (and thus low priority) which will not get included for hours or a full day even.

At current levels, blocks have the ability to include 400% more transactions than they currently are including.  (e.g., only 20% of capacity is being used).  If that becomes a problem for bitcoin, the limit can actually be doubled to 1MB per block, but that would require a new client that implements this to be accepted and adopted.  Further capacity expansion would require a hard fork to the protocol.

As far as the rules as to which transactions are included, each miner or pool has the discretion as to which transactions to include or exclude.  There are defaults to this but customization is common, especially for pools.


Title: Re: How works the ten-minute-block?
Post by: bitcoinbear on August 14, 2012, 10:03:57 PM
If a block (then a transaction) can be confirmed every about ten minutes, if in these 10 min there're many transactions, how it works? They're put in queue? And if they're put in queue, the transactions will grow up always and it will be impossible to solve all if there's a time limited. Or not?

A large number of transactions can be put into a block. As miners try to solve blocks, they periodically check for new transactions. What this means is if you send out a transaction just before a block is found you will have to wait for the next block, but most transactions do not wait many blocks before getting included.

You can see the queue of transactions waiting to be confirmed, I think, over at blockchain.info or somewhere.


Title: Re: How works the ten-minute-block?
Post by: P4man on August 15, 2012, 01:40:53 PM
At current levels, blocks have the ability to include 400% more transactions than they currently are including.  (e.g., only 20% of capacity is being used).  If that becomes a problem for bitcoin, the limit can actually be doubled to 1MB per block, but that would require a new client that implements this to be accepted and adopted.  Further capacity expansion would require a hard fork to the protocol.

Hmm.. that sounds like a potentially serious pothole down the road. Well, one that can be solved of course, but a 10 folding of transaction count would still account for precious few transactions in the grand scheme of things. I can also see miners might resist a change here, because a "shortage of transactions" would lead to higher transaction fees, which is in their interest. Could become interesting.

thanks for the elaborate explanation btw.


Title: Re: How works the ten-minute-block?
Post by: dree12 on August 15, 2012, 07:50:13 PM
At current levels, blocks have the ability to include 400% more transactions than they currently are including.  (e.g., only 20% of capacity is being used).  If that becomes a problem for bitcoin, the limit can actually be doubled to 1MB per block, but that would require a new client that implements this to be accepted and adopted.  Further capacity expansion would require a hard fork to the protocol.

Hmm.. that sounds like a potentially serious pothole down the road. Well, one that can be solved of course, but a 10 folding of transaction count would still account for precious few transactions in the grand scheme of things. I can also see miners might resist a change here, because a "shortage of transactions" would lead to higher transaction fees, which is in their interest. Could become interesting.

thanks for the elaborate explanation btw.
More tx per block = More fees in total.

To solve the hard fork, a solution like FAN nodes is probably needed. FAN nodes avoid most hard-forks.


Title: Re: How works the ten-minute-block?
Post by: P4man on August 15, 2012, 09:07:11 PM
More tx per block = More fees in total.

Not necessarily. If transactions take too long to be included in a block, it will create an incentive to pay higher transaction fees. Right now you can usually get away with paying zero or close to zero transaction fees. Many times (almost) zero is still (almost) zero. Miners can chose to include only the highest paying transactions, so it would be against their interest to include many more, almost free ones, particularly since it would eliminate the incentive to pay higher fees.

Now arguably thats already true today, and miners (/pools) could already refuse more low fee transactions, but it doesnt really matter because there is ample room in the blocks and transaction fees dont account for much anyway. But both those things might change.


Title: Re: How works the ten-minute-block?
Post by: dree12 on August 15, 2012, 09:11:41 PM
More tx per block = More fees in total.

Not necessarily. If transactions take too long to be included in a block, it will create an incentive to pay higher transaction fees. Right now you can usually get away with paying zero or close to zero transaction fees. Many times (almost) zero is still (almost) zero. Miners can chose to include only the highest paying transactions, so it would be against their interest to include many more, almost free ones, particularly since it would eliminate the incentive to pay higher fees.

Now arguably thats already true today, and miners (/pools) could already refuse more low fee transactions, but it doesnt really matter because there is ample room in the blocks and transaction fees dont account for much anyway. But both those things might change.
The situation is as follows.

If other miners use small blocks, and you mine large ones, then you have a profit. Why? Because people are paying the same high tx fees for all blocks, but you're getting more.

If other miners use large blocks, and you mine small ones, then you have a loss. Why? Because people are paying the same low tx fees for all blocks, but you're getting less.

Eventually, these two processes will force miners to mine small blocks. That is unless either all or all but an insignificant minority of miners agree to mine small blocks, which is unlikely.

Think of it akin to a baking industry. If all bakers sell at high prices, then they may collectively and individually be better off. But as soon as one baker lowers their prices, others will be forced to follow or be individually worse off.


Title: Re: How works the ten-minute-block?
Post by: P4man on August 16, 2012, 03:29:49 PM

If other miners use small blocks, and you mine large ones, then you have a profit. Why? Because people are paying the same high tx fees for all blocks, but you're getting more.

If other miners use large blocks, and you mine small ones, then you have a loss. Why? Because people are paying the same low tx fees for all blocks, but you're getting less.

Yeah, that much is obvious. However, we are talking about a protocol change here. Accepting a protocol change by itself doesnt earn you more, there is no competitive pressure since the change is either adopted or not, and then applied to everyone;  if miners think it through, they will understand it likely reduces everyone's profits. Thats why I said miners are likely to resist a protocol change like that.


Title: Re: How works the ten-minute-block?
Post by: dree12 on August 16, 2012, 04:47:06 PM

If other miners use small blocks, and you mine large ones, then you have a profit. Why? Because people are paying the same high tx fees for all blocks, but you're getting more.

If other miners use large blocks, and you mine small ones, then you have a loss. Why? Because people are paying the same low tx fees for all blocks, but you're getting less.

Yeah, that much is obvious. However, we are talking about a protocol change here. Accepting a protocol change by itself doesnt earn you more, there is no competitive pressure since the change is either adopted or not, and then applied to everyone;  if miners think it through, they will understand it likely reduces everyone's profits. Thats why I said miners are likely to resist a protocol change like that.
In advance, a release is made to the default client and alternate clients that allows the client to accept larger blocks. Miners continue to have code to reject larger blocks. After everyone upgrades, another release is made that allows miners to mine and accept larger blocks. Miners that continue to reject larger blocks will be dominant, and for a while they will own the longest chain. But as other miners upgrade, eventually 51% of miners will  begin to mine larger blocks. At this point, miners who have not upgraded will be stuck on an isolated chain, while all clients have switched to the long chain.