Тикеты (транзакции вне очереди)
Как система тикетов XRP Ledger позволяет аккаунтам готовить транзакции для отправки позже, вне строгого порядка последовательности.
Обычное правило: строгий порядок последовательности
У каждого аккаунта XRP Ledger есть номер последовательности, увеличивающийся ровно на единицу с каждой отправленной транзакцией, и обычно транзакции должны обрабатываться именно в этом порядке — транзакция с номером последовательности 105 не может быть применена, пока не обработана транзакция с номером 104. Это стандартный и эффективный способ предотвратить replay-атаки и сохранить однозначность истории транзакций аккаунта.
Почему строгий порядок иногда неудобен
Это правило становится ограничивающим в определённых сценариях:
- Рабочие процессы с мультиподписью (см. Advanced Account Features), где сбор достаточного числа подписей для транзакции может занять непредсказуемое время, в течение которого обычный номер последовательности аккаунта, возможно, должен продолжать увеличиваться по другим причинам.
- Предварительная подготовка транзакций для отправки позже или другим процессом, без точного знания заранее, когда именно — или в каком относительном порядке — они действительно понадобятся.
- Параллельная подготовка транзакций, когда несколько транзакций готовятся одновременно, а не строго по одной.
Что такое тикет
Тикет — это зарезервированный, одноразовый слот номера последовательности, который аккаунт может создать заранее с помощью транзакции TicketCreate, а затем «потратить» позже с любой отдельной транзакцией, в любой момент, независимо от текущего обычного номера последовательности аккаунта на тот момент. Каждый тикет можно использовать ровно один раз, для ровно одной транзакции.
Чем это помогает
Как только аккаунт обладает одним или несколькими тикетами, он может заранее подготовить несколько транзакций — каждая из которых ссылается на конкретный тикет, а не на конкретный номер последовательности, — и отправить их в любом удобном порядке, а не быть привязанным к строгому, пошаговому порядку последовательности, который обычно применяется.
Стоимость резерва
Как и другие объекты леджера, каждый неиспользованный тикет учитывается в резерве владельца аккаунта, пока не будет использован или отменён, — небольшая стоимость в XRP за гибкость, которую дают тикеты.
Типичные пользователи
Тикеты — относительно специализированная функция, чаще всего используемая биржами, кастодианами и другими институциональными или автоматизированными системами, управляющими сложными, параллельными или мультиподписными рабочими процессами транзакций, — реже требуется для простого использования личного кошелька, где строгий последовательный порядок редко создаёт неудобства.