26 ms·
There is another omission: > Because the deposits and withdrawals are not synchronized in time, users can break the link between a particular chunk of cryptocu
by ruuda 4y ago
There is another omission:
> Because the deposits and withdrawals are not synchronized in time, users can break the link between a particular chunk of cryptocurrency and their holdings.
This is not false, but a bit misleading. Being decorrelated in time helps against analysis that tries to match inputs and outputs, but it's not what breaks the link.
On withdraw, how does the service know that the user has a claim to the funds? A centralized service can store this in a database off-chain, but Tornado is permissionless, there is no third party database, only the smart contract. If you would store it naively on-chain, the link would be public, defeating the purpose. So instead, Tornado uses zero-knowledge proofs that allow users to prove that they have a claim to the funds, but nothing more than that. Crypto (in the original meaning of the word) is what breaks the link!