<p>The blockchain is public, and every block has (amongst other things) the following information for each transaction (or it can be calculated):</p>

<ul>
<li>The size of the transaction, in bytes</li>
<li>The fee paid by the initiator of the transaction</li>
</ul>

<p>Miners in future are likely to calculate the earnings per byte for each transaction when selecting which ones to include in a block, so that they earn the maximum profit from the block. At the moment they mostly just include them all, provided there is at least a token fee.</p>

<p>Furthermore, transactions that have not yet been included in a block are publicly available.</p>

<p><strong>From this information a user could estimate the transaction fee they will need to pay to get their transaction included in the next block, or within one of the next few blocks. Of course in the long run, it won't be a user that has to seek out this information; it'll just be part of the information readily available as they initiate a transaction. At least, that's how I see it working.</strong></p>

<p>The idea has also been floated that the receiver of a transaction could pay a small fee to get the transaction into a block sooner (to ensure they receive their payment).</p>

<p>Reporting on the level of fees needed to process a transaction is minimal at the moment because it's not particularly difficult to get transactions included in a block with either no fee or just a token fee (say 0.00001BTC). This is because we haven't hit the block size limit (at least, we're not constantly hitting it).</p>

CC BY-SA 3.0
2013-03-28T08:36:08.760Z
I still don't see how with different peers charging different fees (to match their market dynamics), the sender of a transaction can know the amount to bid to get in the next block? It is impossible because the tx fees are not uniform and the random selection of the next peer is not knowable in advance.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T08:42:28.400Z
@ShelbyMooreIII, it's like a bidding process; think of transactions with a variety of fees waiting for inclusion in a block. Miners will construct a block containing the transactions with the highest fees until it reaches the maximum size, then try solve a hash for it matching the current difficulty. It'll be easy to see where the cut-off point was that meant a transaction was included or excluded.
Highly Irregular
CC BY-SA 3.0
2013-03-28T08:54:07.397Z
So you are saying some peers will drop in and out of the race for the next block, depending on the level of transactions in the queue since their market costs of computing hashes vary by peer? Thus this modulates system-wide computation power like a yoyo, which then means scaling difficulty is. So then you shift the problem into oscillation. Which brings a whole another set of problems. The mining incentive needs to change slowly, not abruptly. That is crucial. For example pushing transactions around to miners that are and are not active, because we don't know a priori.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T08:59:03.530Z
I realized early in my alternative design that the mining incentives could not vary significantly by block, else the system would never scale (at least efficiently). Take that golden rule to Gavin Anderson.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T09:04:49.777Z
If half the computation power drops out, then the time to find the block doubles.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T09:09:26.347Z
There is another problem. If you let tx fees vary, then the system can degrade to monopolistic control, because the monopoly will always accept 0 tx fee, so all other peers drop out. You simply can't get away from my rule that variable tx fees means we end up no scaling or monopoly. I am very fast with my reductionist logic. I don't know why my mind can do that faster than others. I guess bcz I see the generative essence of things. In this case it is that no floor price = monopoly can undercut all non-subsidized miners.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T09:20:48.233Z
@ShelbyMooreIII, I see your point, but that's a different issue altogether and doesn't relate directly to the market for transaction fees; in the case you're talking about, it's an entity that's willing to process transactions at a loss, likely also with other malicious intent. That's a debate best left for a different question, such as "What motivation is there for a wealthy individual to monopolise mining by doing it for free thus making it unprofitable for others?". Going off on a tangent in this question is going to hinder discussion and peer review, which are both very important.
Highly Irregular
CC BY-SA 3.0
2013-03-28T13:27:02.140Z
Yes, Bitcoin has a weakness, and that is that bad guys can achieve too much control through hashpower majority. That has nothing to do with transaction fees. You are saying that if the small guy charges a varying fee then the big monopolistic entity can force him out of business, but if he charges a fixed fee then they can't. This makes little sense. If they have enough hashpower they can force him out in both cases.
Dr.Haribo
CC BY-SA 3.0
2013-03-28T15:28:56.343Z
@Dr.Haribo I had already anticipated and **refuted your logic** in my [prior answer about 51% attack and profitability](http://bitcoin.stackexchange.com/questions/8687/developments-to-prevent-51-hack/8784#8784). And note that 2 morons downvoted that answer. Either you design the system so the users can mine, or you design it so monopolists will control it. There is no middle ground. The government can create inflation or deflation in Bitcoin any time they want, [**they just did**](https://bitcointalk.org/index.php?topic=159597.msg1690911#msg1690911). "No inflation" in bitcoin is a delusion.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T15:36:46.180Z
**Fanatical** fanboys need to think about the [reality of relativity and the possibility of absolutes in our universe](http://esr.ibiblio.org/?p=4854&cpage=1#comment-397322) as it applies to bitcon and [Ponzi Satoshi](https://bitcointalk.org/index.php?topic=159918.0).
Shelby Moore III
CC BY-SA 3.0
2013-03-28T15:49:25.947Z
H.I. it is not a tangent-- the issue is inseparable! I told you this long ago, but can't seem to wrap your mind around all the dependent variables here. Putting the mining reward in a varying transaction fee instead of a fixed one and/or debasement, means you **remove the profit** for the 6 billion people who can compete with the miner willing to sell at a loss. Also if transaction fees are always set (0 or otherwise), then the miner selling at a loss gains no advantage over getting more transactions other than his hashing power which the **profitable** competition will then dilute.
Shelby Moore III
CC BY-SA 3.0
2013-07-08T07:45:47.030Z
@Shelby : You need to realize that derogatory statements such as "I told you long ago" don't help. And this is a place for discussion, not the spamming of your misplaced thoughts & ideas.
Griffin
CC BY-SA 3.0
2016-07-27T11:26:52.413Z
@ShelbyMooreIII If you're in a hurry and the prices are always low, you just pay an amount that you know is more than enough. If you're not in a hurry, it doesn't matter. And if the prices aren't always low, then the issue is the scalability of the transaction rate, not the scalability of the fee system. This really is a non issue. You can statistically predict, for a given fee, about how long it will take for a transaction to confirm. And you can pick the fee that meets your requirements. (If no fee does that, then, again, the issue is not fee scalability.)
David Schwartz
CC BY-SA 3.0
2013-03-28T07:27:45.873Z
2013-03-28T07:27:45.873Z
Highly Irregular
<p>Yes, market-based transaction fees can scale.</p>

<p>It has already been proven by Western Union, bank wires, etc. The market for transferring money is huge and people are already picking which service to use based on fees, among other things. So it has been proven to scale to the size of the current world economy. And I don't see any reason why it won't keep scaling.</p>

<p>Whether someone with hashpower majority can do bad things is a whole different issue. Can someone with hashpower majority orphan all other future blocks so that all future blocks are generated by them? Yes. Does that mean they can block your transactions from ever reaching the block chain or charge you horrible fees? Yes. A mining monopoly would be very bad for Bitcoin.</p>

<p>Another interesting issue is how Bitcoin can scale to become main stream. According to visa.com: </p>

<blockquote>
  <p>VisaNet authorizes, clears and settles an average of 130 million
  transactions per day in 200 countries and territories.</p>
</blockquote>

<p>Can Bitcoin do that? See <a href="https://bitcoin.stackexchange.com/questions/2883/bitcoin-protocol-algorithm-scalability">Bitcoin protocol / algorithm scalability</a></p>

<p>But back to your question. The market aspect of transaction fees is not a scalability issue.</p>

CC BY-SA 3.0
2013-03-28T16:04:11.847Z
Also, scalability of other factors in Bitcoin is not scalability of tx fees.
Shelby Moore III
CC BY-SA 3.0
2017-09-18T09:54:47.013Z
I like this answer. Even though maybe technically you can find problems with it, it addresses what your trying to do. I do not see how it is offensive can you at least point that out?
marshal craft
CC BY-SA 3.0
2017-09-18T12:05:24.260Z
Some comments were removed, so I have now removed my comment about those comments. ;)
Dr.Haribo
CC BY-SA 3.0
2013-03-28T13:58:58.143Z
2013-03-28T13:58:58.143Z
2017-04-13T12:47:36.647Z
Dr.Haribo
<p>Ok so as far as I can tell based on my own analysis of this topic, there is no limit to number of transactions per block (no real limit ie. Transaction numbers much larger than 2^256). This is because the transactions themselves aren't saved, but the double sha256 merle tree. So what is passed along is a 256 bit number which doesn't grow per transactions. It seems any problem is miner politics.</p>

CC BY-SA 3.0
2017-09-18T10:39:40.250Z
2017-09-18T10:39:40.250Z
marshal craft
<p>Can someone please explain to me what I am missing?</p>
<p>I don't see how variable, market-based transaction fees can scale. I go to a merchant's website to buy, how do I select a mining peer to pay transaction fee to? Do I attach some bounty that any peer can earn if that peer wins the Proof-of-Work block? But what if my bounty isn't high enough to attract a peer given high transaction volume competing for priorities? Or not enough to cover any peer's mining overhead. How do I know how much to bid to be sure my transaction completed in a timely manner?</p>
<p>This sounds very complex and unreliable and not at all like something that can scale to customers. Customers want to click one button and be done with the purchase and not waiting unknown hours debugging their payment processing. Amazon's One Click.</p>
<p>I don't see how with different peers charging different fees (to match their market dynamics), the sender of a transaction can know the amount to bid to get in the next block? It is impossible because the tx fees are not uniform and the random selection of the next peer is not knowable in advance.</p>

CC BY-SA 3.0
2013-03-28T01:48:49.127Z
I read that even Gavin has expressed his doubt that they will scale.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T02:26:34.943Z
"I read that even Gavin has expressed his doubt that they will scale" [Citation needed.](http://www.google.com/search?q=gavin+anderson+bitcoin+"transaction+fees+won%27t+scale")
Nick ODell
CC BY-SA 3.0
2013-03-28T07:29:45.290Z
You don't need to select a mining peer to pay a fee to, and you wouldn't want to; you just want your transaction included in a block. This is why the transactions are passed around the peer-to-peer network, and the first to solve a block including it earns the fee.
Highly Irregular
CC BY-SA 3.0
2013-03-28T08:26:49.197Z
@HighlyIrregular I was getting at not being able to know the relationships between how much you bid and the performance you will receive.
Shelby Moore III
CC BY-SA 3.0
2013-03-28T13:33:11.550Z
Yes, there should be an easy way to determine which fee to pay for a given transaction and how fast you wish for it to get in the blockchain. And it should be easy to try over with a higher fee if you see your transaction isn't going through. I'm sure we'll see those things in the future. But they have nothing to do with whether a market-based tx fee system can scale. Your only argument is that Gavin Andresen said something. What did he say?
Dr.Haribo
<transactions><transaction-fees><future-proof><blockspace-market>
How can market-based transaction fees scale?
Shelby Moore III
# How can market-based transaction fees scale?

(Asked by: username_0 on 2013-03-27)

Can someone please explain to me what I am missing?

I don't see how variable, market-based transaction fees can scale. I go to a merchant's website to buy, how do I select a mining peer to pay transaction fee to? Do I attach some bounty that any peer can earn if that peer wins the Proof-of-Work block? But what if my bounty isn't high enough to attract a peer given high transaction volume competing for priorities? Or not enough to cover any peer's mining overhead. How do I know how much to bid to be sure my transaction completed in a timely manner?

This sounds very complex and unreliable and not at all like something that can scale to customers. Customers want to click one button and be done with the purchase and not waiting unknown hours debugging their payment processing. Amazon's One Click.

I don't see how with different peers charging different fees (to match their market dynamics), the sender of a transaction can know the amount to bid to get in the next block? It is impossible because the tx fees are not uniform and the random selection of the next peer is not knowable in advance.

**Tags:** transactions, transaction-fees, future-proof, blockspace-market

> **Comments:**
> **username_0**: I read that even Gavin has expressed his doubt that they will scale.  
> **username_1**: "I read that even Gavin has expressed his doubt that they will scale" [Citation needed.](http://www.google.com/search?q=gavin+anderson+bitcoin+"transaction+fees+won%27t+scale")  
> **username_2**: You don't need to select a mining peer to pay a fee to, and you wouldn't want to; you just want your transaction included in a block. This is why the transactions are passed around the peer-to-peer network, and the first to solve a block including it earns the fee.  
> **username_0**: @username_2 I was getting at not being able to know the relationships between how much you bid and the performance you will receive.  
> **username_3**: Yes, there should be an easy way to determine which fee to pay for a given transaction and how fast you wish for it to get in the blockchain. And it should be easy to try over with a higher fee if you see your transaction isn't going through. I'm sure we'll see those things in the future. But they have nothing to do with whether a market-based tx fee system can scale. Your only argument is that Gavin Andresen said something. What did he say?  

---

## 3 answers

### Answer by username_2 on 2013-03-28. Score: 4

The blockchain is public, and every block has (amongst other things) the following information for each transaction (or it can be calculated):

* The size of the transaction, in bytes
* The fee paid by the initiator of the transaction

Miners in future are likely to calculate the earnings per byte for each transaction when selecting which ones to include in a block, so that they earn the maximum profit from the block. At the moment they mostly just include them all, provided there is at least a token fee.

Furthermore, transactions that have not yet been included in a block are publicly available.

**From this information a user could estimate the transaction fee they will need to pay to get their transaction included in the next block, or within one of the next few blocks. Of course in the long run, it won't be a user that has to seek out this information; it'll just be part of the information readily available as they initiate a transaction. At least, that's how I see it working.**

The idea has also been floated that the receiver of a transaction could pay a small fee to get the transaction into a block sooner (to ensure they receive their payment).

Reporting on the level of fees needed to process a transaction is minimal at the moment because it's not particularly difficult to get transactions included in a block with either no fee or just a token fee (say 0.00001BTC). This is because we haven't hit the block size limit (at least, we're not constantly hitting it).

> **Comments:**
> **username_0**: I still don't see how with different peers charging different fees (to match their market dynamics), the sender of a transaction can know the amount to bid to get in the next block? It is impossible because the tx fees are not uniform and the random selection of the next peer is not knowable in advance.  
> **username_2**: @username_0, it's like a bidding process; think of transactions with a variety of fees waiting for inclusion in a block. Miners will construct a block containing the transactions with the highest fees until it reaches the maximum size, then try solve a hash for it matching the current difficulty. It'll be easy to see where the cut-off point was that meant a transaction was included or excluded.  
> **username_0**: So you are saying some peers will drop in and out of the race for the next block, depending on the level of transactions in the queue since their market costs of computing hashes vary by peer? Thus this modulates system-wide computation power like a yoyo, which then means scaling difficulty is. So then you shift the problem into oscillation. Which brings a whole another set of problems. The mining incentive needs to change slowly, not abruptly. That is crucial. For example pushing transactions around to miners that are and are not active, because we don't know a priori.  
> **username_0**: I realized early in my alternative design that the mining incentives could not vary significantly by block, else the system would never scale (at least efficiently). Take that golden rule to Gavin Anderson.  
> **username_0**: If half the computation power drops out, then the time to find the block doubles.  
> **username_0**: There is another problem. If you let tx fees vary, then the system can degrade to monopolistic control, because the monopoly will always accept 0 tx fee, so all other peers drop out. You simply can't get away from my rule that variable tx fees means we end up no scaling or monopoly. I am very fast with my reductionist logic. I don't know why my mind can do that faster than others. I guess bcz I see the generative essence of things. In this case it is that no floor price = monopoly can undercut all non-subsidized miners.  
> **username_2**: @username_0, I see your point, but that's a different issue altogether and doesn't relate directly to the market for transaction fees; in the case you're talking about, it's an entity that's willing to process transactions at a loss, likely also with other malicious intent. That's a debate best left for a different question, such as "What motivation is there for a wealthy individual to monopolise mining by doing it for free thus making it unprofitable for others?". Going off on a tangent in this question is going to hinder discussion and peer review, which are both very important.  
> **username_3**: Yes, Bitcoin has a weakness, and that is that bad guys can achieve too much control through hashpower majority. That has nothing to do with transaction fees. You are saying that if the small guy charges a varying fee then the big monopolistic entity can force him out of business, but if he charges a fixed fee then they can't. This makes little sense. If they have enough hashpower they can force him out in both cases.  
> **username_0**: @username_3 I had already anticipated and **refuted your logic** in my [prior answer about 51% attack and profitability](http://bitcoin.stackexchange.com/questions/8687/developments-to-prevent-51-hack/8784#8784). And note that 2 morons downvoted that answer. Either you design the system so the users can mine, or you design it so monopolists will control it. There is no middle ground. The government can create inflation or deflation in Bitcoin any time they want, [**they just did**](https://bitcointalk.org/index.php?topic=159597.msg1690911#msg1690911). "No inflation" in bitcoin is a delusion.  
> **username_0**: **Fanatical** fanboys need to think about the [reality of relativity and the possibility of absolutes in our universe](http://esr.ibiblio.org/?p=4854&cpage=1#comment-397322) as it applies to bitcon and [Ponzi Satoshi](https://bitcointalk.org/index.php?topic=159918.0).  
> **username_0**: H.I. it is not a tangent-- the issue is inseparable! I told you this long ago, but can't seem to wrap your mind around all the dependent variables here. Putting the mining reward in a varying transaction fee instead of a fixed one and/or debasement, means you **remove the profit** for the 6 billion people who can compete with the miner willing to sell at a loss. Also if transaction fees are always set (0 or otherwise), then the miner selling at a loss gains no advantage over getting more transactions other than his hashing power which the **profitable** competition will then dilute.  
> **username_4**: @username_0 : You need to realize that derogatory statements such as "I told you long ago" don't help. And this is a place for discussion, not the spamming of your misplaced thoughts & ideas.  
> **username_5**: @username_0 If you're in a hurry and the prices are always low, you just pay an amount that you know is more than enough. If you're not in a hurry, it doesn't matter. And if the prices aren't always low, then the issue is the scalability of the transaction rate, not the scalability of the fee system. This really is a non issue. You can statistically predict, for a given fee, about how long it will take for a transaction to confirm. And you can pick the fee that meets your requirements. (If no fee does that, then, again, the issue is not fee scalability.)  

---

### Answer by username_3 on 2013-03-28. Score: 2

Yes, market-based transaction fees can scale.

It has already been proven by Western Union, bank wires, etc. The market for transferring money is huge and people are already picking which service to use based on fees, among other things. So it has been proven to scale to the size of the current world economy. And I don't see any reason why it won't keep scaling.

Whether someone with hashpower majority can do bad things is a whole different issue. Can someone with hashpower majority orphan all other future blocks so that all future blocks are generated by them? Yes. Does that mean they can block your transactions from ever reaching the block chain or charge you horrible fees? Yes. A mining monopoly would be very bad for Bitcoin.

Another interesting issue is how Bitcoin can scale to become main stream. According to visa.com:

> VisaNet authorizes, clears and settles an average of 130 million
> transactions per day in 200 countries and territories.

Can Bitcoin do that? See [Bitcoin protocol / algorithm scalability](https://bitcoin.stackexchange.com/questions/2883/bitcoin-protocol-algorithm-scalability)

But back to your question. The market aspect of transaction fees is not a scalability issue.

> **Comments:**
> **username_0**: Also, scalability of other factors in Bitcoin is not scalability of tx fees.  
> **username_6**: I like this answer. Even though maybe technically you can find problems with it, it addresses what your trying to do. I do not see how it is offensive can you at least point that out?  
> **username_3**: Some comments were removed, so I have now removed my comment about those comments. ;)  

---

### Answer by username_6 on 2017-09-18. Score: 0

Ok so as far as I can tell based on my own analysis of this topic, there is no limit to number of transactions per block (no real limit ie. Transaction numbers much larger than 2^256). This is because the transactions themselves aren't saved, but the double sha256 merle tree. So what is passed along is a 256 bit number which doesn't grow per transactions. It seems any problem is miner politics.


---

