Bitcoin Forum
May 08, 2024, 12:48:04 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 [All]
  Print  
Author Topic: The blockchain, charted  (Read 4770 times)
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 15, 2014, 06:49:23 PM
Last edit: July 25, 2014, 06:07:04 AM by azeteki
 #1

I've recently been playing around with indexing the blockchain and producing some interesting charts.
I thought others may find them useful so I've uploaded them.




More charts can be found at the following link: https://azeteki.github.io/charts

The data was gleaned using a short python script to get historical block data from bitcoind.
This takes a little while but can be updated quickly with new blocks once historical information is indexed.
You can find it on my GitHub page if you are interested.

GitHub link: https://github.com/azeteki/bitcoind-chainstats

1715129284
Hero Member
*
Offline Offline

Posts: 1715129284

View Profile Personal Message (Offline)

Ignore
1715129284
Reply with quote  #2

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

Activity: 2212
Merit: 1199


View Profile WWW
July 15, 2014, 06:51:46 PM
 #2

Hey!! This is very interesting!

What's is a link to the GitHub??
Edited: I found a link in your profile!

I will take a look at it! It is really cool!


Regards.
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 15, 2014, 06:59:37 PM
 #3

Hey!! This is very interesting!

What's is a link to the GitHub??
Edited: I found a link in your profile!

I will take a look at it! It is really cool!

Updated the original post with GitHub link.
Note that the gnuplot scripts are not included.
With full output, it will take a few hours and generate a delimited list of information about each block.
You can also get data for a range, e.g. block 300000-301000 if you so wish.

I believe you will need -txindex enabled to get coinbase fee data (it queries the coinbase transaction for each block).
Without that it should report 0 for all related items though I have not tested.

There are likely better programs available to perform the same task, however I like the simplicity of using bitcoind wherever possible.

roslinpl
Legendary
*
Offline Offline

Activity: 2212
Merit: 1199


View Profile WWW
July 15, 2014, 07:02:55 PM
 #4

Hey!! This is very interesting!

What's is a link to the GitHub??
Edited: I found a link in your profile!

I will take a look at it! It is really cool!

Updated the original post with GitHub link.
Note that the gnuplot scripts are not included.
With full output, it will take a few hours and generate a delimited list of information about each block.
You can also get data for a range, e.g. block 300000-301000 if you so wish.

There are likely better programs available to perform the same task, however I like the simplicity of using bitcoind wherever possible.

Yeah.
That's very cool indeed.  A lot of data for data maniacs Smiley

Could you do the same in JavaScript? Smiley

Regards.
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 15, 2014, 07:04:28 PM
 #5

That's very cool indeed.  A lot of data for data maniacs Smiley

Smiley

Could you do the same in JavaScript? Smiley

Apologies, but I would rather nail myself to a rock, on Mars. Tongue

roslinpl
Legendary
*
Offline Offline

Activity: 2212
Merit: 1199


View Profile WWW
July 15, 2014, 07:07:07 PM
 #6

That's very cool indeed.  A lot of data for data maniacs Smiley

Smiley

Could you do the same in JavaScript? Smiley

Apologies, but I would rather nail myself to a rock, on Mars. Tongue

Ahh ok Smiley

I was asking because I am trying to do something similar in JS and it is not easy Cheesy

One more time thanks for sharing this with us! This is really cool tool!

I hope you plan to do some more good stuff for Bitcoiners in the future!

Regards.
dserrano5
Legendary
*
Offline Offline

Activity: 1974
Merit: 1029



View Profile
July 15, 2014, 07:59:01 PM
 #7

Really cool charts!

What's "Average transaction size"? Doesn't seem to be bytes per transaction and I can't think of anything else.
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 15, 2014, 08:10:45 PM
 #8

Really cool charts!

What's "Average transaction size"? Doesn't seem to be bytes per transaction and I can't think of anything else.

Good question!
I was charting inverse average transaction size. Not so useful!

Updated now.
Calculation: block_size/transactions_in_block.

azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 16, 2014, 03:17:49 AM
 #9

Updated the charts page with individual charts for 2013 and 2014.

I've set the axes to show the most reasonable data, with the exception of coinbase reward which really isn't that interesting otherwise.

You can pick out quite a few instances in which large fees have been paid, presumably by mistake. Oops Sad

dserrano5
Legendary
*
Offline Offline

Activity: 1974
Merit: 1029



View Profile
July 16, 2014, 06:43:47 PM
 #10

I git cloned the repo today. Am I blind or you're not sharing the gnuplot scripts? I expected a wholly spoon-fed solution Wink.
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 16, 2014, 11:22:53 PM
 #11

I git cloned the repo today. Am I blind or you're not sharing the gnuplot scripts? I expected a wholly spoon-fed solution Wink.

Consider it me giving you work to do. Wink

I will likely upload the scripts at some point, though I want to slim them down somewhat and ensure they don't break first.

MountainTop
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
July 18, 2014, 10:24:25 AM
 #12

Its worth taking a look.

It will be much better if more information or some analysis is presented along with the charts.
rarkenin
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500



View Profile
July 18, 2014, 11:28:57 AM
 #13

Are the high-up dots in the coinbase reward chart large fees, out of curiosity? Or is it something else I'm not understanding wholly?
phatsphere
Hero Member
*****
Offline Offline

Activity: 763
Merit: 500


View Profile
July 18, 2014, 12:36:57 PM
 #14

Could you do the same in JavaScript? Smiley
if he would have used matplotlib (doesn't look like it) there is https://github.com/jakevdp/mpld3
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 18, 2014, 01:18:49 PM
 #15

Are the high-up dots in the coinbase reward chart large fees, out of curiosity? Or is it something else I'm not understanding wholly?

Yes. The total coinbase reward (for the most part) will be equal to the block subsidy (50...25...12.5, etc), plus the sum of all fees in the blocks.

Most of the high up dots there represent mistakes or similar, like the ~200BTC fee that ASICMiner mined a while back.

azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 23, 2014, 12:39:11 AM
 #16

Updated and added a chart for the total blockchain size.

In the space of a year we've gone from ~9GB to ~21GB. How time flies!

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
July 23, 2014, 12:42:05 AM
 #17

A chart with the size of the UTXO (# of transactions, size or both) would be interesting.  It is the critical resource and anecdotally it appears to grow slower than the overall blockchain but it would be interesting to see.
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8411



View Profile WWW
July 23, 2014, 01:44:55 AM
 #18

A chart with the size of the UTXO (# of transactions, size or both) would be interesting.  It is the critical resource and anecdotally it appears to grow slower than the overall blockchain but it would be interesting to see.
You mean like? http://bitcoin.sipa.be/pruning-size.png
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
July 23, 2014, 02:00:06 AM
 #19

A chart with the size of the UTXO (# of transactions, size or both) would be interesting.  It is the critical resource and anecdotally it appears to grow slower than the overall blockchain but it would be interesting to see.
You mean like? http://bitcoin.sipa.be/pruning-size.png

Nice find.  I only wish sipa had continued it through the current block.  Also I assume this is more than just the UTXO (i.e. includes hashes of pruned txns to allow validation of the merkle tree).
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 23, 2014, 02:10:08 AM
 #20

All of my charts have been produced using bitcoind RPC only, no manipulation.

I can't really think of a way of producing a chart like sipa's without reindexing somehow.

If you could get bitcoin core to step through indexing block by block, you could do something like the following...

for i in blockcount:
    index_one_block
    gettxoutsetinfo

My machine is unfortunately too slow for both, really. A reindex would take weeks if not more for me, and gettxoutsetinfo is an extremely slow command to run each time.

Without specialist tools it will have to fall to someone else I'm afraid. Sad

azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 25, 2014, 06:08:59 AM
 #21

Updated and added a few more charts.

A few 'experimental' charts are up at the following link: https://azeteki.github.io/charts/test



These ones might be a little inaccurate as I haven't fully tested my moving average routines. They should be close enough for rendering though.

fran2k
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500


View Profile WWW
July 25, 2014, 07:44:49 AM
 #22

Nice work!
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
December 03, 2014, 09:41:19 PM
 #23

Updated for block 332749 2014-12-03 21:29:57.
Apologies for the delay. I have been away attending to various worldly matters.
Some of the charts may look a little odd as I have not had time to adjust the axes.

HyperWang
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
December 04, 2014, 06:04:41 PM
 #24

http://azeteki.github.io/charts/img/chart-coinbase.png
Not really understand this chart. The coinbase reward only can be 50 or 25 at this time. Why there are other value? Huh
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
December 04, 2014, 06:22:49 PM
 #25

http://azeteki.github.io/charts/img/chart-coinbase.png
Not really understand this chart. The coinbase reward only can be 50 or 25 at this time. Why there are other value? Huh

Transaction fees are part of the coinbase transaction.

Im not really here, its just your imagination.
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
December 04, 2014, 06:55:56 PM
 #26

http://azeteki.github.io/charts/img/chart-coinbase.png
Not really understand this chart. The coinbase reward only can be 50 or 25 at this time. Why there are other value? Huh

As shorena says.

Strictly to my understanding the coinbase can (presently) be anything _up to_ 25 + sum of all transaction fees.

A miner can produce a block with a coinbase of 5BTC and it will be valid. It is just not really an economically sensible thing for them to do.

HyperWang
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
December 05, 2014, 04:30:35 PM
 #27

http://azeteki.github.io/charts/img/chart-coinbase.png
Not really understand this chart. The coinbase reward only can be 50 or 25 at this time. Why there are other value? Huh

As shorena says.

Strictly to my understanding the coinbase can (presently) be anything _up to_ 25 + sum of all transaction fees.

A miner can produce a block with a coinbase of 5BTC and it will be valid. It is just not really an economically sensible thing for them to do.

Alright. I understand now. But it's really hard to believe that someone make such high fees transactions. Would you please show me the hash of that kind of tx/blocks please? I want to have a look into them.
hhanh00
Sr. Member
****
Offline Offline

Activity: 467
Merit: 266


View Profile
December 05, 2014, 06:59:28 PM
 #28

Probably messed up.

1d7749c65c90c32f5e2c036217a2574f3f4403da39174626b246eefa620b58d9

shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
December 05, 2014, 11:17:30 PM
 #29

Probably messed up.

1d7749c65c90c32f5e2c036217a2574f3f4403da39174626b246eefa620b58d9


link for the lazy: https://www.blocktrail.com/BTC/tx/1d7749c65c90c32f5e2c036217a2574f3f4403da39174626b246eefa620b58d9

Its indeed rare and usually - at least from what I read - by accident. Some reported they got high fees back from the miners.

Im not really here, its just your imagination.
HyperWang
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
December 06, 2014, 01:55:52 AM
 #30

Probably messed up.

1d7749c65c90c32f5e2c036217a2574f3f4403da39174626b246eefa620b58d9


link for the lazy: https://www.blocktrail.com/BTC/tx/1d7749c65c90c32f5e2c036217a2574f3f4403da39174626b246eefa620b58d9

Its indeed rare and usually - at least from what I read - by accident. Some reported they got high fees back from the miners.

Thanks. I think it's caused by accident. I heard about that someone has got his fees back from asicminer's pool.
azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
December 17, 2014, 07:24:23 PM
 #31

Yes. Most (all?) of these huge fees are caused by user error. People mucking around creating raw transactions, or coding bad wallets.
When creating a transaction by hand, the difference between inputs and outputs is given to miners as a fee.
A naive hacker can easily use a 50BTC input and assume that paying 3BTC to an address results in 47 remaining at the old address. Not so - the remainder of 47 goes off to mining land.

Updated charts for block 334725.

The most interesting changes recently to me are the leveling off of difficulty, and the continued increase in average block size. Blocks are roughly 375KB on average now, up from 225KB six months ago.



azeteki (OP)
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
January 29, 2015, 03:34:48 PM
 #32

Updated for 340709 (2015-01-27 15:54:27).

I have not yet bothered to create a 2015 page as there wouldn't really be much data yet. For now 2014 follows through to January.

As a side note, if anyone happens to have a host I could use that would be very much appreciated. Bandwidth usage should be utterly minimal.
The entire site including all graphs is about 500KB at present.

Pages: 1 2 [All]
  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!