MoneroSwapper MoneroSwapper
Обучение

Payment ID в Monero: почему они были упразднены и что пришло им на смену

MoneroSwapper Team · Apr 09, 2026 · 2 min read · 11 views

Взлёт и падение Payment ID

\n\n

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

\n\n

Понимание этой истории важно для каждого, кто сегодня использует Monero, особенно при взаимодействии со старыми сервисами, которые всё ещё могут ссылаться на Payment ID. Будь то обмен через MoneroSwapper или управление собственным кошельком — знание того, что заменило Payment ID и почему, поможет вам совершать операции безопаснее.

\n\n

Что такое Payment ID?

\n\n

Payment ID представлял собой шестнадцатеричную строку из 64 символов (32 байта), которую можно было прикрепить к транзакции Monero. Представьте его как номер ссылки или идентификатор счёта, встроенный непосредственно в блокчейн-транзакцию. Существовало два типа:

\n\n

Длинные Payment ID (незашифрованные)

\n\n

Первоначальный формат Payment ID представлял собой 32-байтовую строку, передаваемую открытым текстом как часть дополнительного поля транзакции. Когда вы отправляли транзакцию с длинным Payment ID, любой просматривающий блокчейн мог видеть значение Payment ID. Это был самый ранний метод, широко используемый биржами и платёжными процессорами.

\n\n

Проблема была очевидна с точки зрения конфиденциальности: если биржа публиковала свой адрес для пополнения и присваивала каждому пользователю уникальный Payment ID, наблюдатель мог идентифицировать все пополнения на эту биржу и потенциально связать Payment ID с конкретными пользователями через анализ времени или сумм.

\n\n

Зашифрованные Payment ID (короткие Payment ID)

\n\n

Для решения проблемы открытого текста Monero ввёл зашифрованные Payment ID в 2017 году. Это были 8-байтовые значения, зашифрованные с помощью общего секрета, полученного из одноразовых ключей транзакции. Только получатель мог расшифровать Payment ID с помощью своего приватного ключа просмотра. В блокчейне зашифрованный Payment ID выглядел как случайные данные для всех остальных.

\n\n

Зашифрованные Payment ID были объединены с интегрированными адресами, которые объединяли стандартный адрес Monero с 8-байтовым Payment ID в одну адресную строку. Это упрощало их использование, поскольку отправителю не нужно было вручную копировать и вставлять отдельное поле Payment ID.

\n\n

Почему биржи и сервисы использовали Payment ID

\n\n

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

\n\n

Типичный рабочий процесс выглядел так:

\n\n
    \n
  • Биржа выдаёт всем пользователям один и тот же адрес для пополнения, но присваивает каждому уникальный Payment ID
  • \n
  • Пользователь отправляет XMR на адрес биржи с присвоенным Payment ID
  • \n
  • Биржа сканирует входящие транзакции на наличие Payment ID для зачисления на правильный счёт
  • \n
\n\n

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

\n\n

Проблемы конфиденциальности Payment ID

\n\n

Даже зашифрованные Payment ID создавали несколько уязвимостей конфиденциальности, подрывающих основные гарантии приватности Monero:

\n\n

Связываемость через метаданные

\n\n

Когда все пользователи биржи отправляли на один адрес, механизм стелс-адресов подрывался. Наблюдатель мог определить, что транзакция предназначена для конкретной биржи, просто распознав публичный адрес. Payment ID, даже зашифрованный, добавлял отличительные метаданные к транзакции. Транзакции с Payment ID выглядели иначе, чем без них, создавая два класса транзакций, уменьшающих набор анонимности.

\n\n

Проблема двух пулов

\n\n

Транзакции с Payment ID и без них формировали два визуально различимых пула в блокчейне. Это различие предоставляло информацию аналитикам блокчейна. Если транзакция содержала зашифрованный Payment ID, она с большой вероятностью направлялась на биржу или к торговцу, значительно сужая круг возможных получателей.

\n\n

Анализ времени и паттернов

\n\n

Биржи обычно обрабатывали депозиты пакетами или с предсказуемой периодичностью. В сочетании с моделью единого адреса для пополнения это создавало паттерны, которые опытные аналитики могли эксплуатировать. Комбинация известного адреса, временных паттернов и наличия Payment ID делала корреляционные атаки более осуществимыми, чем следовало бы.

\n\n

Ошибка пользователя как утечка конфиденциальности

\n\n

Когда пользователи забывали Payment ID, им часто приходилось обращаться в поддержку и доказывать, что транзакция принадлежит им. Это обычно требовало предоставления приватного ключа транзакции или информации о ключе просмотра, создавая дополнительные утечки конфиденциальности и бумажный след, связывающий их личность с транзакцией.

\n\n

Хронология упразднения

\n\n

Сообщество Monero осознало эти проблемы и приняло меры через несколько обновлений протокола:

\n\n
    \n
  • 2018 (v0.13, Beryllium Bullet) — Длинные (незашифрованные) Payment ID были объявлены устаревшими, и программное обеспечение кошелька начало показывать предупреждения при попытке их использования
  • \n
  • 2019 (v0.15, Carbon Chamaeleon) — Длинные Payment ID были запрещены на уровне протокола. Транзакции с незашифрованными Payment ID отклонялись сетью
  • \n
  • Обновления программного обеспечения кошельков — GUI и CLI кошельки постепенно удалили поля Payment ID и поощряли использование субадресов
  • \n
  • Миграция бирж — Крупные биржи мигрировали с Payment ID на субадреса в 2019-2020 годах, некоторые отстающие затянули процесс
  • \n
\n\n

Зашифрованные (короткие) Payment ID через интегрированные адреса технически всё ещё работают на уровне протокола, но настоятельно не рекомендуются. Современное программное обеспечение кошельков либо полностью скрывает эту опцию, либо показывает чёткие предупреждения. Консенсус сообщества заключается в том, что субадреса являются правильной заменой.

\n\n

Субадреса: превосходная замена

\n\n

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

\n\n

Как работают субадреса

\n\n

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

\n\n

Ключевые преимущества субадресов перед Payment ID:

\n\n
    \n
  • Нет общего адреса — Каждый клиент или платёж получает уникальный адрес, полностью устраняя проблему единого адреса
  • \n
  • Нет утечки метаданных — Транзакции на субадреса выглядят на блокчейне идентично транзакциям на основные адреса
  • \n
  • Нет ошибок пользователя — Пользователи просто отправляют на предоставленный адрес без необходимости запоминать дополнительное поле Payment ID
  • \n
  • Несвязываемые — Наблюдатель не может определить, что два субадреса принадлежат одному кошельку
  • \n
  • Нет проблемы двух пулов — Все транзакции выглядят одинаково независимо от использования основных адресов или субадресов
  • \n
\n\n

Субадреса для бирж

\n\n

Для бирж, ранее использовавших Payment ID, миграция на субадреса улучшила как безопасность, так и пользовательский опыт. Вместо того чтобы давать каждому пользователю один адрес с разными Payment ID, биржи теперь генерируют уникальный субадрес для каждого пользователя. Кошелёк биржи автоматически определяет, какой субадрес получил депозит, и зачисляет средства на правильный счёт.

\n\n

Такой подход устранил самую распространённую проблему поддержки (забытые Payment ID) и одновременно улучшил конфиденциальность всех пользователей. Это был редкий случай, когда более конфиденциальное решение оказалось и более удобным для пользователя.

\n\n

Руководство по миграции для сервисов, всё ещё использующих Payment ID

\n\n

Если вы управляете сервисом, который всё ещё использует Payment ID, миграция на субадреса проста:

\n\n
    \n
  • Генерация субадресов — Используйте RPC-метод кошелька create_address для генерации уникального субадреса для каждого аккаунта пользователя
  • \n
  • Сохранение соответствия — Поддерживайте базу данных соответствий между аккаунтами пользователей и назначенными им субадресами
  • \n
  • Обновление инструкций по пополнению — Удалите поля Payment ID из интерфейса пополнения и отображайте только субадрес
  • \n
  • Мониторинг входящих транзакций — Используйте RPC-метод get_transfers, который автоматически сообщает индекс субадреса для каждой входящей транзакции
  • \n
  • Поддержание обратной совместимости — В течение переходного периода продолжайте сканировать старые транзакции с Payment ID, чтобы пользователи, сохранившие старые инструкции по пополнению, не пострадали
  • \n
\n\n

Что делать, если сервис всё ещё запрашивает Payment ID

\n\n

Несмотря на то что упразднение произошло много лет назад, некоторые небольшие биржи и сервисы всё ещё запрашивают Payment ID. Если вы столкнулись с такой ситуацией, вот что нужно знать:

\n\n

Действуйте осторожно. Сервис, который в 2026 году всё ещё использует Payment ID, возможно, не следит за изменениями протокола Monero, что может указывать на более широкие проблемы с обслуживанием и безопасностью. Оцените, заслуживает ли сервис доверия.

\n\n

Используйте интегрированные адреса, если предлагаются. Если сервис предоставляет интегрированный адрес (который встраивает Payment ID), ваш кошелёк обработает Payment ID автоматически. Это предпочтительнее ручного ввода длинного Payment ID.

\n\n

Тщательно проверьте Payment ID. Если вам необходимо ввести Payment ID вручную, скопируйте и вставьте его аккуратно. Проверьте каждый символ. Неверный Payment ID означает потерю средств, которые может быть трудно восстановить.

\n\n

Рассмотрите альтернативы. Если сервис требует длинный (незашифрованный) Payment ID, современное программное обеспечение Monero, скорее всего, отклонит транзакцию. Возможно, вам придётся использовать другой сервис или попросить обновиться до субадресов. Такие сервисы, как MoneroSwapper, используют современную инфраструктуру, не требующую Payment ID.

\n\n

Более широкий урок

\n\n

Упразднение Payment ID иллюстрирует ключевой принцип философии разработки Monero: конфиденциальность — это не только криптографические примитивы, но и дизайн протокола и реальные паттерны использования. Даже при сильном шифровании метаданные и поведенческие паттерны, создаваемые Payment ID, были достаточны для ослабления гарантий конфиденциальности.

\n\n

Заменив Payment ID субадресами, Monero устранил целый класс утечек конфиденциальности, одновременно улучшив удобство использования. Такой вид итеративного улучшения, при котором протокол развивается на основе реального анализа конфиденциальности, отличает Monero от проектов, которые рассматривают конфиденциальность как функцию, а не как фундаментальное требование. Удаление Payment ID сделало каждую транзакцию Monero более конфиденциальной, устранив отличительные метаданные и создав более однородный пул транзакций.

\n\n

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

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

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

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

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

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