Открыть сервис

Tornado Cash

Tornado Cash — это децентрализованный протокол, работающий на блокчейне Ethereum, предназначенный для повышения анонимности транзакций. Он использует технологию zk-SNARKs (доказательства с нулевым разглашением) для разрыва связи между отправителем и получателем криптовалюты, в первую очередь эфира (ETH) и стандартизированных токенов ERC-20. Протокол функционирует как криптовалютный миксер (тумблер), позволяя пользователям вносить средства в общий пул и выводить их на новый адрес, не раскрывая исходную транзакцию.

История

Протокол был разработан группой анонимных и публичных разработчиков, включая Алексея Перцева, Романа Семёнова, Романа Шторма и других. Первая версия Tornado Cash была запущена в августе 2019 года. Она поддерживала только транзакции с эфиром (ETH) и позволяла вносить фиксированные суммы (1, 10, 100 ETH). В декабре 2019 года вышла версия Tornado Cash Classic, которая добавила поддержку токенов ERC-20, таких как DAI, USDC и USDT.

В 2020 году разработчики представили Tornado Cash Nova — версию, которая позволяла вносить произвольные суммы, а не только фиксированные номиналы. Это стало значительным улучшением с точки зрения удобства использования, но также усложнило анализ транзакций.

В августе 2022 года Министерство финансов США (OFAC) внесло Tornado Cash и связанные с ним адреса смарт-контрактов в санкционный список (SDN List). Это привело к аресту доменов, блокировке кошельков, связанных с протоколом, и уголовному преследованию одного из разработчиков — Алексея Перцева (арестован в Нидерландах в августе 2022 года). В ноябре 2024 года Апелляционный суд США по Пятому округу постановил, что OFAC превысил свои полномочия, включив в санкционный список неизменяемый смарт-контракт Tornado Cash, так как он не является «собственностью» иностранного лица. Однако санкции против самого протокола и его разработчиков остались в силе. В России Tornado Cash не признан экстремистской или террористической организацией, но его использование может быть квалифицировано как нарушение законодательства о противодействии легализации доходов, полученных преступным путем.

Принцип работы

Tornado Cash использует технологию zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge). Этот криптографический метод позволяет одной стороне (доказывающему) доказать другой стороне (проверяющему), что утверждение верно, не раскрывая никакой дополнительной информации.

Основные этапы транзакции:

  1. Депозит (внесение): Пользователь генерирует секретный ключ (secret) и вычисляет его хеш (commitment). Затем он отправляет на смарт-контракт Tornado Cash фиксированную сумму (например, 1 ETH) вместе с этим хешем. Смарт-контракт сохраняет хеш в своем хранилище (Merkle tree) и добавляет депозит в общий пул.
  2. Ожидание: Рекомендуется выждать некоторое время, чтобы в пуле накопилось достаточное количество депозитов от других пользователей. Это увеличивает анонимность, так как становится сложнее сопоставить конкретный депозит с конкретным выводом.
  3. Вывод (снятие): Пользователь предоставляет смарт-контракту доказательство zk-SNARK, которое подтверждает, что он знает секретный ключ, соответствующий одному из хешей в дереве Merkle, но не раскрывает, какому именно. Контракт проверяет доказательство и, если оно верно, отправляет средства на указанный пользователем новый адрес.

Классификация

Tornado Cash можно классифицировать по нескольким признакам:

  • По типу актива: ETH-миксер (для эфира) и ERC-20-миксер (для токенов стандарта ERC-20, таких как DAI, USDC, USDT).
  • По версии протокола:
  • Tornado Cash Classic: Поддерживает фиксированные суммы депозита (1, 10, 100 ETH и соответствующие суммы для токенов).
  • Tornado Cash Nova: Поддерживает произвольные суммы депозита, что делает его более гибким, но потенциально менее анонимным из-за возможности отслеживания уникальных сумм.
  • По степени децентрализации: Протокол является децентрализованным, так как его смарт-контракты развернуты на блокчейне Ethereum и не контролируются какой-либо одной стороной. Однако управление протоколом (Tornado Cash DAO) и его интерфейс (веб-сайт) были централизованы, что и сделало их уязвимыми для санкций.

Устройство и характеристики

Смарт-контракты

Основой Tornado Cash являются неизменяемые смарт-контракты, развернутые в сети Ethereum. Они содержат логику депозита, вывода и проверки доказательств zk-SNARK. Ключевые контракты:

  • Tornado Trees: Хранят Merkle tree, в котором записаны все хеши депозитов.
  • Tornado Proxies: Служат для взаимодействия с контрактами токенов ERC-20.
  • Tornado Router: Маршрутизирует транзакции между пользователем и соответствующим контрактом пула.

Комиссии

Протокол взимает комиссию за вывод средств. Она составляет около 0,1% от суммы вывода (например, 0,001 ETH за вывод 1 ETH). Эта комиссия распределяется между держателями токена управления TORN и поставщиками ликвидности.

Токен TORN

Tornado Cash имеет собственный токен управления — TORN. Держатели TORN могут голосовать за изменения в протоколе, такие как изменение комиссий, добавление новых пулов или обновление смарт-контрактов. Токен был выпущен в 2020 году и распределялся через airdrop среди ранних пользователей протокола.

Применение

Tornado Cash используется в основном для повышения конфиденциальности транзакций в публичном блокчейне Ethereum. Основные сценарии применения:

  • Конфиденциальные платежи: Частные лица и компании могут использовать его для отправки средств без раскрытия своего баланса или истории транзакций.
  • Защита от анализа блокчейна: Журналисты, активисты и диссиденты могут использовать его для защиты от отслеживания их финансовой активности.
  • Арбитраж и торговля: Трейдеры могут использовать его для сокрытия своих стратегий от ботов и других участников рынка.
  • Незаконная деятельность: Из-за своей анонимности Tornado Cash также используется для отмывания средств, полученных в результате хакерских атак, программ-вымогателей и других преступлений. Согласно данным Chainalysis, через Tornado Cash было отмыто более 7 миллиардов долларов в криптовалюте, включая средства, украденные в результате взлома моста Ronin (связанного с игрой Axie Infinity) и атаки на платформу Harmony.

Критика и споры

Tornado Cash является предметом острых споров между сторонниками приватности в криптовалютах и регуляторами.

  • Аргументы «за»: Сторонники утверждают, что Tornado Cash — это инструмент, который восстанавливает базовую конфиденциальность, отсутствующую в публичных блокчейнах. Они считают, что право на финансовую приватность является фундаментальным, и технология не должна быть запрещена только потому, что ее могут использовать преступники.
  • Аргументы «против»: Регуляторы и правоохранительные органы указывают на то, что Tornado Cash является инструментом для отмывания денег и уклонения от санкций. Они утверждают, что разработчики несут ответственность за то, как используется их творение, и что протокол должен быть закрыт или модифицирован для предотвращения незаконной деятельности.

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

Интересные факты

  • Разработчики Tornado Cash использовали псевдонимы, такие как «0xbow» и «banteg».
  • В 2020 году Tornado Cash получил грант от Ethereum Foundation на развитие технологии zk-SNARKs.
  • После санкций США пользователи продолжали использовать Tornado Cash через децентрализованные интерфейсы (например, через IPFS или зеркала сайта), а также через прямые вызовы смарт-контрактов.
  • Арест Алексея Перцева в Нидерландах привел к массовым протестам в криптосообществе и сбору средств на его юридическую защиту.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →