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). Этот криптографический метод позволяет одной стороне (доказывающему) доказать другой стороне (проверяющему), что утверждение верно, не раскрывая никакой дополнительной информации.
Основные этапы транзакции:
- Депозит (внесение): Пользователь генерирует секретный ключ (secret) и вычисляет его хеш (commitment). Затем он отправляет на смарт-контракт Tornado Cash фиксированную сумму (например, 1 ETH) вместе с этим хешем. Смарт-контракт сохраняет хеш в своем хранилище (Merkle tree) и добавляет депозит в общий пул.
- Ожидание: Рекомендуется выждать некоторое время, чтобы в пуле накопилось достаточное количество депозитов от других пользователей. Это увеличивает анонимность, так как становится сложнее сопоставить конкретный депозит с конкретным выводом.
- Вывод (снятие): Пользователь предоставляет смарт-контракту доказательство 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 →