Crypto Market Commentary
29 September 2019
Doc's Daily Commentary
The 9/26 ReadySetLive session with Mav is listed below.
Bitcoin Dust (And Why It’s A Big Deal)
The UTXO Model
The Bitcoin blockchain functions via the UTXO blockchain model, short for Unspent Transaction Outputs. What this means is that all ‘bitcoins’ are essentially an entry in the ledger that is yet to be spent. An account balance is the sum of all these unspent transactions which are under the control of the same private key.
For every Bitcoin transaction, UTXOs are consumed and new UTXOs are created. An example transaction sequence is below to demonstrate the point. Assume Alice starts with 10BTC:
Transaction 1 – Alice consumes 1x UTXO (worth 10BTC) by sending 2.5 BTC to Bob. This creates 2x UTXOs, one sent to Bob with 2.5 BTC and another (the change) sent back to herself for 7.498 BTC after taking off the fee.
Transaction 2 – Bob now does a batch transaction. He sends Alice 0.5 BTC and himself 2.5 BTC. This leaves 0.496 BTC as change which is also sent to himself plus 0.004 BTC as a fee.
The balance of UTXOs can be as small as 1 Satoshi which is equal to one hundred millionth of a Bitcoin (100,000,000sats = 1 BTC). Small UTXO balances are usually generated as change following a larger transaction where only part of a UTXO is consumed and the remainder is sent back to the originating address as change.
The easiest analogy for a UTXO is looking at typical fiat paper money notes. The $5, $10, $50 and $100 are all divisional units of dollars. If you had to pay $50, you could use a $50 directly (quick to count and transact) or build it out of $5, $10 and $20 bills. The latter transaction takes longer to count and check it is correct and the calculation must be performed by both the spender and receiver, akin to a use of more computational power.
A UTXO functions in a very similar manner although with a key difference that a UTXO can itself be split down into units as small as single satoshis where as dollar notes are fixed amounts.
Understanding how UTXO balances, data sizes and change work and the implications that very small UTXOs have is quite important both for the usability of Bitcoin long term and for wallet privacy.
Sending bitcoin transactions consumes and creates UTXOs that rearrange and write data to the Bitcoin ledger. This process has a data footprint measured in bytes and is what is downloaded by full validating nodes as they follow the path of all UTXOs through history of the blockchain. As of today, the full Bitcoin UTXO set is approximately 250GB in cumulative size.
Blockchain fee models include a miner fee for all transactions in order to prevent spam attacks. Miner fees for UTXO chains are based off the amount of data which is consumed in a single transaction and for Bitcoin is a function of three things:
*The number of UTXOs consumed and created noting there is efficiency in batching transactions.
*The type of script used for UTXO inputs and outputs. As an example, a multi-sig transaction will have additional cost to a standard pay-to-public-Key-Hash (P2PKH).
*Priority fee paid by the user measured in sats/byte
In summary, transaction fees are determined by the complexity (data size) of the transaction measured in bytes multiplied by the user selected priority fee measured as sats/byte.
There are a variety of Bitcoin UTXO types which I have summarized in this table for simplicity. These various scripts enable different functionality (such as multi-sig) and have various data size footprints.
Unchained capital (link) performed an interesting analysis looking at the typical data size of various Bitcoin transaction scripts. Here they calculated the amount of data required to consume a single UTXO to establish what is known as the ‘dust limit’. The dust limit is the balance of a UTXO at which the fee to spend it exceeds the balance of the UTXO.
The conclusion of this study is that on average, the smallest data size for spending a UTXO is 172 bytes. Plotted below is the development of various Bitcoin transaction scripts over time (as new code is written and efficiency is gained) and the cumulative distribution of UTXOs.
To clarify, Satoshi’s coins, being so old, are still the original P2PK script (blue). In contrast, most transactions we send today use the newer P2PKH script (green). Each UTXO is effectively cemented in its original script type until it is next spent. This is one reason Bitcoin development is so cautious, it aims to ensure that all UTXOs are backwards compatible so nobody ever loses their money due to the blockchain being unable to interpret an old script.
The Dust Limit
Now that we have established that the average data required to send a UTXO is 172 bytes, we can estimate the value of this ‘dust’ transaction both in terms of BTC and USD. The Dust limit is the point where the balance of the UTXO in BTC becomes less than the fee required to spend it using the minimum fee rate of 1 sat/byte = 172 sats.
The reason this is so important is that as Bitcoin’s value inflates, the fee in satoshis remains constant and will therefore increase in USD terms. This has two major impacts on usability of the system:
*Accumulation of dust UTXOs across the network can lead to an excess of technically ‘lost’ BTC that cannot be recovered as the fee exceeds the UTXO balance (i.e. < 172 satoshi balance which is less than 172 sat fee).
*If the dust limit becomes $1, $10, $100 etc, it excludes all transactions smaller than that amount from being feasible.
Nobody will be willing to buy a $5 burger if the fee is $5. In fact we can probably assume that people will not be willing to pay more than a 1% fee otherwise legacy systems remain competitive. That means that for a dust limit of $0.5, the minimum viable transaction value using Bitcoin would be $50. You can see how this will rapidly become a problem in the long term if the Bitcoin number keeps goes up…
As demand for blockspace increases (such as during bull markets) we have seen an uptick in people paying a priority fee. Additionally, as the value of BTC inflates, people become more willing to spend more to send their transaction and have it confirmed.
The chart below (again from Unchained Capital) shows color bands for the percentage of the UTXO set that are below the dust limit over time. Any color bands that are below 1 sat/byte shown in red are effectively unspendable. As warmer colors drop below this threshold, a larger portion of the entire UTXO set are now considered dust.
Amazingly, between 2014 and 2018, over 15% and 25% of UTXOs were considered dust! This is not an ideal scenario and something Bitcoin engineers need to build efficiency to combat and speculators need to get their head around as I believe this is what will put a legitimate ceiling price on Bitcoin.
When might we see unsustainable Dust?
I am early in this research but I have taken our good friend Plan B’s stock-to-flow model as an approximation of the future BTCUSD price. I have also assumed that the 172byte average UTXO data size represents the dust limit into the future. Both of these assumptions may become invalid as new efficiencies reduce the dust limit and price discovery takes place but for now this is a reasonable starting point.
In my plot below, we have the following:
White – the dust limit at 1sat/byte multiplied by the actual BTCUSD price
Green and Blue – the Mean and Median Fee actually paid by users in USD
Green to Red Stepped lines – Plan B model price for 1, 2, 10, 30, 100 and 200 sat/byte dust limits.
First up, we can see that the Mean and Median fee paid by users is much higher that 1 sat/byte. It fluctuates between 10 and 100 sats/byte with 30 as the avg. Fees break 200 sats/byte at blow-off tops. I believe there is a pricing model to be discovered here and I will continue develop in the background. This may help us estimate when blow off tops are occurring based on how eager people are to have their transactions confirmed.
Second, the dust limit right now is around 1.8 cents and yet people are on average paying 30 to 50 cents. If Plan B is right, after the 2020 halving (following the green stepped line) we can see that the dust limit would move up to around 12-15 cents. If the Mean and Median remain at the same sats/byte rate, we could be seeing a typical Bitcoin transaction costing $2.0, $6.0 and $12.0 for 10, 30 and 100 sat/byte priority fees. Ouch!
Finally, if we assume that a 1% fee is the maximum the average user is willing to pay, Bitcoin may now only be useful for buying things that are worth 100x the dust limit. As a rough guide, that means that the following halvings will mean the minimum worthwhile item that can be bough with Bitcoin is worth:
This is the first piece of analysis on this topic. I will be exploring it further and I think there is a fee based pricing model to be developed to pick market tops. Longer term, I plan to build a web portal for RSC members to access that presents all my on-chain pricing models with signals automated to indicate oversold/bought conditions.
On the topic of dust, this research has opened my eyes to a significant roadblock to Bitcoin’s growth. Remember that Plan Bs model is just that, a model and it remains to be seen if it carries enough merit to play out. The more time passes the more data we have to validate or reject it. That said, if the model is right, It becomes extremely likely that the vast majority of people will never use the Bitcoin main-chain and will likely be onboarded directly via lightning network or similar.
One thing is for sure, the dust limit is a sleeper problem waiting to rain on Bitcoin and all fee based cryptocurrency projects parade. What the solution may look like is a topic for next round!
Press the "Connect" Button Below to Join Our Discord Community!
Please DM us with your email address if you are a full OMNIA member and want to be given full Discord privileges.
An Update Regarding Our Portfolio
We are pleased to share with you our Community Portfolio V3!
Add your own voice to our portfolio by clicking here.
We intend on this portfolio being balanced between the Three Pillars of the Token Economy & Interchain:
Crypto, STOs, and DeFi projects
We will also make a concerted effort to draw from community involvement and make this portfolio community driven.
Here’s our past portfolios for reference:
RSC Managed Portfolio (V2)
RSC Unmanaged Altcoin Portfolio (V2)
RSC Managed Portfolio (V1)