Stratum — протокол взаимодействия между майнинг-оборудованием или клиентом и серверной инфраструктурой пула. Он определяет способ передачи заданий, результатов вычислений и служебной информации, необходимой для совместного майнинга.

В типичной архитектуре майнер не взаимодействует с блокчейн-сетью для каждой отдельной вычислительной попытки. Вместо этого он получает работу через пул. Stratum обеспечивает коммуникационный слой, через который пул сообщает, что именно нужно вычислять, а майнер сообщает о найденных shares.

Основные функции Stratum

  • установление и поддержание соединения;
  • аутентификация или идентификация worker;
  • передача параметров задания;
  • уведомление о появлении нового задания;
  • передача найденных shares;
  • обработка служебных сообщений;
  • контроль состояния соединения.

Stratum в архитектуре пула

Упрощённая схема выглядит следующим образом:

Майнер → Stratum → сервер пула → инфраструктура пула → блокчейн-сеть.

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

Почему протокол важен

Майнинг требует постоянной передачи новых заданий и результатов. Если коммуникация работает нестабильно, оборудование может продолжать вычисления по устаревшему заданию, что увеличивает количество stale shares. Поэтому задержка, стабильность и корректность обмена данными имеют непосредственное практическое значение.

Наиболее известными версиями являются Stratum V1 и Stratum V2.