Author

Topic: Max block size and transaction fees (Read 2332 times)

hero member
Activity: 756
Merit: 501
There is more to Bitcoin than bitcoins.
July 28, 2012, 10:26:20 PM
#8
BUT: moving to a floating maximum block size determined by miners will be really hard; it will require everybody-- merchants and miners and users-- to upgrade. It may never happen, because other ways of supporting very high transaction volumes might develop before then.

Yes, I think it's a good idea to keep thinking of ways for the core network to handle very high transaction volumes, since it is technically the default way to spend bitcoins.

But I see most ordinary transactions possibly happening away from the core network, such as at eWallets which can improve the user experience greatly. I also wouldn't rule out physical bitcoin exchange using the Casascius coins model. It might be in a company's interest to really make a tamper proof coin with the private key hidden inside. They could be publicly transparent during the coin creation process. That's all it would take for people to assign the coins real value and for them to be reusable as long as they were intact.

I see people storing the majority of their BTC locally and converting to more user friendly methods like eWallets and physical coins as needed. The only transactions that would really use the original network are special/infrequent ones like if a high roller wanted to move the equivalent of $1 million dollars somewhere. Attaching decent fees shouldn't be a problem for such transactions.
Would this be the other extreme possibility (opposite of the scenario from OP)? There wouldn't be very many transactions hitting the original blockchain? Operating a mining business based on small number of random events (transactions) would be difficult. How do you estimate proper fees without statistics? This would spiral out into small players dropping out and only bigger (and bigger) players surviving as they can afford long dry spells.
legendary
Activity: 1050
Merit: 1002
July 27, 2012, 07:57:14 PM
#7
BUT: moving to a floating maximum block size determined by miners will be really hard; it will require everybody-- merchants and miners and users-- to upgrade. It may never happen, because other ways of supporting very high transaction volumes might develop before then.

Yes, I think it's a good idea to keep thinking of ways for the core network to handle very high transaction volumes, since it is technically the default way to spend bitcoins.

But I see most ordinary transactions possibly happening away from the core network, such as at eWallets which can improve the user experience greatly. I also wouldn't rule out physical bitcoin exchange using the Casascius coins model. It might be in a company's interest to really make a tamper proof coin with the private key hidden inside. They could be publicly transparent during the coin creation process. That's all it would take for people to assign the coins real value and for them to be reusable as long as they were intact.

I see people storing the majority of their BTC locally and converting to more user friendly methods like eWallets and physical coins as needed. The only transactions that would really use the original network are special/infrequent ones like if a high roller wanted to move the equivalent of $1 million dollars somewhere. Attaching decent fees shouldn't be a problem for such transactions.
legendary
Activity: 1652
Merit: 2301
Chief Scientist
July 27, 2012, 06:48:43 PM
#6
Do we want to keep the maximum block size large enough that all transactions can be included in every block, or do we want to keep it small to increase tx fees and incentivize mining?
Good question.

In my humble opinion, the block size should not be arbitrarily limited as it is now (1MB is the limit; typical blocks these days are 30-250K big), but should 'float' -- miners should collectively decide how large a block they're willing to validate and build on top of.

Obviously a miner wants to include as many fee-paying transactions in their blocks as possible, until the fee paid is less than their cost of validating and including the transaction (which is a small cost).

But miners also don't want to spend a very long time validating other miners' blocks, so they have an incentive to ignore blocks that are outrageously big. If they were willing to build on a 10-gigabyte-big block that took ten minutes to download and signature check, then they're shooting themselves in the foot-- an evil miner could mine a huge block, and then get a head start on mining the next block while the rest of the network was busy validating it.

BUT: moving to a floating maximum block size determined by miners will be really hard; it will require everybody-- merchants and miners and users-- to upgrade. It may never happen, because other ways of supporting very high transaction volumes might develop before then.
legendary
Activity: 1050
Merit: 1002
July 27, 2012, 04:06:44 PM
#5
As all we know, the block reward halves every 4 years or so. At some point it is going to get so small that miners will lose the incentive to mine if they don't get enough in transaction fees. So the big question is, what are transaction fees going to be worth?

Keep in mind Bitcoin is building a new economy, and very likely a big one. That means the price per bitcoin will continue to rise because there are only 21 million of them.

I don't have exact numbers in front of me, but I think the price was around $1 January, 2011. It's now about $8 August, 2012, just 20 months later. Let's round that off and say 24 months, or 2 years. That means the price is up 800% in 2 years. I actually think that's fairly conservative once more people find out about Bitcoin's potential, but just using 800% per two years we get:

$8 in Aug 2012
$64 in Aug 2014
$512 in Aug 2016
$4,096 in Aug 2018
$32,768 in Aug 2020

I don't think a halving block reward will be a problem. And by the time all of the coins are mined around 2033 the large number of transactions will still make it worthwhile to mine. I also think there will be quite resourceful people with an interest in maintaining good network hash rate regardless of fee incentive.

legendary
Activity: 1246
Merit: 1016
Strength in numbers
July 27, 2012, 03:25:34 PM
#4
Wouldn't you then have a problem where some transactions never get processed?

For example, lets say you generate a block every 10 minutes and can include 5,000 transactions in a block.  If the network generates 5,100 transactions on average every 10 minutes, then a backlog of un-confirmed transactions will build that will only get bigger and bigger with time.  If you don't include a fee with your transaction, you can't later go in and add one, so it's possible that transactions without a fee may never be confirmed.  Or does the protocol have something built in to defend against that?

Transaction replacement is not implemented but it is possible. A work around right now would be to build a transaction that uses the stuck one as a input that itself does have a fee. The only way for a miner to get that fee is to include the one it is dependent on. I don't think any miners current check for that, but it is something that could be done with proper motivation.
legendary
Activity: 1246
Merit: 1016
Strength in numbers
July 27, 2012, 03:22:57 PM
#3
Even with unlimited block size, 1 satoshi is not likely to be an equilibrium price. This is because everyone has at least a tiny bit of pricing power. For example a .1% of the network pool or miner can refuse your transaction dropping you to at most a 99.9% chance of getting in the next block. Admittedly that isn't much worse than a 100% chance, but also 2 satoshis is not much cost. If at least half of transactions are willing to pay that extra satoshi then the miner will make more with that rule. A 1, 5, or 10% miner likely could charge well more than a few satoshis. Even if most people will take their chances with a 90% inclusion rate, the few who will pay 1000 satoshis more than makes up for that loss.

If you claim that every miner and pool will eventually have power indistinguishable from 0% and thus no power to price miners will start to quit until someone does have pricing power.

Even one group with some pricing power will lift the price from the bare minimum and benefit the smaller  miners. The smallest miners actually benefit more in proportion to their size since they can still take the smallest fees.
sr. member
Activity: 431
Merit: 251
July 27, 2012, 03:11:52 PM
#2
Wouldn't you then have a problem where some transactions never get processed?

For example, lets say you generate a block every 10 minutes and can include 5,000 transactions in a block.  If the network generates 5,100 transactions on average every 10 minutes, then a backlog of un-confirmed transactions will build that will only get bigger and bigger with time.  If you don't include a fee with your transaction, you can't later go in and add one, so it's possible that transactions without a fee may never be confirmed.  Or does the protocol have something built in to defend against that?
hero member
Activity: 675
Merit: 502
July 27, 2012, 02:42:22 PM
#1
I'm sorry if this has been beaten to death already. I couldn't find the right search word to find if this was sufficiently discussed before.

As all we know, the block reward halves every 4 years or so. At some point it is going to get so small that miners will lose the incentive to mine if they don't get enough in transaction fees. So the big question is, what are transaction fees going to be worth?

At first I thought this wouldn't be a problem, because there's a limited block size, which means that if Bitcoin grows to be popular enough to fill entire blocks to the max size, people wishing to send Bitcoin transactions will have to outbid each other to have their transactions included.

But I recently read that it's expected that the maximum block size will increase. Who decides this? On what will they base their decision?

What happens if a miner tries to generate a block that is larger than the maximum block size? Do other miners reject the block and keep on mining?

Do we want to keep the maximum block size large enough that all transactions can be included in every block, or do we want to keep it small to increase tx fees and incentivize mining?

Right now I think there's about zero chance of anyone running a 51% attack on Bitcoin. Maybe it's even too powerful to be justified. But my understanding of the game theory of this is that as long as we haven't hit the maximum block size, rational profit-maximizing miners will include all transactions that have a nonzero transaction fee. That's the best policy for them to maximize mining profit. Your typical rational cost-avoiding Bitcoin spender knows this, and will then attach a 1 Satoshi transaction fee to each transaction. Under this situation I don't see transaction fees as being sufficient incentive for people to mine - unless there is scarcity of block size, in which case bidding between spenders for inclusion in blocks should drive prices up to the point where it sufficiently incentivizes mining.

(The other option to keep mining incentivized is to stop halving the block reward at some point. Keep it at that block rate forever, say, 12.5 BTC. The inflation rate will approach zero percent, and we'll still have the hardest money system in the world even if we're not capped at 21 million BTC)
Jump to: