Транзакция – что это такое?

Что такое транзакция.
Автор: Александр Мойсеенко / Опубликовано:06.03.2019 / Последнее обновление: 6.03.2019

Транзакция – обмен информацией, в результате которого происходят изменения состояния аккаунтов участвующих сторон. Термин чаще всего применяется при совершении сделок с цифровыми деньгами и обозначает передачу средств от одной стороны к другой.

Рассмотрим ситуацию с покупателем и продавцом в магазине, когда покупатель расплачивается за покупки с помощью своей карты. Введя пин-код, покупатель подтверждает свою личность и дает право на снятие требуемого продавцом количества денег. Если система подтверждает наличие средств в кошельке, она их списывает и зачисляет на счет продавца. Продавец получает подтверждение и печатает чек. Комплекс действий по оплате товаров в данном случае называется транзакцией.

Транзакции в базах данных

Термин также используется в программировании баз данных. База данных – это таблица, в которую можно вносить новую или изменять уже существующую информацию. Изменения базы данных описываются как ее состояния. Если транзакция успешна – база переходит в новое состояние, если нет – откатывается к предыдущему.

Транзакцией называют список вносимых изменений. Результат транзакции, как и в случае с денежными переводами, может быть положительным и отрицательным. У транзакции несколько стадий, если хотя бы одна из них неудачна – вся транзакция отклоняется, а удачные этапы откатываются. В этом случае транзакция будет отклонена.

Изменение состояний базы данных пересекается с транзакциями в общепринятом смысле слова. По сути, при совершении платежа пользователь взаимодействует с базами данных, их состояния изменяются в зависимости от действий пользователя. В случае с банковской транзакцией, база данных хранится в определенном, защищенном месте.

Распределенные реестры, которые хранятся на нескольких компьютерах одновременно, тоже используют базы данных и транзакции меняют их состояние. Такие реестры называют блокчейнами, они состоят из транзакций, упакованных в блоки.

Виды транзакций

Мы будем рассматривать транзакцию применительно к денежным средствам, так как наиболее часто термин используют применительно к обмену деньгами. Слово произошло из латыни и означает «договор». Помимо наиболее часто используемого варианта, в ходу также «трансакция». Этот менее популярный вариант произошел из-за того, что букву «S» в исходном слове можно передать двумя звуками нашего языка.

Инициация транзакции может произойти следующими способами:

  • Подачей заявления в банк – когда клиент банка, у которого есть счет, отдает распоряжения о трате средств в письменном виде.
  • Подачей заявления посредством электронных платежных систем. Поскольку перед распоряжением средствами пользователь проходит идентификацию с помощью логина и пароля, заполнять заявления не требуется.
  • Подачей заявки через блокчейн. Авторизация пользователя происходит благодаря закрытому ключу, который известен только владельцу криптовалютного кошелька.

Транзакции могут быть:

  • Банковскими, происходят между расчетными счетами.
  • Банкоматными – когда снимаются наличные в банкомате.
  • С участием пластиковой карты платежных систем – оплата онлайн или в магазине.
  • Электронными – денежные переводы в электронных платежных системах.

Кроме этого, деньги можно перевести с помощью моментальных переводов, при этом открытие счета не требуется. Деньги отправляются на имя человека и их можно забрать в одном из офисов компании. Одним из примеров является система переводов Western Union.

Если денежный перевод производится пользователем в режиме реального времени, процесс называют «онлайн транзакцией». Если расчеты производятся через некоторое время, то это офлайн транзакция.

Транзакции в банкоматах

Рассмотрим работу банкомата на примере VISA и MasterCard, карты которых обслуживаются практически по всему миру. Для подключения к системе, банк заключает соглашение с провайдером в своей стране, который прокладывает кабель для связи. Для выпуска карт банк получает BIN-номера, которые можно увидеть на лицевой стороне карты. С их помощью происходит идентификация банка и пользователя.

Процесс получения клиентом наличных будет выглядеть следующим образом:

  • После получения карты банкомат ее сканирует и определяет банк-эмитент.
  • Авторизация пользователя происходит путем введения правильного ПИН-кода.
  • Если карта и банкомат обслуживаются одним и тем же банком, на экран будет выведен список доступных действий.
  • Если карта обслуживается другим банком, обычно можно только проверить баланс и снять деньги.
  • Пользователь выбирает выдачу определенного количества денег.
  • Банкомат посылает зашифрованное сообщение в специальный интерфейс для обработки онлайн-платежей, который называется Front-End.
  • Front-End проверяет наличие нужного количества денег на счету и не противоречит ли операция лимитам, установленным на карте.
  • Затем зашифрованное сообщение с результатами обработки отправляется обратно в банкомат.
  • Банкомат расшифровывает сообщение, если операция одобрена – выдает клиенту деньги и сообщает итоги в Front-End.
  • Пользователь получает деньги и уходит.

Front-End получает результаты и замораживает сумму на лимите авторизации пользователя, который отображает состояние счета. Лимит авторизации отвечает за соблюдение установленных банком лимитов и может меняться в течение дня.

Реальное перемещение денег начинается лишь в конце этого дня или начале следующего. Именно тогда банк получает информацию по всем транзакциям за день, обрабатывает все суммы сразу и списывает деньги со счетов пользователей.

Если пользователь планирует получить деньги в чужом банкомате, то в процесс включается платежная система, обслуживающая карту. После авторизации:

  • Банкомат пошлет зашифрованное сообщение в банк, обслуживающий банкомат.
  • Банк свяжется с платежной системой и передаст ей детали требуемой транзакции.
  • Платежная система свяжется с банком, который выпустил карту.
  • Банк одобрит или отклонит транзакцию в зависимости от состояния счета.
  • Обработанные данные будут переданы в банк, обслуживающий банкомат.
  • Затем данные будут переданы в банкомат, который выдаст деньги или сообщит пользователю, что транзакция не прошла.

Расчет банков с платежной системой и между собой происходит позже, в офлайн-режиме.

Транзакции в электронных платежных сервисах

Многие электронные платежные сервисы выпускают карты международных систем и соединяют их со счетами своих пользователей. В качестве примера можно привести Яндекс-Деньги и Qiwi, которые сотрудничают с VISA и MasterCard соответственно. При работе с картами этих сервисов действует схема, описанная выше. Перечисление между счетами пользователей происходит следующим образом:

  • Клиент авторизуется на сервисе с помощью логина и пароля.
  • В случае двухфаторной аутентификации, вводит данные из полученного от эмитента карты текстового сообщения.
  • Получает доступ к веб-интерфейсу своего счета, открытого в сервисе.
  • Выбирает «перевести средства», вводит сумму и номер счета получателя. В случае с Qiwi – телефонный номер, ассоциированный со счетом пользователя, в случае с Яндекс-Деньгами – номер счета или адрес электронной почты.
  • После нажатия кнопки «перевести», сервис проверяет наличие средств и осуществляет перевод. Балансы пользователей обновляются.

Работа других электронных сервисов не отличается от описанной схемы. В сети WebMoney или PayPal транзакции со стороны пользователя выглядят похожим образом.

Криптовалютные транзакции

В основе криптовалют лежит блокчейн – распределенный и децентрализованный реестр данных. Система автономна, у нее нет центра обработки транзакций и принятия решений. Проведение транзакции существенно отличается от банковских операций.

Схема отправки криптовалюты.

Вот порядок проведения криптовалютной транзакции:

  • Пользователь авторизуется в сервисе с помощью приватного ключа, который вместе с публичным генерируется при создании кошелька. Приватный ключ известен только владельцу кошелька. Публичный ключ общедоступен, его используют в качестве номера счета.
  • Во вкладке «совершить перевод» пользователь вводит требуемую сумму и публичный адрес кошелька получателя.
  • После нажатия кнопки «подтвердить», транзакция определенным образом шифруется и поступает в обработку.
  • Проверка транзакции происходит путем расшифровки заданной пользователем математической задачи. Этим занимаются майнеры – мощные компьютеры. Один из майнеров производит требуемые вычисления и посылает их в сеть.
  • Другие майнеры проверяют правильность решения задачи. Если результаты сходятся – после получения определенного количества подтверждений транзакция добавляется в блок. Добавление временной метки позволяет хронологически упорядочивать транзакции.
  • Блокчейн состоит из блоков, которые идут в хронологической последовательности. В каждом блоке может содержаться определенное количество транзакций.
  • Когда набирается нужное количество, майнеры должны совершить сложные вычисления на основе всех добавленных в блок транзакций.
  • Майнер, нашедший решение, запечатывает блок. Теперь транзакция считается подтвержденной.

Система работает благодаря стимуляции майнеров – они получают денежное вознаграждение за нахождение новых блоков. Это происходит за счет выпуска новых монет системы.

Время подтверждения транзакции зависит от криптовалютной сети. В сети Bitcoin, самой известной криптовалюты на сегодняшний день, процесс может занимать до 10 минут. Так долго ждать приходится из-за низкой пропускной способности сети, а также ее правил.

Вывод

В данном материале мы подробно рассказали, что такое транзакция. Виды транзакций и использование в базах данных. Так же рассказали о транзакциях в банкоматах и в электронных платежных сервисах. А ещё затронули тему о криптовалютных транзакциях.

А вы пользуетесь транзакциями и как часто? Напишите об этом в комментариях.


Статья была Вам полезной?
Поставьте оценку - поддержите проект!

Очень плохоПлохоНормальноХорошоОтлично
Загрузка...



Комментарии пользователей

Нет комментариев