4

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.

5
  • 1
    I read that even Gavin has expressed his doubt that they will scale. Mar 28, 2013 at 1:48
  • 7
    "I read that even Gavin has expressed his doubt that they will scale" Citation needed.
    – Nick ODell
    Mar 28, 2013 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. Mar 28, 2013 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. Mar 28, 2013 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, 2013 at 13:33

3 Answers 3

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

13
  • 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. Mar 28, 2013 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. Mar 28, 2013 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. Mar 28, 2013 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. Mar 28, 2013 at 8:59
  • If half the computation power drops out, then the time to find the block doubles. Mar 28, 2013 at 9:04
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

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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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