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 completely timely?

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.

  • 1
    I read that even Gavin has expressed his doubt that they will scale. – Shelby Moore III Mar 28 '13 at 1:48
  • 7
    "I read that even Gavin has expressed his doubt that they will scale" Citation needed. – Nick ODell Mar 28 '13 at 2:26
  • 3
    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 Mar 28 '13 at 7:29
  • @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 Mar 28 '13 at 8:26
  • 1
    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 Mar 28 '13 at 13:33

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).

  • 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 Mar 28 '13 at 8:36
  • 3
    @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 Mar 28 '13 at 8:42
  • 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 Mar 28 '13 at 8:54
  • 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 Mar 28 '13 at 8:59
  • If half the computation power drops out, then the time to find the block doubles. – Shelby Moore III Mar 28 '13 at 9:04

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

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

  • Also, scalability of other factors in Bitcoin is not scalability of tx fees. – Shelby Moore III Mar 28 '13 at 16:04
  • 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 Sep 18 '17 at 9:54
  • Some comments were removed, so I have now removed my comment about those comments. ;) – Dr.Haribo Sep 18 '17 at 12:05

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.