RingCT и FCMP++ простыми словами
Что есть сейчас, что поменяется и почему это самое большое обновление Monero
RingCT (сейчас): ваш настоящий вход спрятан среди 15 случайных чужих. Суммы и получатели скрыты полностью, а вот отправитель — «один из 16».
FCMP++ (скоро): ваш настоящий вход спрятан среди всех выходов, когда-либо созданных в Monero. Приманки больше не нужны, и большинство атак на них исчезает.
Что именно прячет RingCT
RingCT — это не одна технология, а связка трёх. Важно понимать, что две из трёх уже сейчас работают отлично, и FCMP++ их почти не трогает:
| Вопрос | Чем прячется | Насколько хорошо |
|---|---|---|
| Сколько? | Обязательства Педерсена + Bulletproofs+ | Полностью. Суммы не видны никому, кроме участников. |
| Кто получил? | Одноразовые адреса | Полностью. Ваш адрес никогда не попадает в блокчейн. |
| Кто отправил? | Кольцевые подписи (16 участников) | Частично. «Один из 16» — это вероятность, и её можно сужать. |
Слабое звено — третья строка. Именно её и заменяет FCMP++.
Как работает кольцо — на пальцах
Чтобы потратить монету, нужно доказать, что она ваша. Monero говорит: «не показывай, какая именно монета твоя. Возьми ещё 15 чужих монет из блокчейна и докажи, что одна из этих 16 — твоя».
Приманки выбирает ваш кошелёк, случайно, но не равномерно: свежие выходы берутся чаще, потому что люди чаще тратят свежие деньги. Если бы приманки были равномерно «старыми», настоящий вход выделялся бы молодостью.
Плюсы и минусы RingCT
+ Сильные стороны
- Суммы и получатели скрыты полностью и надёжно.
- Приватность обязательна для всех транзакций — толпа большая.
- Проверенная годами криптография (CLSAG, Bulletproofs+), есть аудиты.
- Транзакции относительно компактные (~1.5–2 КБ для типичной 2-в-2) и быстро проверяются.
- Каждая транзакция в отдельности даёт правдоподобное отрицание: «это мог быть не я».
− Слабые стороны
- Анонимное множество — всего 16. Это мало, если противник может исключать варианты.
- Атаки исключения: если противник знает, что какая-то приманка на самом деле потрачена в другом месте (или его собственная), круг сужается.
- EAE-атака: биржа, через которую деньги прошли «туда и обратно», может с высокой вероятностью связать вход и выход.
- Флуд-атака: кто-то массово создаёт свои выходы, и они становятся вашими приманками — для него «пустыми».
- Ошибки в алгоритме выбора приманок (такие уже были) делают настоящий вход статистически заметным.
- Много входов в одной транзакции (объединение монет) — видимая связь между кольцами.
Подробно каждая слабость разобрана на странице «Слабые места RingCT».
Что меняет FCMP++
FCMP++ расшифровывается как Full-Chain Membership Proofs — «доказательства членства во всей цепочке». Плюсы-плюсы — потому что к доказательству членства добавлено ещё кое-что (о нём ниже).
Идея: вместо «мой выход — один из этих 16» транзакция доказывает «мой выход — один из всех выходов в блокчейне», при этом не перечисляя их. Как это возможно, если выходов больше сотни миллионов? Все выходы собраны в особое дерево (похожее на дерево Меркла — Curve Tree), у которого есть один корень. Транзакция доказывает с нулевым разглашением: «я знаю путь от некоторого листа до этого корня, и у меня есть ключ от этого листа».
RingCT: «Деньги дал один из этих 16 человек в комнате». Следователь может опросить их по одному и вычеркнуть тех, у кого алиби.
FCMP++: «Деньги дал кто-то из жителей страны». Вычёркивать бессмысленно.
Что ещё приходит вместе с FCMP++
- Нет приманок — нет проблем с их выбором. Флуд-атаки, EAE-атаки, статистика возраста входов практически теряют смысл.
- Forward secrecy. Если в будущем появится квантовый компьютер, способный ломать эллиптические кривые, он сможет подделывать новые транзакции, но не сможет задним числом раскрыть, какие выходы тратились в старых FCMP++-транзакциях (при условии, что адрес получателя не был публичным). Это касается выходов, созданных уже после перехода; старые RingCT-выходы такой защиты не получат.
- Новая система адресов Carrot: старые адреса продолжают работать, но появляются новые типы ключей — например, ключ, который видит и входящие, и исходящие (честный view-only кошелёк), без права тратить.
- Задел на будущее: более простые мультиподписи, транзакции, которые можно подписать заранее.
Плюсы и минусы FCMP++
+ Плюсы
- Анонимное множество — весь блокчейн (на порядки больше 16).
- Исчезают атаки, основанные на приманках.
- Квантовая forward secrecy для истории трат.
- Лучшие view-only кошельки и разграничение прав (Carrot).
- Существующие адреса и сид-фразы продолжают работать.
− Минусы и цена
- Транзакции больше и дольше проверяются, чем в RingCT (особенно с ростом числа входов).
- Новая и сложная криптография: новые кривые (Helios/Selene), новые доказательства. Нужны аудиты, ошибки дороже.
- Создание транзакции тяжелее для слабых устройств и аппаратных кошельков.
- Узлам нужно поддерживать дерево всех выходов.
- Не решает проблемы вне блокчейна: IP-адреса, метаданные, поведение пользователя.
Что поменяется для обычного пользователя?
Почти ничего видимого. После хардфорка кошельки начнут создавать транзакции нового типа. Ваша сид-фраза и адреса продолжат работать. Комиссии могут немного вырасти из-за размера транзакций. Старые монеты можно будет тратить — и они тоже получат анонимное множество «весь блокчейн».
FCMP++ требует хардфорка. На ноябрь 2026 года он ещё не активирован на mainnet: идёт публичное тестирование, а по необязывающему черновику плана активация ожидается в начале 2027 года. Подробнее — переход на FCMP++. Смотрите актуальный статус на getmonero.org и в репозитории monero-project — этот сайт описывает устройство, а не расписание.
Куда дальше
- Кольцевые подписи — как математически работает «один из 16».
- Слабые места RingCT — подробно и с примерами.
- FCMP++ — технический обзор.