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

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

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

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

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

Транзакции

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

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

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

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

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

  • Программа: Программа включает в себя: - Модуль Move и имя функции или скрипт транзакции move bytecode. - Необязательный список входов для скрипта. Для одноранговой транзакции эти входы содержат информацию о получателе и переведенной ему сумме. - Необязательный список модулей Move bytecode для публикации.

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

  • Максимальное количество газа: Максимальное количество газа - это максимальное количество единиц газа, которое может быть израсходовано транзакцией.

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

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

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

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

База данных с версиями

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

Эта база данных с версией позволяет нодам валидатора:

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

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

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

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

На рисунке:

  • Учетные записи A и B - Представьте учетные записи Alice и Bob на блокчейне Aptos

  • SN-1 - Представляет собой (N-1)-е состояние блокчейна. В этом состоянии баланс учетной записи Alice A составляет 110 Aptos Coins, а баланс учетной записи Bob B составляет 52 Aptos Coins.

  • TN - Это N-ая транзакция, выполненная на блокчейне. В данном примере она представляет собой отправку Alice 10 Aptos Coins Bob.

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

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

Last updated