system online · no logs · no tracking · no kyc tor: v3 ready
root@neverkyc:/blog/stealth-adres-vs-kolcevaya-podpis-monero$ cat post.md

Stealth-адрес против кольцевой подписи Monero

// by ~anon · 2026-05-29 · mock,auto-generated,ru

Stealth-адрес против кольцевой подписи Monero

В апреле 2026 года в сети Monero прошло около 1,2 миллиона транзакций — и ни одна из них публично не раскрыла отправителя, получателя или точную сумму на открытом реестре. Это свойство не сводится к одному криптографическому фокусу. Оно держится как минимум на трёх перекрывающихся слоях, два из которых стабильно путают новичков и даже опытных биткоинеров: stealth-адрес и кольцевая подпись. Они звучат похоже, мелькают в одном абзаце любого объяснения Monero и оба походя описываются как «то самое, что делает Monero анонимным». На деле они защищают противоположные стороны одной и той же транзакции, и смешивание этих понятий мешает чётко рассуждать о том, что видит и чего не видит наблюдатель блокчейна.

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

Почему путаница между ними ломает вашу картину мира

Те, кто рассуждает о приватности Monero как о едином «облаке анонимности», стабильно совершают три предсказуемые ошибки. Они считают, что поделиться view-ключом безопасно, потому что «кольцевые подписи всё равно всё защитят»; полагают, что увеличение размера кольца усиливает и приватность получателя; и думают, что получатель платежа скрывается той же конструкцией, которая прячет выбор входа отправителем. Ни одно из этих утверждений не верно, и каждое из них ведёт к реальным операционным просчётам.

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

  • Приватность получателя: обеспечивается stealth-адресами (одноразовыми ключами выходов, выведенными из опубликованного адреса получателя).
  • Приватность отправителя: обеспечивается кольцевыми подписями (конкретно — CLSAG с хардфорка октября 2020 года).
  • Приватность сумм: обеспечивается RingCT с диапазонными доказательствами Bulletproofs+ — это третий, отдельный слой.

Когда кто-то спрашивает «можно ли отследить Monero?», честный ответ зависит от того, какой именно из этих трёх слоёв подразумевает собеседник. Утечка view-ключа компрометирует только первый. Слабый выбор кольца — только второй. А гипотетический будущий изъян в Bulletproofs+ — только третий. Они отказывают независимо друг от друга, и именно поэтому понимать их нужно тоже независимо.

Что такое stealth-адрес на самом деле

Stealth-адрес — это одноразовый публичный ключ, который генерирует сам отправитель в момент платежа в ваш адрес. Каждый раз, когда кто-то платит на один и тот же опубликованный адрес Monero, в блокчейне появляется новый, математически не связанный с предыдущими ключ назначения. Никакие два платежа никогда не разделяют один и тот же выход, даже если они идут в один и тот же кошелёк, в одну и ту же минуту и от одного и того же отправителя.

Конструкция опирается на эллиптический Диффи–Хеллман. Ваш опубликованный адрес кодирует две публичные точки: одна привязана к ключу траты, вторая — к ключу просмотра. Когда Алиса платит вам, её кошелёк генерирует случайный эфемерный скаляр, умножает его на точку вашего view-ключа, чтобы получить общий секрет, хеширует этот секрет и прибавляет хеш к точке вашего spend-ключа. Результат — это одноразовый ключ назначения, записанный в выход транзакции. Алиса публикует только свою эфемерную публичную точку — секрет, использованный для вывода адреса назначения, невозможно восстановить ни из чего, что лежит в блокчейне.

Как ваш кошелёк находит платежи, адресованные именно вам

Кошелёк использует ваш view-ключ, чтобы выполнить ту же операцию Диффи–Хеллмана в обратную сторону для каждого выхода, который он видит. Когда математика сходится, кошелёк понимает: этот выход принадлежит вам. Когда нет — выход молча игнорируется. Поэтому работа кошелька Monero требует сканирования цепи, а не поиска адреса в индексе: в блокчейне попросту нет адреса, который можно было бы искать.

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

Субадреса развивают ту же идею дальше

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

Самая частая ошибка приватности, которую мы видим у новичков — использовать один и тот же основной адрес повсюду. Протокол даёт вам неограниченное количество субадресов бесплатно — пользуйтесь ими.

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

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

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

CLSAG и нынешний уровень техники

Конкретная конструкция Monero называется CLSAG (Concise Linkable Spontaneous Anonymous Group signatures); она заменила MLSAG в хардфорке октября 2020 года. CLSAG дала примерно на 25% меньший размер транзакций и примерно на 20% более быструю верификацию при той же стойкости. Размер кольца — это фиксированное значение на уровне всего протокола с 2019 года: сначала 11, а с хардфорка августа 2022 года — 16. Единообразие размера кольца имеет значение, потому что вариативность сама по себе утекала бы как информация о кошельковом ПО, типе транзакции или поведении пользователя.

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

Раз никто не видит, какой именно вход настоящий, протоколу нужен отдельный механизм против двойной траты. Этот механизм — образ ключа (key image): детерминированное значение, выведенное из spend-ключа и одноразового ключа выхода. Каждый выход порождает ровно один возможный образ ключа, и сеть отбрасывает любую транзакцию, чей образ ключа уже встречался. Сам образ ничего не говорит о личности выхода, но гарантирует, что выход тратится лишь один раз.

Бок о бок: что скрывает каждая конструкция

Таблица ниже делает разделение труда явным. Обратите внимание: ни один отдельный примитив не скрывает все три величины — отправителя, получателя и сумму. Monero нужен полный стек, чтобы дать тот уровень приватности, который большинство пользователей держит в голове.

Свойство Stealth-адрес Кольцевая подпись (CLSAG)
Что скрывает Связь между опубликованным адресом и адресами выходов в блокчейне Связь между выходом в блокчейне и транзакцией, которая его тратит
Сторона транзакции Сторона получателя (выход) Сторона отправителя (вход)
Базовый примитив Эллиптический Диффи–Хеллман + хеширование Linkable Spontaneous Anonymous Group подпись
Настраиваемый параметр Нет — деривация однократна на каждый выход Размер кольца (сейчас зафиксирован на 16)
Что его ломает Передача view-ключа недружественной стороне Poisoned-output атаки, EAE-эвристики, очень малые анонимные множества
Что НЕ скрывает Сумму транзакции, вход отправителя Адресата, сумму, тайминг
Стоимость на транзакцию Крошечная — одно дополнительное скалярное умножение Большая — растёт с размером кольца, сейчас доминирует в размере tx

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

Как они соединяются в одной настоящей транзакции Monero

Чтобы понять, почему ни одна из них в одиночку не достаточна, разберём один платёж. Алиса хочет отправить 2 XMR Бобу, чей адрес Monero она взяла с публичной страницы пожертвований.

  1. Кошелёк Алисы вычисляет stealth-выход. Он генерирует эфемерный скаляр, выполняет Диффи–Хеллмана с точкой view-ключа Боба и выводит одноразовый публичный ключ назначения. Этот ключ попадает в список выходов транзакции. Никто, наблюдающий за цепью, не может связать этот выход с опубликованным адресом Боба.
  2. Кошелёк Алисы выбирает кольцо. Чтобы профинансировать платёж, Алиса должна потратить один из своих прошлых выходов. Кошелёк берёт этот настоящий выход и пятнадцать подсадных из недавнего и исторического множества выходов цепи. Алгоритм выбора следует опубликованному гамма-распределению, которое имитирует поведение реальных пользователей при тратах.
  3. Кошелёк Алисы подписывает CLSAG. Подпись доказывает, что один из шестнадцати членов кольца дал согласие на трату. Проверяющий не узнаёт ничего о том, какой именно. Прикреплённый к подписи образ ключа гарантирует, что настоящий выход не получится потратить ещё раз.
  4. Кошелёк Алисы скрывает суммы через RingCT. Входы и выходы кодируются как обязательства Педерсена. Диапазонные доказательства Bulletproofs+ убеждают сеть, что суммарный выход не превышает суммарный вход, не раскрывая сами числа.
  5. Кошелёк Боба сканирует новый блок. Используя view-ключ, Боб выполняет Диффи–Хеллмана против каждого выхода. Когда математика сходится на платеже Алисы, выход «откликается». Боб теперь знает, что ему пришло 2 XMR, но сама цепь показывает лишь непрозрачную кляксу из ключей и обязательств.

Уберите stealth-адрес — и кошелёк Боба всё равно найдёт платёж, но точно так же его найдёт любая компания цепной аналитики: каждый платёж в адрес Боба пришёл бы на один и тот же адрес назначения, и вся его входящая история стала бы публичной. Уберите кольцевую подпись — трата Алисы укажет ровно на один прошлый выход, обнажив граф транзакций её кошелька. Уберите RingCT — суммы протекут, и оставшиеся два слоя станет гораздо проще деанонимизировать через корреляцию величин. Каждый слой защищает от своего противника.

Практический пример: обмен через MoneroSwapper

Возьмём пользователя, который депозитит 0,05 BTC в MoneroSwapper и получает XMR на свежесгенерированный субадрес в своём кошельке Feather. Этот обмен фиксируется в двух блокчейнах, и любопытно посмотреть, что именно видит каждый наблюдатель.

На стороне Bitcoin адрес депозита открыт. Инструменты цепной аналитики — Chainalysis, Elliptic, TRM Labs — пометят его как принадлежащий некастодиальному обменнику, если у них настроены эвристики под наш шаблон депозитов. Сумма, время и исходные UTXO — всё это публично. Для Bitcoin это норма, и именно поэтому пользователи в первую очередь ищут Monero. Движок обмена отправляет BTC в пул ликвидности, и след в цепи BTC по сути обрывается на этом пуле.

На стороне Monero картина принципиально иная. Наша платёжная транзакция создаёт stealth-выход, привязанный к субадресу пользователя. Для наблюдателя это просто свежий публичный ключ без видимой связи ни с MoneroSwapper, ни с пользователем. Транзакция тратит кольцо из шестнадцати, включая один наш выход и пятнадцать подсадных, так что даже наша собственная трата не различима из состояния цепи сама по себе. RingCT прячет конкретную сумму выплаты. Итог: даже наблюдатель, который точно знает, что обмен состоялся, не может доказать, какая именно транзакция Monero в нужном блоке была выплатой и на какой именно субадрес она пришла.

Эта асимметрия — прозрачный BTC на входе, непрозрачный XMR на выходе — и есть весь смысл использовать Monero как слой приватности, а не как сквозную транзакционную валюту для каждого платежа. Stealth-адрес гарантирует, что выход обмена нельзя связать с адресом пользователя; кольцевая подпись гарантирует, что нашу выплату нельзя протянуть обратно через историю нашего горячего кошелька.

FAQ

Можно ли деанонимизировать stealth-адреса?

Только тому, у кого есть view-ключ от адреса получателя. View-ключ показывает, какие выходы относятся к какому кошельку, но не может их потратить. Если вы делитесь view-ключом с третьей стороной — например, чтобы подтвердить платёжеспособность аудитору, — эта сторона будет видеть все ваши входящие платежи навсегда, включая прошлые. Относитесь к view-ключу как к чувствительным данным, а не как к «паролю только для чтения», который можно безопасно опубликовать.

Почему Monero увеличила размер кольца до 16?

Хардфорк Fluorine Fermi в августе 2022 года поднял размер кольца с 11 до 16, чтобы расширить анонимное множество на каждую трату. Шестнадцать — это примерно та точка, в которой каждая следующая подсадная даёт убывающий прирост приватности при растущей цене за размер транзакции. Следующее поколение — FCMP++ (full-chain membership proofs) — должно заменить фиксированные кольца доказательствами по всему множеству выходов, фактически делая анонимное множество равным всей цепи.

Кольцевые подписи уйдут с приходом FCMP++?

Да, со временем. FCMP++ — это запланированный преемник CLSAG для приватности отправителя, активно разрабатываемый по состоянию на 2026 год. Он будет использовать иную криптографическую конструкцию — Curve Trees плюс SAL-доказательство — чтобы доказывать членство входа в полном множестве UTXO, а не в кольце из шестнадцати. Stealth-адреса это не затрагивает; они останутся в работе. Эти два слоя изначально были независимы — собственно, именно поэтому один можно обновлять, не трогая другой.

Какой из них важнее для повседневной приватности?

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

Нужен ли обменнику вроде MoneroSwapper хоть какой-то ключ от меня?

Нет. Пользователь сообщает только адрес назначения Monero (или субадрес). Движок обмена выводит stealth-выход тем же способом, что и любой другой отправитель, не получая доступа ни к вашему spend-ключу, ни к view-ключу. Это структурная причина, по которой no-KYC обмен Monero вообще возможен: ни криптография не требует от сервиса идентифицировать пользователя, ни приватность пользователя не зависит от доверия к тому, что сервис сохранит чьи-то секреты.

Заключение

Stealth-адреса и кольцевые подписи — это не два названия одного и того же. Они решают противоположные половины задачи приватности: одна прячет, куда уходят деньги, другая — откуда они пришли, — и ломаются под разными моделями угроз. Понимание этого разделения — это разница между отношением к Monero как к волшебной коробке и реальной способностью рассуждать о собственной приватной позиции. Если вы хотите задействовать оба слоя, не вдаваясь в детали реализации, именно для этого и сделан MoneroSwapper: анонимные обмены без KYC, в каждом из которых вы получаете свежий stealth-выход, защищённый кольцом из шестнадцати, без исключений.