Сегодня утром я прочитал твит Джастина. Меня мало интересуют их судебные разбирательства, но одна фраза в статье Джастина действительно привлекла мое внимание: речь о том, что $USD1 возможно, могут быть задние двери.
Вообще, если речь про заморозку активов, то это функция есть не только у USD1: у USDT и USDC тоже это предусмотрено. Хотя это и не полностью децентрализовано, но для черного леса, где в криптосообществе все время что-то случается, это тоже можно считать хорошей вещью.
Поэтому мне стало интересно, и я сделал сравнение: собрал вместе смарт-контракты USD1, USDT и USDC и посмотрел, насколько в итоге три эмитента стейблкоинов могут реализовать для пользователей «контроль рисков» — и насколько это в действительности далеко заходит.

1. Права у USDC относительно более ограниченные.
Circle может добавить адрес в чёрный список. После этого, пока адрес находится в чёрном списке, он практически не сможет больше отправлять и получать USDC. Кроме того, Circle может приостановить весь контракт USDC.
На данный момент в контракте USDC нет администраторской функции, которая позволила бы напрямую перевести USDC с любого адреса из чёрного списка, а также нет, как у USDT, destroyBlackFunds — функции, позволяющей напрямую уничтожить весь баланс на адресе из чёрного списка.
Однако USDC сам по себе — апгрейдируемый контракт. Circle контролирует Proxy Admin и может заменить реализацию контракта на новую. Поэтому здесь речь лишь о том, что может сделать текущая версия; это не означает, что у Circle навсегда не было возможности наращивать такие полномочия.
2. Права на USDT становятся ещё более расширенными.
Tether, помимо того что может через addBlackList заморозить любой адрес USDT, ещё имеет очень прямую функцию destroyBlackFunds.
После того как адрес внесён в чёрный список, Tether может вызвать эту функцию: напрямую обнулить баланс USDT на этом адресе, одновременно вычтя соответствующую сумму из общего объёма предложения USDT.
Поэтому даже если 10 000 000 USDT лежат в вашем собственном холодном кошельке, и приватный ключ всегда известен только вам, как только Tether добавит этот адрес в чёрный список, USDT в блокчейне всё ещё можно будет заморозить, а затем — даже уничтожить.
3. Полномочия USD1 немного отличаются.
USD1 так же имеет администраторские полномочия, включая заморозку, разморозку, паузу, выпуск и уничтожение. Но в текущем работающем контракте V2 есть ещё две крайне чувствительные функции: drain; reallocate и drain позволяют после заморозки одного адреса перевести все USD1 с этого адреса на адрес, контролируемый администратором.
reallocate может напрямую перераспределить USD1 с замороженного адреса на другой адрес.
Следовательно, если у кошелька есть 10 000 000 USD1, полномочия администратора не ограничиваются тем, чтобы на время «не давать двигать» эти 10 000 000. После выполнения условий контрактных прав администратор может напрямую перевести эти 10 000 000 USD1 из исходного кошелька или перераспределить их на другие адреса.
Если рассматривать всё вместе, получается примерно следующее:
USDC: заморозка
USDT: заморозка + уничтожение
USD1: заморозка + перевод + перераспределение
Разумеется, все эти три — централизованные стейблкоины. Ни USDT, ни USDC никогда не обещали устойчивость к цензуре, поэтому сам факт того, что у USD1 есть права администратора, не является чем-то особенно уникальным.
Самая примечательная особенность USD1 в том, что он предоставляет очень полный набор дальнейших сценариев распоряжения для уже замороженных пользовательских балансов. Администратору не нужны подписи пользователя и не требуется получать приватный ключ пользователя: на уровне смарт-контракта можно изменить окончательную судьбу этой конкретной партии USD1.
Если сказать максимально неприятно: верховные полномочия USD1 позволяют, не запрашивая согласия пользователей, перевести USD1 с аккаунта на свой собственный кошелёк или кошелёк другого лица. Вы это холодный кошелёк или мультиподписной — ни один из вариантов не позволяет это предотвратить.
Что касается «чёрного хода», о котором говорил Джастин, я думаю, нужно разделить по смыслу.
Если под «чёрным ходом» подразумевается, что разработчики тайно спрятали вредоносный код, о котором никто не знает, то на данный момент нет доказательств того, что USD1 действительно имеет такой «чёрный ход». freeze, drain и reallocate можно увидеть в открытом контракте.
Но если под «чёрным ходом» подразумевается, что деньги при этом якобы хранятся на собственных кошельках в своей цепочке, а приватный ключ есть только у самого держателя, при этом эмитент всё равно сохраняет набор специальных прав администратора, позволяющий заморозить и даже перераспределить эти активы. Тогда механизм в USD1 действительно существует.
Конечно, так сказанное не означает, что USD1 будет без причины передавать активы пользователей, и не означает, что USD1 намеренно что-то скрывает. Ведь код — это часть контракта; это своего рода «распределение средств», которое не объяснено подробно, но при этом реально существует.
Кроме того, при моём расследовании я обнаружил более ключевую проблему:
Официальный GitHub World Liberty показывает исходный код USD1, но это не тот код, который реально выполняется в сети текущим USD1.
Официальный GitHub World Liberty, в настоящее время публикующий исходный код USD1, не содержит drain и reallocate, но фактически работающий USD1 после обновления StablecoinV2 в апреле 2026 года уже может выполнять drain и reallocate для замороженных балансов. То есть если кто-то смотрит только официальный GitHub, он недооценивает текущие централизованные контрольные полномочия USD1.

