What is chain density?

Hi guys… been trying to find info on this for days now. Found a few threads mentioning it but haven’t really seen enough to form an understanding of what “chain density” is. Haven’t found a proper definition of this in the docs also. Google also hasn’t been helpful.

So, can someone please explain what this metric is? Is it the number of transactions in a given block? or something else? And why would it be important to track as pool operator?

This will likely help a lot of new SPOs like me…

1 Like

Okay, someone finally gave a sensible answer to this question in the Telegram group. Putting it here for anyone who comes across this post in the future:



To add, chain density is a reflection on the health of the network. With block coefficient is 0.05 and slot duration of 20s, and ideal chain density would be ~5%. A chain density with a lower % implies the degree to which nodes are missing or failing to produce assigned blocks.


I am not sure if this is the correct answer, but this is what I have observed. During normal operations of my node chain density runs at about 5%. But when I synced up with the mainnet I used a 10 CPU Rig with 22Gb or memory. During the download of the mainnet the chain density was hitting 100%. The 10CPUs were operating at about 65% utilization and memory was only at about 10%. My interpretation of the chain density measure is that it appears to be some type of measure related to the speed and capacity at which the chain gets ingested by the node. Again, I don’t know the answer this is just what I observed.

Yes it is correct

When a node comes up to sync with mainnet it starts in the Byron era (where slots/epochs didn’t exist) and then it crosses over into to Shelley era.

1 Like

This Github issue explains it all: it’s just the number of actual blocks divided by the number of slots. So as the accepted solution says, if we had a block for every slot, the chain density would be 100%.
Another Github issue suggests that this method of calculation is no longer accurate for Shelley (see ADAfrog’s post above)