I'm not sure I understand the wisdom behind capping it at 21 million blocks, or by reducing the production rate. Inflation isn't intrinsically a bad thing, it is only bad when it is used to swindle people out of their savings.
Can someone explain what would be the harm in allowing 50 BTC to be created per block forever? Even that is still an inflation rate that asymptotically trends toward zero, when considered as a proportion of the entire economy. And the inflation rate will be vastly disproportionate to the expected deflation that can be guaranteed if Bitcoin experiences a surge in popularity.
The point is that the creation of new coins is mathmaticly similar to the mining of gold, as the mining continues, the difficulty of doing so increases until the mine is played out. Also, there is the problem of initial distribution of a new currency, if the rate was continuous then it would take decades for the inflation rate to drop into the range of a rational currency, say 2-3% APR. The halving system used by bitcoin will have distributed half of all the coins by 2013, 75% by 2017, and will be into an inflation rate preferable to any fiat currency on Earth today. We wouldn't want to wait a couple decades before Bitcoin was preferable to a regular national currency issued by a government with "target inflation rate" of 2%.
I see two parallel phenomena. The more people adopt Bitcoin, the more one BTC is going to be worth, but the less worthwhile it will be to generate coins due to the increased competition (difficulty). Both of these growths will be in proportion, and that should be a good thing. But if the incentive to generate coin goes to zero (transaction fees aside), what's the point? You're going to have the casual user disinterested in generating blocks, leaving all the block generation to a small class of professional administrators of large banks of GPU's (may as well call them "bankers" for short!).
I recognize there's transaction fees, but the way I understand it, the maximum block size is imposed by fiat... and unless the maximum block size adjusts in some systematic fashion in response to the transaction fees, they serve no purpose other than to prevent spam...
The max block size is not imposed by fiat, but by agreement to a convention. You could change that in your client right now and produce blocks just fine, but unless at least 50% of generators agree with you, whenever your client produces a block that defies this agreed convention it will be ignored by those who do.
there's no market force that would compel people to pay transaction fees in a quantity that would incentivize people to contribute computational power. If I have misunderstood, someone please correct me and provide an address for a small donation!
Yes there are such market forces, at least there will be once the rate of transactions is averaging over 50KB per block. Some fees are voluntary, but increase your priority, allowing your transaction to be processed in a timely manner. There are numberous cases in real life wherein a delay of a couple of hours is unacceptable, and it would be worthwhile to tack on a transaction fee of .02 bitcoin in order to jump the line of freebies. If you are tyring todonate to a cause, or just moving funds around between multiple clients of your own (working client to a savings client, for example) then you can probably wait a few hours, or a few days, for the transaction to get processed at the network's own convience. Buying a car, however, would likely justify the fee for speed.
Other fees are not voluntary, but are required of more sophisticated transactions than the simple send X bitcoin to Y.
The way I see it, incentivizing the average joe is critical... If Joe might solve a block once a year as difficulty increases, and his trouble is worth the equivalent of two bucks, why would he bother? If nobody but a few heavyweight GPU "bankers" are in charge, then the whole point of decentralizing becomes broken. Reminds me of the Simpsons episode where Bart lost the class president election to Martin Prince - all because everyone was so sure Bart would win hands down that nobody voted for him.
I think that you misunderstand the point of decentralization in the context of currency. It's not the
idea of a bank that is the problem, but the monopolies that cnetral banks have in our modern world. Bitcoin banks will likely exist before very long, as Mybitcoin.com and Mtgox.com already offer some of the most important functions of a bank, but none of them can manipulate the system to their own advantage
over any other peer, be they a user or another bank.
On the other hand, if generating a block becomes a once-in-a-lifetime affair due to a surge in popularity, perhaps 50 BTC would be a prize worthy of a lottery. Either way, whether the incentive to generate blocks comes in the form of transaction fees or inflation, it is still a cost imposed upon the entire user base as a whole and it is a cost that goes up (in the form of difficulty) at the same time. Why not let the reward climb with it?
Those two incentives are not equivalant, transaction fees do not affect the value of all other bitcoins held by others. Increasing the monetary base does.