We currently have no consensus on future system parameters controlling transaction fees, and thus also the amount of miners. In another thread, I concluded that in transaction fees are determined mainly by market size and the maximum block size.
If you disagree, please discuss in the linked thread. In this thread, we assume the conclusion correct.Here's the thread:
https://bitcointalksearch.org/topic/if-tx-limit-is-removed-disturbingly-low-future-difficulty-equilibrium-6284In this thread, I want to ask a simple question that apparently has no generally accepted answer. What is the
desired future system configuration? How many miners do we want, how many do we need? How do we face the times ahead?
First, please let me share a personal feeling of mine, which drives my urge to write this thread. Please bear with this paragraph, I think this is really important. In my opinion, we should turn Bitcoin into a rock-solid set of rules that will not be broken or altered unless the technical circumstances change. Altering rules later on might run the system into a crisis, especially when things like miner income are concerned. No doubt lobbies would form, trying to push parameters one way or another. In my imagination, this has a
huge impact on the psychological image of Bitcoin. That's not rock-solid, that's the mud we already have in other democracy-controlled currencies! Now, I know big things don't break easily, but I really don't want things to come down to this. Let us solve problems we find
early and
completely.
Now, to the situation. We have a set of jobs that must be done at all times.
- The block chain must be stored reliably, or at least all parts of it required for transaction and security against attacks.
- Transactions must be verified and processed
- The block chain must be kept consistent and sufficiently secure against attacks
Currently, miners solve all three points, and get paid with newly generated coins. As concluded from the earlier discussion, if no changes to the protocol are made, we have a problem at least with the third point, securing against attacks, once coin generation no longer pays miners. We have to find a compromise between a high transaction limit and a high vulnerability -- or a low transaction limit and high fees. A situation with high fees sounds very bad to me. A limit on transactions, expensive fees, all so that hardware can waste energy? It's better than a breakdown, but is it truly our best option? Plus the discussion on the limit, potentially segmenting the network in a cyber war. This makes me shudder.
Then again, we have another "tragedy of the commons" with storage. We
cannot have arbitrarily high block sizes, for we can afford to generate, but not to store blocks of arbitrary size. I really hope the Bitcoin designers have made good models on memory requirement if the transaction count increases by a factor of 10,000 or the likes. And, last but not least, the trouble of an attacker with a lot of processing power remains.
But are the latter two really unsolvable? I doubt it. Let us try finding a way to survive
without a large amount of miners. There should be methods for the network to agree on a block chain that do not involve absurd amounts of processing power. It could try punishing block chain branches that look like attacks for timing reasons. This could be done by raising difficulty on such chains. (Thanks to the one who suggested this on IRC, I forgot who it was though.
) This is much better than relying on having more processing power than any attacker! If this can be achieved, we'd only have the storage problem remaining. That somewhat also sounds doable, since we don't need to lift limits completely, and ancient parts of the block chain might not be all too important. We already have checkpoints, there might be ways for the network to agree on who has which coins without everyone storing that enormous history.
Think about it. We have to solve two problems, and we get a cheap and long-term sustainable state if we do. The Shangri-La of Bitcoin, so to say: we get gains on transaction amount, transaction cost and system security.
Can this be done? If so, I call to anybody into Bitcoin development: what are you waiting for? In either case, we should analyze the problem; the current configuration is likely to cause trouble.