Bitcoin Forum
March 19, 2024, 04:47:50 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Statistics and visualizations of unspent outputs (UTXO)  (Read 1484 times)
matt4054 (OP)
Legendary
*
Offline Offline

Activity: 1932
Merit: 1035



View Profile
March 18, 2015, 03:18:20 AM
Last edit: March 18, 2015, 08:11:17 AM by matt4054
Merited by ABCbits (9)
 #1

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 YearTotal Value
20091,078,402
2010668,450
201158,345
201217,171
201319,362
201430,315
201545,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,913BTC while the actual total should be about 13,950,650BTC. 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 Smiley
1710823670
Hero Member
*
Offline Offline

Posts: 1710823670

View Profile Personal Message (Offline)

Ignore
1710823670
Reply with quote  #2

1710823670
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8343



View Profile WWW
March 18, 2015, 08:19:27 AM
 #2

Change over time is interesting, e.g.

http://bitcoin.sipa.be/pruning-tx.png

http://bitcoin.sipa.be/pruning-txout.png

http://bitcoin.sipa.be/pruning-size.png
matt4054 (OP)
Legendary
*
Offline Offline

Activity: 1932
Merit: 1035



View Profile
March 18, 2015, 09:01:26 AM
 #3


Interesting graphs, especially for the divergence between pruned and all. Thanks!

Any chance of getting these plotted on a linear scale, and/or maybe the pruned vs all ratio?
Har01d
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
March 18, 2015, 07:33:26 PM
 #4

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,913BTC while the actual total should be about 13,950,650BTC.

 13,951,264.80231183BTC to be precise (as of block #348050) Smiley
Analyzing the blockchain is fun.

matt4054 (OP)
Legendary
*
Offline Offline

Activity: 1932
Merit: 1035



View Profile
March 18, 2015, 08:19:09 PM
 #5

13,951,264.80231183BTC to be precise (as of block #348050) Smiley

Interesting, I was approximating from blockchain.info but your reply puzzled me: knowing that generated coins come as 50BTC, then 25BTC per block, how could you possibly have a total that is not a multiple of 25?

I would expect the total bitcoins in circulation as of block #348050 to be exactly this:

210000 * 50 + (348050-210000) * 25 = 13,941,250BTC

So, where does your extra 14.80231183BTC come from Huh

Analyzing the blockchain is fun.

Oh yes it is, at least for us Wink
Har01d
Member
**
Offline Offline

Activity: 75
Merit: 10


View Profile
March 18, 2015, 08:42:26 PM
 #6

First of all there are extra 50BTC from the genesis block (however, as I know, these coins are not spendable).
The second part is more interesting. There are many blocks which has a reward less than 25 or 50BTC. Here's a couple of examples:
Code:
 height|   reward   | reward with fees
--------+------------+------------------
 124724 | 4998999999 |       4999999999
 162705 | 4998300000 |       5000000000
 162823 | 4999900000 |       5000000000
 162839 | 4998975200 |       5000000000
 162952 | 4991535267 |       5000000000

Look at the block #162705: https://blockchain.info/block/000000000000007dac86ae0400f08bbcac5e9e2b44bfcebb95ebda52d07f7df6
Output from the generating transaction is 50BTC, but there are fees from other transactions. Why did the miner decide not to grab them is a mistery. But the fact is that miner can lower his own reward as he wants.

Block #124724 was discussed earlier here: https://bitcointalk.org/index.php?topic=45527.0

matt4054 (OP)
Legendary
*
Offline Offline

Activity: 1932
Merit: 1035



View Profile
March 18, 2015, 08:49:32 PM
 #7

Ahah, the devil is in the detail Grin

That makes perfect sense, thanks.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!