پایش ماینینگ و هشدارها: چگونه در چند دقیقه از قطعی باخبر شویم، نه بعد از یک روز

قطعی در مزرعه تقریباً هرگز نمایشی دراماتیک ندارد. چراغی خاموش نمی‌شود، دودی بلند نمی‌شود. به سادگی، در یک لحظه بخشی از دستگاه‌ها دیگر share تحویل نمی‌دهند و شما صبح متوجه آن می‌شوید، وقتی پرداختی کمتر از دیروز باشد. تا آن زمان پول از دست رفته و دیگر برنگشتنی است: شبکه سهم شما را با تأخیر دوباره محاسبه نمی‌کند.

در ادامه بررسی می‌کنیم چرا داشبورد استخر برای نقش سیستم هشدار مناسب نیست، کدام معیارها از پیش خبر از خرابی می‌دهند و چگونه می‌توان با ابزارهایی که همین حالا در دسترس‌اند یک هشدار ساده ساخت.

یک ساعت قطعی چقدر هزینه دارد

با فرمولی که هر ماشین‌حساب سودآوری استفاده می‌کند حساب می‌کنیم:

\`\`\`

BTC در روز = (hashrate × 86400) / (difficulty × 2^32) × 3.125

\`\`\`

در اینجا 86400 ثانیه‌های یک روز است، 2^32 از تعریف difficulty می‌آید، و 3.125 BTC یارانه فعلی هر بلاک است (مقدار از برش شبکه ما در تاریخ 08.09.2026).

با جایگذاری difficulty برابر با 127.45 تریلیون (mempool.space، 08.09.2026) و نرخ 78,349 دلار:

تواندرآمد روزانههزینه یک ساعت قطعیهزینه یک روز قطعی
100 TH/s3.86 $0.161 $3.86 $
1 PH/s38.6 $1.61 $38.6 $
10 PH/s386 $16.1 $386 $

این محاسبه ناخالص است، پیش از کارمزد استخر و برق، و کارمزد تراکنش را در نظر نمی‌گیرد (طبق mempool.space، در تاریخ 08.09.2026 این کارمزدها در یک بازه 4320 بلاکی 0.66% به پاداش اضافه می‌کردند، یعنی از نظر مرتبه بزرگی تقریباً چیزی را تغییر نمی‌دهد).

سپس یک حساب ساده. خرابی ساعت یک بامداد رخ داده، ساعت یک بعدازظهر متوجه شده‌اید. دوازده ساعت، مزرعه‌ای با 10 PH/s: حدود 193 دلار که به سادگی در پرداختی ظاهر نخواهد شد. اگر این تصادف ماهی یک بار رخ دهد، در سال بیش از دو هزار دلار با تجهیزاتی کاملاً سالم برای شما هزینه دارد.

هزینه تأخیر به‌صورت خطی افزایش می‌یابد
هزینه تأخیر به‌صورت خطی افزایش می‌یابد

چرا داشبورد استخر جایگزین پایش نمی‌شود

خلاصه: استخر وضعیت تجهیزات شما را نشان نمی‌دهد، بلکه وضعیت جریان share هایی را نشان می‌دهد که به آن رسیده است. بین قطع ارتباط و تغییر وضعیت در داشبورد ده‌ها دقیقه فاصله است، چون استخر باید خرابی واقعی را از قطع اتصال معمولی تشخیص دهد. در AntPool این رسماً تعریف شده: یک worker پس از 20 دقیقه بدون share وضعیت Inactive می‌گیرد، و وضعیت Invalid تنها پس از 24 ساعت سکوت (AntPool support, Worker Management).

بیست دقیقه در توان 10 PH/s همین حالا 5.4 دلار است، و این بهترین حالت است: worker به‌طور کامل افتاده و وضعیت واقعاً تغییر می‌کند. اگر دستگاه کار می‌کند اما نصف تولید می‌دهد، وضعیت سبز باقی می‌ماند و استخر چیزی به شما نمی‌گوید.

دلیل دومی هم هست. hashrate روی داشبورد استخر اندازه‌گیری نیست، بلکه برآوردی بر اساس تعداد share های پذیرفته‌شده در یک بازه میانگین‌گیری است. هر استخر بازه خودش را دارد و در مستندات همیشه ذکر نمی‌شود. هرچه بازه کوتاه‌تر باشد، نمودار عصبی‌تر است؛ هرچه بلندتر باشد، واکنش به افت واقعی دیرتر است.

مقادیر تأخیر و آستانه‌های استخرهای دیگر را در مستندات خودشان بررسی کنید: اعدادی که به‌طور رسمی تأیید شده باشند تنها در AntPool یافتیم و نمی‌توان آن‌ها را به استخرهای دیگر تعمیم داد.

سه سطح مشاهده

می‌توان در سه جا مشاهده کرد، و هرکدام بخشی از تصویر را می‌بینند.

سطحچه می‌بیندچه نمی‌بیندتأخیر معمول
خود ماینر (رابط وب، API محلی)دمای بردها و چیپ‌ها، دور فن‌ها، hashrate محلی به تفکیک hashboard، share های رد شده، ریست شدن، خطاهای چیپاینکه ارتباط با استخر پشت روتر شما قطع شده یا نه، اینکه share ها ثبت شده‌اند یا نهچند ثانیه
شبکه و برق (روتر، UPS، سنسورهای محل)قطع اینترنت، قطع برق، دما و رطوبت محلداخل یک دستگاه مشخص چه می‌گذردچند ثانیه
آمار استخر (داشبورد، API حساب)share های پذیرفته‌شده، hashrate مؤثر، وضعیت worker ها، واریزی‌هاعلت مشکل و وضعیت سخت‌افزاراز چند دقیقه تا چند ده دقیقه، به مثال AntPool در بالا نگاه کنید

هیچ سطحی به‌تنهایی کافی نیست. ماینر صادقانه از داغ شدن خبر می‌دهد، اما اگر ارائه‌دهنده اینترنت شما مسیر به استخر را قطع کند، ساکت می‌ماند. استخر ناپدید شدن share ها را می‌بیند، اما با تأخیر و بدون توضیح علت. سنسور برق آنی واکنش می‌دهد، اما نمی‌تواند دستگاه خاموش را از دستگاه هنگ‌کرده تشخیص دهد.

حداقل کاربردی، سطح اول و سوم است: داده محلی برای یافتن علت، داده استخر برای اطمینان از اینکه کار واقعاً پرداخت شده است.

کدام معیارها از پیش خبر از خرابی می‌دهند

پاسخ مستقیم: سهم share های رد شده، اختلاف پایدار بین hashrate محلی و استخر، دمای چیپ‌ها و شمارنده ریست. این چهار عدد پیش از توقف کامل دستگاه تغییر می‌کنند و زمان لازم برای مداخله پیش از تبدیل شدن قطعی به یک قطعی کامل را می‌دهند.

  1. share های رد شده (reject rate). سهم فزاینده رد شدن تقریباً همیشه مربوط به شبکه است: از دست رفتن بسته، روتر بارگذاری‌شده بیش از حد، مسیر بد به سرور استخر. نُرم رد شدن را در مقاله‌های دیگران دنبال نکنید، بلکه در داده‌های خودتان طی یک هفته آرام: هر ترکیب تجهیزات و ارائه‌دهنده نُرم خودش را دارد.
  2. شکاف بین hashrate محلی و استخر. بخش جداگانه‌ای درباره آن در ادامه هست، چون اینجا بیشترین جایی است که بی‌دلیل وحشت رخ می‌دهد.
  3. دمای چیپ‌ها و دور فن‌ها. رادیاتوری که با گرد و غبار پوشیده شده، دما را به‌تدریج بالا می‌برد. دستگاه ابتدا خودش فرکانس را کاهش می‌دهد، درصدی از سودآوری را بی‌سروصدا از دست می‌دهد، و تنها بعد از آن وارد حالت حفاظتی می‌شود. دقیقاً همین فاز افت خاموش با یک آستانه دمایی به‌خوبی قابل شناسایی است.
  4. شمارنده uptime. اگر uptime دستگاه به‌طور منظم صفر می‌شود، شما ریست‌هایی دارید که استخر از آن‌ها خبر نمی‌دهد: بین ریست‌ها share ها ادامه می‌یابند، وضعیت سبز است، اما تولید کل کمتر است.
  5. تعداد hashboard های سالم. افتادن یک برد در دستگاه سه‌بردی به معنای یک‌سوم درآمد کمتر است در حالی که worker در داشبورد کاملاً زنده به نظر می‌رسد.
داشبورد استخر دیرتر از شما از خرابی خبردار می‌شود
داشبورد استخر دیرتر از شما از خرابی خبردار می‌شود

چرا استخر همیشه عددی کمتر از خود ماینر نشان می‌دهد

پاسخ مستقیم: ماینر سرعت جستجویی را نشان می‌دهد که خودش محاسبه کرده، و استخر برآوردی را نشان می‌دهد که از share های پذیرفته‌شده بازسازی شده است. مقدار دوم آماری است، بنابراین نوسان دارد و به‌طور میانگین کمتر است: بخشی از کار صرف share های رد شده و دیرکرد شده می‌شود، بخشی هم در گرد کردن بازه میانگین‌گیری از دست می‌رود.

قاعده عملی ساده است. اختلاف چند درصدی که در طول روز بالا و پایین می‌رود، پراکندگی طبیعی نمونه است، نه خرابی. سیگنال واقعی متفاوت به نظر می‌رسد: hashrate استخر پایین می‌رود و همان‌جا می‌ماند، در حالی که hashrate محلی تغییر نمی‌کند. چنین تصویری یعنی دستگاه محاسبه می‌کند، اما نتیجه به استخر نمی‌رسد یا ثبت نمی‌شود.

اینکه نُرم برای ترکیب دقیق شما چقدر است را هیچ‌کس نمی‌تواند به‌جای شما بگوید. اعداد خودتان را طی یک هفته آرام جمع کنید، نسبت میانگین hashrate استخر به محلی را محاسبه کنید و از آن شروع کنید. برای همه آستانه‌های زیر هم باید همین کار را انجام داد.

چگونه بدون سرویس‌های شخص ثالث هشدار بسازیم

به هر دستگاهی که شبانه‌روز کار کند و بتواند درخواست HTTP بفرستد نیاز است: یک سرور کوچک خانگی، روتری که بتواند اسکریپت اجرا کند، یک لپ‌تاپ قدیمی. سپس دو منبع داده.

از سمت ماینر. رابط وب ASIC hashrate فعلی، دماها، دور فن‌ها، uptime، وضعیت hashboard ها و شمارنده‌های رد شدن را می‌دهد. در بسیاری از firmware ها همین داده‌ها به‌صورت قابل خواندن برای ماشین از طریق API محلی یا سوکت مدیریت هم در دسترس است. آدرس‌ها و فرمت دقیق به سازنده و نسخه firmware بستگی دارد، مستندات مدل خودتان را ببینید.

از سمت استخر. برخی استخرها API حسابی دارند که hashrate و وضعیت worker ها را با یک کلید از پنل شخصی می‌دهد. در دسترس بودن، فرمت و محدودیت درخواست در هر استخر متفاوت است و باید در مستندات همان استخر بررسی شود: استاندارد یکسانی اینجا وجود ندارد و ما endpoint هایی فراتر از آنچه در گزارش‌هایمان توصیف شده تأیید نکرده‌ایم.

منطق اسکریپت در ده خط جا می‌شود: هر دقیقه یک‌بار از ماینرها بپرسید، هر چند دقیقه یک‌بار از استخر بپرسید، مقادیر را با آستانه‌ها مقایسه کنید و در صورت نقض پیامی به پیام‌رسان یا ایمیل بفرستید. حالت برعکس را هم پیش‌بینی کنید: اگر خود اسکریپت بیش از نیم ساعت سکوت کند، یعنی خودش افتاده، نه مزرعه. یک مانیتور ساکت بدترین نوع مانیتور است، چون حس کنترل کاذب ایجاد می‌کند.

برای غرق نشدن در هشدارهای کاذب چه آستانه‌ای بگذاریم

پاسخ مستقیم: نه بر اساس یک اندازه‌گیری، بلکه بر اساس چند اندازه‌گیری پیاپی. جستجوی share فرآیندی تصادفی است و افت‌های کوتاه نمودار حتی در مزرعه‌ای کاملاً سالم اجتناب‌ناپذیرند. آستانه باید بخواهد که انحراف طی چند بازه پرسش پیاپی ادامه یابد، وگرنه هر ساعت هشدار دریافت می‌کنید و خیلی زود از خواندن آن‌ها دست می‌کشید.

یک طرح عملی این‌گونه است:

  1. سکوت کامل ماینر. پرسش محلی دو بار پیاپی پاسخ نمی‌دهد. این دیگر پراکندگی نیست، باید فوراً واکنش نشان داد.
  2. افت hashrate. مقداری زیر نُرم معمول شما که طی چند اندازه‌گیری پیاپی همان‌جا می‌ماند. چقدر زیر نرم و چند اندازه‌گیری، بر اساس تاریخچه خودتان طی یک هفته آرام تعیین کنید.
  3. دما. آستانه را از مستندات سازنده مدل خودتان بردارید و هشدار را با حاشیه‌ای زیر دمای فعال شدن حفاظت تنظیم کنید تا وقت واکنش پیش از خاموشی اضطراری داشته باشید.
  4. share های رد شده. با پس‌زمینه آرام خودتان مقایسه کنید، نه با یک عدد مطلق از اینترنت.
  5. سکوت استخر. مفید است، اما تأخیر را به‌یاد داشته باشید: حتی در AntPool وضعیت رسمی Inactive تنها پس از 20 دقیقه ظاهر می‌شود. چنین هشداری همیشه دیرتر از هشدار محلی می‌رسد.

یک قاعده دیگر: هر هشدار باید پس از فعال شدن یک زمان سکوت داشته باشد. در غیر این صورت یک خرابی ساعت سه بامداد به چهل پیام یکسان تبدیل می‌شود و صبح به‌جای رسیدگی به مزرعه، وقتتان صرف مرتب کردن اعلان‌ها می‌شود.

جداگانه تصمیم بگیرید در لحظه فعال شدن چه باید کرد. اگر مزرعه در خانه شما نیست، هشداری که امکان انجام کاری از راه دور ندارد به راهی برای خراب کردن شبتان تبدیل می‌شود. اینجا موضوع استخر پشتیبان مطرح می‌شود: بخشی از خرابی‌ها نقص سخت‌افزاری نیست، بلکه مشکلی در سمت استخر یا مسیر به آن است و با جابه‌جایی خودکار حل می‌شود، نه با رفتن به محل. درباره تنظیم آدرس پشتیبان جداگانه نوشته‌ایم.

چک‌لیست برای یک شب

  1. با فرمول بالا هزینه یک ساعت قطعی خودتان را حساب کنید. یک عدد کل تلاش‌های بعدی را معنادار می‌کند.
  2. یک خط پایه جمع کنید: hashrate محلی، hashrate استخر، دماها، سهم رد شدن در یک روز آرام.
  3. بررسی کنید آیا firmware شما داده‌های قابل خواندن برای ماشین می‌دهد و آدرس را یادداشت کنید.
  4. در مستندات استخر خود بررسی کنید آیا API حساب وجود دارد و محدودیت‌های آن چیست.
  5. یک پرسش هر دقیقه از ماینرها بنویسید با ثبت در فایل یا یک پایگاه داده ساده.
  6. چهار هشدار تنظیم کنید: بدون پاسخ، افت hashrate، دما، افزایش رد شدن.
  7. زمان سکوت پس از فعال شدن و محافظت در برابر مانیتور ساکت اضافه کنید.
  8. همه چیز را صادقانه آزمایش کنید: کابل شبکه یک دستگاه را بکشید و زمان رسیدن پیام را اندازه بگیرید.
  9. یک استخر دوم در تنظیمات ماینر ثبت کنید، اگر هنوز این کار انجام نشده است.
  10. بعد از یک هفته، آستانه‌ها را بر اساس داده‌های جمع‌آوری‌شده بازبینی کنید. تقریباً هرگز از بار اول درست نیستند.

بند هشتم بیشترین باری است که نادیده گرفته می‌شود، در حالی که تنها بندی است که ثابت می‌کند سیستم واقعاً کار می‌کند.

آستانه‌های هشدار بر اساس خط پایه خودتان تنظیم می‌شوند
آستانه‌های هشدار بر اساس خط پایه خودتان تنظیم می‌شوند

بعد از این چه بخوانیم

پایش درآمد را افزایش نمی‌دهد. تنها مانع از دست دادن چیزی می‌شود که قبلاً کسب شده، و در ماینینگ تفاوت بین این دو چیز تقریباً ناچیز است.