The world’s most used cryptocurrency and most used cab aggregator seem not to be related at all. However, they have a lot in common. Let us see how:

Traffic Distribution — Sudden Bursts

Both Uber and Bitcoin network have prolong period of normal traffic punctuated with sudden bursts of demand

Uber surge pricing in Washington DC, showing bursts of traffic (Source: Washington Post)

The demand for rides will see a surge typically during office hours in the morning/evening. The demand during rest of the day is pretty uniform

Backlog of unconfirmed bitcoin transaction (Source: Johoe’s Bitcoin Mempool)

Bitcoin transaction backlog also has similar pattern of bursts. The weekends are period of low activity. Monday’s are generally periods of high transactions when traders take positions on exchanges. Also a period of price rise is generally accompanied by an increased demand due to FOMO kicking in.

Surge Pricing — Matching demand and supply

What to do when number of riders are more than the number of available cabs ? Then comes the infamous surge pricing!

When surge pricing is introduced few riders opt out. This results in reducing riders back to the available number of cars

Bitcoin has a similar mechanism where each transaction pays a fee. When the demand is higher than supply, the transactions that pay the highest fee rate are selected.

Transaction paying the higher fee will be selected first. Lower fee transactions are pushed down the queue (Source: mempool.space)

Price Bidding — No guarantees of a Ride!

The bitcon network is however decentralized and cannot guarantee you the ride for a given price like Uber. User have to play a bidding game and there is no surety that your transaction will be included in the next few blocks. This creates various issues:

Terrible user experience

Imagine you agreeing to a surge price and when you are ready to board the cab, someone else pays a higher amount and takes your cab ! During periods of heavy traffic, it is not clear on what fee rate will get your transaction confirmed. Previously sent transactions are sometimes stuck for days or weeks in the mempool.

In Bitcoin network during surge, a given price cannot guarantee you a ride

Price bidding war

In a competition to get their transactions confirmed, users start paying higher fee outbidding each other. This create a auction kind of scenario which some argue is healthy for the miner. However, the user has to keep monitoring the network and paying higher fees each time which is not an ideal way to do payments.

Mass adoption — can bitcoin work like Uber ?

For mass adoption, bitcoin payments should be much simpler and easy to operate very much like an Uber app. What are the possible solutions:

Increase in capacity

If blocksize is increased, there will be less periods of congestion and less need for any price bidding. This is a very simple solution and this exists in various other such networks:

Spawn more webservers when demand increases. In fact services like AWS Opworks lets you do this automatically.

Mobile network increases capacity on holidays like new year.

Replace by fee

Using RBF, you can bump up the fee of your transaction later when you see that it has fallen very much behind in the mempool queue. However, this is not a very good idea as it introduces an additional level of fee bidding market. In this post, Peter Rizun has explained very nicely how

Complexity breeds complexity

RBF has however, unintentionally solved the surge problem by pricing out novice bitcoin users. Novice bitcoin users (around 90–95%) will use a wallet like blockchain.info / coinbase which doesn’t even has an RBF feature. So automatically they are cut off during a surge.

Automated Fee Estimation

Most of the wallets have a feature where they try to predict the fee that will get your transaction confirmed in next blocks. These estimates work fine when network is operating uniformly. However, most of them fail when there is surge.

There is also an idea of wallet automatically doing RBF for you much like an Ebay bidding bot. The accuracy of such automated methods remains to be seen as it is very difficult to predict the future state of the network during a surge

Second Layer Solutions — Lightning Network

One can push users onto a second layer network so that main network is less congested. This seems to be working

Lightning network does however, still requires user onboarding to go through the main network. During surge, there should be a way for new users to directly transact through the second layer network without going through main network.