#dusk $DUSK @Dusk
I used to look at Phoenix’s depth-34 tree and think the impressive part was simply the number: 17 billion possible leaves.
After sitting with the design a little longer, I think the more interesting detail is what that number says about scaling.
A binary tree doubles its addressable space every time you add one level. So depth 34 gives roughly 17.18B leaves, while depth 35 pushes that to about 34.36B.
At first, that sounds almost too easy.
But the real question isn’t how many notes the tree can theoretically represent. It’s what happens when people actually start using those notes at scale.
Every spent note still needs a valid authentication path. More activity means more pressure on witness generation, proof verification, state access, storage, and synchronization. The tree can have enormous theoretical capacity while the surrounding system still faces very practical limits.
That changed how I think about Phoenix.
The clever part isn’t just having a huge state space. It’s separating the depth of that space from the much harder engineering problem of keeping privacy usable as activity grows.
So I’m left with one question:
When Phoenix moves from theoretical capacity to sustained real-world usage, which constraint shows up first — proving, storage, synchronization, or something users don’t notice yet?
I used to look at Phoenix’s depth-34 tree and think the impressive part was simply the number: 17 billion possible leaves.
After sitting with the design a little longer, I think the more interesting detail is what that number says about scaling.
A binary tree doubles its addressable space every time you add one level. So depth 34 gives roughly 17.18B leaves, while depth 35 pushes that to about 34.36B.
At first, that sounds almost too easy.
But the real question isn’t how many notes the tree can theoretically represent. It’s what happens when people actually start using those notes at scale.
Every spent note still needs a valid authentication path. More activity means more pressure on witness generation, proof verification, state access, storage, and synchronization. The tree can have enormous theoretical capacity while the surrounding system still faces very practical limits.
That changed how I think about Phoenix.
The clever part isn’t just having a huge state space. It’s separating the depth of that space from the much harder engineering problem of keeping privacy usable as activity grows.
So I’m left with one question:
When Phoenix moves from theoretical capacity to sustained real-world usage, which constraint shows up first — proving, storage, synchronization, or something users don’t notice yet?