Кратко
- Редакция 01 индивидуального Internet-Draft добавляет учёт накопительного лимита агента: уже потраченные и зарезервированные суммы, новый запрос и версию состояния, которую прочёл механизм разрешения.
- Пропавший ответ платёжного инструмента не освобождает резерв. Повтор того же запроса занимает прежнее место; другой запрос со старым остатком способен превысить делегированный предел.
Один лимит, два разрешения на покупку
Компания разрешает агенту оплачивать услуги в пределах суммы. Первый платёж одобрен, но ответ инструмента пропал. Если система решит, что молчание означает отказ, она снова откроет агенту те же деньги. Следующая покупка может получить разрешение на средства, уже обещанные первой. Новая редакция проекта Sankalp Gilda предлагает держать сумму в резерве, пока запись о первом запросе не покажет наблюдаемый результат. Это описанный проектом риск, а не сообщение о случившейся потере денег.
Объявление от 27 октября и карточка IETF Datatracker описывают индивидуальный Internet-Draft. В нём нет реальной платёжной истории. Новая по сравнению с версией 00 секция 5.9 определяет, какие данные должны сопровождать решение по накопительному пределу. Вопрос звучит не «помещается ли этот платёж», а «какие прежние разрешения уже заняли пространство под потолком».
Сумма одной операции может быть небольшой, но несколько открытых разрешений вместе способны съесть весь предел. Поэтому предлагаемое поле consumption-state содержит отпечаток документа, задающего лимит, единицу расчёта, сам предел, потраченное, зарезервированное, запрошенное, перечень открытых запросов и stateRevision. Это номер снимка счёта, который увидела система в момент решения. Если снимок старый, он не содержит ранее выданное, но ещё не закрытое разрешение, даже когда арифметика в нём выглядит безупречно.
Повторить запрос — не значит купить ещё раз
Проект приводит пример: лимит 50 000 пенсов, потрачено 30 000, ещё 12 000 зарезервировано. Повтор той же операции с тем же отпечатком запроса не добавляет новых 12 000: занято по-прежнему 42 000. Иной запрос на 12 000 поднимет общую сумму до 54 000 и должен получить отказ. Это числа для проверки правила, а не раскрытые данные о чужих расчётах.
Резерв не может исчезнуть по устному распоряжению тайм-аута. Запись об эффекте occurred для того же запроса переводит его в потраченное. Запись об эффекте none возвращает сумму в доступное. Пока ни одной нет, разрешение остаётся в списке held. Подвешенный остаток может задержать добросовестную работу. Однако снятие его без доказательства способно разрешить агенту следующую покупку на уже обещанные деньги.
Другой сбой обнаруживается сравнением нескольких записей. Представим, что второй платёж читает старую stateRevision, созданную до первого резерва. Расчёт внутри второго документа выглядит правильным, но пропускает обязательство. По новому проекту записи под одним лимитом упорядочивают по версии: более позднее разрешение должно показывать ранее открытое разрешение как удержанное или потраченное вплоть до закрытия. Пропуск обозначает окно для двойного расходования. Освобождение резерва без записи «эффекта не было» тоже выдаёт разрыв.
Формат специально принимает корректно оформленную запись, где решение разрешило платёж сверх лимита. Если бы такие строки объявлялись недопустимыми, аудит скрывал бы именно те ошибки, ради которых его ведут. Подпись и внутренний пересчёт помогают проверить представленные байты; полноту набора записей и истинность наблюдения приходится устанавливать отдельно.
Кто отвечает за цифру на экране?
Документ делегирования устанавливает потолок. Механизм принятия решений читает состояние, инструмент выполняет действие, наблюдатель пишет результат, хранитель передаёт записи. Проверяющему нужно связать эти роли: видел ли второй механизм первый резерв и на каком основании резерв закрыли? С одной карточкой «одобрено» этот вопрос не решить.
Новая секция задаёт бухгалтерию ответственности. В работающей системе понадобятся правила о том, кто меняет состояние, кто наблюдает исполнение и кто сохраняет полный ряд доказательств. Пропавший ответ открывает расследование. Он не печатает агенту новую кредитную линию.
Первичные документы
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





