Визначення

Block (блок) у Solana — це структурований пакет даних, що містить список виконаних транзакцій, результати їх обробки та метадані (хеш попереднього блоку, висота блоку, позначка часу, підпис лідера). Блок формується поточним лідером і після підтвердження валідаторами стає незмінною частиною ланцюжка.

Як працює

  • Лідер збирає транзакції з пам'яті Transaction Processing Unit (TPU) та впорядковує їх.
  • Виконує кожну транзакцію: змінює баланси акаунтів, оновлює стан програм, записує логи.
  • Формує блок із результатами виконання та підписує його своїм приватним ключем.
  • Транслює блок мережі — валідатори перевіряють підписи та коректність змін стану.
  • Після досягнення консенсусу блок вважається фіналізованим, а всі включені транзакції — незворотними.

У Solana блоки тісно пов'язані з часовими вікнами (слотами), проте не кожен слот обов'язково містить блок. Якщо лідер не встигає сформувати блок або в черзі немає транзакцій, слот залишається порожнім.

Приклад

Користувач відправляє транзакцію переказу 0,5 SOL. Транзакція потрапляє до пам'яті TPU, поточний лідер обирає її, виконує та змінює баланси обох акаунтів. Результат разом з іншими транзакціями потрапляє до блоку. Після підтвердження валідаторами переказ стає фінальним — саме включення до блоку гарантує незворотність.

Типова помилка

Вважати, що блок у Solana працює ідентично до блоку в Bitcoin чи Ethereum. У Solana блок створює не конкурентне змагання майнерів, а один визначений лідер у межах свого слота. Крім того, наявність порожніх слотів без блоків — це нормальна поведінка мережі, а не ознака збою.

Пов'язані матеріали

Внутрішні переходи

  • Комісія (Fee) — скільки коштує включення транзакції до блоку та як розподіляється оплата.
  • Slot — часові вікна, протягом яких лідер має право створювати блоки, і як вони пов'язані з блоками.

Додаткові ресурси

  • Офіційна документація Solana про архітектуру лідерського розкладу та формування блоків.
  • Опис формату блоку у репозиторії Solana на GitHub — для розробників, які працюють з десеріалізацією даних.