> For the complete documentation index, see [llms.txt](https://cr-nepos.gitbook.io/aptos-ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cr-nepos.gitbook.io/aptos-ru/osnovy/tranzakcii-i-sostoyaniya.md).

# Транзакции и состояния

В основе блокчейна Aptos лежат две фундаментальные концепции — это транзакции и состояния:

* [Транзакции](#tranzakcii): транзакции представляют собой обмен данными (например, Aptos Coins или NFT) между учетными записями в блокчейне Aptos.
* [Состояния](#sostoyanie-reestra): состояние (т. е. текущее состояние реестра блокчейна) представляет собой отображение мгновенного состояния блокчейна в его текущем состоянии.

Когда транзакция выполняется, состояние блокчейна Aptos изменяется.

### Транзакции

Когда транзакция выполняется, состояние блокчейна Aptos изменяется.

[Подписанная транзакция](/aptos-ru/glossarii.md#transaction) в блокчейне содержит следующую информацию:

* **Подпись:** отправитель использует цифровую подпись, чтобы убедиться, что он подписал транзакцию (т. е. аутентификацию).
* **Адрес отправителя:** [адрес учетной записи](/aptos-ru/glossarii.md#adres-uchetnoi-zapisi) отправителя.
* **Открытый ключ отправителя:** открытый ключ проверки подлинности, соответствующий закрытому ключу проверки подлинности, используемому для подписи транзакции.
* **Программа:** программа включает:
  * модуль Move и имя функции или сценарий транзакции байт-кода move&#x20;
  * опциональный список входных данных для скрипта. Для peer-to-peer транзакции, эти входные данные содержат информацию о получателе и переданную ему сумму.
  * опциональный список модулей байт-кода Move для публикации.
* **Цена газа** (в указанной валюте/единицах газа): это сумма, которую отправитель готов заплатить за единицу газа для выполнения транзакции. Газ — это способ оплаты вычислений и хранения. Единица газа — это абстрактное измерение вычислений, не имеющее реальной ценности.
* **Максимальное количество газа:** [максимальное количество газа](/aptos-ru/glossarii.md#maksimalnoe-kolichestvo-gaza-maximum-gas-amount) — это максимальное количество единиц газа, разрешенное для транзакции.
* **Код валюты газа:** код валюты, используемый для оплаты газа.
* **Порядковый номер:** целое число без знака, которое должно быть равно [порядковому номеру](/aptos-ru/glossarii.md#sequence-number) учетной записи отправителя на момент выполнения.
* **Срок действия:** отметка времени, после которой транзакция перестает быть действительной (т. е. истекает).

### Состояние реестра

Состояние реестра Aptos Blockchain (или глобальное [состояние](/aptos-ru/glossarii.md#state)) включает в себя состояние всех учетных записей в блокчейне. Каждая валидирующая нода в блокчейне должна знать глобальное состояние последней версии распределенной базы данных блокчейна (версионированная база данных) для выполнения любой транзакции.

### Версионированная база данных

Все данные в блокчейне Aptos сохраняются в распределенной базе данных с одной версией. Номер версии — это 64-битное целое число без знака, которое соответствует количеству транзакций, выполненных системой.

Данная версионированная база данных позволяет узлам валидации:

* выполнять транзакцию по состоянию реестра в последней версии.&#x20;
* отвечать на запросы клиентов об истории реестра как в текущей, так и в предыдущей версии.

### Состояние изменения транзакций

![РИСУНОК 1.0 СОСТОЯНИЕ ИЗМЕНЕНИЯ ТРАНЗАКЦИЙ](https://3871566903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIkxeboWqDfSlpSyOiYpf%2Fuploads%2FvJvsQ1NHK4VhrP7CQ2Cd%2Ftransactions-7d6b830b61b1b992811649a3e3ec85de.svg?alt=media\&token=4720d53c-2246-4415-86e8-ca40b516c711)

На рисунке 1.0 показано, как выполнение транзакции TN изменяет состояние блокчейна Aptos с SN-1 на SN.

На рисунке:

<table><thead><tr><th width="150">Имя</th><th>Описание</th></tr></thead><tbody><tr><td>Учетные записи <strong>A</strong> и <strong>B</strong></td><td>Учетные записи Алисы и Боба в Aptos Blockchain</td></tr><tr><td><strong>SN-1</strong></td><td>Показывает (<strong>N-1</strong>)-е состояние блокчейна. В этом состоянии баланс учетной записи Алисы <strong>A</strong> составляет 110 монет Aptos, а баланс учетной записи Боба <strong>B</strong> составляет 52 монеты Aptos.</td></tr><tr><td><strong>TN</strong></td><td>Это <strong>N</strong>-я транзакция, выполненная в блокчейне. В этом примере показана Алиса, отправляющая Бобу 10 монет Aptos.</td></tr><tr><td><strong>F</strong></td><td>Это детерминированная функция. <strong>F</strong> всегда возвращает одно и то же конечное состояние для определенного начального состояния и конкретной транзакции. Если текущее состояние блокчейна — <strong>SN-1</strong>, а транзакция <strong>TN</strong> выполняется в состоянии <strong>SN-1</strong>, новым состоянием блокчейна всегда будет <strong>SN</strong>. Aptos Blockchain использует <a href="https://aptos.github.io/move">язык Move</a> для реализации функции детерминированного выполнения <strong>F</strong>.</td></tr><tr><td><strong>SN</strong></td><td>Это <strong>N</strong>-е состояние блокчейна. Когда транзакция <strong>TN</strong> применяется к блокчейну, она генерирует новое состояние <strong>SN</strong> (результат применения <strong>F</strong> к <strong>SN-1</strong> и <strong>TN</strong>). Это приводит к тому, что баланс счета Алисы уменьшается на 10 до 100 монет Aptos, а баланс счета Боба увеличивается на 10 до 62 монет Aptos. Новое состояние <strong>SN</strong> показывает обновленные балансы.</td></tr></tbody></table>
