Мемо и destination tag
Как XRP Ledger прикрепляет дополнительный платёжный контекст, и почему destination tag — частый источник дорогостоящих ошибок.
Проблема: один адрес, много отправителей
Многие сервисы — чаще всего централизованные биржи — используют единый адрес XRPL для получения депозитов от всех своих клиентов, вместо того чтобы генерировать уникальный адрес для каждого пользователя. Поскольку XRPL нативно не поддерживает «субаккаунты», как некоторые другие системы, такие сервисы вместо этого полагаются на дополнительное поле, чтобы определить, какому клиенту принадлежит тот или иной входящий платёж.
Destination tag
Destination tag — это числовое поле, которое можно прикрепить к платежу, предназначенное для того, чтобы принимающая сторона (как правило, биржа) могла определить, для какого из её внутренних клиентских аккаунтов предназначен депозит. Если сервис требует destination tag для депозитов, а вы его пропустили (или указали неверный), ваши средства всё равно могут прийти на правильный адрес в леджере, но у принимающего сервиса может не быть способа зачислить их на ваш аккаунт — это может потребовать ручного, порой долгого обращения в поддержку для возврата средств, а в худшем случае привести к безвозвратной потере, если у сервиса нет надёжного способа определить вкладчика.
Всегда проверяйте, требует ли адрес назначения destination tag, прежде чем отправлять средства — большинство бирж чётко отображают это требование рядом со своим адресом для депозита, и ошибка при его вводе — одна из самых частых и дорогостоящих ошибок новых пользователей XRPL.
X-адреса как смягчение проблемы
Как упоминалось в статье Addresses, Key Pairs, and Cryptography, более новый формат X-адресов кодирует destination tag непосредственно в строке адреса, поэтому кошелёк, полностью поддерживающий X-адреса, может снизить риск того, что отправитель правильно скопирует адрес, но забудет отдельное поле тега.
Мемо
Отдельно от destination tag, XRPL также поддерживает прикрепление к транзакции одного или нескольких полей memo — произвольных данных, обычно используемых для записи короткой заметки, номера ссылки или метаданных, специфичных для приложения, вместе с платежом. В отличие от destination tag, memo не используются большинством бирж для маршрутизации депозитов; это универсальный способ прикрепить к транзакции контекст, понятный человеку или машине.
Почему эти данные хранятся в леджере
Поскольку и destination tag, и memo включены непосредственно в данные транзакции, хранящиеся в публичном леджере, они видны любому, кто просматривает эту транзакцию через блок-эксплорер — это полезно для ведения записей и разрешения споров, но также напоминание о том, что содержимое memo не приватно и не должно использоваться для записи конфиденциальной информации.
Практический вывод
Если вы отправляете XRP на биржу, в сервис кошельков или на любой адрес, который не является вашим личным кошельком под вашим прямым контролем, всегда проверяйте, требуется ли destination tag, и копируйте его точно — этот единственный шаг предотвращает подавляющее большинство обращений в поддержку по всей экосистеме с формулировкой «мой депозит не отобразился».