# Last edited on 2016-01-19 22:28:33 by stolfilocal If there are N independent miners, the total cost Cp that they must pay per block, to process a given amount of traffic, will be proportional to N, at the very least. I am excluding from Cp the cost Ch of solving the block puzzles (that does not depend on the traffic or on N, and puts no ressure on fees). The cost Cp includes only the cost of receiving, validating, storing, and forwarding the transactions and blocks. Every miner must receive and validate every transaction, and either receive or broadcast every block, and store every block. The cost Cp includes bandwidth, disk, and CPU needed for these tasks. Optimistically, let's assume that every miner talks to a single central server (like Corallo's) or to a fixed number of peers. On the other hand, the total revenue of the miners, per block, does not depend on N. It depends only on the price of bitcoin, the block reward, the average transaction fee, and the number of transactions per block. therefore, as a whle With this optimistic assumption, the total cost per block Cp, for all miners (in USD), will be N x (C + D x T), where: C is a fixed cost (in USD) per block that each miner must pay even if there is no traffic; D is a marginal cost (in USD) per extra transaction include in the block; and T is the number of transactions per block. Let's assume for simplicity that all transactions have the same size and value, and therefore pay the same fee F (in BTC). The total revenue (in BTC) that all miners will get from each block will be R + F x T, where R is the block reward. If P is the price of 1 USD in BTC, for the miners to survive we must have P x (R + F x T) > N x (C + D x T). That is, their net revenue (P x R - N x C) + (P x F - N x D) x T should be positive; and, collectively, they will want to maximize it. Currently ---------------------------------------------------------------------- > I think that sending the cut-off fee to users is mostly pointless and grossly inefficient It is a long story... I have explained it a few times somewhere else, I must collect it and post it once for all. Let me say first that, in a bird's view, the bitcoin system is providing a service to its users, and it must charge some fees fromits users in order to motivate the miners to process their transactions. Computer nerds always assume that, "obviously", the price charged from each user must be the cost of serving that user. (Just as they assume that, "obviously", a good currency must not have inflation.) But there is no service on Earth that tries to do that, even when it could. [ Long discussion omitted ] Therefore, the the bitcoin system must post its fee rates, so that clients know the fee before they decide to use bitcoin instead of something else. In fact, the fee rate should be as constant as possible, so that clients can predict it well before connecting to the system, and can account for it when setting the prices of their own services (e.g. what discount or surcharge to apply to customers who pay in bitcoin). Moreover, the system must deliver the service that the client paid for. It should not tell the client that 0.50 USD will buy confirmation in the next 20 minutes, but then take 6 hours to confirm. Therefore, the system must provide a global minimum fee rate Fmin, or a global fee x delay table T(F), that clients can use to choose their fees; and the miners must honor their posted fees, even if they could get more revenue by adjusting the cutoff at every block. How to do that, and why the miners would agree to such schema, is a question too complicated to discuss here...