Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: jabetizo on February 19, 2013, 12:50:53 AM



Title: artificial 250kB limit?
Post by: jabetizo on February 19, 2013, 12:50:53 AM
I've seen it mentioned on the forum many times that there's currently an "artificial" limit of 250kB per block, what does that mean, compared to the 1MB limit?


Title: Re: artificial 250kB limit?
Post by: dree12 on February 19, 2013, 12:54:53 AM
I've seen it mentioned on the forum many times that there's currently an "artificial" limit of 250kB per block, what does that mean, compared to the 1MB limit?

There was, and still is, an absolute block size limit of 1 MB. If a block exceeds this size, all Bitcoin clients will reject it, as standardized in the Bitcoin specification.

For miners running the Bitcoind mining client, there is now a 250 kB "artificial" limit. Blocks can still be created up to the 1 MB absolute limit; however, miners using the popular Bitcoind client (most solo miners and several pools) will no longer generate blocks larger than 250 kB. This is an experiment to see how the network reacts to greater competition for block space.

This "artificial" limit is ignored by several pools, notably Eligius.


Title: Re: artificial 250kB limit?
Post by: jabetizo on February 19, 2013, 01:28:30 AM
why don't all miners modify their client and use the 1MB limit so they can include more transactions and collect more transaction fees? it can't be because of propagation speed, if propagation speed was that important they would include no transactions at all ???


Title: Re: artificial 250kB limit?
Post by: dree12 on February 19, 2013, 01:37:45 AM
why don't all miners modify their client and use the 1MB limit so they can include more transactions and collect more transaction fees? it can't be because of propagation speed, if propagation speed was that important they would include no transactions at all ???

Because they are too lazy.


Title: Re: artificial 250kB limit?
Post by: Anon136 on February 19, 2013, 01:40:37 AM
why don't all miners modify their client and use the 1MB limit so they can include more transactions and collect more transaction fees? it can't be because of propagation speed, if propagation speed was that important they would include no transactions at all ???

i imagine that 250kb is enough space to include all transactions with transaction fees. In all but the rarest circumastances, only transactions with no transaction fees included would be excluded due to this size limit.


Title: Re: artificial 250kB limit?
Post by: notme on February 19, 2013, 02:00:57 AM
why don't all miners modify their client and use the 1MB limit so they can include more transactions and collect more transaction fees? it can't be because of propagation speed, if propagation speed was that important they would include no transactions at all ???

i imagine that 250kb is enough space to include all transactions with transaction fees. In all but the rarest circumastances, only transactions with no transaction fees included would be excluded due to this size limit.

This, and they have an interest in seeing how the experiment plays out.


Title: Re: artificial 250kB limit?
Post by: DannyHamilton on February 19, 2013, 04:34:52 AM
I suspect part of the experiment is to see how many miners are perfectly happy with the reduced size, and how many decide that they might increase their revenue by choosing some other software that will allow them to include more transaction.  The act of deciding to stay with the artificial limit or switch to some other software provides significant feedback.


Title: Re: artificial 250kB limit?
Post by: cabin on February 19, 2013, 08:48:52 PM
Different miners have different issues too.. for example P2Pool miners have a big incentive to keep their local bitcoin running very fast since they are dealing with a 10 second share block chain as opposed to 10 minutes. If their node is taking even 1 second to do transaction calculations and serve work to their miner then they will have a larger stale rate and be losing money. This was a real issue in the 0.7 bitcoin releases, the 0.8 releases are a lot faster but to get sub-second response times I had to limit the size to 100k on 0.7x.


Title: Re: artificial 250kB limit?
Post by: Gavin Andresen on February 19, 2013, 09:01:05 PM
A couple of minor clarifications:

There has always been an artificial block size limit; Satoshi's code exponentially increased required transaction fees required to get into a block as the block filled up from 250K to an absolute-maximum 500K. There are almost certainly still miners running with that algorithm; their effective maximum block size is a little more than 250K.

Also, solo/p2p miners and pool operators running a recent version of bitcoind can very easily change the maximum block size; it is a command-line / bitcoin.conf setting. They don't need to use different software.


Title: Re: artificial 250kB limit?
Post by: markm on February 19, 2013, 09:11:15 PM
So the current one megabyte hard limit is already double the limit Satoshi originally put in place?

-MarkM-


Title: Re: artificial 250kB limit?
Post by: DannyHamilton on February 19, 2013, 09:51:38 PM
There has always been an artificial block size limit; Satoshi's code exponentially increased required transaction fees required to get into a block as the block filled up from 250K to an absolute-maximum 500K. There are almost certainly still miners running with that algorithm; their effective maximum block size is a little more than 250K.

Thanks for the history. I wasn't aware of this.  Sometimes I forget that I'm a relative newcomer to bitcoin.

Also, solo/p2p miners and pool operators running a recent version of bitcoind can very easily change the maximum block size; it is a command-line / bitcoin.conf setting. They don't need to use different software.

I made an assumption there. I hadn't realized that is was just a configuration file change.  That's a pretty low barrier to increasing the maximum blocksize to 1 MB.  Sounds like there isn't a whole lot of
for a larger blocksize just yet.  At least not among miners.


Title: Re: artificial 250kB limit?
Post by: Gavin Andresen on February 20, 2013, 12:13:00 AM
So the current one megabyte hard limit is already double the limit Satoshi originally put in place?
No, the hard limit has been 1 megabyte forever. But 500K was the largest block Satoshi's code could possibly build (I believe that that wasn't even possible in practice, because you'd have to spend all 21 million bitcoins in fees to fill it to 500K).


Title: Re: artificial 250kB limit?
Post by: markm on February 20, 2013, 12:35:19 AM
Wow. So lets see if I have this right. Only people who use custom hacks ever made blocks over half a meg, right now only people who don't keep up with new versions and people who use custom hacks build blocks larger than a quarter meg, a vast proportion of transactions are gamblers yelling at the world about their lack of luck, free transactions reliably get into the blockchain in large numbers every day, even paid transactions are laughably dirt-cheap, we have yet to see how much impact Ripple will have on keeping transactions off the blockchain, but we "need" to raise the size limit?

-MarkM-


Title: Re: artificial 250kB limit?
Post by: Peter Todd on February 20, 2013, 12:40:19 AM
Wow. So lets see if I have this right. Only people who use custom hacks ever made blocks over half a meg, right now only people who don't keep up with new versions and people who use custom hacks build blocks larger than a quarter meg, a vast proportion of transactions are gamblers yelling at the world about their lack of luck, free transactions reliably get into the blockchain in large numbers every day, even paid transactions are laughably dirt-cheap, we have yet to see how much impact Ripple will have on keeping transactions off the blockchain, but we "need" to raise the size limit?

Nobody is saying we need to raise the size limit now. I brought the issue up because we need off-chain alternatives, and those alternatives take time to create. Ripple is one alternative, and I'm glad to see people working on it, but competition is a good thing and multiple alternatives should be pursued.


Title: Re: artificial 250kB limit?
Post by: DannyHamilton on February 20, 2013, 12:41:33 AM
- snip -
but we "need" to raise the size limit?

-MarkM-

Stitch in time . . .


Title: Re: artificial 250kB limit?
Post by: markm on February 20, 2013, 12:57:05 AM
Stitch in time . . .

Stitch in time is one thing, building in an always-on knitting-machine on full auto is quite another.

-MarkM-


Title: Re: artificial 250kB limit?
Post by: DannyHamilton on February 20, 2013, 01:07:06 AM
Stitch in time . . .
Stitch in time is one thing, building in an always-on knitting-machine on full auto is quite another.

-MarkM-

I thought you were asking why "we need to raise the size limit".  Did I misunderstand the question?


Title: Re: artificial 250kB limit?
Post by: markm on February 20, 2013, 01:45:11 AM
The *...* emphasis was basically an attempt to differentiate "will eventually someday quite likely really really seem to actually right then urgently need" from "we right now do urgently need it, we are losing adoption rate and suffering lowering exchange rates every hour or day we fail to get a higher limit into use".

Yes the apparent/seeming "need" will tend to tend upwards.

But, constantly pulling the rug out from under infrastructure development that also will tend to seem more and more "needed" in a basically fundamentally doomed attempt to turn the world's highest difficulty currency-of-final-international-settlement into a retail payment processor so people can buy penny candy using e-currency despite no longer having pennies in the snailmail world doesn't seem a productive response.

We not only have 1 megabyte per ten minutes of international final settlement transaction space, we also have, secured by that same hashing power, several other sets of blocks (namecoin, devcoin, ixcoin, i0ccoin, groupcoin, coiledcoin, and it is easy to add more) that have already established tendencies to cater to lower-value transactions (by using lower-value coins).

So if people still feel a need to spam out to the world trivially small value transactions (which to the primary chain might mean less than a few thousand dollars worth, to the first secondary chain might mean less than a few hundred dollars worth, to the second primary chain might mean less than tens of dollars worth (at this early stage; later multiply all those figures by a power of ten from time to time as adoption proceeds)...

So plenty of space is out there for low-value transactions, and more can be added very easily and modularly (add another chain, add another chain, all the time each chain remaining fully and easily within the capabilities of a single home computer on a home internet connection to fully verify).

-MarkM-


Title: Re: artificial 250kB limit?
Post by: dree12 on February 20, 2013, 02:04:01 AM
The *...* emphasis was basically an attempt to differentiate "will eventually comeday quite likely really really seem to actually right then urgently need" from "we right now do urgently need it, we are losing adoption rate and suffering lowering exchange rates every hour or day we fail to get a higher limit into use".

Yes the apparent/seeming "need" will tend to tend upwards.

But, constantly pulling the rug out from under infrastructure development that also will tend to seem more and more "needed" in a basically fundamentally doomed attempt to turn the world's highest difficulty currency-of-final-international-settlement into a retail payment processor so people can buy penny candy using e-currency despite no longer having pennies in the snailmail world doesn't seem a productive response.

We not only have 1 megabyte per ten minutes of international final settlement transaction space, we also have, secured by that same hashing power, several other sets of blocks (namecoin, devcoin, ixcoin, i0ccoin, groupcoin, coiledcoin, and it is easy to add more) that have already established tendencies to cater to lower-value transactions (by using lower-value coins).

So if people still feel a need to spam out to the world trivially small value transactions (which to the primary chain might mean less than a few thousand dollars worth, to the first secondary chain might mean less than a few hundred dollars worth, to the second primary chain might mean less thans of dollars worth (at this early stage; later multiply all those figures by a power of ten from time to time as adoption proceeds).

So plenty of space is out there for low-value transactions, and more can be added very easily and moidularly (add another chain, add another chain, all the time each chain remaining fully and easily within the capabilities of a single home computer on a home internet connection to fully verify).

-MarkM-


While it's true that Bitcoin adoption is outpacing hardware growth in the moment, this trend will not last. I'm in the midst of writing an essay that goes deeper. Hopefully my calculations will allow us to move forward together, rather than bicker about how necessary a size increase is.


Title: Re: artificial 250kB limit?
Post by: HorseRider on February 20, 2013, 01:21:05 PM

No, the hard limit has been 1 megabyte forever.


Why there is such limit?


Title: Re: artificial 250kB limit?
Post by: Peter Todd on February 20, 2013, 02:10:34 PM

No, the hard limit has been 1 megabyte forever.


Why there is such limit?

Because if we don't have a limit, your ability to mine isn't a function of how much hashing power you have, the thing that protects us against 51% attackers, it's a function of how much network bandwidth you have, something 51% attackers need none of. Bigger blocks mean more money uselessly spent on network bandwidth, rather than what actually keeps Bitcoin secure.

See my post here (https://bitcointalk.org/index.php?topic=144895.0), as well as other viewpoints on the issue.