Andresen & Tornado. Part 2
@Ghost_In_The_Block
И когда я говорю "смарт", я имею в виду действительно комплексный и умный инструмент: Tornado использует криптографию "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge" (ZkSNARK):
Это означает, что средства в эфире (или другом токене), внесенные в контракт, нельзя будет связать со средствами, поставленными на вывод.
Но при этом, я не удивлюсь, если на конференции Financial Cryptography 2023 будет представлен доклад, показывающий, что 85% действий, выполненных на контракте Tornado, не являются анонимными.
Это произойдет не потому, что допущена ошибка в криптографии, а потому, что простым людям очень трудно использовать инструмент вроде Tornado.Cash (или CoinJoin, или подобные технологии) таким образом, чтобы не раскрывать информацию о своем кошельке.
Разработчики Tornado даже написали статью с советами по сохранению конфиденциальности, но я думаю, что 62% пользователей не прочитают ее, а еще 25% прочитают и сразу же сделают все наоброт.
Я думаю, что ошибка большинства пользователей заключается в том, что они полагают, что могут просто перевести кучу ETH через Tornado.Cash на новый кошелек и в итоге получить "чистый кошелек".
Давайте разберем эту ошибку.
Представьте: вы купили на бирже 117 монет ETH и перевели их на кошелек, который вы контролируете. На блокчейне ethereum это отображается как баланс в 117 ETH на определенном кошельке - назовем этот кошелек 0xabc.
При этом, вы хотите иметь возможность анонимно распоряжаться средствами на кошельке: тратить их, менять, жертвовать на благотворительность или инвестировать.
Но эту хрупкую анонимность легко потерять - например, вы решите подарить своей любимой племяннице 1 ETH на Новый Год или День Рождения.
По сути она сможет увидеть всю историю ваших транзакций, просто посмотрев данные о кошельке 0xabc в Etherscan.

Чтобы не допустить потерю анонимности, вы решаете перевести эти 117 ETH через сервис tornado на совершенно новый кошелек, под названием "Суперсекретный", который вы создали в темной закрытой комнате на совершенно новом ноутбуке, который никогда не выходил в интернет.
Вы вносите несколько депозитов на контракт Tornado.Cash в течение недели или двух, и в итоге на вашем новом кошельке (назовем его 0xdef) оказывается чуть меньше 117 ETH (из-за комиссий за транзакции).
Однако, проведя такие операции вы [скорее всего] не достигнете желаемой цели.
У вас может получиться в случае, если другой человек использовал сервис Tornado.Cash для перемещения своих 117 ETH с одного адреса на другой в тот же временной отрезок, что и вы. Во всех остальных случаях, будет легко понять, что адреса 0xabc и 0xdef принадлежат одному и тому же человеку, что делает ваш “суперсекретный” кошелек не таким уж и секретным.
Даже если ваша любопытная племянница не будет пытаться связать эти два адреса, вы все равно будете терять немного конфиденциальности при каждом совершаемом действии с монетами (или токенами), находящимися на кошельке 0xdef.
Как все сделать правильно?
Я думаю, что многие люди хотели бы иметь анонимный кошелек, и, что Tornado.Cash - это фантастический “строительный материал”, который позволит разработчикам в будущем создать более совершенный анонимный Ethereum-кошелек.
Вы можете ускорить этот процесс, просто покупая токены #TORN.
Но, если нет времени ждать и День Рождения вашей племянницы уже близко, я бы поступил так:
Вложил бы всего пять или десять ETH в Tornado и просто оставил бы их там. И рассматривал этот депозит как "мои личные анонимные средства".
Чтобы подарить своей племяннице 1 ETH на день рождения, я бы снял деньги из Tornado.Cash и отправил ETH прямо на ее кошелек.
Таким образом, если ваша племянница посмотрит на данные из блокчейн, то увидит только то, что у вас был 1 ETH в Tornado.
У нее не будет информации о том, когда вы депонировали монеты, сколько всего у вас монет, где вы их взяли и какие транзакции проходили на вашем кошельке.
И еще - я бы постарался не забыть внести дополнительно 1 ETH в Tornado.Cash через день или два, чтобы у меня на балансе вновь было пять или десять ETH, которые можно анонимно тратить, жертвовать или инвестировать.
Или вы можете поступить по-другому
Для достижения локальной анонимности можно использовать приватный по умолчанию блокчейн, например, Monero (или ZCash с использованием “защищенных" адресов).
Они не являются на 100% приватными, если вы не обладаете особыми знаниями о криптовалютах, знаниями о последних исследованиях в области взлома схем приватности и у вас нет системы защиты уровня Джейсона Борна.
Но они точно не позволят вашей племяннице узнать, сколько монет на вашем кошельке.
Или просто отправьте 1 ETH обратно на биржевой счет, а затем выведите на адрес кошелька вашей кузины. Etherscan, вероятно, сообщит ей, что деньги пришли с горячего кошелька BitKrakEnex, так что она будет знать только то, что у вас есть аккаунт на криптобирже.
Вам не придется беспокоиться, что она увидит те SPANK-коины, которые вы “случайно” приобрели, когда показывали другу, как работает Uniswap.
[Joke for ICQ > 150]
Оригинал находится здесь.
Переведено и адаптировано командой Telegram-канала
@Ghost_In_The_Block
