Методология расчётов
На этой странице подробно описано, как мы считаем доходность CPU-майнинга. Все формулы открыты — вы можете проверить каждую цифру самостоятельно.
Расчёт дохода
Формула
Для каждого снапшота (каждые 15 минут) рассчитываем теоретический доход за сутки:
daily_coins = (hashrate × 86400 / difficulty) × block_reward # Потери: комиссия пула + stale shares daily_coins_net = daily_coins × (1 - pool_fee / 100) × (1 - stale_shares / 100) # Доход в USD daily_income_usd = daily_coins_net × price_usd
Усреднение за 24 часа
Difficulty, цена и награда за блок постоянно меняются. Чтобы показать реалистичную картину, мы усредняем выходной результат (доход в USD), а не входные параметры:
daily_income_usd = (1/N) × Σ daily_income_usd_i
Почему не среднее от difficulty/reward/price по отдельности? Формула нелинейна (difficulty в знаменателе). Усреднение входных параметров вносит систематическую погрешность (неравенство Йенсена) и может занижать доход на 1–5% при скачках difficulty. Усреднение результата даёт точную среднюю доходность.
Источники данных
| Данные | Основной источник | Fallback | Частота |
|---|---|---|---|
| Difficulty + Reward | Daemon RPC (get_last_block_header) | xmrig.com API | 15 мин |
| Цена монет (USD) | CoinGecko API (батч) | — | 15 мин |
| Курс USD/RUB | ЦБ РФ (cbr-xml-daily.ru) | Фоллбек 83.88 ₽ | 6 часов |
Потери, снижающие реальный доход
| Фактор | Значение | Описание |
|---|---|---|
| Sustained mining дисконт | ×0.80 / ×0.88 | Разница между burst-бенчмарком (60 сек) и реальным 24/7 майнингом. Заложен в hashrate_typical |
| Комиссия пула | 1% | Комиссия пула за обработку шар и выплаты |
| Stale shares | 0.5% | Доля шар, дошедших до пула с опозданием и не оплаченных |
Пример расчёта (Ryzen 9 5900X, Monero)
hashrate = 12,500 H/s (verified, sustained 24/7) difficulty = 740,634,183,284 (пример) block_reward = 0.6 XMR (base reward, без tx fees из xmrig API) price = $342.62 daily_coins = (12500 × 86400 / 740634183284) × 0.6 = 0.000875 XMR after losses = 0.000875 × 0.99 × 0.995 = 0.000862 XMR daily_income = 0.000862 × $342.62 = $0.295/day
Расчёт энергопотребления
Потребление CPU (mining_watts)
Потребление CPU хранится для каждой пары CPU + алгоритм отдельно, потому что разные алгоритмы нагружают CPU по-разному (memory-bound vs compute-bound).
Для оценки потребления используется формула: RandomX (memory-bound) ≈ TDP × 1.05. При наличии измеренных данных (ваттметр) — используем их вместо формулы.
Потребление системы
overhead = 35W (consumer/workstation) или 50W (server) system_power_watts = (mining_watts + overhead) / 0.85 # КПД блока питания
Покомпонентный разбор overhead
| Компонент | Consumer | Server |
|---|---|---|
| Материнская плата | ~28W | ~40-50W |
| RAM (2× 8GB DDR4) | ~6W | ~16W |
| SSD SATA | ~1.5W | ~1.5W |
| Вентиляторы | ~4W | ~8W |
| Итого overhead | 35W | 50W |
КПД блока питания: 85% (80 Plus при ~50% нагрузке). Минимальная система без GPU. Верифицировано обратным счётом от реальных замеров ваттметром.
Пример (Ryzen 9 5900X, consumer)
mining_watts = 110W (verified, ваттметр) overhead = 35W (consumer) system_power = (110 + 35) / 0.85 = 171W от розетки daily_kwh = 171 / 1000 × 24 = 4.1 кВт·ч Реальные замеры: 113–120W — попадание
Стоимость электричества
daily_electricity_usd = daily_kwh × electricity_price_usd Дефолт: 6.1 ₽/кВт·ч (83.88 ₽/$) = $0.0727/кВт·ч Пример: 4.1 кВт·ч × $0.0727 = $0.298/day
Расчёт хешрейта
Источник данных
Хешрейты берутся из xmrig.com Benchmark API — крупнейшей базы бенчмарков CPU-майнинга.
Алгоритм
- Запрашиваем все результаты для CPU через API
- Фильтруем: только single socket (packages=1), адекватное число потоков
- Берём медиану (P50) отфильтрованных результатов
- Применяем дисконт sustained mining:
| Тип CPU | Дисконт | Причина |
|---|---|---|
| Consumer (Ryzen, Core) | ×0.80 | Агрессивный turbo boost не держится 24/7, thermal throttling |
| Server (Xeon, EPYC) | ×0.88 | Стабильные частоты, меньше просадка |
Калибровочная таблица
| CPU | xmrig медиана | Дисконт | Расчёт | Реальный | Δ |
|---|---|---|---|---|---|
| Ryzen 9 5900X | 15,719 | ×0.80 | 12,575 | 12,500 | +0.6% |
| Xeon E5-2683v4 | ~7,500 | ×0.88 | 6,600 | 6,500 | +1.5% |
| Xeon E5-2690v4 | ~7,539 | ×0.88 | 6,634 | 6,500 | +2.1% |
Dual channel RAM обязателен
RandomX — memory-bound алгоритм. Single channel RAM создаёт жёсткий потолок хешрейта. Поэтому в рекомендуемой сборке всегда минимум 2 планки RAM.
| Память | Потолок H/s (1 канал) |
|---|---|
| DDR4-2400 | ~4,000–4,500 |
| DDR4-3200 | ~5,500–6,000 |
| DDR5-5600 | ~7,000+ |
Расчёт окупаемости
Стоимость системы
Для каждого CPU хранится минимальная б/у комплектация: CPU, материнская плата, RAM (dual channel), SSD, блок питания. Все цены — минимальные за б/у комплектующие на российском рынке (в рублях).
Формула
# Чистый доход daily_profit = daily_income - daily_electricity # Окупаемость payback_cpu_days = cpu_price_usd / daily_profit payback_system_days = system_price_usd / daily_profit
Формат отображения
| Условие | Отображение |
|---|---|
| < 30 дней | X дн. |
| 30–365 дней | X.X мес |
| 1–30 лет | X.X лет |
| > 30 лет или убыток | ∞ |
Допущения и ограничения
- Расчёт для одного CPU (не dual-socket)
- Цены б/у — ориентировочные, зависят от региона и момента покупки
- Stale shares 0.5% — среднее значение, зависит от пула и задержки
- Не учитывается: даунтайм системы, износ оборудования, налоги
- Формула верифицирована для CryptoNote-монет (Monero). Другие монеты могут определять difficulty иначе
- Дефолтная цена ЭЭ: 6.1 ₽/кВт·ч (≈$0.0727/кВт·ч) — среднероссийский тариф. Можно изменить в настройках
- Месяц = 30 дней (фиксированный множитель)
Актуальность данных
Индикатор свежести отображается внизу каждой страницы:
- Серый — данные обновлены менее 1 часа назад
- Жёлтый — данные обновлены более 1 часа назад
- Красный — данные отсутствуют