– Конечно, все это давно известно! – с раздражением сказал Карл.
– Прекрасно. Посему скажи, как осуществляются подобные действия в другой группе автоматов, совершающих операции с более дорогими товарами? Прости, что экзаменую, но дело требует знания основных принципов, так что… понимаешь…
– Хм… – Карл откашлялся. – У них есть непосредственная связь с Банком. Когда я ввожу Ключ в прорезь, автомат считывает показание главного реестра и проверяет, соответствует ли оно записи в Банке. Если за время, прошедшее после последней такой проверки, на Ключе произошли изменения, поскольку я, например, получил от кого-то частным путем несколько пунктов или купил сигареты, о чем Банк еще не знал, тогда компьютер Банка проверяет вспомогательный реестр моего Ключа, записывает операцию на моем счете и отмечает у себя новое состояние счета. Если же на мой счет в Банке поступила какая-то сумма, которая еще не записана на моем Ключе (например, месячная выплата), тогда Банк записывает ее на моем Ключе, находящемся в прорези автомата. Таким образом, состояние Ключа и счета в Банке согласовываются и подтверждаются. Лишь тогда я могу выбрать и получить товар из автомата.
– Прекрасно! – похвалил бородач. – И ты – четверяк?
– Ну, вообще-то… мой разряд ближе к тройке… – усмехнулся Карл.
– А! Понимаю. Чекеришь?
– Помаленьку… Но последнее время, в соответствии с вашей инструкцией, ничего такого не делал…
– Порядок. Итак, возвращаемся к нашим ключебанковским операциям. Когда ты уже совершил покупку, торговый автомат… обрати внимание на эту деталь: сам автомат, не Банк, снимает с главного реестра твоего Ключа сумму наличности и записывает ее в реестр текущих операций Ключа вместе со своим идентификационным номером. Так делается потому, что операция покупки может содержать несколько позиций. Из одного и того же автомата ты можешь иногда брать несколько различных вещей либо одну и ту же вещь в нескольких экземплярах. Связи перегружены, поэтому нецелесообразно передавать Банку по каждой позиции. И теперь наступает последний этап операции: ты вынимаешь Ключ из прорези автомата. Лишь в этот момент, при этом движении Ключа в прорези, новое состояние твоего счета, израсходованные суммы, а также номер автомата, в котором совершена покупка, передаются в Банк! Вынув Ключ, ты имеешь некую новую сумму на главном реестре Ключа, и та же самая запись фигурирует в Банке, а реестр текущих расходов на Ключе освобождается. Так все выглядит в случае с твоим легальным Ключом. В том же, который мы сделали для тебя, – бородач широко улыбнулся, – введена небольшая модификация. Правда, состояние главного реестра изменяется при каждой платежной операции, а сумма расходов и номер автомата записываются в текущем реестре, но такое положение не стабильно!
Спустя несколько микросекунд, и это-то и есть наше изобретение, состояние реестра текущих оборотов стирается, а состояние главного реестра возвращается к некой постоянной, предварительно запрограммированной величине. Конечно, исчезает с Ключа и номер автомата, в котором совершена покупка! Понимаешь? Мы добавили в Ключ крохотный элементик, микрокалькуляторчик, который сам выполняет эту дополнительную операцию в промежутке между регистрацией наличной суммы торговым автоматом и извлечением Ключа из прорези! Таким образом в Банк поступает сообщение, что клиент… раздумал, ничего не купил и вынул Ключ из автомата! Если ты проследишь все операции поочередно с учетом этого маленького изменения, то заметишь, какие чудесные, прямо-таки сказочные свойства имеет наш изумительный Ключ: мало того, что он сам содержит постоянное количество пунктов, так он еще удерживает банковскую запись в одном и том же состоянии независимо от произведенных закупок. Расходные операции и номера автоматов, в которых ты покупал, нигде не зарегистрированы. Можешь черпать сколько угодно!
– И верно, как в сказке с неразменным пятаком! – изумленно поддакнул Карл.
– Аналогия еще полнее, чем ты думаешь. Если помнишь, владелец пятака мог им пользоваться сколько угодно, но не мог передавать ни гроша никому другому, потому что тогда пятак переставал бы одаривать своего хозяина! Тут та же история. Если ты захочешь, например, дать кому-нибудь сто желтых в подарок, тогда…