Why is the Merkle tree depth of the Tornado contract 20?

What’s the consideration behind this? Thanks!

Honestly I thought about it and I have no idea;

The current circulating supply of ether as of this date is apparently 120,443,967.71. For something like the 100 ETH instance this puts the maximum deposited amount at I guess 2**20 * 100 = 100,048,576.0, then for 10 ETH 10,048,576.0, and so on. If we consider that approximately 50% of ETH might be staked post Shanghai, this works out.

Then the question comes why you would specifically prefer such a distribution instead of increasing the Merkle tree size such that the entire ETH supply can fit in one tree.

If you fill out the 10 ETH tree, then you might encourage people to deposit into the 1 ETH and 0.1 ETH one, but that is a long shot.

Computational overheads possibly seems like the most likely? Possibly computation of an opening from the root towards some leaf becomes suboptimal given a too high tree height in comparison to the realistic amount of ETH staked.

It is to note that instances seem to support everything up to a height of 32 and that this can be deployed if necessary.

I still have no idea.