Mining Latency — часова затримка конкретного кроку майнінгу: розподілу або активації роботи, передавання знайденої share чи поширення блока-кандидата. Значення має визначати вимірювані кінцеві події та умови спостереження.
Stratum V2 розрізняє розподіл роботи й подання результатів. Час від надсилання до отримання завдання — не час від отримання до фактичного перемикання ASIC; повернення share до пулу є іншим шляхом. Визначте обидві кінцеві події та поєднуйте записи через channel_id і job_id. [Stratum V2 — Mining Protocol]
Braiins описує ping як перевірку досяжності. Його RTT охоплює прямий і зворотний шлях; автоматичне ділення навпіл не вимірює односторонню затримку, бо напрямки можуть бути асиметричними. Ping також не вимірює створення завдання, чергу проксі чи активацію пристроєм. Порівнюйте однаковий тип трафіку й кінцеві точки. [Braiins — Connection diagnostics] [RFC7679 — One-Way Delay Metric]
RFC7679 вимагає враховувати синхронізацію годинників і місце часової позначки. Приклад: Tsend = 1000 ms і Trecv = 1040 ms дають 40 ms лише за порівнюваних годинників. Зсув годинника отримувача на 30 ms змінює трактування. Без оцінки невизначеності різниця між серверами не доводить прискорення. [RFC7679 — One-Way Delay Metric]
У Stratum V2 Future Job може надійти заздалегідь; відповідний SetNewPrevHash із job_id його активує. Тому вимірюйте й затримку активації, а не лише завантаження шаблону. Непорожнє завчасне завдання може містити транзакцію, вже включену до нового блока; швидша доставка не виправдовує ігнорування конфлікту чи майнінг нечинного блока. [Stratum V2 — Mining Protocol]
Stratum V2 дозволяє пакетні SubmitShares.Success. Очікування відповіді може включати навмисне групування; це не чистий мережевий час і не доказ, що share весь час чекала прийняття. SubmitShares.Error може надійти після відкладеної перевірки. Зіставляйте sequence_number та розрізняйте надсилання, отримання, перевірку й підтвердження. [Stratum V2 — Mining Protocol]
У режимі high-bandwidth BIP152 надсилає cmpctblock без попереднього запиту. Якщо отримувачу бракує транзакцій, getblocktxn і blocktxn додають ще один обмін. Це поширення блоків між вузлами, а не вимір подання shares. Менше даних не гарантує нульової затримки й не замінює повної перевірки. [BIP152 — Compact Block Relay]
RFC7679 задає межу Tmax і трактує недоставлений пакет як невизначену затримку; для його процентиля такі значення впорядковуються як нескінченно великі. Для власних p50/p95 зазначайте метод, кількість вимірів і втрати. Відкидання всіх таймаутів може прикрасити результат; порожня вибірка не означає нульової затримки. [RFC7679 — One-Way Delay Metric]
Змінюючи маршрут або налаштування, зберігайте порівнювані пристрої, часові вікна й визначення вимірів. Окремо відстежуйте активацію job_id, підтвердження роботи, причини відмов і збої; менший ping RTT не доводить зниження кожної затримки. Це метод порівняння, не обіцянка знайти блок і не універсальна безпечна межа в ms. [Stratum V2 — Mining Protocol] [Braiins — Connection diagnostics] [RFC7679 — One-Way Delay Metric]
Для повної картини прочитайте також Stale Rate, Block propagation, Stratum V2, Mining Pool. На цю статтю також посилаються Stale Rate.