DEV Community

EgorMajj
EgorMajj

Posted on

Концепции APTOS | Транзакции и состояние

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

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

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

Транзакции

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

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

  • Подпись: Отправитель использует цифровую подпись для подтверждения того, что он подписал транзакцию (т.е. аутентификация).
  • Адрес отправителя: Адрес счета отправителя.
  • Открытый ключ отправителя: Открытый ключ аутентификации, который соответствует закрытому ключу аутентификации, используемому для подписания транзакции.
  • Программа: Программа включает в себя: - Модуль Move и имя функции или скрипт транзакции move bytecode. - Необязательный список входов для скрипта. Для одноранговой транзакции эти входы содержат информацию о получателе и переведенной ему сумме. - Необязательный список модулей Move bytecode для публикации.
  • Цена газа (в указанных единицах газа): Это сумма, которую отправитель готов заплатить за единицу газа для выполнения транзакции. Газ - это способ оплаты вычислений и хранения. Единица газа - это абстрактное измерение вычислений, не имеющее реальной ценности.
  • Максимальное количество газа: Максимальное количество газа - это максимальное количество единиц газа, которое может быть израсходовано транзакцией.
  • Номер последовательности: Это целое число без знака, которое должно быть равно порядковому номеру учетной записи отправителя на момент выполнения операции.
  • Время истечения: Временная метка, после которой транзакция перестает быть действительной (т.е. истекает).

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

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

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

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

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

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

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

Image description

РИСУНОК 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 показывает эти обновленные балансы.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay