DEV Community

EgorMajj
EgorMajj

Posted on

Концепции APTOS | Ноды Валидатора

Нода Aptos - это объект экосистемы Aptos, который отслеживает состояние блокчейна Aptos. Пользователи взаимодействуют с блокчейном через ноды Aptos. Существует два типа нод:

  • Ноды Валидатора
  • Полные ноды
    Каждая нода Aptos состоит из нескольких логических компонентов:

  • REST-сервис

  • Mempool

  • Консенсус (отключен в Полных нодах)

  • Execution

  • Виртуальная машина

  • Хранилище

  • Синхронизатор состояния

Программное обеспечение Aptos-core может быть настроено для работы в качестве ноды валидатора или полного ноды.

Обзор

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

Блокчейн Aptos использует протокол консенсуса Byzantine Fault Tolerance (BFT) для ноды-валидаторов, чтобы согласовать журнал завершенных транзакций и результаты их выполнения. Ноды-валидаторы обрабатывают эти транзакции и включают их в свою локальную копию базы данных блокчейна. Это означает, что актуальные ноды-валидаторы всегда имеют локальную копию текущего состояния блокчейна.

Ноды-валидаторы напрямую общаются с другими нодами-валидатора через частную сеть. Полные ноды (FullNodes) являются внешним ресурсом проверки и/или распространения завершенной истории транзакций. Они получают транзакции от коллег и могут повторно выполнять их локально (так же, как валидатор выполняет транзакции). Полные ноды хранят результаты повторно выполненных транзакций в локальном хранилище. Таким образом, они могут опровергнуть любую нечестную игру со стороны валидаторов и предоставить доказательства в случае попытки переписать или изменить историю блокчейна. Это помогает смягчить последствия коррупции валидаторов и/или сговора.

Протокол консенсуса AptosBFT обеспечивает отказоустойчивость до одной трети вредоносных нод-валидаторов.

Mempool

Mempool - это компонент внутри каждой ноды, который хранит в памяти буфер транзакций, которые были представлены в блокчейн, но еще не согласованы или не выполнены. Этот буфер реплицируется между узлами-валидаторами и полными нодами.

Служба JSON-RPC полной ноды отправляет транзакции в mempool ноды валидатора. Mempool выполняет различные проверки транзакций для обеспечения их достоверности и защиты от DOS-атак. Когда новая транзакция проходит первичную проверку и добавляется в mempool, она затем распространяется по mempool других нод-валидаторов в сети.

Когда нода-валидатор временно становится лидером в протоколе консенсуса, консенсус извлекает транзакции из mempool и предлагает новый блок транзакций. Этот блок транслируется другим валидаторам и содержит общее упорядочивание всех транзакций в блоке. Затем каждый валидатор выполняет блок и подает голоса о том, принимать или не принимать предложение нового блока.

Консенсус

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

Execution

Execution - это компонент, который координирует выполнение блока транзакций и поддерживает переходное состояние. Консенсус голосует по этому переходному состоянию. Execution поддерживает представление результатов выполнения в памяти до тех пор, пока консенсус не зафиксирует блок в распределенной базе данных. Execution использует виртуальную машину для выполнения транзакций. Выполнение действует как "клейкий слой" между входами системы (представленными транзакциями), хранилищем (обеспечивающим уровень постоянства) и виртуальной машиной (для выполнения).

Виртуальная машина

Виртуальная машина используется для запуска программы Move внутри каждой транзакции и определения результатов выполнения. Mempool нода использует виртуальную машину для выполнения проверок транзакций, а execution использует виртуальную машину для выполнения транзакций.

Хранилище

Компонент хранилища используется для сохранения согласованных блоков транзакций и результатов их выполнения в локальной базе данных.

Синхронизатор состояния

Ноды используют свой компонент синхронизатора состояния, чтобы "догнать" последнее состояние блокчейна и оставаться в актуальном состоянии.

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay