Why would you need a commitment pool ? To show sufficient interest in the token ?
So that if a new tornado pool is opened, it is generated with a sufficient amount of initial deposits to ensure a minimal amount of anonymity. Commitment pools solve the cold start problem for any new tornado pool, regardless of if it’s hosted at tornado.cash or not
It also alleviates the burden on governance of having to debate “should we add X token?” repeatedly on the forums. The only thing governance should be concerned about with respect to new pools is if they are anonymous enough to uphold the integrity of the protocol
Lastly, it gives new tornado pools a trustless, streamlined way to get whitelisted to work with our community-curated list of relayers
It’s gameable by anyone, just sybil attack.
Again, the goal is just to create a new tornado pool with enough entropy to ensure sufficient anonymity for real users. If entropy is achieved by a whale introducing a majority of the initial liquidity, that’s okay
Only time it wouldn’t be okay is if a whale made all the deposits (from one address or many connected addresses) and then withdrew them all to the same address. This would leave real users immediately stranded (granted they could just withdraw funds to their original address and be back to where they started, but the UX would be terribly frustrating and expensive)
This is why it’s worth discussing a proper failsafe, which could potentially be resolved with meta-data + TORN staking
After all, the contracts are open source. It’s pretty easy for anyone to deploy a new pool for any token. Then it’s just a matter being listed in the front-end.
Then why do we need to do any governance at all around new tokens if people can just make their own tornado pools? If we’re only voting on what gets added to the front-end without any actual coordination contracts, then isn’t this all just costly governance theatre?