What’s Up Tornado — What About Some In-house Cleaning?
A proposal was made to create a separate contract to isolate TORN locked by users for voting from other types of TORN (e.g. governance treasury).
Since Tornado.Cash’s inception, all eggs are put in one basket when it comes to the governance contract. Everything, from locked TORN by users to vested tokens for governance treasury, co-exist in the same contract address.
My grandma used to say that we shouldn’t mix apples with oranges. Why wouldn’t this maxim also apply to our dear governance contract? Well, it was the purpose of Proposal #8, prepared and presented to the community by one of its members @h-ivor.
Unfortunately, this proposal didn’t reach the 25K quorum needed to get executed at this moment. However, if your curiosity is tickling you and you want to learn more about this noteworthy suggestion… well, cope with us through this blog post!
Even tough this system has been functioning correctly so far, it comes with its set of inconveniences. One of them is the induced lack of clarity on the exact amount of circulating supply. Indeed, locked TORN are in the circulating supply as they belong to actual holders, while governance treasury tokens shouldn’t be. Mixing both of them in a single wallet makes it harder for services such as CoinGecko or CoinMarketCap to display an accurate information about Tornado.Cash. The only way to differentiate locked tokens from vested ones is to look into the transaction history.
There is also another consideration to take into account regarding the current system. By being in the same contract address as governance treasury, users’ funds (locked TORN for voting) are accessible and can be mistakenly withdrawn. It seems unlikely for the community to vote on behalf of a proposal that will spend more tokens than available. However, by nature, locked TORN should not be potentially spendable. This issue was brought up to the community’s attention mid-February on Tornado.Cash forum.
The suggested solution? Create a separate Vault smart contract that will hold and keep safe users’ locked tokens.
If this proposal had been implemented, the migration from the current governance contract would have been executed account per account. When a holder would have locked or unlocked some of its TORN, all its funds would have been automatically transferred from the current governance contract to the new vault.
If you are interested in the technical deployment of such a proposal, we refer you to the written proposal made by @h-ivor. And if lines of code don’t look like gibberish to you, you can also take a look to the proposal repository.
Even if the quorum wasn’t reached, all votes were in favor of this proposal. As there was no strong objection, it is not impossible that the community comes back to it later. We all know that weather & wind direction change all time! Nevertheless, no matter what, the Tornado is still spinning. 🌪
Thanks for reading us !