Как алгоритмы AML запачкали почти все адреса Биткоина, и как с этим жить

Как алгоритмы AML запачкали почти все адреса Биткоина, и как с этим жить

Переведено с английского

Это продолжение разговора, начатого в статье "AML-терроризм: тёмная сторона мониторинга транзакций". Там я разбирал, как коммерческие AML-системы работают, почему их методологии непрозрачны и как их "террор" бьёт по обычным пользователям. Здесь я не буду повторяться, а разовью одну конкретную мысль, которая в последнее время превратилась для нас в повседневную операционную проблему.

Часть 1. Теория шести рукопожатий в Биткоине

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

Алгоритмы таких компаний, как Chainalysis, Crystal или Elliptic, работают по принципу инфекции. Если ваш адрес получил средства с адреса, замеченного в чём-то противозаконном, ваш адрес тоже становится "токсичным" - высокорисковым. Если вы затем отправите биткоины кому-то ещё, его адрес тоже получит долю риска. И так далее. Метка "хай-риск" расползается по цепочкам промежуточных адресов как вирус.

Dirty bitcoin epidemic

Теоретически этот механизм мог бы быть полезен: он не даёт преступнику просто прогнать средства через пару прокладок, чтобы смыть с них метку. На практике же, если применять его без контекста, граф начинает подтягивать к "тёмной стороне" всё больше адресов, владельцы которых не сделали ровным счётом ничего плохого.

Самые безобидные источники заразы

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

Казино и гемблинг. Онлайн-казино - один из самых массовых легальных сценариев использования криптовалют. Тем не менее, для ряда AML-инструментов получение криптовалюты от казино автоматически означает категорию "опасно" (Dangerous). Человек, выигравший в покер, по логике алгоритма становится носителем риска, а затем и передаёт его всем, кому отправит монеты: не только полученные в качестве выигрыша, но и любые другие.

Централизованные биржи без обязательного KYC. Миллионы людей по всему миру используют такие биржи. Но для AML-систем они - источник с повышенным риском, и вывод оттуда средств может отметить ваш адрес как "подозрительный", хотя наверняка никто из сотрудников AML-системы не сможет пояснить, в чём конкретно вас подозревают.

Пылевые атаки. Злоумышленники иногда рассылают микроскопические суммы криптовалют - "пыль" - с санкционных или иных помеченных адресов на множество кошельков (часто - просто случайных). Если такая пыль осела на вашем адресе, а вы её не заметили и потратили, алгоритм может расценить это как взаимодействие с высокорисковым источником. Вам прислали сомнительную криптовалюту без вашего ведома, но системы разметки не принимают это во внимание.

Innocent sources of contamination

Мы в криптовалютном обменнике rabbit.io видим, как буквально на наших глазах проблемы, связанные с этим, начинают всерьёз мешать реальной работе. Раньше адрес клиента с пометкой "хай-риск" был редким исключением. Сейчас мы сталкиваемся с этим 2-3 раза в день. Причём только в Биткоине. В других блокчейнах, которые мы поддерживаем, таких аномальных срабатываний нет.

Почему проблема возникла именно в Биткоине

Объяснение простое: за Биткоином следят дольше и пристальнее всего. Это самый старый публичный блокчейн, и именно вокруг него исторически выросла вся инфраструктура блокчейн-аналитики. База размеченных адресов здесь самая объёмная. UTXO-архитектура Биткоина идеально подходит для применения эвристик кластеризации, в отличие от аккаунтных блокчейнов, где связи менее очевидны. В Биткоине одна-единственная транзакция с несколькими входами может автоматически объединить в один кластер десятки ранее независимых адресов.

Есть такие пользователи Биткоина, которые годами относятся к адресу как к банковскому счёту: один адрес навсегда. Эта привычка делает адрес устойчивым публичным идентификатором, на который со временем налипает всё: история поступлений, связи с разными сервисами, чужие метки. В момент, когда AML-чекер начинает интерпретировать эти связи по максимуму, история превращается в досье, а на досье ставится печать: "хай-риск".

Нельзя объяснить рост числа адресов, которые не могут пройти AML-проверку, тем, что среди биткоинеров вдруг стало больше преступников. Гораздо правдоподобнее другое: достигнута критическая масса. Сеть заражения стала настолько плотной, что найти абсолютно "чистый", ни с чем не связанный адрес, может быть не так-то просто. А в долгосрочной перспективе, если ничего не изменится в методологии AML-систем, таких адресов не останется вовсе.

Дилемма, которую мы решаем каждый день

Каждый раз, когда клиент обменивает у нас что-то на биткоины, а AML-чекер показывает красный флаг в отношении биткоин-адреса клиента, перед нами встаёт дилемма.

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

Единственный выход - попросить клиента дать другой адрес. Но здесь начинается то, что иначе как абсурдом не назовёшь. Второй адрес клиента тоже может оказаться помеченным. И это не гипотетический сценарий. Это реальные кейсы из нашей ежедневной практики.

Биткоины есть, адрес для получения есть, а отправить мы не можем.

Часть 2. Разорвать порочный круг: адрес как одноразовый инвойс

Неужели Биткоин зашёл в тупик? Нет. Решение этой проблемы заложено в самом протоколе с первых дней его существования. Просто некоторые пользователи о нём не думают.

Никогда не используйте один и тот же биткоин-адрес дважды.

Это правило было сформулировано самим Сатоши Накамото ещё в 2009 году. В Bitcoin Wiki, формируемой активным сообществом с первых лет существования Биткоина, прямо написано, что термин "bitcoin address" оказался неудачным: он создаёт иллюзию, что его, как адрес электронной почты, можно использовать сколь угодно много раз. Но правильнее было бы воспринимать каждый адрес как одноразовый платёжный инвойс: использовал и забыл.

Почему это работает против вреда AML-систем

Вспомним, как работает AML-кластеризация. Один из её главных инструментов - эвристика общего входа (common-input ownership): если транзакция использует несколько адресов как входы, система считает, что все они принадлежат одному владельцу. Второй инструмент - эвристика сдачи: система вычисляет, какой из выходов является сдачей, и привязывает новый адрес к тому же кластеру, что и адрес отправителя. Оба инструмента работают на связях. Свежий адрес - это чистый лист без истории и без связей. Если мы в rabbit.io проверим такой адрес перед отправкой средств, у него будет нулевой риск. Наша система автоматически отправит биткоины на этот адрес, и обмен пройдёт максимально гладко и быстро.

Как это реализовать: три типа кошельков

Не все кошельки одинаково полезны в этом вопросе.

Тип первый: кошельки, которые этого не умеют

К этой категории относятся бумажные кошельки: это когда вы создали один адрес, записали на бумагу его приватный ключ, получаете все биткоины на этот адрес и никогда их не тратите. С точки зрения угроз AML, это худший выбор. Ваш адрес собирает на себя всю историю входящих платежей, со всеми вопросиками, которые к ним могут возникнуть (и которые никто из AML-чекеров не задаёт, а ставит вместо этого метку "хай-риск").

Аналогичная ситуация у многих кастодиальных сервисов и бирж, которые выдают пользователю один статический депозитный адрес и не дают его сменить. Если на такой адрес кто-то отправит что-то сомнительное, он во многих ситуациях становится непригодным для использования. Стоит отметить: некоторые биржи периодически ротируют депозитные адреса пользователей. Coinbase генерирует новый адрес после каждой транзакции, Kraken позволяет создавать новые адреса вручную. А на таких биржах, как Bitstamp и BitMEX, депозитный адрес устанавливается без возможности самостоятельного изменения.

Тип второй: кошельки, где новый адрес требует действия пользователя

Некастодиальные программные кошельки обычно умеют генерировать новые адреса. Но некоторые из них делают это только по запросу пользователя. Кошелёк показывает текущий адрес, а рядом с ним - кнопку "Получить новый". Это требует дисциплины. В эту категорию попадает Bitcoin Core - эталонный клиент для Биткоина. Технически он способен на всё, в том числе на полный контроль над адресами. Но интерфейс не подталкивает пользователя к смене адреса: нужно осознанно нажимать на специальную кнопку каждый раз.

Тип третий: кошельки, которые делают это автоматически

Для многих такие кошельки - это стандарт. В них каждый раз, когда вы открываете вкладку "Получить", кошелёк показывает новый, свежесгенерированный адрес. Предыдущий остаётся в истории, но больше не предлагается для входящих платежей. Пользователю не нужно ни о чём думать: защита даётся автоматически. Все адреса в таких кошельках генерируются из одной seed-фразы. То есть "много адресов" - это не "много ключей". Технически у каждого адреса свой ключ, но одна сид-фраза и один бэкап позволит восстановить их все. К такому типу относятся десктопные кошельки Sparrow Wallet, Wasabi Wallet, Electrum, мобильный кошелёк Blue Wallet. Я перечислил лишь те кошельки, интерфейс которых специально устроен так, чтобы усложнить повторное использование адреса: все использованные адреса выводятся из зоны видимости. Но вообще-то, кошельков, автоматически генерирующих новые адреса после каждого поступления, гораздо больше. Я долгое время наивно полагал, что такими кошельками пользуются все. Но практика обменов, когда пользователи предоставляют нам один за другим адреса с историей, говорит об обратном. Поэтому я и решил остановиться на таких кошельках подробнее.

Ремарка: что делать, если ваши монеты уже "запачканы"

Предположим, поезд уже ушёл: на вашем адресе лежат биткоины, а он помечен как высокорисковый. Ни одна легальная площадка не хочет принимать с него средства. Что делать? Биткоин предлагает решение и для этого сценария: сеть Молния (Lightning Network). Переводы в этой сети не записываются в публичный блокчейн Биткоина. AML-системы, которые анализируют граф транзакций, их не видят. Из "грязного" ончейн-пространства ваши средства переходят в слой, где они снова становятся электронной наличностью, без публичного досье и без AML-флагов. Чтобы воспользоваться этим решением, нужно открыть платёжный канал к узлу, владелец которого не боится взаимодействовать с вашим ончейн-адресом. Это может быть ваш знакомый или любой энтузиаст сети Молния, который не намерен в будущем возвращать биткоины из этой сети на первый слой и поэтому не боится проблем, которые могут возникнуть при ончейн-транзакциях. Именно благодаря таким энтузиастам для биткоина до сих пор остаётся справедливым правило полной взаимозаменяемости, и 1 BTC всегда равен 1 BTC, что бы ни пытались придумать коммерческие AML-системы.

Escape from on-chain environment

Узлы, к которым вы можете открыть платёжный канал Молнии, можно найти на специальных сайтах: 1ML, Magma, Lightning Network Plus. В некоторых случаях нужно сначала договориться с владельцем узла об открытии платёжного канала, а в других - можно открывать канал без предварительной договорённости. А когда вы переведёте биткоины в сеть Молния, вы смело можете обменять их на любой другой криптоактив на сайте rabbit.io. Никаких дополнительных неудобств со стороны нашего сервиса вы не заметите.

Итого

Мы дошли до абсурда: AML-системы, раздувая базы "рисковых" адресов, начинают душить саму возможность нормального использования Биткоина. И вряд ли это злой умысел. Своего рода результат недальновидности, неизбежное следствие архитектуры систем, которые бездумно распространяют метку "хай-риск", и многих лет непрерывного мониторинга самого старого блокчейна. Борьбе с AML-системами напрямую невозможно, да и незачем: они тоже стараются приносить пользу Но адаптироваться к их недостаткам - можно. Инструменты для этого заложены в самом Биткоине. Сделайте привычкой простое правило: один адрес - одна приходная транзакция. Выберите кошелёк, который делает это автоматически. И помните, что сеть Молния всегда может прийти на помощь, когда ончейн-пространство становится слишком тесным. Именно так вы поможете сохранить Биткоин свободным и ликвидным, несмотря на все попытки загнать его в рамки из красных флагов.