<p>Miners don't <em>charge</em> anyone.</p>

<p>Users put aside some amount of satoshis to incentivize a miner to include a transaction in a block, as the miner takes those satoshis if they are successful in mining that block.</p>

<p>A miner has the incentive to maximize their own profitability by including the highest paying transactions into their block, and to squeeze as many in as possible to maximize that revenue.</p>

<p>The idea that miners might reject some large value transactions because they don't pay a higher fee is incompatible with their incentives, which are to compete with other miners for those transactions which pay the most per weight unit. If a miner decided not to include transactions with sufficient fee, some other miner <em>would</em> include them, and be more profitable than the miner who didn't. It only makes sense then that the miners will continue to operate as they currently do because attempting to adopt a strategy like you suggest would be harmful to them.</p>

<p>Ultimately, miners do not control anything. They merely attempt to profit from what the market is offering.</p>

CC BY-SA 4.0
2019-11-04T22:39:03.850Z
Miners may not charge anyone in a literal sense, but by declining to process transactions that don't include a large enough incentive, they certainly produce the effect of charging.
Mark
CC BY-SA 4.0
2019-11-05T02:39:20.867Z
If a large enough group of miners decided not to accept lower than a certain amount, the effects might be felt...
rydwolf
CC BY-SA 4.0
2019-11-05T09:53:03.620Z
If charging by vbytes instead of value is the more profitable strategy, then why dobt credit card manufacturers charge every transactions way instead of value?
user2741831
CC BY-SA 4.0
2019-11-05T14:17:24.633Z
@user2741831 very different value scenario. A CC processor passes the transaction through their accounts, paying out of their own pocket first and receiving the value back later from the other party. In that scenario, risk scales directly with value/volume, which is why it affects the price. A miner has no risk in handling a transaction in regard to the transferred amount.
kasoban
CC BY-SA 4.0
2019-11-05T21:51:35.827Z
@user2741831, much of the expense of processing a credit-card transaction is the risk that the transaction is fraudulent. Since the cost of a fraudulent transaction scales with the size of the transaction, it makes sense to scale the processing fee similarly. There's no such thing as a fraudulent bitcoin transaction, at least as far as a miner is concerned, so most of the cost comes from the act of processing a block of transactions. Since processing that block costs the same no matter how many transactions are in it, charging more for physically larger transactions makes sense.
Mark
CC BY-SA 4.0
2019-11-03T14:36:45.850Z
2019-11-03T14:36:45.850Z
Mark H
<p>The biggest counter question is identifying what constitutes high value transactions. Bitcoin works on an Unspent Transaction Outputs (UTXO) based model rather than an account based model. The input of Bitcoin transaction needs to include outpoint (<code>txid</code> and <code>vout</code>) of the transaction from which you control bitcoins with your keys. This input is then consumed in its entirety and any change is sent back to yourself. This is illustrated below:</p>
<pre><code>                     / ----- Pay for your coffee (1 BTC)
Consume UTXO (3 BTC) 
                     \ ----- Send the 2 BTC change to yourself
</code></pre>
<p>Let us assume miners set aside a limit that transactions above 1.5 BTC will be charged higher fees. Considering the above cited example, should miners treat it as high value? The user paid 1 BTC for coffee (which would be below the limit) and is sending 2 BTC change back to itself (which would be above the limit). There is no sure shot way for miner to know which output was being used to spend for coffee. Although there are some methods which you can use to determine which output is a spending output versus what is a change, they are not reliable, and can be gamed by changing the amounts of outputs slightly. Moreover, how do you charge CoinJoin transaction?</p>
<p>If you are thinking any output value (be it spending or change) which is above a certain limit will be charged higher fees, then it will encourage users to create smaller value UTXOs so that they do not have to send higher value change back to themselves (to avoid higher fees). UTXO storage is costly as it is cached in the RAM, and to dodge higher fees users will create multiple UTXOs thus costing the network as a whole to maintain such a big costly database.</p>
<p>From an economic perspective I would like to point out that the most efficient way to maximize your income from mining is by using fee/vbyte. This is because Bitcoin's block size is capped, which means maximum profit can be derived from fitting in as many transactions as possible (thus dependent on size). If you try to use any other methodology, then you are creating an opportunity for other miners to step in and claim the profit your are forgoing.</p>
<p>This would be a classic example of economic equilibrium where any inefficiencies will be ironed out by market forces thus forcing it settle to the most practical equilibrium (fee/vbyte). Thus doing anything apart from charging fee/vbyte would require cooperation of ALL miners or a 51% attack. The former is difficult to achieve from an economic standpoint as discussed above.</p>

CC BY-SA 4.0
2019-11-03T16:17:27.323Z
This answer is mostly correct (there is difficulty in observing the value of a transaction), but I don't think it explains it entirely. The whole point of miners is that they're replacable (anyone can become a miner without permission, with the right investment), so if some miner is deviating from maximizing their income, other miners will be more profitable, and maximizing fee per (v)byte is very close to maximizing income. Put in other words: doing anything but charging per vbyte would require either *all* miners to do so, or a 51% attack.
Pieter Wuille
CC BY-SA 4.0
2019-11-03T17:43:46.063Z
@PieterWuille You are absolutely correct in your reasoning that fees/vbyte maximizes the income for the miners. What I wanted to point out was that even thinking about fee/value is preposterous as there is no sure shot way of knowing what the value of the transaction. I'm incorporating your suggestion in my answer to make it more robust
Ugam Kamat
CC BY-SA 4.0
2019-11-03T20:53:09.037Z
what is a vbyte?
bomben
CC BY-SA 4.0
2019-11-03T21:33:19.450Z
@Ben, virtual byte, the unit of transaction sizes since the introduction of segwit (number of vbytes in a tx = number of bytes in the non-witness portion of a transaction + 0.25 * number of witness bytes).
Pieter Wuille
CC BY-SA 4.0
2019-11-05T00:06:48.757Z
For 1 BTC, that had better be the universe's ultimate cup of coffee...
cobbal
CC BY-SA 4.0
2019-11-03T14:48:44.883Z
2021-02-18T11:15:50.720Z
2021-02-18T11:15:50.720Z
Ugam Kamat
<p>I know high and low value transactions take up the same amount of space in the blockchain. 
But wouldn't btc be more economical and fair if miners deliberatly chose transactions based on the value/fee ratio?<br>
That way small transactions became cheaper and more viable</p>

CC BY-SA 4.0
2019-11-04T11:26:11.423Z
What is a miner?
Cloud
CC BY-SA 4.0
2019-11-04T11:28:10.487Z
@Cloud You can read up this post: [What exactly is mining?](https://bitcoin.stackexchange.com/questions/148/what-exactly-is-mining)
Ugam Kamat
<transaction-fees><mining-profitability>
Why don't miners charge more for high value transactions?
user2741831
# Why don't miners charge more for high value transactions?

(Asked by: username_0 on 2019-11-03)

I know high and low value transactions take up the same amount of space in the blockchain.
But wouldn't btc be more economical and fair if miners deliberatly chose transactions based on the value/fee ratio?  
That way small transactions became cheaper and more viable

**Tags:** transaction-fees, mining-profitability

> **Comments:**
> **username_1**: What is a miner?  
> **username_2**: @username_1 You can read up this post: [What exactly is mining?](https://bitcoin.stackexchange.com/questions/148/what-exactly-is-mining)  

---

## 2 answers

### Answer by username_2 on 2019-11-03. Score: 12 | Accepted answer

The biggest counter question is identifying what constitutes high value transactions. Bitcoin works on an Unspent Transaction Outputs (UTXO) based model rather than an account based model. The input of Bitcoin transaction needs to include outpoint (`txid` and `vout`) of the transaction from which you control bitcoins with your keys. This input is then consumed in its entirety and any change is sent back to yourself. This is illustrated below:

```
                     / ----- Pay for your coffee (1 BTC)
Consume UTXO (3 BTC) 
                     \ ----- Send the 2 BTC change to yourself

```

Let us assume miners set aside a limit that transactions above 1.5 BTC will be charged higher fees. Considering the above cited example, should miners treat it as high value? The user paid 1 BTC for coffee (which would be below the limit) and is sending 2 BTC change back to itself (which would be above the limit). There is no sure shot way for miner to know which output was being used to spend for coffee. Although there are some methods which you can use to determine which output is a spending output versus what is a change, they are not reliable, and can be gamed by changing the amounts of outputs slightly. Moreover, how do you charge CoinJoin transaction?

If you are thinking any output value (be it spending or change) which is above a certain limit will be charged higher fees, then it will encourage users to create smaller value UTXOs so that they do not have to send higher value change back to themselves (to avoid higher fees). UTXO storage is costly as it is cached in the RAM, and to dodge higher fees users will create multiple UTXOs thus costing the network as a whole to maintain such a big costly database.

From an economic perspective I would like to point out that the most efficient way to maximize your income from mining is by using fee/vbyte. This is because Bitcoin's block size is capped, which means maximum profit can be derived from fitting in as many transactions as possible (thus dependent on size). If you try to use any other methodology, then you are creating an opportunity for other miners to step in and claim the profit your are forgoing.

This would be a classic example of economic equilibrium where any inefficiencies will be ironed out by market forces thus forcing it settle to the most practical equilibrium (fee/vbyte). Thus doing anything apart from charging fee/vbyte would require cooperation of ALL miners or a 51% attack. The former is difficult to achieve from an economic standpoint as discussed above.

> **Comments:**
> **username_7**: This answer is mostly correct (there is difficulty in observing the value of a transaction), but I don't think it explains it entirely. The whole point of miners is that they're replacable (anyone can become a miner without permission, with the right investment), so if some miner is deviating from maximizing their income, other miners will be more profitable, and maximizing fee per (v)byte is very close to maximizing income. Put in other words: doing anything but charging per vbyte would require either *all* miners to do so, or a 51% attack.  
> **username_2**: @username_7 You are absolutely correct in your reasoning that fees/vbyte maximizes the income for the miners. What I wanted to point out was that even thinking about fee/value is preposterous as there is no sure shot way of knowing what the value of the transaction. I'm incorporating your suggestion in my answer to make it more robust  
> **username_8**: what is a vbyte?  
> **username_7**: @Ben, virtual byte, the unit of transaction sizes since the introduction of segwit (number of vbytes in a tx = number of bytes in the non-witness portion of a transaction + 0.25 * number of witness bytes).  
> **username_9**: For 1 BTC, that had better be the universe's ultimate cup of coffee...  

---

### Answer by username_3 on 2019-11-03. Score: 25

Miners don't *charge* anyone.

Users put aside some amount of satoshis to incentivize a miner to include a transaction in a block, as the miner takes those satoshis if they are successful in mining that block.

A miner has the incentive to maximize their own profitability by including the highest paying transactions into their block, and to squeeze as many in as possible to maximize that revenue.

The idea that miners might reject some large value transactions because they don't pay a higher fee is incompatible with their incentives, which are to compete with other miners for those transactions which pay the most per weight unit. If a miner decided not to include transactions with sufficient fee, some other miner *would* include them, and be more profitable than the miner who didn't. It only makes sense then that the miners will continue to operate as they currently do because attempting to adopt a strategy like you suggest would be harmful to them.

Ultimately, miners do not control anything. They merely attempt to profit from what the market is offering.

> **Comments:**
> **username_4**: Miners may not charge anyone in a literal sense, but by declining to process transactions that don't include a large enough incentive, they certainly produce the effect of charging.  
> **username_5**: If a large enough group of miners decided not to accept lower than a certain amount, the effects might be felt...  
> **username_0**: If charging by vbytes instead of value is the more profitable strategy, then why dobt credit card manufacturers charge every transactions way instead of value?  
> **username_6**: @username_0 very different value scenario. A CC processor passes the transaction through their accounts, paying out of their own pocket first and receiving the value back later from the other party. In that scenario, risk scales directly with value/volume, which is why it affects the price. A miner has no risk in handling a transaction in regard to the transferred amount.  
> **username_4**: @username_0, much of the expense of processing a credit-card transaction is the risk that the transaction is fraudulent. Since the cost of a fraudulent transaction scales with the size of the transaction, it makes sense to scale the processing fee similarly. There's no such thing as a fraudulent bitcoin transaction, at least as far as a miner is concerned, so most of the cost comes from the act of processing a block of transactions. Since processing that block costs the same no matter how many transactions are in it, charging more for physically larger transactions makes sense.  

---

