When I calculate the network size, the result is much smaller than the public numbers: Where is my thinking error?

A friend of mine told me that the network is currently 85 petabytes in size. But somehow this number seems too big. I have 8 farmers with 24 TB of disk space currently in use. I still have 100TB to plot, but I’m only plotting CPU, so there’s a long way to go.

According to my node, we are currently at a block height of 160128. At this point, the network has been up for 293 hours, or 1054800 seconds.

This means that statistically we have a block in about 6.5 seconds, which means we have about 13250 blocks per day. 13250 blocks in which a reward is statically signed to a farmer on average per day.

Looking at my farmers, I have 7-8 `subspace_farmer::single_disk_farm::reward_signing’ entries per 2 TiB of space per day.

This means that statistically 2 TiB of my farms find 7/13250*100=0.05283…% of all blocks. This would mean that the total competitive space is 2 TiB / 0.0005283… = 3786 TiB, which is about 3.7 petabytes.

Where does the difference come from, or what is my error in reasoning?

For an explanation of how the network adjusts the projected size, refer to the Difficulty Adjustment page on the Academy. In essence, the network targets a six-second block time, with adjustments made every 2,016 blocks. This means that there are roughly 14,400 blocks generated per day. Since each block typically contains an average of 10 rewards, this results in approximately 144,000 rewards distributed daily.

You may also find it helpful to explore the Rewards Calculator.

Hey @vexr,

Thanks for the clarification. I didn’t know that there are usually 10 rewards per block. With that in mind, my calculation would be 37 petabytes, which is still less than half of what the network says.

Did you account for Autonomys Mainnet Lifts Off ?

The amount of space can only be estimated for a particular bock height, it will fluctuate over time, so simply taking some value and stretching it over time is not exactly the correct way to calculate it.

Hey @nazar-pc,

I understand that the amount of space changes over time. However, estimating the amount of space at a given block height should be impossible. I have to take a small range of blocks (in my calculation one day) because I can only observe how often the reward signing happens on average within a given period of time, since the whole system is based on probability.

I don’t really understand how the Mainnet Lift Off can change the result, except that there is plotted space that is not used for farming.

The mainnet launch (Block #89870) required an initial value to set the difficulty range, which was initially estimated at 150PB. However, this proved to be an overestimation, as it was later revealed that the actual pledged space on the network was only about a third of that. Consequently, block times were much longer during the remainder of that difficulty period and the following two. Over approximately 5,200 blocks, the average block time was not 6 seconds, but rather nearly three times that duration.

Additionally, changes were made to Astral. Initially, it was measured in PiB, but the value has now been switched to PB. Be sure to account for this change when making your calculations.

Not only it isn’t impossible, it is quite easy. Blockchain runtime already does it and it is the value shown at https://astral.autonomys.xyz/

Estimating from your local logs will never be as accurate due to much smaller sample size.

Reading academy (and possibly source code) should help with understanding of how things work, how many votes and why we have, etc.

Sorry, but that misses the point. Difficulty must also have been built up statistically over time. If I want to understand this value on my own from my own data, then of course I can’t just use the value I want to check/understand.

I understand that I could read the code (or trust you) and then just measure blocks per time and see how far off we are. But after @vexr explained that there are 10 reward signatures per block, I’m not too far off, so I think I can get reasonably close to the calculated network size with my farmer logs.

@vexr: Thanks. I will redo this with more accurate data (using exact block heights, etc).

According to this page the network size is currently 156.89 PiB.

New measurements of mine (for 1 day) show with 10 times reward signing; 14749 blocks (22 UTC) ~5.86 blocks per second; 8 TiB / (10/(14749 * 10)): 117992 TiB or 115.2 PiB.

So we’re still a bit off, but I’d say it’s within reasonable limits.