Перейти к содержимому

Торнадо кэш что это

  • автор:

Как концептуально работает Tornado Cash, который "забанили" власти США

8 августа 2022 года Управление по контролю за иностранными активами Министерства финансов США (OFAC) наложило санкции на Tornado Cash, миксер криптовалюты, что вызвало шквал обсуждений в криптосреде. В этой статье разберем как концептуально работает криптомиксер Tornado Cash, что было понять, что есть в этой технологии, что против нее вводят санкции.

Одной из особенностей блокчейна является то, что ее реестр, содержащий все когда-либо имевшие место транзакции, виден глобально, то есть можно отслеживать средства по мере их перехода из рук в руки, а в некоторых случаях полностью деанонимизировать пользователей.

Tornado Cash — это сервис, который смешивает разные потоки потенциально идентифицируемой криптовалюты и таким образом не дает отследить переход криптовалюты с одного адреса на другой.

Tornado Cash — является децентрализованным криптомиксером, это значит, что он использует смарт-контракты, которые принимают криптовалюту, а затем позволяют выводить их на другие адреса. Поскольку вывод средств производится из пулов ликвидности смарт-контрактов проекта, невозможно узнать, кто является первоначальным отправителем. Это скрывает поток средств и затрудняет их отслеживание.

Пул ликвидности – это совокупность криптовалюты или токенов, заблокированных в смарт-контракте. Заблокированные средства используется для обеспечения тех или иных финансовых операций.

Анонимная связка адреса отправителя и адреса получателя возможна благодаря технологии доказательства с нулевым разглашением (Zero-knowledge proof). Доказательство с нулевым разглашением позволяет вам доказать истинность утверждения, не раскрывая содержание утверждения и не раскрывая, как вы обнаружили истину. Конкретно Tornado Cash использует протокол **zk-SNARK**.

Ниже мы разберем как это работает, а также будут ссылки на более детальные разборы.

Важно отметить, что, используя zk-SNARK, Tornado Cash позволяет вам вносить в контракт фиксированные суммы ETH, DAI, USDC или USDT. Когда вы вносите деньги(Deposit), вы получите резервный код, который вам понадобится для вывода(Withdrawal) средств позже.

Почему фиксированные суммы? Например, вы внесли 0,1 ETH(криптовалюта Эфереум), а также помимо вас это сделали еще 303 человека. А поскольку процес передачи средств в смарт-контракт являтся общедоступной информацией, когда вы вносите 0,1 ETH, эти 0,1 ETH позже можно будет отследить до этой группы из 303 человек, но не до вас напрямую.

Далее мы общо разберем технологии, которые используются в смарт-контрактах Tornado Cash.

Прежде чем Алиса вложит деньги в Tornado Cash, ей нужно будет выбрать два случайных числа: `secret` и `nulifier`, а затем она вычислить хэш этих двух случайных чисел.

Чтобы внести(разместить) депозит в Tornado Cash, Алиса отправит 1 ETH и хэш чисел `secret` и `nulifier`. Пускай в нашем примере это будет 0x404.

Отправленный эфериум хранится в смарт-контракте, как и хэши, которые необходимы для определения обязательств, хэш позже будет использоваться для вывода этого 1 ETH из Tornado Cash.

Прежде чем разобрать вывод средств, рассмотрим, как бы это могло бы быть сделано неправильно, то есть компрометируя выводящего средства, а потом посмотрим, как это сделать правильно.

Итак, неправильный путь это когда выводящий средства, передаст в смарт контракт числа `secret` и `nulifier`, а смарт-контракт проверит, что хэш есть в хранилище смарт-контракта и отдаст нужное кол-во ETH. Подобный процесс раскрывает личность выводящего деньги из смарт-контракта. Например, мы знаем, что Алиса разместила в смарт-контракте хэш 0x404,а позже появляется анонимный пользователь передающий `secret` и `nulifier`, так что хеш `secret` и `nulifier` равен 0x404, но поскольку хеш-функция является односторонней функцией, это означает, что единственный человек, который знает `secret` и `nulifier`, который хэширует в 0x404 — это Алиса. Именно так личность пользователя раскрывается при снятии средств. Итак, как мы можем решить эту проблему.

Если каким-то образом есть возможность доказать, что я знаю `secret` и `nulifier`, так что `hash(secret,nulifier)` есть в смарт-контракте, но без раскрытия `secret` и `nulifier`. Тогда анонимный пользователь мог бы отсылать в смарт-контракт некое доказательство что он знает `secret` и `nulifier` без фактической отправки этих чисел или хэша, а смарт-контракт проверял бы, действительно ли доказательство, при этом смарт-контракт не знал бы, предназначено ли доказательство для 0x404 или для 0x403 или 0x505, которые также записаны в смарт-контракт, другими словами, доказательство не раскрывало бы личность анонимного пользователя.

Подобный механизм называется доказательством с нулевым разглашением, то есть, когда вы можете доказать, что вам известна какая-то информация, не раскрывая ничего о фактической информации. Конкретно Tornado Cash использует криптографический протокол zk-SNARK.

Узнав, что смарт-контракт проверят действительно ли доказательство, но не знает для какого конкретно хэша, какой-нибудь хакер захотел бы много раз отправить одно и тоже доказательство, чтобы получить много ETH. Поэтому, чтобы предотвратить подобное двойное использование, когда вы отправляете доказательство для вывода, вам также нужно будет отправить хэш `nulifier` внутри доказательства.

И тогда «внутри» zk-SNARK будет проверятся: — что `hash(secret,nulifier)` есть в смарт-контракте — корректность, что хэш от `nulifier` == `hash(nulifier)`

После этих проверок, смарт-контракт отдаст ETH и «запишет», что вывод средств был произведен.

Поэтому `nulifier` грубо говоря нужен для предотвращения проблемы double spending

Для того, чтобы осуществлять большое количество проверок хэшей в Tornado Cash данные хранится в Merkle tree.

Использование хеш-деревьев позволяет «малыми» затратами проверять принадлежности определённого блока данных к множеству.

Поскольку различными блоками часто являются независимые данные, в нашем случае хэши вложенных средств, то нас интересует возможность проверить только один блок, не пересчитывая хеши для остальных узлов дерева. Пусть интересующий нас блок — это синий блок на картинке. Тогда доказательством его существования и валидности будут корневой хеш, а также верхние хеши других веток.

Зеленым отмечены хэши которые понадобятся нам для проверки, что синий элемент принадлежит к множеству средств внутри Tornado Cash

Как подробно работают **ZKPs**, и конкретно **zk-SNARK** можно найти здесь.

Верхнеуровнево при создании ZKP проверяющий просит доказывающего выполнить ряд действий, которые могут быть выполнены точно только в том случае, если доказывающий знает основную информацию. Если доказывающий только догадывается о результате этих действий, то в конечном итоге тест верификатора с высокой степенью вероятности докажет, что они ошибочны.

Концептуальный пример для интуитивного понимания данных доказательства в условиях нулевого разглашения это представить себе пещеру с одним входом, но двумя путями (путь A и B), которые соединяются через общую дверь, запертую кодовой фразой. Алиса хочет доказать Бобу, что она знает код доступа к двери, но не раскрывая код Бобу. Для этого Боб стоит снаружи пещеры, а Алиса идет внутрь пещеры, выбирая один из двух путей (при этом Боб не знает, какой путь был выбран). Затем Боб просит Алису вернуться к входу в пещеру по одному из двух путей (выбранных случайным образом). Если Алиса изначально выбрала путь А к двери, но затем Боб просит ее вернуться по пути Б, единственный способ решить головоломку для Алисы — это знать код доступа к запертой двери. Этот процесс может быть повторен несколько раз, чтобы доказать, что Алиса знает код доступа к двери и не выбрала правильный путь изначально с высокой степенью вероятности.

После завершения этого процесса Боб имеет высокую степень уверенности в том, что Алиса знает код доступа к двери, не раскрывая код доступа Бобу. Хотя это всего лишь концептуальный пример, ZKP используют ту же стратегию, но используют криптографию для подтверждения знаний о точке данных, не раскрывая сами данные.

Теперь у нас есть все, чтобы понять, как работает Tornado Cash (TC). Когда вы вносите 1 ETH по контракту Tornado Cash , вы представляете хэш доказательство. Этот хэш будет храниться в Merkle. Когда вы снимаете этот 1 ETH с другой учетной записи, вы должны предоставить 2 доказательства с нулевым разглашением. Первый доказывает, что дерево Меркель содержит ваши хэши. Это доказательство является доказательством с нулевым разглашением. Но этого недостаточно, потому что вам должно быть разрешено снять этот 1 ETH только один раз. Из-за этого вы должны предоставить `nulifier`, уникальный для доказательства. Контракт хранит этот `nulifier`,и это гарантирует, что вы не сможете снять внесенные деньги более одного раза.

Санкции на смарт-контракт являются интересным прецедентом, так как смарт-контракт сам по себе автономен, и пока не ясно к каким образом должна выглядеть, например, полная блокировка сервиса на уровне сети Ethereum.

Как концептуально работает Tornado Cash, который «забанили» власти США

8 августа 2022 года Управление по контролю за иностранными активами Министерства финансов США (OFAC) наложило санкции на Tornado Cash, миксер криптовалюты, что вызвало шквал обсуждений в криптосреде. В этой статье разберем как концептуально работает криптомиксер Tornado Cash, что было понять, что есть в этой технологии, что против нее вводят санкции.

Что такое Tornado Cash?

Одной из особенностей блокчейна является то, что ее реестр, содержащий все когда-либо имевшие место транзакции, виден глобально, то есть можно отслеживать средства по мере их перехода из рук в руки, а в некоторых случаях полностью деанонимизировать пользователей.

Tornado Cash — это сервис, который смешивает разные потоки потенциально идентифицируемой криптовалюты и таким образом не дает отследить переход криптовалюты с одного адреса на другой.

Tornado Cash — является децентрализованным криптомиксером, это значит, что он использует смарт-контракты, которые принимают криптовалюту, а затем позволяют выводить их на другие адреса. Поскольку вывод средств производится из пулов ликвидности смарт-контрактов проекта, невозможно узнать, кто является первоначальным отправителем. Это скрывает поток средств и затрудняет их отслеживание.

Пул ликвидности – это совокупность криптовалюты или токенов, заблокированных в смарт-контракте. Заблокированные средства используется для обеспечения тех или иных финансовых операций.

Анонимная связка адреса отправителя и адреса получателя возможна благодаря технологии доказательства с нулевым разглашением (Zero-knowledge proof). Доказательство с нулевым разглашением позволяет вам доказать истинность утверждения, не раскрывая содержание утверждения и не раскрывая, как вы обнаружили истину. Конкретно Tornado Cash использует протокол zk-SNARK.

Ниже мы разберем как это работает, а также будут ссылки на более детальные разборы.

Важно отметить, что, используя zk-SNARK, Tornado Cash позволяет вам вносить в контракт фиксированные суммы ETH, DAI, USDC или USDT. Когда вы вносите деньги(Deposit), вы получите резервный код, который вам понадобится для вывода(Withdrawal) средств позже.

Почему фиксированные суммы? Например, вы внесли 0,1 ETH(криптовалюта Эфереум), а также помимо вас это сделали еще 303 человека. А поскольку процес передачи средств в смарт-контракт являтся общедоступной информацией, когда вы вносите 0,1 ETH, эти 0,1 ETH позже можно будет отследить до этой группы из 303 человек, но не до вас напрямую.

Далее мы общо разберем технологии, которые используются в смарт-контрактах Tornado Cash.

Алгоритм работы

Размещение(Deposit)

Прежде чем Алиса вложит деньги в Tornado Cash, ей нужно будет выбрать два случайных числа: secret и nulifier , а затем она вычислить хэш этих двух случайных чисел.

Чтобы внести(разместить) депозит в Tornado Cash, Алиса отправит 1 ETH и хэш чисел secret и nulifier . Пускай в нашем примере это будет 0x404.

Отправленный эфериум хранится в смарт-контракте, как и хэши, которые необходимы для определения обязательств, хэш позже будет использоваться для вывода этого 1 ETH из Tornado Cash.

Вывод средств

Прежде чем разобрать вывод средств, рассмотрим, как бы это могло бы быть сделано неправильно, то есть компрометируя выводящего средства, а потом посмотрим, как это сделать правильно.

Итак, неправильный путь это когда выводящий средства, передаст в смарт контракт числа secret и nulifier , а смарт-контракт проверит, что хэш есть в хранилище смарт-контракта и отдаст нужное кол-во ETH. Подобный процесс раскрывает личность выводящего деньги из смарт-контракта. Например, мы знаем, что Алиса разместила в смарт-контракте хэш 0x404,а позже появляется анонимный пользователь передающий secret и nulifier , так что хеш secret и nulifier равен 0x404, но поскольку хеш-функция является односторонней функцией, это означает, что единственный человек, который знает secret и nulifier , который хэширует в 0x404 — это Алиса. Именно так личность пользователя раскрывается при снятии средств. Итак, как мы можем решить эту проблему.

Если каким-то образом есть возможность доказать, что я знаю secret и nulifier , так что hash(secret,nulifier) есть в смарт-контракте, но без раскрытия secret и nulifier . Тогда анонимный пользователь мог бы отсылать в смарт-контракт некое доказательство что он знает secret и nulifier без фактической отправки этих чисел или хэша, а смарт-контракт проверял бы, действительно ли доказательство, при этом смарт-контракт не знал бы, предназначено ли доказательство для 0x404 или для 0x403 или 0x505, которые также записаны в смарт-контракт, другими словами, доказательство не раскрывало бы личность анонимного пользователя.

Подобный механизм называется доказательством с нулевым разглашением, то есть, когда вы можете доказать, что вам известна какая-то информация, не раскрывая ничего о фактической информации. Конкретно Tornado Cash использует криптографический протокол zk-SNARK.

Что за nulifier?

Узнав, что смарт-контракт проверят действительно ли доказательство, но не знает для какого конкретно хэша, какой-нибудь хакер захотел бы много раз отправить одно и тоже доказательство, чтобы получить много ETH. Поэтому, чтобы предотвратить подобное двойное использование, когда вы отправляете доказательство для вывода, вам также нужно будет отправить хэш nulifier внутри доказательства.

И тогда «внутри» zk-SNARK будет проверятся:

что hash(secret,nulifier) есть в смарт-контракте;

корректность, что хэш от nulifier == hash(nulifier) .

После этих проверок, смарт-контракт отдаст ETH и «запишет», что вывод средств был произведен.

Поэтому грубо говоря нужен для предотвращения проблемы double spending

Хранение данных

Для того, чтобы осуществлять большое количество проверок хэшей в Tornado Cash данные хранится в Merkle tree.

Использование хеш-деревьев позволяет «малыми» затратами проверять принадлежности определённого блока данных к множеству.

Поскольку различными блоками часто являются независимые данные, в нашем случае хэши вложенных средств, то нас интересует возможность проверить только один блок, не пересчитывая хеши для остальных узлов дерева. Пусть интересующий нас блок — это синий блок на картинке. Тогда доказательством его существования и валидности будут корневой хеш, а также верхние хеши других веток.

Зеленым отмечены хэши которые понадобятся нам для проверки, что синий элемент принадлежит к множеству средств внутри Tornado Cash

Доказательства с нулевым разглашением ZKPs

Как подробно работают ZKPs, и конкретно zk-SNARK можно найти здесь.

Верхнеуровнево при создании ZKP проверяющий просит доказывающего выполнить ряд действий, которые могут быть выполнены точно только в том случае, если доказывающий знает основную информацию. Если доказывающий только догадывается о результате этих действий, то в конечном итоге тест верификатора с высокой степенью вероятности докажет, что они ошибочны.

Концептуальный пример для интуитивного понимания данных доказательства в условиях нулевого разглашения это представить себе пещеру с одним входом, но двумя путями (путь A и B), которые соединяются через общую дверь, запертую кодовой фразой. Алиса хочет доказать Бобу, что она знает код доступа к двери, но не раскрывая код Бобу. Для этого Боб стоит снаружи пещеры, а Алиса идет внутрь пещеры, выбирая один из двух путей (при этом Боб не знает, какой путь был выбран). Затем Боб просит Алису вернуться к входу в пещеру по одному из двух путей (выбранных случайным образом). Если Алиса изначально выбрала путь А к двери, но затем Боб просит ее вернуться по пути Б, единственный способ решить головоломку для Алисы — это знать код доступа к запертой двери. Этот процесс может быть повторен несколько раз, чтобы доказать, что Алиса знает код доступа к двери и не выбрала правильный путь изначально с высокой степенью вероятности.

После завершения этого процесса Боб имеет высокую степень уверенности в том, что Алиса знает код доступа к двери, не раскрывая код доступа Бобу. Хотя это всего лишь концептуальный пример, ZKP используют ту же стратегию, но используют криптографию для подтверждения знаний о точке данных, не раскрывая сами данные.

Теперь у нас есть все, чтобы понять, как работает Tornado Cash (TC). Когда вы вносите 1 ETH по контракту Tornado Cash , вы представляете хэш доказательство. Этот хэш будет храниться в Merkle. Когда вы снимаете этот 1 ETH с другой учетной записи, вы должны предоставить 2 доказательства с нулевым разглашением. Первый доказывает, что дерево Меркель содержит ваши хэши. Это доказательство является доказательством с нулевым разглашением. Но этого недостаточно, потому что вам должно быть разрешено снять этот 1 ETH только один раз. Из-за этого вы должны предоставить nulifier , уникальный для доказательства. Контракт хранит этот nulifier ,и это гарантирует, что вы не сможете снять внесенные деньги более одного раза.

Заключение

Санкции на смарт-контракт являются интересным прецедентом, так как смарт-контракт сам по себе автономен, и пока не ясно к каким образом должна выглядеть, например, полная блокировка сервиса на уровне сети Ethereum.

Что такое миксер Tornado Cash и почему его заблокировали?

Децентрализованный сервис Tornado Cash создали разработчики Роман Сторм, Роман Семенов и Алексей Перцев. Они являются сооснователями компании по кибербезопасности PepperSec, а также заявляют, что имеют опыт работы в блокчейн-проектах.

Протокол Tornado Cash был запущен в августе 2019 года на блокчейне Ethereum. О сторонних инвестициях в проект ничего не известно. Также для финансирования сервиса не проводились токенсейлы.

На первом этапе разработчики сохраняли контроль над протоколом через кошелек с мультиподписью. Но в мае 2020 года, после запуска второй версии протокола, для повышения уровня децентрализации команда сожгла ключи доступа к смарт-контрактам. В процедуре так называемой доверенной установки приняли участие более 1100 пользователей, в том числе Виталик Бутерин и Гэвин Андресен.

Код пользовательского интерфейса Tornado Cash хранился в IPFS, что снижало риски удаления данных, в том числе в случае законодательных запретов. Интерфейс будет работать до тех пор, пока его хранит хотя бы один пользователь.

Для чего был нужен токен TORN

У Tornado Cash есть свой токен управления TORN стандарта ERC-20, выпущенный в сети Ethereum.

Аирдроп 500 000 TORN ранним пользователям произвели в феврале 2021 года. Участниками раздачи стали более 7500 адресов. В среднем ранним пользователям досталось по 38 TORN. На момент начала публичных торгов токеном на биржах их стоимость составила более $7700.

Токен управления TORN имел три функции:

  • залог для ретрансляторов;
  • стейкинг;
  • участие в децентрализованной организации Tornado Cash DAO.

Чтобы разместить свое предложение в Tornado Cash DAO, нужно было иметь не менее 1000 TORN. Для голосования было достаточно всего 1 TORN. Каждый токен считается за 1 голос.

Предложения могли касаться:

  • добавления новых пулов;
  • изменения ставок вознаграждения;
  • распределения средств казны ДАО.

Каждое предложение находится на голосовании в течение 5 дней и для его принятия нужно было получить не менее 25 тысяч голосов-токенов.

Как работал Tornado Cash

Существует множество миксеров, которые используются для анонимных переводов криптовалют. Однако большинство из них являются централизованными сервисами, которые могут злоупотребить доверием пользователей, похитив их средства или личные данные.

В отличие от них, протокол Tornado Cash был построен на принципе децентрализации, то есть представлял собой набор смарт-контрактов, с которыми пользователи взаимодействовали посредством Web3-кошельков. Контракты принимали депозиты и смешивали их в одном пуле, для чего применялась технология zk-SNARK. То есть транзакции происходили без раскрытия информации о самих платежах, а все активы были анонимизированы и не связаны с конкретным владельцем.

С точки зрения пользователя все происходило предельно просто: он посылает криптоактив на смарт-контракт с одного адреса и затем выводит на другой адрес, который никак не связан с адресом отправки. После отправки средств создается приватная заметка. Она работает как закрытый ключ, который будет необходим для вывода средств на другой адрес.

В протоколе работали анонимные пулы для шести активов: ETH, DAI, cDAI, USDC, USDT и WBTC. Комиссия за вывод активов из пулов составляла 0,3% от суммы перевода, однако ряд пулов с малой ликвидностью работал без комиссий.

История развития проекта

За всю свою историю протокол Tornado Cash обработал активов на более чем $3,5 млрд и собрал более $17,7 млн комиссий. При этом им воспользовалось более 57 тысяч уникальных пользователей.

В течение 2021 года смарт-контракты Tornado Cash развернули в других популярных блокчейнах: BNB Chain, Polygon, Avalanche, Gnosis, Arbitrum и Optimism. Однако максимальный объем депозитов был по-прежнему аккумулирован в сети Ethereum.

В декабре 2021 года Tornado Cash объявил о запуске крупного обновления Nova, которое работало в сети Gnosis и, в отличие от оригинального протокола, позволяло вносить и снимать произвольные суммы эфира ETH, сохраняя конфиденциальность и обеспечивая «экранированный» перевод средств в пулах.

Какова роль Tornado Cash в отмывании похищенных криптоактивов

Основатели криптовалютных миксеров заявляют о том, что играют важную роль в защите частной жизни пользователей и инвесторов. Однако правоохранительные органы заявляют, что такие сервисы очень часто используются для отмывания доходов от организованной преступности.

За время работы Tornado Cash можно найти немало примеров того, что сервис использовали как «прачечную» для украденных криптоактивов. Вот лишь некоторые случаи за 2022 год:

  • в январе 2022 года с сингапурского сервиса Crypto.com было похищены 4600 ETH стоимостью $15 млн и затем «прокручены» через Tornado Cash.
  • в марте предположительно северокорейские хакеры украли активы на $625 млн из популярной P2E-игры Axie Infinity, что стало одним из крупнейших взломов в истории криптоиндустрии. По крайней мере часть этой суммы отмыли через Tornado Cash.
  • В июне был взломан кроссчейн-мост Horizon из экосистемы Harmony. Злоумышленники похитили активы на сумму около $100 млн, большая часть из которых поступила в Tornado Cash.
  • В июле из протокола кредитования Omni украдены и направлены в миксер активы на более чем 1300 ETH (примерно $1,48 млн).

По оценкам компании Chainalysis, занимающейся анализом блокчейн-транзакций, за время работы Tornado Cash через этот миксер прошло более $3,5 млрд, из них до $1,2 млрд напрямую связаны с кражами, взломами и другими незаконными операциями.

Эксперты Elliptic утверждают, что Tornado Cash активно использовали для отмывания денег, полученных от мошенничества с NFT.

За что Tornado Cash попал под санкции

В августе 2022 года миксер, вместе со связанными с ним адресами Ethereum и USDC, попал в санкционный список OFAC . На заблокированных кошельках находились стейблкоины, WBTC и ETH на общую сумму примерно $437 млн. Позднее USDC на адресах миксера заблокировал их эмитент, американская компания Circle.

Причиной блокировки стало использование Tornado Cash для отмывания денег: по данным властей США, с момента создания сервиса злоумышленники отмыли через него более $7 млрд. Активно миксер использовали хакеры северокорейской группировки Lazarus.

В результате санкций была заблокирована вся собственность, средства пользователей и исходный код Tornado Cash в США и за его пределами, а резидентам и гражданам страны запретили использовать сервис.

Помимо криптовалюты, заблокированы (по сути, удалены) оказались репозитории Tornado Cash и их основателей в Github, RPC Infura и Alchemy Platform, а также некоторые домены. Из-за этого перестал работать сайт Tornado Cash и связанные с ним сервисы. Более 250 адресов на уровне фронтенда заблокировала децентрализованная биржа Uniswap.

Арест сооснователя Tornado Cash и его возможная связь с ФСБ

12 августа 2022 года в Амстердаме арестовали одного из создателей миксера, разработчика Алексея Перцева. Его подозревают в отмывании денег, полученных преступным путем, с помощью Tornado Cash.

20 августа в Амстердаме прошел митинг, участники которого потребовали освобождения Перцева. По мнению организаторов акции протеста, арест Перцева — это опасный прецедент привлечения к ответственности разработчиков открытого программного обеспечения в случае неправомерного использования этих продуктов.

“Open source is not a crime”: over 50 gathered in Amsterdam today to protest the arrest of Alexey Pertsev, the developer accused of contributing to the now-sanctioned Tornado Cash protocol pic.twitter.com/Qx1f33Ftub

— Jack Schickler (@jackschickler) August 20, 2022

В Telegram открыта группа FreeAlex Public Group, в которой состоят более 750 человек, посвященная борьбе за освобождение Перцева и снятие санкций с проекта.

В конце августа 2022-го аналитическая компания Kharon выпустила исследование, согласно которому Перцев может быть связан с российскими спецслужбами. По данным исследователей, в 2017 году будущий создатель Tornado Cash работал в компании «Цифровая безопасность», которая оказывает материальную и техническую поддержку ФСБ. Жена Перцева Ксения Малик опровергла эту информацию.

Реакция криптосообщества и оценка правомерности санкций в отношении Tornado Cash

Сразу же после введения санкций в Tornado Cash DAO появилось предложение подать в суд на OFAC за превышение полномочий при введении ограничений в адрес миксера. В начале сентября шестеро пользователей миксера подали соответствующий иск к Минфину, в который входит OFAC, в суд Западного Округа Техаса. Их поддержала биржа Coinbase.

Правозащитная организация Coin Center также указывает на злоупотребление чиновниками своих полномочий:

«Санкции <…> говорят, что американцы не могут использовать интеллектуальную собственность (т.е. код Tornado Cash), в которой ее авторы даже не имеют экономического интереса. С одной стороны, ПО было выпущено с лицензиями на публичное использование, так что ни один американец не платил за него в прошлом и не будет платить в будущем <…> Копии ПО уже установлены на компьютер любого, кто подсоединится к сети Ethereum. Подходящая метафора — если бы санкции наложили на какого-нибудь иранского автора, а американцам, у которых уже есть экземпляры его книги, запретили бы их читать».

Осудили власти и другие представители криптоиндустрии. Основатель криптовалюты Cardano Чарльз Хоскинсон заявил, что разработчики не должны нести ответственность за то, что их программу используют преступники:

«Это как написать книгу о приготовлении цианида или создании бомбы. Авторы не могут контролировать, как эта информация будет использована […]. Поэтому, создав код для протокола, разработчик не должен считаться сообщником. Он просто написал код, который технически был использован злоумышленниками».

Гендиректор биржи Kraken Джесс Пауэлл назвал действия в отношении Tornado Cash «неконституционными».

Глава Coinbase Брайан Армстронг добавил, что при введении санкций были нарушено право на приватность. Вместо того, чтобы найти и наказать настоящих преступников, правоохранители просто закрыли сервис, который те использовали, наказав всех его пользователей, которые не хотели раскрывать свою личность, но не занимались незаконной деятельностью.

Разрешение на вывод криптовалюты из Tornado Cash

Под давление общества Министерство финансов США разрешило пользователям заблокированного сервиса вывести свои средства с заблокированных адресов. Для этого потребуется специальное разрешение. Его можно получить, предоставив чиновникам информацию о кошельках отправителя и получателя, операциях, хешах и суммах переводов, а также дату и время их проведения.

В OFAC также отметили, что «взаимодействие с открытым исходным кодом само по себе […] не запрещено», если речь не идет о нелегальных сделках. В Coin Center назвали такую уступку «пирровой победой», отметив, что регулятор продолжит блокировать конкретные адреса. В то же время, в криптосообществе призвали GitHub восстановить репозитории, связанные с Tornado Cash.

Tornado cash explained

Param_eth

Tornado Cash is a decentralized finance (DeFi) protocol that allows users to make anonymous transactions on the Ethereum blockchain. The protocol uses smart contracts to create private and secure transactions, giving users more control over their financial privacy.

What is Tornado Cash?

Tornado Cash is a non-custodial smart contract platform that allows users to send and receive Ethereum (ETH) anonymously. The protocol uses zero-knowledge proofs and other cryptographic techniques to ensure that transactions are untraceable and unlinkable.

This means that users can make transactions without revealing their identity or transaction history. This is useful for users who want to protect their financial privacy, or for transactions that require anonymity for legal or other reasons.

Tornado Cash is an open-source project, meaning that anyone can access and contribute to the codebase. The protocol is also permissionless, meaning that anyone can use the platform without having to go through any kind of approval process.

How does Tornado Cash work?

Tornado Cash uses a smart contract called a “mixer” to create anonymous transactions. When a user wants to make an anonymous transaction, they first deposit their ETH into the mixer.

The mixer then splits the ETH into multiple smaller denominations, and mixes them with other users’ deposits. This makes it impossible to track the original ETH or link it to the user’s identity.

After the mixing is complete, the user can withdraw their anonymized ETH from the mixer. The withdrawn ETH can be used for any purpose, including making further anonymous transactions.

Tornado Cash also has a feature called "shielding," which allows users to convert their ETH into a private version called "zETH." This zETH can be used to make anonymous transactions on other DeFi protocols that support zk-SNARKs (a type of zero-knowledge proof).

What are the benefits of Tornado Cash?

Tornado Cash provides several benefits to users, including:

  • Financial privacy: The protocol allows users to make anonymous transactions, protecting their financial privacy and giving them more control over their money.
  • Security: The protocol uses advanced cryptographic techniques to ensure that transactions are secure and untraceable.
  • Open-source and permissionless: The protocol is open-source and permissionless, meaning that anyone can access and use the platform.
  • Accessibility: The protocol is easy to use and requires no special technical skills or knowledge.
  • Integration with other DeFi protocols: The protocol allows users to convert their ETH into zETH, which can be used on other DeFi protocols that support zk-SNARKs.

How can I use Tornado Cash?

To use Tornado Cash, you will need a Web3 wallet (such as MetaMask) and some ETH. You can then follow these steps:

  1. Go to the Tornado Cash website (https://tornado.cash/) and click on the “Mix” tab.

2. Connect your Web3 wallet to the platform by clicking on the “Connect Wallet” button.

3.Choose the amount of ETH you want to deposit and click on the “Deposit” button.

4. The platform will show you the mixing fee and the minimum deposit amount. Confirm the transaction by clicking on the “Approve” button.

5. The platform will mix your ETH with other users’ deposits. This process may take a few minutes.

6. Once the mixing is complete, you can withdraw your anonymized ETH by clicking on the “Withdraw” button.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *