When coin creation diminishes transaction fees are supposed to encourage people to keep generating blocks. But how does the transaction pricing work?

The cost of hashing does not increase from including another transaction in a block. A generator will always benefit from including a transaction no matter how small the fee. So the fees will approach zero (as, indeed, they are now) making block creation very unrewarding which will reduce the computing power providing Bitcoin its security to almost nothing.

The wiki only talks about how limited block sizes keeps transactions scarce and prices up. Is that it? I see no market mechanism connecting the demand for transactions to the block size limits. How will everyone agree on maximum block sizes?

When coin creation diminishes transaction fees are supposed to encourage people to keep generating blocks. But how does the transaction pricing work?

The cost of hashing does not increase from including another transaction in a block. A generator will always benefit from including a transaction no matter how small the fee. So the fees will approach zero (as, indeed, they are now) making block creation very unrewarding which will reduce the computing power providing Bitcoin its security to almost nothing.

The wiki only talks about how limited block sizes keeps transactions scarce and prices up. Is that it? I see no market mechanism connecting the demand for transactions to the block size limits. How will everyone agree on maximum block sizes?

Am I missing something?

I'm not sure, but wouldn't it be the same way we agree on the reward for a generate? By refusing to accept blocks that are too big?

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.

I'mnot sure, but wouldn't it be the same way we agree on the reward for a generate? By refusing to accept blocks that are too big?

Sure, but the reward sizes are set in stone in the protocol and follow a predetermined path. The maximum block size will have to adjust to balance security and transaction demand.

I think the max block size is set so that the chain file will never be larger than [max block size]*[time since first block]/[10 minutes]

If a generator could just increase it they could force a huge block on everyone. To avoid that, we all reject oversize blocks. I believe it would be a breaking change, but there are ways to get it done anyway. If file storage becomes absurdly cheap and many blocks are full we will organize the change by issuing all new versions for a while to trigger the rule change at some future block.

This is my understanding, anyone please correct.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.

There is a small cost to adding a new transaction. You have to store the transaction until it is spent, validate the transaction, and recompute part of the Merkle tree for the block. There will also be big network, disk, and electricity costs for generating blocks.

Block size limitations indicate that the network is unanimously willing and able to download, upload, and store blocks of that size every 10 minutes. It will probably stay at the current 1MB until Bitcoin has a solid backbone of generators. Then it can increase rapidly.

Some generators will set fees to the minimum, and some will set fees to the highest profitable level in the hope of raising it further. Most will be set somewhere in the middle. The generators will be saying, "We want to be paid on average this much," and the users will be saying, "We will pay only this much on average." This creates a really nice effect: your transaction will almost always clear eventually, but more fee = more speed.

The "minimum fee" for a generator will usually be the fee that causes the most fee-transactions to be included in the block. Volunteers or people who feel that the generation reward is enough might have a minimum fee of 0. This will happen less and less in the future, though, because costs will rise, inherent rewards will be reduced, and you'll therefore want to create blocks with at least some non-free transactions.

If the network overcharges, competitors will come in that claim the leftover transactions. If the network undercharges (a high-fee transaction exists, but it is not included in a block in favor of a cheaper one), competitors will come in with proper fee-based prioritization.

When the coins generated per block is low, users may not be willing to pay enough for generators to ever be profitable. Transactions will be really slow in this case, and the users will hopefully change their minds. If they don't, the least efficient generators will leave, the difficulty will be reduced, and generation will be profitable again. The users will be saying, "I'm not paying for that much CPU power! Reduce it."

Very nice explanation, Theymos. Can you comment on "max block size" in the future? Is it likely to stay the same for all time? If not how will it be increased?

It's a backward-incompatible change. Everyone needs to change at once or we'll have network fragmentation.

Probably the increase will work like this: after it is determined with great certainty that the network actually can handle bigger blocks, Satoshi will set the larger size limit to take effect at some block number. If an overwhelming number of people accept this change, the generators will also have to change if they want their coins to remain valuable.

It might also work in reverse, where almost all generators decide to reduce (or raise) the max block size. If clients want to have any real protection from double-spending, they also need to switch.

The limit needs to increase at some point if Bitcoin is to become mainstream. 1MB is not an awful lot of transactions, so not increasing it would raise fees to unreasonable levels.

The cost of hashing does not increase from including another transaction in a block. A generator will always benefit from including a transaction no matter how small the fee. So the fees will approach zero (as, indeed, they are now) making block creation very unrewarding which will reduce the computing power providing Bitcoin its security to almost nothing.

Am I missing something?

Yes, the transaction fees and block reward are the 'seen' incentives for generation, but you are overlooking the 'unseen' incentives. If you were one of the very early generators of the system, and in another 2 years when the block reward steps down to 25 bitcoin each, how would you respond to the concern that difficulty (and therefore blockchain resistance to a brute force attack) would drop? If you had 10K coins (not unrealistic for some) and the market value were, say $5 apiece, would you sell all that you had knowing that the market value may crash and you might not get half of the net worth out of them, or would you buy and/or run a generator of your own even at a loss? If you have 50 bitcoins at $5 apiece, you probably wouldn't run a generator (unless you were one of these guys that has to heat their high latitude apartment with electric anyway, and therefore the cost of running a CPU/GPU at full tilt is negligible) but if you had a $50K net worth in Bitcoins you would have a strong personal incentive to protect that net worth. In a future with a successful Bitcoin, most generation would likely be performed at a net loss by persons or institutions with the most interest in Bitcoins security. After all, you might not think twice about $50 in your wallet on the nightstand with that one-night-stand, but what would you do if you had $10K in cash? Would you deposit that into a savings account at a bank with a $50K safe? If you do, you are contributing to the cost of that safe, even though your share may be so small as to ignore; but the bank still invests into it's own security at it's own loss.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

Something I realized that is slightly related is that in the future the time between blocks will become more regular. Currently the reward is the same no matter how long it has been since the last block. When fees make up most of the reward they will increase linearly and as the pot builds more and more generators will come online. Of course some will not bother turning off after a block is found, but those with high electricity costs or with something else to compute will switch on and off.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.

In a future with a successful Bitcoin, most generation would likely be performed at a net loss by persons or institutions with the most interest in Bitcoins security.

No! Thats a tragedy of the commons situation. It just doesn't work. If Bitcoin will have to rely on that it's doomed.

Hmm, I can't think my way out of this problem.

It's not a TOC situation because of the fees, as blocks go unsolved, fees accumulate, increasing incentive to solve. People need not generate at a loss for bitcoin to work. Though maybe with some definition of 'loss' some people will anyway.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.

It's not a TOC situation because of the fees, as blocks go unsolved, fees accumulate, increasing incentive to solve. People need not generate at a loss for bitcoin to work. Though maybe with some definition of 'loss' some people will anyway.

Blocks will always be solved. Sometimes way too easily.

There are two cases. One is when all transactions fit in the blocks. Then there is a tragedy of the commons. Transaction fees drop towards zero and there is hardly any incentive to generate. This is the case now. Transaction fees are zero and the only reason people generate is coin creation.

The other case is when all transactions don't fit in the blocks. Then transactions will compete to get into the blocks using transaction fees. The maximum block size must be continuously adjusted to keep the transaction prices stable. The only way to change the maximum block size is through a lengthy political process of debate, decree, network fragmentation and majority agreement.

It's not a TOC situation because of the fees, as blocks go unsolved, fees accumulate, increasing incentive to solve. People need not generate at a loss for bitcoin to work. Though maybe with some definition of 'loss' some people will anyway.

Blocks will always be solved. Sometimes way too easily.

There are two cases. One is when all transactions fit in the blocks. Then there is a tragedy of the commons. Transaction fees drop towards zero and there is hardly any incentive to generate. This is the case now. Transaction fees are zero and the only reason people generate is coin creation.

The other case is when all transactions don't fit in the blocks. Then transactions will compete to get into the blocks using transaction fees. The maximum block size must be continuously adjusted to keep the transaction prices stable. The only way to change the maximum block size is through a lengthy political process of debate, decree, network fragmentation and majority agreement.

Correct me if I'm wrong here, but it is right now a very rare situation where blocks are even close to the maximum block size? In fact, on average most blocks don't even have transactions included in them at all. In other words, all they are doing at the moment is purely generating coins.

If there is a situation where there is a huge pile of transactions backing up, perhaps the ones with fees could get move to the front of the pack, so to say, but the rest would generally be cleared in subsequent blocks.

There certainly isn't anything stopping you from modifying your source code on Bitcoins and only accepting transactions with fees for at least blocks you are able to mine and create. Essentially, if you are going through the effort to generate a block, you ought to be paid for any transactions in that block, at least if you think that way. If enough people don't want to process transactions without getting paid, those without a fee simply won't get processed. It really is that simple.

For myself, I'd love to see this as a option in the User Interface itself where you could set the rules up in some way for how you would personally want to process transactions, and make it more of a market-based approach. There is room for multiple rules regarding how transactions are processed.

It's not a tragedy of the commons because generators will have interest in seeing the network continue to function.

Just like the herders have an interest in having the common pasture continue to grow grass?

No, there will be instititutions with a high value to protect. Costs of protection are a 'tax' of sorts, but they are unavoidable. They are not a tragedy of the commons scenario, each is still looking out for his own interests, and his interests benefit others. It's a postitive externality.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

[If there is a situation where there is a huge pile of transactions backing up, perhaps the ones with fees could get move to the front of the pack, so to say, but the rest would generally be cleared in subsequent blocks.

Such a priority ranking system is in the current release client.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."