18

I'm curious, since the inception of bitcoin, what is the average size (in bytes) of a bitcoin transaction?

To be clear, the easiest way to find this is not to take the size of the block-chain and divide it by the total number of transactions. This is because there is a little overhead associated with block headers. Transactions need to be accounted for one at a time for this averaging operation.

Has anyone taken the time to analyze this information and, if so, what were the results? To be clear, I am interested in this answer as the data is stored in uncompressed-bytes. I'm not interested in any textual (i.e. JSON) variation which might be used for network communication.

RLH
  • 2,172
  • 5
  • 24
  • 35
  • I wonder if there's much point in trying to be accurate. You could simply count them sure. Be 100% accurate. But what does that number tell you? I'm pretty sure the average size has changed over the years. Compressed addresses. Multi sig addresses. P2SH. OP_RETURN. More spam? Less spam? Any average you determine now will be different next year. Maybe you don't want one number but a graph of the the average per month? Per week? What's your purpose for this? – Jannes Oct 15 '14 at 22:53
  • I don't need to know it perfectly, but +98% accurate would be great. – RLH Oct 16 '14 at 00:41
  • 98% sounds pretty random again. But total blockchain size / number transactions would probably get you there already. Especially if you correct that using a minus constant blockheader size. (Yeah I know it's not really constant) – Jannes Oct 16 '14 at 08:06
  • Obviously, the correct way to get this answer to to calculate the size of these transactions and divide by the number of transactions executed and processed thus far. My margin of error, however, is because I'd be willing to accept this metric, even if it was calculated 2 years ago. The immediate average is certainly different than what is was a year or two ago. However, that difference is within my personal margin of error, thus the 2%. – RLH Oct 16 '14 at 11:23
  • I doubt that. I wouldn't be surprised if transactions are getting bigger. Because of growing use of mulitisig and op_return and more. How can you want something almost 100% accurate but then say you don't mind a difference because you estimate that diff to be max 2% ? I – Jannes Oct 16 '14 at 12:38
  • If you want a current answer take the avg size in the last 3 months. If you want more insight into what that number would even mean, make a graph of the avg size for each month since genesis (that will show you if your 2% is realistic). If you don't care about that much detail, look at a few random samples of what you think are typical transactions (not too many txins or txouts, not too many signatures) and just go with that. – Jannes Oct 16 '14 at 12:39
  • Yes, I understand how to do this but I don't have a client installed for me to run this operation against. I ask in case someone else has the answer and they could provide the answer. If I get around to it (could take a while) I'll figure this out on my own and update the question with an appropriate answer. – RLH Oct 16 '14 at 12:51
  • I understand, that's why I'm making comments, not answers. Also: I'm a bit surprised existing statistics and graphing sites don't include a graph for this. It is an fun/interesting statistic. For example when thinking about the scalability of the blockchain in 10 years, it's not just the number of transactions that's important, but also the change in their avg size. (For that purpose you probably do want to include the header overhead into the avg size.) – Jannes Oct 16 '14 at 14:14
  • I think an economically more meaningful estimate is the average value of transactions (in BTC denomination, less tx fees). – user10405 Dec 16 '15 at 01:26
  • Not if you're trying to calculate the growth in disk space used, year-over-year. – RLH Dec 16 '15 at 01:28
  • You can always find (not the average, but the) median transaction size from the last 24 hours on the bitcointfees.21.co page. Scroll down a bit to the "Which fees should I use" section. – John Red Jun 13 '17 at 13:51

3 Answers3

12

Just to give a few exact numbers, the current average transaction size (of all existing transactions until block height 498920) is 522.45 bytes.

If we take into account just the first 100000 blocks, then the average transaction size was indeed 238.51 bytes.

This is a plot of the average transaction size (aggregated monthly): enter image description here

The peak on mid 2015 is produced by this 999657-bytes transaction.

These values can be computed using BlockSci.

cpsola
  • 1,538
  • 10
  • 27
11

Quote from Gavin Andresen:

the average Bitcoin transaction is about 250 bytes big

https://bitcointalk.org/index.php?topic=813324.0 (2nd post, last sentence)

Jannes
  • 6,344
  • 1
  • 25
  • 28
  • I'm going to give you the answer mark because if there is anyone who's side comments on the issue are mostly correct, it's Gavin's or a couple other BTC core-devs. If someone posts something a little more empirical, however, you might lose the check. Otherwise, this was what I was looking for. Thank you! – RLH Oct 17 '14 at 10:53
6

According to tradeblock.com the average transaction size is about 500-530 bytes