Интегрированные адреса идеальны с точки зрения автоматизированного приёма Monero, например, онлайн магазинами и биржами.
Интегрированный адрес Monero использует идентификатор (ID) платежа. Это позволяет узнать, за что вам заплатили.
Пожалуйста, отметьте, что это в большей степени технические ID платежей Monero, и их не следует путать с коммерческими идентификаторами, такими как номер заказа или номер счёта.
При проведении транзакции на интегрированный адрес ID платежа не раскрывается публично. ID платежа в транзакции зашифрован при помощи общего секрета (одноразового случайного ключа, известного только отправителю и получателю). Только получатель сможет сопоставить транзакцию с ID платежа.
Интегрированные адреса Monero используются вместо устаревших полных 32-байтовых ID платежа, которые включались в дополнительное поле транзакции (где они не шифровались).
Структура данных (src):
Индекс | Размер в байтах | Описание |
---|---|---|
0 | 1 | Указывает тип сети и тип адреса; 19 - основной блокчейн; 54 - тестовая сеть |
1 | 32 | Публичный ключ траты |
33 | 32 | Публичный ключ просмотра |
65 | 8 | Компактный ID платежа, представляющий собой 8 случайно сгенерированных получателем байт. Следует отметить, что он не требует шифрования в самом адресе, но он скрывается в транзакции, которая проводится на интегрированный адрес, что не позволяет внешним наблюдателям связать платёж с адресом. |
73 | 4 | Контрольная сумма (хеш Keccak-f[1600] предыдущих 65 байтов, урезанный до первых 4 байт) |
Всего 77 байт. Затем байты шифруются (src) в соответствии со специфическим для Monero форматом Base58, и в результате получается строка из 106 символов. Пример интегрированного адреса:
4LL9oSLmtpccfufTMvppY6JwXNouMBzSkbLYfpAV5Usx3skxNgYeYTRj5UzqtReoS44qo9mtmXCqY45DJ852K5Jv2bYXZKKQePHES9khPK
Оба типа адресов позволяют вам узнать, за что вам было заплачено.
Физические лица предпочитают для приёма платежей использовать подадреса. При определённых условиях это повышает уровень анонимности.
Коммерческие организации, принимающие платежи автоматически, скорее, будут пользоваться интегрированными адресами. Рациональным обоснованием может служить следующее:
Сценарии, при которых подадреса помогают повысить уровень анонимности, не применимы к коммерческим организациям, поскольку такие организации со временем становятся одним и тем же лицом, а следовательно, тут подадреса не обеспечивают никаких преимуществ.
Чтобы сгенерировать интегрированный адрес не требуется никаких приватных ключей. Это даёт сильное преимущество с точки зрения безопасности, поскольку службам, генерирующим интегрированные адреса, не требуется доступа к кошельку. И наоборот, чтобы сгенерировать подадрес, необходим приватный ключ просмотра.
Чтобы сгенерировать интегрированный адрес не требуется общего счётчика. Это позволяет отдельным службам независимо генерировать интегрированные адреса, не синхронизируясь с общей последовательностью. И наоборот, подадреса генерируются последовательно, и поэтому последовательность (счётчик или индекс) является связующей точкой между кошельком и всеми службами, которым необходимо сгенерировать адрес. Возвращаясь к интегрированным адресам, следует отметить, что размер встроенных ID платежей составляет 64 бита. Это означает достаточное количество места, чтобы любой мог надёжно сгенерировать их случайным образом, и при этом будет гарантирована уникальность адреса.
В очень редких случаях попытка отслеживания очень большого количества подадресов может стать проблемой. Подробную информацию можно найти в этом треде на reddit.
Существуют некоторые сложности:
платёж на множество интегрированных адресов не может быть проведён одной транзакцией;
физические лица предпочитают использовать подадреса, тем не менее если вы используете интегрированные адреса, вы должны позволить Monero сгенерировать такие интегрированные адреса для вас (а не делать самостоятельно, используя свои ID платежей).