Start swap

Кольцевые подписи Monero: руководство по приватности

Side · · 1 min read · 1 views

Как работают кольцевые подписи Monero: понятное руководство по математике настоящей приватности

В апреле 2024 года немецкий суд распорядился закрыть один из крупнейших биткоин-миксеров, через который прошло более 700 миллионов долларов: за неделю были арестованы двое операторов сервиса и заморожены активы. В том же году несколько аналитических компаний публично заявили, что при достаточном объёме графового анализа они в состоянии деанонимизировать значительную долю выходов Wasabi 2.0 CoinJoin. Monero на этом фоне продолжал делать ровно то, что делает с 2017 года: упаковывать каждую транзакцию вместе с толпой криптографических ловушек и поручать сокрытие математике. Этот механизм называется кольцевой подписью, и, несмотря на годы академического и коммерческого давления, он остаётся одним из самых упрямых препятствий для блокчейн-аналитики. В этом руководстве мы разберём, как он на самом деле устроен — не маркетинговыми лозунгами, а как цепочку математических обязательств, которые можно осознанно проследить. Мы пройдём путь от нажатия кнопки в кошельке до подтверждённой транзакции, посмотрим, что именно изменилось, когда в октябре 2020 года CLSAG сменил MLSAG, и обсудим, куда FCMP++ ведёт Monero в 2026 году. Если вы когда-нибудь задумывались, почему MoneroSwapper может сопоставить депозит с выводом, ни разу не узнав историю вашего кошелька, — вот лежащая в основе технология.

Почему Monero вообще понадобился новый тип подписи

Большинство блокчейнов радикально прозрачны. Когда вы отправляете биткоин или эфир, сеть навсегда записывает три публичных факта: какой адрес заплатил, какой адрес получил и сколько было переведено. Любой человек с блок-эксплорером сможет восстановить эту цепочку через годы, а современные эвристики кластеризуют адреса в кошельки, а кошельки — в реальных людей с пугающей точностью. Волна правоприменения 2024 года против централизованных миксеров показала, насколько хрупкой оказывается «псевдонимность», когда граф транзакций превращается в вечный криминалистический артефакт.

Monero проектировали люди, которые серьёзно относились к этой модели угроз с самого первого дня. Чтобы обеспечить настоящую взаимозаменяемость — свойство, при котором одна монета неотличима от любой другой, — протокол должен был спрятать все три параметра, которые прозрачная цепь раскрывает. Эту работу выполняют три разных примитива, и их легко перепутать:

  • Скрытые адреса (stealth addresses) скрывают получателя. Каждый платёж приходит на одноразовый публичный адрес, выведенный из ваших основных ключей, поэтому получатель, видимый в цепочке, никогда не совпадает с тем адресом, который вы кому-то дали.
  • RingCT (Confidential Transactions) скрывает сумму. Обязательства Педерсена и доказательства диапазона (теперь Bulletproofs+) подтверждают, что отправитель не печатает деньги из воздуха, не раскрывая при этом конкретных цифр.
  • Кольцевые подписи скрывают отправителя. Они доказывают, что транзакцию авторизовал один из группы правдоподобных кандидатов, не раскрывая, кто именно.

Эта статья посвящена третьему столпу. Скрытые адреса и RingCT критически важны, но именно кольцевая подпись ломает самое фундаментальное предположение криминалистического анализа: что монету можно проследить от входа к выходу. Как только эта связь криптографически перемешана, весь инструментарий следователей блокчейна, основанный на анализе времени и потоков, скатывается с «почти идеального» до «статистических догадок».

Как кольцевая подпись устроена под капотом

Базовая идея звучит почти подозрительно просто. Когда вы тратите выход Monero, кошелёк подтягивает из цепочки 15 чужих выходов в качестве ловушек, перемешивает их с вашим реальным выходом, формируя «кольцо» из 16 кандидатов, и выдаёт подпись, которая доказывает: один из этой шестнадцатки — настоящий, не уточняя, какой именно. Верификатор может убедиться, что подпись валидна; но указать пальцем на истинный вход — не может.

Выбор ловушек: откуда берутся члены кольца

Ловушки — это не случайные выходы из произвольных мест цепочки. Равномерно случайный выбор был бы катастрофой, потому что реальные траты концентрируются ближе к настоящему моменту, а действительно старые выходы шевелятся редко. Наивный равномерный выбор делал бы самый свежий вход в каждом кольце подозрительным сам по себе. Вместо этого Monero использует тщательно настроенное вероятностное распределение, имитирующее наблюдаемые паттерны расходов: большинство ловушек берётся из недавнего прошлого, а длинный хвост уходит на годы вглубь. Текущие параметры в последний раз пересматривались в форке Fluorine Fermi и намеренно подобраны так, чтобы ловушка статистически не отличалась от настоящей недавней траты.

Это важно, потому что любая слабость в распределении ловушек превращается в утечку приватности. За последние годы исследователи опубликовали несколько работ, ужесточающих модель, и каждая из них перетекла в сетевое обновление. Размер кольца в 16 элементов, обязательный с протокольного апгрейда августа 2022 года, не взят с потолка: это компромисс между размером транзакции, стоимостью верификации и энтропией, необходимой, чтобы обыграть известные эвристики кластеризации.

Криптографический фокус: связываемые кольцевые подписи

Схема подписания, которую использует Monero, — потомок работы 2004 года Liu, Wei и Wong о связываемых спонтанных анонимных групповых подписях. «Спонтанные» означает, что подписант может выдернуть любые публичные ключи из цепочки, чтобы собрать кольцо; никому не нужно явно соглашаться быть ловушкой. «Связываемые» означает, что протокол способен обнаружить, что один и тот же выход тратится дважды, хотя ни один наблюдатель не знает, какой именно выход имеется в виду.

Под капотом математика работает на эллиптической кривой Ed25519 — той же, что используется во многих современных криптосистемах. Подписант владеет приватным ключом траты, соответствующим ровно одному публичному ключу в кольце. Он строит последовательность промежуточных значений, которая, замыкаясь по кольцу, может сойтись в валидную подпись только в том случае, если он действительно владеет одним из приватных ключей. Математически только настоящий тратящий способен вычислить замыкающее значение; для всех остальных позиций кольца цепочка форсируется автоматически. Верификатор проверяет, что цепочка замкнулась, принимает подпись — и больше ничего не узнаёт.

Образы ключей: трюк против двойной траты

Именно за связываемость протокол получает гарантию «никакой инфляции». Для каждого потраченного выхода подписант обязан опубликовать образ ключа (key image) — детерминированное значение, выведенное из его приватного ключа и тратимого выхода. Две разные траты одного и того же выхода дадут одинаковый образ ключа; две разные траты разных выходов — разные образы. Сеть ведёт список всех образов ключей, которые когда-либо появлялись, и отвергает любую транзакцию, образ ключа которой там уже есть.

Гениальность в том, что образ ключа ничего не сообщает о том, какой выход был потрачен. Он связан с приватным ключом через одностороннюю функцию, поэтому посторонний наблюдатель не может откатить его обратно к публичному ключу. Он может только проверить вхождение в отсортированное множество прошлых образов. Защита от двойной траты без раскрытия идентичности — это и есть та главная фишка, которая в принципе сделала Monero возможным.

Если запомнить одну вещь: кольцо доказывает «кто-то из этой группы потратил что-то легально», а образ ключа доказывает «то, что они потратили, ещё не было потрачено». Ни то, ни другое не сообщает верификатору, какой именно выход и какой именно подписант.

От MLSAG к CLSAG: почему апгрейд 2020 года имел значение

Схему подписания Monero меняли уже дважды с запуска цепочки в 2014 году. Изначальные кольцевые подписи никак не скрывали суммы; форк января 2017 года ввёл RingCT и вместе с ним MLSAG (Multilayered Linkable Spontaneous Anonymous Group signatures), который подписывал и авторизацию траты, и обязательство по сумме в одной структуре. MLSAG работал, но был громоздким. Каждый дополнительный член кольца добавлял примерно по 32 байта на слой, и транзакции пухли по мере того, как обязательный размер кольца рос с 5 до 7, а затем до 11.

В октябре 2020 года сеть перешла на CLSAG (Concise Linkable Spontaneous Anonymous Group), разработанный Goodell, Noether и RAIR Lab. CLSAG математически эквивалентен по гарантиям безопасности, но даёт подписи примерно на 25% меньше и верифицирует примерно на 10% быстрее. Экономия накладывается: меньшие транзакции означают меньшие комиссии, более быстрое распространение блоков и больше места в каждом блоке под легитимное использование.

Схема Период действия Размер кольца Размер подписи (кольцо 16) Ключевая особенность
Исходные кольца CryptoNote 2014 – янв. 2017 Переменный, часто 3 ~1,5 КБ Без сокрытия сумм
MLSAG (с RingCT) янв. 2017 – окт. 2020 5 → 7 → 11 ~2,5 КБ Первые конфиденциальные суммы
CLSAG (с Bulletproofs+) окт. 2020 – по настоящее время 16 (фиксировано) ~1,9 КБ Меньше, быстрее, та же безопасность
FCMP++ (Full-Chain Membership Proofs) Запланированный форк 2026 года Фактически все выходы Константа (~3 КБ всего) Множество анонимности = вся цепь

Цифры из этой таблицы объясняют, почему CLSAG не был косметическим изменением. Сложите его с апгрейдом Bulletproofs+, прошедшим в августе 2022 года, и средняя транзакция Monero теперь весит около 2,0 КБ — лишь в несколько раз больше прозрачной биткоин-транзакции, при том что одновременно прячутся отправитель, получатель и сумма.

Пошагово: что происходит, когда вы нажимаете «отправить»

Полезно проследить настоящую транзакцию по порядку. Допустим, вы хотите заплатить 0,7 XMR продавцу, который опубликовал публичный адрес с поддержкой скрытых адресов. Вот последовательность, которую выполняет ваш кошелёк, с указанием того, какой примитив приватности отвечает за каждый шаг:

  1. Сконструировать одноразовый адрес получателя. Кошелёк генерирует случайный ключ транзакции, комбинирует его с публичным ключом просмотра и ключом траты продавца и выводит свежий скрытый адрес, который только продавец сможет распознать как свой. Никто другой, наблюдающий за цепочкой, не свяжет этот одноразовый адрес с опубликованным адресом продавца.
  2. Выбрать входы для финансирования платежа. Кошелёк подбирает в вашем балансе выходы, которые в сумме покрывают как минимум 0,7 XMR плюс комиссию сети. Для каждого из них он запрашивает у демона набор кандидатов-ловушек из цепочки по упомянутому ранее распределению с весом по возрасту.
  3. Собрать кольца. Для каждого вашего входа кошелёк перемешивает реальный выход с 15 ловушками, формируя кольцо из 16 элементов. Позиция вашего настоящего выхода внутри кольца рандомизирована, чтобы сам индекс ничего не выдавал.
  4. Вычислить обязательства и доказательства диапазона. Суммы кодируются как обязательства Педерсена — гомоморфные значения, доказывающие, что сумма входов и выходов сходится, не раскрывая отдельные числа. Доказательство диапазона Bulletproofs+ подтверждает, что каждый выход неотрицательный и меньше максимума, обезвреживая трюки с переполнением.
  5. Сгенерировать подпись CLSAG. Используя приватный ключ траты и ключ просмотра, кошелёк строит связываемую кольцевую подпись плюс по одному образу ключа на каждый вход. Это самый тяжёлый локальный криптографический шаг, но и он укладывается в миллисекунды на современном смартфоне.
  6. Разослать через Dandelion++. Подписанная транзакция попадает в сеть не через прямой gossip, а через рандомизированную фазу «стебля», маршрутизирующую её через нескольких пиров, прежде чем она станет общедоступной. Это ломает попытки сопоставить транзакции с IP-адресом отправителя.
  7. Верификация каждым узлом. Каждый узел Monero независимо проверяет: подпись валидна, образ ключа ранее не встречался, обязательства Педерсена сходятся, доказательства диапазона проходят. Если что-то не сходится — транзакция отбрасывается. Если всё в порядке — она оседает в мемпуле, а вскоре и в блоке.

Весь этот процесс — от нажатия кнопки до первого подтверждения — обычно занимает в живой сети около двух минут. Каждое свойство приватности обеспечивается на уровне протокола; нет ни режима «выключения», ни прозрачного режима, ни способа случайно сделать отслеживаемую транзакцию. Это одно из проектных решений, которое наиболее чётко отделяет Monero от блокчейнов с опциональной приватностью, и именно это свойство делает работоспособными платформы вроде MoneroSwapper в роли свопа без аккаунтов: каждая монета, поступающая в кошелёк, статистически неотличима от любой другой, поэтому нет риска получить «грязный» выход, который потом откажется принять биржа.

Где кольцевые подписи всё ещё подтекают — и что чинит FCMP++

Делать вид, что текущая схема неуязвима, было бы нечестно. За годы исследователи опубликовали несколько атак, грызущих края множества анонимности. Самая известная из ранних — «EAE-атака», эксплуатирующая повторно используемые выходы в нескольких транзакциях ещё до того, как протокол ввёл минимальные размеры колец. Другой класс анализа использует временные окна: если 15 из 16 членов кольца очевидно слишком стары, чтобы правдоподобно быть тратящим (потому что тот же кошелёк только что получил реальный выход несколько минут назад), эффективное множество анонимности сжимается.

Исследовательское сообщество Monero отвечало на каждую такую работу подстройками параметров: большими кольцами, уточнёнными распределениями ловушек, окнами доступности выходов и протокольными изменениями, форсирующими более здоровое перемешивание. Работа Krypton с соавторами и последующие обновления Möser–Soska с 2023 по 2025 год в сумме сдвинули реальную эффективность колец с «хорошо» до «очень тяжело атаковать в промышленных масштабах». Коммерческие компании блокчейн-аналитики неоднократно понижали Monero с «поддаётся анализу при усилиях» до «коммерчески неподъёмен» в своих внутренних матрицах возможностей.

Следующий шаг радикальнее. FCMP++ — Full-Chain Membership Proofs с расширениями — заменяет кольцо из 16 членов на доказательство с нулевым разглашением того, что потраченный выход принадлежит множеству всех непотраченных выходов во всей истории Monero. Вместо того чтобы прятаться среди 15 ловушек, каждый отправитель будет прятаться среди десятков миллионов выходов одновременно. Доказательство остаётся постоянного размера, как бы ни росло это множество. Это такой апгрейд, который не просто сужает поверхность атаки — он убирает её бо́льшую часть. Запланированный на форк 2026 года, он представляет собой самое значительное улучшение приватности Monero со времён самого RingCT.

Практический пример: купить Monero, не отдавая монеты кастодиану

Представьте фрилансера в России или Казахстане, которому нужно конвертировать заработок в USDT во что-то, что местные регуляторы не смогут заморозить по щелчку, и что при этом обеспечит реальную приватность в цепочке. Поход на централизованную биржу означает KYC, лимиты на вывод, статус «дружественной» юрисдикции и аккаунт, который могут отрубить за ночь — сценарий, повторявшийся в 2024–2025 годах, когда позиция ЦБ РФ по криптовалютам ужесточалась, а ФНС всё активнее подтягивала отчётность по операциям. Параллельно несколько стран ЕАЭС обкатывали собственные правила раскрытия пользователей.

Используя некастодиальный слой свопа вроде MoneroSwapper, тот же фрилансер может отправить USDT (на Tron, BNB Chain или Ethereum) и получить XMR напрямую на адрес самостоятельно хранимого кошелька. Ничто не остаётся на ночь у посредника; ничто не требует регистрации; входящий стейблкоин и исходящий Monero не имеют общей on-chain связи, кроме самого свопового движка. С этого момента каждый последующий платёж фрилансера защищён описанной выше механикой кольцевой подписи. Свойства приватности целевой цепочки — а не интерфейса свопа — это то, что переносится дальше; именно поэтому понимание кольцевых подписей важно всем, кто использует Monero для реальных платежей, а не для спекуляции.

FAQ

Всегда ли большее кольцо означает лучшую приватность?

До некоторого предела — да, но с убывающей отдачей и растущей ценой. Переход с 11 до 16 членов кольца в 2022 году заметно ослабил определённые кластерные атаки, сохранив размер транзакции в разумных рамках. Переход к 32 или 64 ухудшил бы соотношение «комиссия — польза за байт» и замедлил бы верификацию на лёгких узлах сильнее, чем поднял бы эффективную анонимность против современных эвристик. Подход FCMP++ полностью обходит этот компромисс, переключаясь на доказательство постоянного размера по всему множеству выходов, и именно поэтому исследовательское сообщество Monero отдало приоритет этому пути вместо простого расширения кольца.

Могут ли компании блокчейн-аналитики отслеживать транзакции Monero?

Публичные заявления аналитических вендоров обычно сформулированы крайне осторожно. Они иногда могут сузить набор кандидатов на вход в кольце при специфических исторических условиях — старые транзакции до того, как размеры колец стали обязательными, транзакции с плохим выбором ловушек в ранних кошельках или случаи, когда вне-цепочечные метаданные (логи биржи, IP-адреса) выдают информацию, которой нет в самой цепочке. Указать на конкретный вход в современном кольце CLSAG с криптографической определённостью они в общем случае не могут. Любой, кто продаёт «трейсер Monero», торгует вероятностными догадками, а не детерминированным разрешением.

Чем кольцевая подпись отличается от CoinJoin?

CoinJoin — это скоординированный, опциональный микс, в котором несколько пользователей объединяют реальные входы и выходы в одну транзакцию, чтобы запутать, кто кому платил. Он требует участия, координации и часто — координирующего сервиса, который становится единой точкой регуляторного давления. Кольцевая подпись односторонняя: подписант выдёргивает ловушки из публичной цепочки без ведома и согласия их владельцев. Нет координатора, нет шага «подключиться», нет требования к участию. Каждая транзакция Monero защищена приватностью по умолчанию — структурное преимущество, которому не может соответствовать ни один протокол смешивания в стиле Bitcoin.

Зависит ли приватность Monero от того, что в сети достаточно пользователей?

Меньше, чем принято думать. Поскольку ловушки берутся из всего исторического множества выходов, даже период низкой активности всё равно даёт отправителям доступ к миллионам правдоподобных ловушек. Когда выйдет FCMP++, зависимость приватности от текущей активности сети упадёт почти до нуля — множество анонимности станет множеством всех существующих выходов. Тем не менее больше реальных транзакций всегда укрепляет распределение ловушек против статистических атак, поэтому здоровое непрерывное использование помогает на полях.

Устойчивы ли кольцевые подписи к квантовым вычислениям?

В нынешнем виде на Ed25519 — нет. Достаточно большой квантовый компьютер, запустивший алгоритм Шора, в принципе мог бы восстановить приватные ключи из публичных, ломая как авторизацию траты, так и привязку образа ключа. Это не проблема, специфическая для Monero; ей подвержена почти любая схема на эллиптических кривых в продакшене. Исследовательское сообщество Monero следит за пост-квантовыми кандидатами в подписи, но практический горизонт появления квантовых машин, способных угрожать Ed25519, обычно оценивается как десятилетие или дольше, что оставляет место для поэтапных апгрейдов. Подготовительная работа по FCMP++ заодно приближает кодовую базу к схемам, в которых замена базового примитива становится осуществимой.

Можно ли увидеть свою кольцевую подпись в блок-эксплорере?

Само кольцо — то есть 16 публичных выходов, которые числятся кандидатами, — можно увидеть для любой транзакции Monero в любом эксплорере. Чего вы не увидите — это какой из них был настоящим тратящим, даже для собственной транзакции, если только вы сами её не собрали и не сохранили тот кошелёк, который её делал. В цепочке этой информации просто нет, а значит, даже судебные запросы к операторам узлов не вытянут её: эти данные нигде не были записаны.

Заключение

Кольцевые подписи — это не магия; это аккуратное применение криптографических идей десятилетней давности к проблеме, которую прозрачные блокчейны создали и отказались решать. Каждый раз, когда вы тратите XMR, ваш кошелёк тихо проделывает работу: вытягивает 15 ловушек из истории, вплетает их в подпись CLSAG и производит образ ключа, который доказывает отсутствие двойной траты, не называя вас тратящим. Этот механизм и делает Monero пригодным для использования как настоящие деньги, а не как отслеживаемый цифровой актив, и именно на нём базируется всё остальное — RingCT, скрытые адреса, готовящийся апгрейд FCMP++. Если вы готовы перевести теорию в практику, вы можете обменять активы на XMR без аккаунта в MoneroSwapper и начать делать платежи, защищённые каждым уровнем приватности, который только что разобрало это руководство.

🌍 Читать на

Поделиться статьей

Похожие статьи

Анонимный Обмен Monero

Без KYC • Без регистрации • Мгновенный обмен

Обменять сейчас