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

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

  • Транзакции: транзакции представляют собой обмен данными (например, Aptos Coins или NFT) между учетными записями в блокчейне Aptos.

  • Состояния: состояние (т. е. текущее состояние реестра блокчейна) представляет собой отображение мгновенного состояния блокчейна в его текущем состоянии.

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

Транзакции

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

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

  • Подпись: отправитель использует цифровую подпись, чтобы убедиться, что он подписал транзакцию (т. е. аутентификацию).

  • Адрес отправителя: адрес учетной записи отправителя.

  • Открытый ключ отправителя: открытый ключ проверки подлинности, соответствующий закрытому ключу проверки подлинности, используемому для подписи транзакции.

  • Программа: программа включает:

    • модуль Move и имя функции или сценарий транзакции байт-кода move

    • опциональный список входных данных для скрипта. Для peer-to-peer транзакции, эти входные данные содержат информацию о получателе и переданную ему сумму.

    • опциональный список модулей байт-кода Move для публикации.

  • Цена газа (в указанной валюте/единицах газа): это сумма, которую отправитель готов заплатить за единицу газа для выполнения транзакции. Газ — это способ оплаты вычислений и хранения. Единица газа — это абстрактное измерение вычислений, не имеющее реальной ценности.

  • Максимальное количество газа: максимальное количество газа — это максимальное количество единиц газа, разрешенное для транзакции.

  • Код валюты газа: код валюты, используемый для оплаты газа.

  • Порядковый номер: целое число без знака, которое должно быть равно порядковому номеру учетной записи отправителя на момент выполнения.

  • Срок действия: отметка времени, после которой транзакция перестает быть действительной (т. е. истекает).

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

Состояние реестра Aptos Blockchain (или глобальное состояние) включает в себя состояние всех учетных записей в блокчейне. Каждая валидирующая нода в блокчейне должна знать глобальное состояние последней версии распределенной базы данных блокчейна (версионированная база данных) для выполнения любой транзакции.

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

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

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

  • выполнять транзакцию по состоянию реестра в последней версии.

  • отвечать на запросы клиентов об истории реестра как в текущей, так и в предыдущей версии.

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

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

На рисунке:

ИмяОписание

Учетные записи A и B

Учетные записи Алисы и Боба в Aptos Blockchain

SN-1

Показывает (N-1)-е состояние блокчейна. В этом состоянии баланс учетной записи Алисы A составляет 110 монет Aptos, а баланс учетной записи Боба B составляет 52 монеты Aptos.

TN

Это N-я транзакция, выполненная в блокчейне. В этом примере показана Алиса, отправляющая Бобу 10 монет Aptos.

F

Это детерминированная функция. F всегда возвращает одно и то же конечное состояние для определенного начального состояния и конкретной транзакции. Если текущее состояние блокчейна — SN-1, а транзакция TN выполняется в состоянии SN-1, новым состоянием блокчейна всегда будет SN. Aptos Blockchain использует язык Move для реализации функции детерминированного выполнения F.

SN

Это N-е состояние блокчейна. Когда транзакция TN применяется к блокчейну, она генерирует новое состояние SN (результат применения F к SN-1 и TN). Это приводит к тому, что баланс счета Алисы уменьшается на 10 до 100 монет Aptos, а баланс счета Боба увеличивается на 10 до 62 монет Aptos. Новое состояние SN показывает обновленные балансы.

Last updated