США объявили войну крипто-анонимности

Прямо сейчас происходят события, которые могут стать поворотной точкой для всей криптоиндустрии (да и финансов в целом). Тем более странно, что пока эти события вызывают ажиотаж только в узком кругу настоящих криптанов…
США внесли в свой самый жесткий санкционный список крупнейший крипто-миксер Tornado Cash; американские граждане, вероятно, безвозвратно потеряли несколько сотен миллионов долларов; держатели самых популярных стейблкоинов USDC & DAI подсели на измену и опасаются печальных последствий; будущее всего блокчейна Ethereum оказалось под вопросом из-за угрозы цензуры; а написание open-source кода, возможно, впервые приравняли к совершению преступления.
Но чтобы нам с вами разобраться в круговороте этих адских событий, придется начать с самого начала. Пристегнитесь, нас ждет очень длинный (но крайне интересный!) лонгрид.
Краткая история приватности в крипте
Криптовалюты в свое время появились как воплощение идеалов анархического шифропанка: давайте отринем господство правительств с корпорациями, и создадим свою финансовую систему с блэкджеком и анонимностью – где каждый сможет взаимодействовать напрямую с каждым, не боясь подвергнуться преследованию, а также воздействию цензуры или карательного налогообложения!
Довольно быстро, впрочем, выяснилось, что Биткоин и его аналоги являются не столько анонимными, сколько псевдонимными. Да, один адрес Биткоин-кошелька вполне может послать крипту другому адресу без какой-либо привязки к конкретным именам и фамилиям. Но сама эта транзакция навеки останется высеченной в блокчейне – ведь, по сути, Биткоин и является всего лишь публичным журналом операций с открытым доступом для всех желающих.
“Однажды я расплатился за что-то Биткоином – и теперь копия этой транзакции будет храниться на миллионах компьютеров по всему миру до конца истории”. Это похоже на анонимность? Неа, это похоже на самодонос.
Если кому-то удастся понять, какая конкретно личность скрывается за вашим «псевдонимом» в виде адреса криптокошелька – то он без труда сможет, потянув за эту ниточку, выяснить все ваши финансовые блокчейн-секретики: сколько у вас там денег, откуда они пришли, и на что вы их тратили. (Теоретически в Биткоине, благодаря плодящимся UTXO, это сделать посложнее и не всегда получится – а вот в каком-нибудь Эфириуме вообще без проблем.)
Неудивительно, что деанонимизация криптанских финансов превратилась в довольно прибыльный бизнес: так, блокчейн-детективное агентство Chainalysis, профессионально помогающее в деле поимки криптанов таким интересным американским органам, как FBI, DEA и IRS, несколько месяцев назад было оценено инвесторами более чем в $8 млрд.
В общем, если вы не хотите, чтобы любой прохожий с улицы чувствовал себя как дома в ваших криптофинансах и при желании мог разузнать о них вообще всё, вам придется пользоваться какими-то средствами обеспечения приватности на блокчейне. И тут есть целый набор различных опций!
1. Классические миксеры (например, Blender.io)
Отправляешь на специальный кошелек свои Биткоины, там их мелко шинкуют на части, перемешивают с Биткоинами от других таких же бедолаг – и засылают тебе обратно на чистенький-свежий адрес (за минусом комиссии в пару процентов).
Плюсы: отследить, кто конкретно из участников этой густо замешанной солянки был отправителем пришедших на новый адрес средств, становится сложнее минимум на порядок.
Минусы: может оказаться, что за адресом «самого клиентоориентированного миксера» скрывается товарищ майор из ФБР. Ну или просто в какой-то момент вы свою крипту на адрес отправите, а в ответ вам ничего не придет (за пояснением о сути произошедшего см. правильный перевод художественного фильма «Snatch»).
2. Некастодиальные privacy-кошельки на базе технологии CoinJoin (например, Wasabi Wallet или Samurai Wallet)
Примерно то же самое, что и в предыдущем пункте, но здесь не нужно отправлять ваши нажитые непосильным трудом Биткоины на кошелек непонятному дяде, который «честно-пречестно» обещает их перемешать и вернуть обратно. Эта функция здесь зашита в сам алгоритм и выполняется автоматически – так что можно не опасаться, что по ту сторону миксера на самом деле сидит усатый майор или школьник из Луанды, который складывает ворованные бетховены в «фонд покупки новой Ламбы».
3. Отдельные криптовалюты, изначально разработанные с прицелом на анонимность и приватность (например, Zcash или Monero)
В какой-то момент шифропанки решили, что чем заниматься натягиванием совы на глобус в попытке превратить Биткоин, заведомо достаточно прозрачный на уровне технологии, во что-то анонимное – проще уж разработать с нуля новую крипту, где эта полезная фича будет сразу встроена на уровне базовой архитектуры.
Реализовывать такие штуки можно с помощью доказательства с нулевым разглашением (zero-knowledge proof) – по сути, построенные на таком принципе блокчейны позволяют публично удостоверяться в совершении транзакции, не раскрывая при этом ее сумму и участвующие адреса кошельков. Еще одним вариантом маскирования участников транзакции является использование кольцевых подписей, на которых построен Monero. (Подробный разбор, как работает всё это шифровальное колдунство, достоин отдельной большой статьи – так что мы не будем здесь погружаться в технические детали.)
Но с такого рода шифропанковскими монетами есть отдельная проблема: многие крупные криптобиржи не очень-то стремятся их у себя листинговать, опасаясь проблем с регуляторами. Так что ликвидность таких решений может быть несколько ограничена.
4. Сервисы по анонимизации транзакций, построенные на базе смарт-контрактов в уже существующих блокчейнах (например, Aztec/zk.money или, собственно, Tornado Cash)
Такие решения целятся, как правило, в первую очередь на блокчейн Эфириума, где сосредоточено просто максимальное число всяких разных криптовалют (которым не помешает чуточку больше прайваси).
Реализованная в Эфириуме функциональность смарт-контрактов позволяет закодить на них практически что угодно – в том числе и рассмотренную выше фишечку zero-knowledge proof. Причем для ее реализации не надо пилить с нуля новые отдельные монеты – можно просто заанонимизировать транзакции с уже существующими популярными токенами, будь это какой-нибудь USDC/USDT или сам Эфир/ETH (уж их-то с популярных бирж точно не заделистят).
Примерно в этом направлении, кажется, и думали создатели Tornado Cash.
Как работает Tornado Cash
Tornado Cash запилили трое русских ребят – два Романа (по фамилии Сторм и Семенов), а также один Алексей (Перцев). По сути, они взяли криптографические примитивы, заложенные в основу Zсash, и адаптировали их для использования на блокчейне Эфириума – создав мощный инструмент, который теоретически позволяет делать приватными транзакции с самим Эфиром и с любыми ERC20-токенами, которые «обитают» на Эфириуме.
С точки зрения пользователя, работа с Tornado Cash (далее – TC) выглядит следующим образом. Вы отправляете внутрь TC депозит с некой суммой – предположим, 10 ETH. Эта крипта оказывается заблокирована внутри смарт-контракта: разморозить ее может только обладатель секретного ключа, сгенерированного при создании депозита.
Через какое-то время вы можете отправить запрос на вывод ранее сделанного депозита; при этом смарт-контракт Tornado Cash поменяет адрес, с которого осуществится вывод, на другой – никак не связанный с тем адресом, с которого вы перечисляли деньги первоначально. То есть, по сути, TC просто позволяет разорвать публично проверяемую связь между адресом зачисления и адресом снятия крипты.
Можно сказать, что все перечисляемые в Tornado Cash средства в рамках одного номинала оказываются в одной общей «кубышке», а на каждый отдельный сделанный вклад выдается один секретный «жетон на снятие», который можно в нужный момент «обналичить» из этого общака. Анонимизация транзакций здесь появляется из-за того, что невозможно определить – какой конкретно из тысяч сделанных ранее депозитов является источником для какого-то конкретного снятия.
Из этого, кстати, следует любопытный нюанс: Tornado Cash дает тем большую степень анонимизации, чем больше людей им успело попользоваться за всю предыдущую историю его работы. Ведь все входящие и исходящие из протокола потоки крипты являются публичными и прозрачными – приватность здесь обеспечивает только разрыв связи между конкретными депозитами и изъятиями.
Если бы за всю историю функционирования TC на конкретную сумму в 10 ETH было совершено всего два депозита и два изъятия – то это была бы ну такая себе, весьма условная «анонимность». А вот если таких операций были проведены тысячи и десятки тысяч – тогда, действительно, распутать этот клубок для стороннего наблюдателя будет практически невозможно.
Именно поэтому, кстати, Tornado Cash предлагает своим пользователям зарабатывать награду в виде токенов TORN за так называемый «майнинг анонимности». Ведь сам факт использования сервиса для хранения внутри него крипты является, в каком-то смысле, общественно-полезным деянием: этим вы расширяете общее «множество анонимности» TC и усиливаете степень защищенности всех остальных пользователей.
Еще одним важным нюансом функционирования Tornado Cash является то, что сервис полностью и необратимо децентрализован. Им уже не управляет никакой конкретный человек – запрограмированный командой смарт-контракт был отправлен «в свободное плавание» по блокчейну, и будет там работать до тех пор, пока пламя Рагнарёка не сожжет всю сеть Эфириума к чертям вместе с окружающей Вселенной.
Ну то есть, первоначально смарт-контракт Tornado Cash функционировал под чутким ручным руководством команды его разработчиков, которые имели админский доступ и могли там в любой момент что-то подправить. Потом в мае 2020-го была проведена хитрая процедура «trustless setup», в результате которой все могли убедиться, что разработчики втайне не схоронили у себя какие-нибудь бэкдор-ключики, позволяющие экспроприировать все вложенные деньги; ну а с конца 2020-го все дальнейшие решения по судьбе TC вообще принимает DAO (децентрализованная автономная организация), которой могут управлять исключительно держатели токенов TORN.
Теперь, когда мы разобрались с тем, как работает сам механизм – давайте посмотрим, зачем он вообще используется.
Tornado Cash – стиральная машинка?
8 августа 2022 г. Минфин США выпустил пресс-релиз о внесении Tornado Cash в санкционный список. В этом пресс-релизе они сослались на то, что через TC с момента запуска в 2019 году якобы отмыли более $7 млрд, включая почти полмиллиарда долларов от злобных северокорейских хакеров из Lazarus Group (которые сами по себе тоже санкционированы чуть менее, чем полностью).
Мне, кстати, давно интересно — что это за сверхсильные хакеры из Северной Кореи, которые уже много лет держат в страхе всё крипто-сообщество? У них же там в Демократической Республике, кажется, всего компьютера три на всю страну наберется — да и то, на одном из них Ким Чен Ын в World of Warcraft играет. Или они там злоумышленный код на листочках в клеточку пишут, а потом почтой отправляют для реализации в развитые страны?
Как бы то ни было, похоже, что ребята из US Treasury включили в список «преступно отмытых» денег вообще всю крипту, которая когда-либо прошла через Tornado Cash. А вот по независимой оценке Elliptic, только примерно 20% ($1,5 млрд) из этих потоков связаны с какой-либо криминальной активностью, остальные же транзакции привязать к чему-либо нехорошему с высокой степенью уверенности не получается. А вот из другого анализа выходит, что среди прошедших через TC средств конкретно за первое полугодие 2022 года бесспорно криминальными были около 30%.
А что с остальными деньгами — зачем кому-то законопослушному вообще может понадобиться пользоваться крипто-анонимайзером? Ну, давайте, к примеру, представим, что человек живет в стране с не очень свободным политическим режимом — и хочет задонатить свою крипту на что-нибудь неодобряемое правительством без незамедлительного заезда на нары.
В частности, Виталик Бутерин (создатель Эфириума) признался в Твиттере, что он пользовался Tornado Cash в похожем сценарии.
Ну или даже более банальный пример: если вы заказываете какой-нибудь товар с доставкой на дом и оплачиваете его криптой — то, наверное, вы не захотите, чтобы продавец смог связать ваш адрес с данными об остатках денег на ваших криптокошельках? А то эдак курьер сразу приедет на выдачу с бонусным паяльником в кармане…
Интересно, что создатели Tornado Cash, вроде бы, со своей стороны пытались предпринимать все возможные действия, чтобы не нарушать никакие законы. На подкасте Базовый Блок, вышедшем всего пару месяцев назад, они рассказывали о консультациях с юристами — которые их заверили, что с точки зрения закона к проекту подкопаться будет очень сложно. Ведь он носит полностью некоммерческий характер, сам процесс работы TC децентрализован и никем не управляется; ну и плюс — в апреле 2022 года команда Tornado Cash официально заявила, что в код смарт-контракта добавлена фича автоматической блокировки включенных в санкционные списки адресов криптокошельков.
Но это им всё равно не помогло избежать попадания в один из самых страшных списков в мире — в так называемый SDN List.
Что означают эти ваши санкции?
Минфин США включил Tornado Cash в список SDN (Specially Designated Nationals) — самый лютый вариант санкций из всех, что придумал Дядя Сэм. Он предназначен для максимально нехороших личностей — всяких там террористов и злопреступников, представляющих прямую угрозу национальной безопасности США.
Попадание в список SDN автоматически означает, что никакие американские физические или юридические лица не могут иметь вообще никаких дел с подсанкционным лицом. Нарушители могут быть покараны наказаниями разной степени суровости, вплоть до заезда на нары сроком на 30 лет.
При этом, трактовка этого запрета может быть сколь угодно расширительной — в частности, в одном из официальных пояснений указано, что запрещенными являются даже «технические транзакции с подсанкционным лицом, такие как скачивание патча с его сайта». Ну то есть, теперь зайти на сайт Tornado Cash — это потенциально тоже нарушение закона для гражданина США (данные ведь какие-то при этом скачиваются).
Не удивлюсь, если даже сидение на скамейке рядом с лицом из списка SDN наказуемо какими-нибудь специальными законами США.
Еще большую пикантность здесь добавляет то, что на момент внесения в санкционный список внутри Tornado Cash находились депозиты на общую сумму $437 млн — наверняка, среди их держателей есть немало и граждан США. Так вот, вынуть эти деньги легальным способом они теперь смогут, только получив соответствующую лицензию от американского санкционного органа — и что-то мне подсказывает, что очередь желающих сделать это на пороге Минфина США вряд ли выстроится…
Вообще, это далеко не первая атака со стороны американского государства на индустрию обеспечения приватности на блокчейне. Только в 2021 году на зону заехали авторы миксеров Helix и Bitcoin Fog, через каждый из которых прошло более $300 млн. А в мае 2022-го в список SDN был добавлен миксер Blender.io, через который в том числе намывали ворованное бабло всё те же печально известные северокорейские хакеры.
Почему же именно санкции в адрес Tornado Cash вызвали взрывное негодование со стороны практически всего крипто-сообщества? Объяснение здесь простое: впервые карательным санкциям был подвергнут не человек или юрлицо (или их имущество), а смарт-контракт.
Ведь во всех предыдущих упомянутых случаях (Helix, Bitcoin Fog, Blender) речь шла в первую очередь о людях или группах людей, которые непосредственно (можно сказать, «в ручном режиме») и за деньги осуществляли деятельность по анонимизации криптопотоков — и, по-хорошему, могли бы предпринять какие-то усилия, чтобы идентифицировать преступные элементы и не «сотрудничать» с ними.
В случае же с Tornado Cash в санкционный список были внесены смарт-контракты — которые, вообще говоря, свободой воли не обладают в принципе, и ничьим имуществом не являются. Это просто инструмент, которым могут пользоваться любые люди — и законопослушные, и нет. Исходя из этого, ребята из Coin Center вообще считают, что санкции на смарт-контракты являются анти-конституционными, и в настоящий момент собирают юридическую тусовку, чтобы их опротестовать.
Также нужно заметить, что в Штатах программный код подпадает под действие Первой поправки к Конституции, которая защищает свободу слова — это было установлено судебным прецедентом в деле «Бернштейн против США» 1996 года. Так что Мэтью Грин, профессор Института Джона Хопкинса, поспешил скопировать «забаненный» код Tornado Cash к себе на Гитхаб — так сказать, во имя науки. А организация EFF (Electronic Frontier Foundation) уже заявила, что если что — они готовы мистера Грина со всех сторон юридически защищать от преследования.
Чем это всё обернется дальше, и не придется ли пересматривать исторические прецеденты для вывода кода из-под защиты Первой поправки — пока непонятно. Тем временем, Том Эммер (конгрессмен из Миннесоты) уже отправил в адрес Джанет Йеллен (главы Минфина США) подробное письмо на четырех страницах мелким почерком, где он задает ей неудобные вопросы по всей этой ситуации и просит пояснить — а что вообще тут происходит?
#FreeAlexPertsev
Отдельный большой непонятный момент во всей этой истории — это арест 29-летнего Алексея Перцева, который совершили голландские правоохранительные органы 10 августа в Амстердаме.
В 2018 году Алексей Перцев побеждал в хакатонах по поиску уязвимостей в Эфириуме — не думаю, что он осознавал, куда его заведет крипто-дорожка через четыре года…
Насколько я понимаю, Алексей формально не считается со-основателем Tornado Cash (этот титул вроде как носят Роман Семенов и Роман Сторм), однако он писал много open-source кода для проекта. Так что, пока выглядит так, как будто Алекса прессуют просто за написание открытого кода — что, понятно, выглядит крайне сомнительно как с этической, так и с юридической точки зрения.
Неудивительно, что крипто-программерское сообщество таким развитием событий крайне недовольно: в интернетах вирусятся хештеги #FreeAlexPertsev , в Твиттерах появляются треды по теме, а в самом Амстердаме прошел митинг «против убийства всей отрасли написания open-source кода».
Других двух «фронтменов» Tornado Cash (Роман Семенов и Роман Сторм) пока, вроде как, никто не арестовывал – но они, насколько я понимаю, и не в тоталитарных Нидерландах проживают.
А теперь, поскольку Tornado Cash же на Эфириуме работает – надо тогда и Виталика Бутерина в наручники, чего это он придумал такой опасный инструмент. Не говоря уже обо всех, кто майнит Эфир и тем самым поддерживает функционирование всего этого зловредного блокчейна…
Вечером 24 августа голландский судья постановил, что Алексею Перцеву надлежит посидеть за решеткой 90 дней, пока прокуратура готовит против него дело. Обвинение ему по-прежнему не предъявлено.