MoneroSwapper MoneroSwapper

Подписи CLSAG в Monero: как они работают

MoneroSwapper · · · 1 min read · 8 views

Подписи CLSAG в Monero: как они работают

17 октября 2020 года, на блоке 2 210 720, Monero без лишнего шума заменил криптографический движок, на котором держится каждая транзакция в сети. Хардфорк «Oxygen Orion» отправил на пенсию старую кольцевую подпись MLSAG и поставил на её место CLSAG — и буквально за одну ночь транзакции стали примерно на 25% компактнее, а их проверка ускорилась на 10–20%. Если вы когда-нибудь отправляли XMR или переводили биткоин в Monero через сервис вроде MoneroSwapper, вашу транзакцию защищала подпись CLSAG, а вы об этом даже не догадывались.

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

Что на самом деле означает аббревиатура CLSAG

CLSAG — это аббревиатура, и каждая её буква описывает реальное свойство схемы. Полностью это расшифровывается как Concise Linkable Spontaneous Anonymous Group signatures — «лаконичные связываемые спонтанные анонимные групповые подписи». Схему предложили в исследовательской работе 2019 года Брэндон Гуделл, Саранг Нётер и контрибьютор, известный под ником RandomRun. Прежде чем попасть в основную сеть, она прошла рецензирование и независимый аудит.

  • Concise (лаконичная): подпись получается компактной. CLSAG генерирует заметно меньше скаляров на каждого участника кольца, чем предыдущая схема, — отсюда и экономия по размеру.
  • Linkable (связываемая): если один и тот же выход попытаются потратить дважды, сеть это обнаружит. Работает это через key image — детерминированный «отпечаток», который не даёт совершить двойную трату, но при этом не выдаёт отправителя.
  • Spontaneous (спонтанная): никакой церемонии настройки и никакого сговора между людьми, чьи выходы попали в ваше кольцо. Вы подтягиваете чужие выходы-приманки прямо из блокчейна — без их ведома и согласия.
  • Anonymous (анонимная): проверяющий может убедиться, что подпись действительна, но не способен определить, кто из участников кольца её на самом деле создал.
  • Group (групповая): подпись ставится от имени группы — кольца, — а не от имени одного опознаваемого ключа.

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

Как CLSAG устроена изнутри

Чтобы понять CLSAG, сначала нужно разобраться, чего вообще пытается добиться кольцевая подпись, а уже потом — как CLSAG ужимает доказательство. Транзакции Monero используют RingCT, который объединяет две вещи, обе из которых обязаны оставаться приватными: кто тратит (неоднозначность отправителя) и сколько (конфиденциальность суммы). За первую половину отвечает CLSAG. За вторую — Bulletproofs+.

В чём задача кольцевой подписи

Когда вы тратите выход Monero, кошелёк собирает кольцо: ваш настоящий выход плюс несколько выходов-приманок, взятых из цепочки. После обновления «Fluorine Fermi» в августе 2022 года размер кольца зафиксирован на 16 — то есть каждая трата прячется среди 15 приманок. Сторонний наблюдатель видит 16 равнозначных кандидатов и не может сказать, какой из них тратится по-настоящему.

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

Key image и защита от двойной траты

Главная опасность скрытого отправителя — двойная трата: если никто не видит, какой выход вы потратили, что мешает потратить его ещё раз? Ответ — key image (образ ключа). У каждого выхода есть ровно один действительный key image, который вычисляется как приватный ключ, умноженный на хеш-в-точку от публичного ключа. Математически он жёстко привязан к выходу, но при этом ничего не говорит о том, кто из участников кольца его сформировал.

Каждый когда-либо использованный key image записывается в блокчейн. Когда приходит новая транзакция, узлы проверяют, не встречался ли её key image раньше. Если встречался — транзакция отклоняется как двойная трата. Именно это делает модель скрытого отправителя в Monero безопасной — то самое свойство связываемости, буква «L» в названии CLSAG.

Как агрегация сжимает подпись

Вот сердце того, почему CLSAG «лаконична». В транзакции RingCT каждый участник кольца связан с двумя публичными ключами: одноразовым ключом выхода (он доказывает владение) и обязательством суммы (оно доказывает, что входы и выходы балансируются). Предыдущая схема, MLSAG, подписывала оба ключа по отдельности, выдавая по два скаляра-ответа на каждого участника кольца.

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

Для кольца из 11 участников MLSAG требовала около 22 скаляров-ответов на вход; CLSAG обходится примерно 12. Именно это одно изменение урезало типичную транзакцию с двумя входами почти на четверть.

Что принципиально важно — доказательство безопасности показывает, что такая агрегация ничего не ослабляет. CLSAG остаётся неподделываемой и анонимной при тех же предположениях, что и раньше, даже против противника, способного выбрать часть ключей в кольце. Вы получаете более компактную и быструю подпись без компромиссов по приватности или безопасности — редкая «чистая победа» в криптографии.

CLSAG против MLSAG: что изменилось

MLSAG (Multilayered Linkable Spontaneous Anonymous Group signatures) питала RingCT с запуска в январе 2017 года и до форка 2020-го. CLSAG — это прямая замена «один в один», которая сохраняет ту же модель доверия, но срезает всё лишнее. В таблице ниже собраны практические различия.

СвойствоMLSAG (2017–2020)CLSAG (2020 — наши дни)
Скаляров на участника кольца2 (по одному на слой ключа)1 (агрегированный)
Размер подписи типичной транзакции на 2 входаБазовый уровень~на 25% меньше
Скорость проверкиБазовый уровень~на 10–20% быстрее
Гарантия приватностиНеоднозначность отправителя + связываемостьИдентична
Стойкость к враждебным ключамДоказанаДоказана (формально переаудирована)
АктивацияЗапуск RingCT, янв. 2017Форк Oxygen Orion, окт. 2020

Компактные подписи важны не только ради эстетики. Меньший «вес» транзакции означает более низкую комиссию, меньшее разрастание блокчейна и более быструю синхронизацию для узлов. А поскольку все транзакции Monero структурно выглядят одинаково, эта экономия суммируется по всей сети и улучшает взаимозаменяемость (fungibility) — ни одна транзакция не выделяется как «дешёвая» или «дорогая» из-за своей истории.

Как CLSAG встроена в транзакцию Monero

CLSAG никогда не работает в одиночку. Это один из компонентов транзакции RingCT, наряду со скрытыми (stealth) адресами, обязательствами сумм и доказательствами диапазона. Ниже — упрощённый жизненный цикл траты: от момента, когда кошелёк решает отправить средства, до момента, когда узел принимает транзакцию.

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

Пример из жизни

Представьте, что вы обмениваете 0,5 BTC на XMR через MoneroSwapper, а позже отправляете часть этого Monero на аппаратный кошелёк. В тот момент, когда вы нажимаете «Отправить», кошелёк собирает кольцо из 16 выходов. Ваш настоящий выход среди них, но рядом — 15 посторонних выходов других пользователей, которые никогда не соглашались участвовать и никогда не узнают, что поучаствовали.

Подпись CLSAG, которую генерирует ваш кошелёк, доказывает каждому узлу на планете, что вы законно контролируете один из этих 16 выходов, — но не говорит, какой именно. Биржа, следящая за цепочкой, блокчейн-аналитическая фирма или просто любопытный наблюдатель видят действительную транзакцию с 16 равновероятными источниками. Нет ни одной эвристики, которая надёжно вычисляла бы настоящий, — и в этом весь смысл.

Сравните это с прозрачной цепочкой вроде Bitcoin, где конкретный тратящийся вход публичен. В Bitcoin те же 0,5 BTC тащат за собой постоянную, отслеживаемую историю — её при желании может размотать кто угодно, от аналитической фирмы до регулятора уровня ЦБ РФ. В Monero же CLSAG обрывает связь на каждом «прыжке» — именно поэтому пользователи, заботящиеся о приватности, в принципе пропускают ценность через Monero.

Что впереди: FCMP++ и Seraphis

CLSAG превосходна, но у неё есть структурный потолок: набор анонимности ограничен размером кольца. При 16 участниках ваша реальная трата прячется среди 15 приманок — это сильно, но конечно. Исследовательское сообщество Monero годами строит кое-что куда более масштабное.

FCMP++ (Full-Chain Membership Proofs, «доказательства принадлежности ко всей цепочке») — запланированный преемник. Вместо того чтобы прятаться среди 16 выходов, FCMP++ доказывает принадлежность к каждому выходу, когда-либо существовавшему в цепочке, — это набор анонимности в десятки миллионов, а не 16. На протяжении 2025 года разработка и аудит уверенно продвигались, а само обновление нацелено на один из будущих хардфорков. Когда оно состоится, кольцевые подписи в привычном нам виде, включая CLSAG, будут выведены из обращения.

Рядом с FCMP++ стоят протокол транзакций Seraphis и схема адресации Jamtis, которые вместе модернизируют то, как формируются и адресуются выходы Monero. Вывод не в том, что CLSAG устарела — она защищает сеть прямо сейчас и будет защищать ещё какое-то время, — а в том, что Monero не прекращает улучшать свои гарантии приватности. Сама CLSAG когда-то стала преемницей MLSAG, и цикл продолжается.

Частые вопросы

Как расшифровывается CLSAG?

CLSAG расшифровывается как Concise Linkable Spontaneous Anonymous Group signatures — «лаконичные связываемые спонтанные анонимные групповые подписи». Каждое слово описывает свойство: подпись компактна, двойные траты обнаруживаются, координация между участниками кольца не нужна, настоящий подписант скрыт, а доказательство ставится от имени группы, а не одного опознаваемого ключа.

Когда Monero начал использовать CLSAG?

CLSAG активировалась в основной сети Monero во время хардфорка «Oxygen Orion» 17 октября 2020 года, на высоте блока 2 210 720. Она заменила MLSAG, которая защищала транзакции RingCT с января 2017 года.

Насколько CLSAG уменьшила размер транзакций Monero?

Типичная транзакция с двумя входами стала примерно на 25% компактнее, а проверка ускорилась примерно на 10–20%. Экономия достигается за счёт агрегации двух скаляров-ответов на каждого участника кольца в один, что уменьшает и объём данных в блокчейне, и работу, которую узлы делают при проверке.

Ослабляет ли CLSAG приватность или безопасность Monero?

Нет. CLSAG обеспечивает ту же неоднозначность отправителя и ту же защиту от двойной траты, что и MLSAG. Её безопасность была формально доказана и независимо проаудирована, включая стойкость к атакам, где противник контролирует часть ключей в кольце. Это строго более эффективная версия тех же самых гарантий.

Заменят ли CLSAG?

В конце концов — да. Обновление FCMP++ (Full-Chain Membership Proofs) задумано так, чтобы полностью заменить кольцевые подписи, расширив набор анонимности с 16 участников кольца до всего блокчейна. На протяжении 2025 года оно находилось в активной разработке и на аудите и нацелено на один из будущих хардфорков, но до тех пор сеть защищает именно CLSAG.

Заключение

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

Если вы хотите задействовать эту приватность на практике, самый простой путь — приобрести Monero, не раскрывая своей личности с самого начала. Вы можете купить Monero анонимно через MoneroSwapper без аккаунта и без KYC, и каждый полученный вами выход будет защищён теми же подписями CLSAG, что описаны здесь, ровно в тот момент, когда вы его потратите.

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

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

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

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

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