🌪 Самое время разобраться, как же работает Tornado Cash.
Я всегда думал, что Tornado Cash создает миллион кошельков, отправляет туда твои деньги по кусочкам, потом эти адреса пересылают друг другу твои кусочки, а на выходе ты получаешь на указанный кошелек все бабки за вычетом комиссий. И у меня были вопросы, как такое может быть децентрализованно?
Почему я так думал? Потому что я искал и разматывал такие клубки в рамках научной работы у @kedr2earth.
Оказалось все проще и элегантнее:
1. ты отправляешь определенную сумму им на контракты + хеш секретика, чтобы по нему снять деньги
2. другим кошельком ты через zk-SNARK доказываешь, что у тебя есть этот секретик
3. релееры это проверяют и отправляют тебе на новый кошелек твои бабки
Отправить в Tornado Cash можно только определенный объемы (1ETH, 10ETH, 100ETH, ….), поэтому между 1 и 2 ты можешь подождать несколько дней, чтобы за это время кто-то другой пополнил и вывел такую же сумму. В итоге никак нельзя связать два кошелька, используя данные из блокчейна.
Нашел отличное видео про то, как пользоваться Tornado Cash
🔗 https://www.youtube.com/watch?v=vytsfgbyi88
И про то, как он работает внутри
🔗 https://www.youtube.com/watch?v=z_cRicXX1jI
Я всегда думал, что Tornado Cash создает миллион кошельков, отправляет туда твои деньги по кусочкам, потом эти адреса пересылают друг другу твои кусочки, а на выходе ты получаешь на указанный кошелек все бабки за вычетом комиссий. И у меня были вопросы, как такое может быть децентрализованно?
Почему я так думал? Потому что я искал и разматывал такие клубки в рамках научной работы у @kedr2earth.
Оказалось все проще и элегантнее:
1. ты отправляешь определенную сумму им на контракты + хеш секретика, чтобы по нему снять деньги
2. другим кошельком ты через zk-SNARK доказываешь, что у тебя есть этот секретик
3. релееры это проверяют и отправляют тебе на новый кошелек твои бабки
Отправить в Tornado Cash можно только определенный объемы (1ETH, 10ETH, 100ETH, ….), поэтому между 1 и 2 ты можешь подождать несколько дней, чтобы за это время кто-то другой пополнил и вывел такую же сумму. В итоге никак нельзя связать два кошелька, используя данные из блокчейна.
Нашел отличное видео про то, как пользоваться Tornado Cash
🔗 https://www.youtube.com/watch?v=vytsfgbyi88
И про то, как он работает внутри
🔗 https://www.youtube.com/watch?v=z_cRicXX1jI