For various reasons, I'm interested in statistics and visualizations of unspent outputs aka UTXO in the blockchain. After some googling and research on this forum, I found that I wasn't the only one (
example). I think indeed that there is a lot of useful information that could be extrapolated about Bitcoin usage patterns, using this kind of bottom-up approach.
Things could get really interesting if the stats and visualizations weren't only a snapshot at given time, but a series of them at regular (meaningful) intervals, watching the evolution as the coins are moving across time.
The closest thing that I found so far is
Tim Swanson's article on CoinDesk (also on
his blog). It's a very interesting read for sure, and the animation (YouTube video) is very nice. Unfortunately, as you would expect from any article, it's not an "active" dataset, i.e. the visualizations aren't updated with new data.
As an experiment, I started building a dataset myself, extracting all unspent outputs from the blockchain. The first thing that I noticed while doing this is the
massive amount of generated coins that were never spent at the beginning of the chain (i.e. 2009 + early 2010). It would be interesting to postulate that these coins will actually never be spent, and to watch for any movement to confirm or invalidate that assumption.
Value of generated coins that are unspent as of March 18, 2015 (block height 348050)
Generation Year | Total Value |
2009 | 1,078,402 |
2010 | 668,450 |
2011 | 58,345 |
2012 | 17,171 |
2013 | 19,362 |
2014 | 30,315 |
2015 | 45,252 |
Besides the special case of early generated coins, IMHO these statistics could greatly help analyze what I'd call
cold coins:
- First criteria would be the age of unspent outputs
- Assuming P2PKH, another criteria of last activity for that pubkey can be added into the equation
Here's a screenshot from my work in progress (just a quick sheet in Numbers for now)
Unfortunately my dataset isn't perfectly accurate, I guess this is caused by the lack of support for P2SH in my extraction script. As a result, the grand total of all unspent outputs in my set is 14,021,913
BTC while the actual total should be about 13,950,650
BTC. However, IMO this shouldn't affect the overall relevance of the stats too much.
So, the purpose of this post could also be the tl;dr:
- How much interest is there for this kind of statistics and visualizations?
- Are you aware of any existing, active project for this, as I don't want to reinvent the wheel?
- What interpretations, if any, do you think can be done from this? (e.g. computing some kind of "adjusted" market cap)
- How would you represent the evolution of these stats across time (e.g. like the animation in Tim Swanson's article)
Thanks for your feedback