I've written several times, for example in
Fixed Supply, Variable Demand, about the mechanism that causes the cost of transacting on a blockchain like Bitcoin's to suffer massive spikes at intervals. When no-one wants to transact, fees are low. When everyone does, they are high. Below the fold I look in detail at a typical Bitcoin fee spike.
The spike that happened on 6
th June last year was by no means the largest, but it did increase the average fee per transaction by a factor of 20 from the level 3 days earlier, and by a factor of 10 from the level the day before.
The bar chart shows the average fee per transaction for the period from the 1
st to the 10
th of June.
Transactions waiting for a mining pool to select them for inclusion in a block are stored in the mempool. Here is a graph of the daily average number of transactions in the mempool for the same period. Note that:
- The number of pending transactions ramps up and peaks the day before the spike in fees.
- The number of pending transactions remains high for the days after the spike in fees.
Transactions aren't all created equal, some are bigger than others. So there is a second measure of congestion, the number of bytes in the mempool. The chart shows the daily average byte count of the mempool for the same period. Note that the peak size of the mempool is the day after the fee spike, and number of transactions in the mempool that day is about the same as the preceding and succeeding days.
Bitcoin's block time is targeted at ten seconds,
and:
Bitcoin blocks now have a theoretical maximum size of 4 megabytes and a more realistic maximum size of 2 megabytes
Thus the rate at which transactions are included in blocks is limited to an average of around 7 per second. The chart shows the number of transactions included in a block each day for the same period. Note that the day of the fee spike Bitcoin processed 42% of the average of the three days before and three days after. The variance of the transaction rate is high. For example, on 7
th September the blockchain processed 76% more transactions than the average of the three following days.
The
blockchain.info website's statistics include an estimate of each day's US dollar value of transactions. By dividing this by the number of each day's transactions, we can estimate the average value of the transactions included in blocks each day, giving this chart. Note that the 6
th June's average was around 2.5 times the average of the previous three days, and nearly 6 times the average of the following three days.
Because the rate at which transactions arrive in the mempool is variable but the rate at which they leave is capped, even transactions with miner fees suffer a variable delay before being included in a block. Miners choose the most profitable transactions to include. This chart shows the median transaction wait time in minutes over the same period. Note that on average they wait about one block time, but that on 6
th June they waited much less time.
The distribution of wait times is highly skewed, with a long tail of low-value transactions. This chart shows the average wait time for transactions with fees, expressed as a multiple of the median wait time. Note the ramp up in average wait time ratio, peaking the day after the fee spike.
The ratio between median and average wait times implies that the spike in the average value of transactions on 6
th June, coming on top of the ramp in transactions waiting in the mempool from 1
st June, caused a build-up of low-value transactions, which suffered massive delays as the miners chose the transactions with higher value and fees.
In 2017's
The currency of the future has a settlement problem, Izabella Kaminska wrote:
Professional bitcoin OTC traders FT Alphaville spoke with see this as an alarming development and one of the drivers of rival cryptocurrency ether’s growing popularity. The views of one trader:
It definitely tempts people into ether. This is the biggest problem with bitcoin, it’s not just that it’s expensive to transact, it’s uncertain to transact. It’s hard to know if you’ve put enough of a fee. So if you significantly over pay to get in, even then it’s not guaranteed. There are a lot of people who don’t know how to set their fees, and it takes hours to confirm transactions. It’s a bad system and no one has any solutions.
Transactions which fail to get the attention of miners sit in limbo until they drop out. But the suspended state leaves payers entirely helpless. They can’t risk resending the transaction, in case the original one does clear eventually. They can’t recall the original one either. Our source says he’s had a significant sized transaction waiting to be settled for two weeks.
Almost 8 years later these problems remain.
No comments:
Post a Comment