2

According to https://bitcoinfees.21.co/, "For the median transaction size of 226 bytes, this results in a fee of 0.678 mBTC."

At the time of writing this equates to approximately $1.53US.

This means that many bitcoin transactions are infeasible (e.g. buying a cup of coffee).

As a result I have a few questions:

  1. Is it possible to anticipate what fees will be in the future (i.e. are they likely to increase, decrease or is it unknown?)
  2. Can changes be made to the bitcoin system to encourage a reduction in transaction fees?

In my limited understanding, I cannot see how this currency has a future when the transaction costs are so high, so I'm interested in whether there is a solution to this, or if it is simply an inevitable part of the bitcoin system?

2

1) Bitcoin is a gossip network in which each (full) participant checks all activity of all other (full) participants. Such systems scale notoriously badly as the cost for each network event scales quadratically. Simple example:

  • Three participants creating three transactions leads to six transaction relays and verifications.
  • Six participants creating six transactions leads to thirty transaction relays and verifications.
  • Twelve participants creating twelve transactions leads to 132 transaction relays and verifications.

As you can see this obviously becomes unsustainable as more people adopt the network. Thus, a limit is needed to keep the workload manageable which is currently expressed in a consensus rule that limits the number of bytes per block to 1,000,000.

2) If we cannot process an unlimited number of transactions, there must be some sort of prioritization for transactions to get selected. At first Bitcoin transactions were confirmed by prioritizing larger and older transaction inputs, ensuring that everybody would get their turn. At some point block space demand was large enough that many blocks filled up and not every transaction would be confirmed within a few blocks. The miners gradually switched to a more efficient mechanism: Instead of prioritizing old inputs, they selected those transactions that maximized their revenue per block. Thus, transactions were sorted by largest fee rate, and an efficient fee market was established.

3) We've now reached the point where fees don't even drop significantly in traditionally low-demand times such as the weekend. Since transactions are selected by the fee rate per data size, transactions that transfer more value can naturally bid a higher fee than transactions of lower economic value. (Note that the amount of value transferred is decoupled from the data size of a transaction.) As transactions transferring thousands of dollars worth of money can easily pay several dollars and remain competitive with other payment services, it's obvious that low-value use-cases will be the first to get pushed out of the blockchain.

4) Strategic thought: The latter will occur inevitably, as even if we could sustain blocks of 1,000GB, only ~3,000 transactions per second would be possible—way too little for all sorts of microtransactions to remain feasible. If we had kicked down the can the road several times already as fee pressures started to peak, we'd eventually be in the situation where we'd have a community and industry accustomed to not having to deal with fee pressures, with wallets not having code to handle fee estimation, services not having logic to deal with unconfirmed transactions, and large business use-cases built around the availability of cheap blockspace—an utterly unsustainable expectation.

5) Personal opinion: It is thus important for the longterm development of the Bitcoin system to keep some fee pressure sustained in order to create the anticipation of the eventual exodus of micropayments as it will in the longterm be impossible for these payments to be on the blockchain. After seeing 530 satoshi/byte last week, we are overshooting at this point, and it's high-time to increase the capacity of the Bitcoin system. As I'm convinced that any hard-fork attempt will lead to two persistent forks of the Bitcoin blockchain, my preferred approach is to activate SegWit which has been tested for more than a year, and is active on multiple altcoin networks. Besides gradually providing more capacity as the network adopts the new segwit transaction format, it has better scalability properties for transaction verification, and provides the foundation for additional capacity and scalability improvements such as Lightning Network, Schnorr signatures, and signature aggregation.

  • Why does Segwit have better "scalability properties"? I am not an expert, but had understood it was just a way of improving the efficiency of blocks to contain more transactions. Would this not lead to the same transaction fees as today in the end once demand has increased enough to match that gain in efficiency? Does segwit somehow improve the quadratic scaling you mentioned? – Aerinmund Fagelson Dec 11 '17 at 23:30
  • The effort to verify legacy transactions scales quadratically with the inputs, while segwit transactions can be verified in linear work. This will cause a lower Initial Synchronization cost for the same number of transactions than with legacy transactions. As I said it also enables additional scaling solutions such as Lightning Network, Schnorr signatures, signature aggregation, and key aggregation, all of which were not possible before segwit activation. The underlying property of Bitcoin being a gossip network is unchanged. – Murch Dec 12 '17 at 0:10

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.