Нажмите ESC, чтобы закрыть

Бизнес-план майнинг-фермы на 50 кВт: Расчет CAPEX, OPEX и ROI

Запуск майнинга на 50 кВт - это граничный сценарий между бытовой «розеткой» и коммерческим дата-центром. С одной стороны, 50 кВт активной нагрузки еще можно завести на небольшое коммерческое помещение или частный объект с собственным ТП (трансформаторным пунктом). С другой — это уже около 14–15 современных ASIC-майнеров, каждый из которых выделяет до 3.5 кВт тепла, кушает от 15 до 16 ампер по одной фазе и требует прокачки до 600–800 кубометров воздуха в час.

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

1. Вводные параметры и электрическая инфраструктура

Основа любого майнинг-бизнеса - это стоимость киловатт-часа и надежность подстанции. На 50 кВт постоянной круглосуточной нагрузки номинал вашей вводной автоматики должен рассчитываться с 20%-м запасом по току (по стандарту NFPA/IEC для непрерывных нагрузок).

I_total = P / (√3 · U · cosφ) = 50000 / (√3 · 380 · 0.95) ≈ 79.8 A

С учетом запаса 1.25 вводной автомат должен быть рассчитан минимум на 100А (3-фазный).

Спецификация электрического щита (ГРЩ 50 кВт)

  • Вводной автомат: 3P 100A (характеристика C, отключающая способность не менее 10 kA, например, SE Acti9 или ABB S200).
  • Распределение по фазам: 3 фазы L1, L2, L3, распределенные строго равномерно по 5 устройств на фазу (при 15 устройствах) для исключения перекоса фаз и тока в нейтрали.
  • Кабельная линия от ТП к ГРЩ: Медный кабель ВВГнг-LS 4х25 мм² или алюминиевый АВВГ 4х50 мм² при прокладке в траншее (с учетом падения напряжения не более 2% на 50 метрах).
  • Защита групповых линий: На каждый ASIC отдельный автомат 2P 20A (характеристика C) + кабель ВВГнг-LS 3х2.5 мм² (медный, огнестойкий, с двойной изоляцией).
  • Заземление: Контур заземления TN-S или TN-C-S с сопротивлением не более 4 Ом (собирается из 3 медненных уголков/стержней по 2.5 м, забитых в треугольник с проваркой полосой 40х4 мм).

2. Выбор оборудования и CAPEX (Капитальные затраты)

Для расчета возьмем золотой стандарт индустрии - серии Bitmain Antminer S19k Pro / S21 или MicroBT Whatsminer M50/M60. Для ровной загрузки 50 кВт оптимально брать 14 единиц Antminer S21 (200 TH/s) со стандартным потреблением около 3500 Вт на аппарат.

  • Суммарный хэшрейт: 14 · 200 TH/s = 2800 TH/s = 2.8 PH/s
  • Суммарное потребление: 14 · 3500 Вт = 49 кВт (вписывается в лимит 50 кВт с учетом вентиляции).

Таблица капитальных затрат (CAPEX)

Наименование расходовСпецификация / ДеталиКол-воЦена за ед. ($)Всего ($)
ASIC-майнерыAntminer S21 200 TH/s (3500W)14 шт.3,80053,200
Вводный щит ГРЩАвтоматы ABB/SE, контакторы, вольтметры, УЗИП1 комплект1,2001,200
Кабельная разводкаВВГнг-LS 3x2.5, лотки, PDU PDU-C19 (16A)14 линий70980
Охлаждение / ВентиляцияПромышленный осевой вентилятор (12,000 м³/ч) + частотник2 шт.8501,700
Приточная фильтрацияКаркас, фильтры G4/F7 (пылеудаление), жалюзи1 комплект600600
Сетевая инфраструктураManaged Switch Mikrotik 24-port, роутер 4G/WAN, UPS1 комплект550550
Контур заземленияКомплект заземления, монтаж, замеры1 комплект350350
Монтажные работыСборка стеллажей, разводка электрики, пусконаладка--1,500
ИТОГО CAPEX   $60,080

3. Охлаждение и вентиляция: Термодинамический расчет

Главная ошибка новичков - поставить бытовой кондиционер. Кондиционер удаляет влагу и снижает температуру за счет фреонового цикла, но на 50 кВт тепла вам потребуется кондиционер мощностью 150 000 BTU, который сам сожрет еще 15–18 кВт электричества.

Майнинг охлаждается исключительно проточной приточно-вытяжной вентиляцией (продувкой воздухом).

Расчет объема воздухообмена

Формула требуемого расхода воздуха:

Q = P_dissip / (ρ · c_p · ΔT)

Где:

  • P_dissip = 49000 Вт (выделяемое тепло)
  • ρ = 1.2 кг/м³ (плотность воздуха при 20°C)
  • c_p = 1005 Дж/(кг·K) (удельная теплоемкость воздуха)
  • ΔT = 15°C (допустимый перегрев между притоком и вытяжкой)

Q = 49000 / (1.2 · 1005 · 15) ≈ 2.708 м³/с = 9750 м³/ч

С учетом сопротивления фильтров грубой очистки (G4) необходимо закладывать вентиляторы суммарной производительностью не менее 12 000 – 14 000 м³/ч.

Разделение зон (Hot/Cold Aisle)

  • Холодный коридор: Приток воздуха извне через фильтрующие стены. Атмосферное давление здесь слегка повышенное.
  • Горячий коридор: ASIC-майнеры вмонтированы в герметичную перегородку (стеллаж с диффузорами). Кулеры самих асиков выдувают горячий воздух в изолированную камеру, откуда промышленный вытяжной вентилятор выкидывает его на улицу.

4. OPEX и операционные расходы (Ежемесячный расчет)

Операционные расходы состоят из трех ключевых элементов: электроэнергия, аренда помещения, интернет и техническое обслуживание.

Возьмем среднюю стоимость коммерческого электричества: $0.07 за кВт·ч.

Расчет электроэнергии в месяц

  • Часовое потребление: 49 кВт (майнеры) + 1.5 кВт (вентиляция и сеть) = 50.5 кВт
  • Суточное потребление: 50.5 · 24 = 1212 кВт·ч
  • Месячное потребление (30.5 дней): 1212 · 30.5 = 36 966 кВт·ч
  • Затраты на ЭЭ в месяц: 36 966 · $0.07 = $2,587.62

Постоянные ежемесячные расходы (OPEX)

Статья расходовОписаниеСумма ($)
Электроэнергия36,966 кВт·ч по $0.07/кВт·ч2,587.62
Аренда помещенияПромышленное/складское помещение 20-30 м²300.00
Связь и интернетОсновной канал (оптика) + резервный (4G)40.00
ФОНД ТО / ЗапчастиЗамена вентиляторов ASIC, чистка фильтров, расходники150.00
ИТОГО OPEX / мес. $3,077.62

5. Расчет доходимости, окупаемости (ROI) и финансовая модель

Для расчета выручки применимы показатели сложности сети Bitcoin и награды за блок на момент 2026 года. Предположим, что 1 TH/s приносит в сутки примерно $0.042 (без учета розетки, при курсе BTC ~$65,000).

Расчет выручки (Revenue)

  • Суммарный хэшрейт: 2800 TH/s
  • Дневная выручка: 2800 · $0.042 = $117.60
  • Месячная выручка (30.5 дней): $117.60 · 30.5 = $3,586.80

Чистая прибыль (EBITDA / Net Profit)

  • Net Profit/mo = Выручка ($3,586.80) - OPEX ($3,077.62) = $509.18 (при высоком профите на TH/s цифра выше; при курсе $90,000/BTC прибыль пропорционально растет).

Важное замечание по чувствительности ROI к курсу и розетке:
При цене электричества $0.05 / кВт·ч OPEX за ЭЭ упадет до $1,848.30, а чистая прибыль вырастет до $1,248.50 в месяц. Это снижает срок окупаемости с катастрофических значений до разумных 35-40 месяцев. Майнинг на коммерческой розетке выше $0.065–0.07/кВт·ч без буллана или эффективного хэшрейта находится в зоне повышенного риска.

6. Автоматизация и управление: Python-скрипт мониторинга (CGMiner / CGMiner API)

Настоящий инженер не сидит в веб-интерфейсах 14 устройств вручную. Все современные ASIC-майнеры (Antminer, Whatsminer) поддерживают протокол CGMiner API (на базе JSON через сокеты TCP).

Ниже приведен готовый боевой Python-скрипт для мониторинга пула фермы. Скрипт опрашивает все 14 асиков по локальной сети, собирает хэшрейт, температуру чипов и при падении показателей или перегреве отправляет алерт в Telegram.

#!/usr/bin/env python3
"""
Мониторинг фермы ASIC-майнеров через CGMiner API (порт 4028).
Что умеет:
  * опрашивает все устройства параллельно;
  * Antminer (ключ "command") и Whatsminer (ключ "cmd") — тип задаётся в MINERS;
  * алерты: нет связи, просадка хэшрейта, перегрев, не найдены поля температур;
  * дедупликация: одно и то же событие не шлётся чаще, чем раз в REPEAT_MINUTES;
  * сообщение о восстановлении, когда проблема ушла;
  * подтверждение проблемы за CONFIRM_CYCLES опросов подряд (защита от ложных срабатываний);
  * состояние хранится в файле, поэтому корректно работает и в цикле, и из cron (--once).
Настройка через переменные окружения:
  TG_BOT_TOKEN, TG_CHAT_ID               — обязательные
  TEMP_THRESHOLD (по умолч. 85)          — порог температуры чипов, °C
  HASHRATE_WARN_TH (по умолч. 170)       — минимальный хэшрейт, TH/s
  POLL_INTERVAL_SEC (по умолч. 60)       — период опроса в режиме цикла
  REPEAT_MINUTES (по умолч. 60)          — повтор одного и того же алерта
  CONFIRM_CYCLES (по умолч. 2)           — сколько опросов подряд проблема должна держаться
Запуск:
  python3 asic_monitor.py          # бесконечный цикл
  python3 asic_monitor.py --once   # один проход (для cron / systemd timer)
ВАЖНО: порт 4028 должен быть доступен только из локальной сети.
Не пробрасывайте его наружу.
"""
import json
import logging
import os
import socket
import sys
import time
from concurrent.futures import ThreadPoolExecutor
import requests
# --------------------------------------------------------------------------
# Конфигурация
# --------------------------------------------------------------------------
# (ip, тип): "antminer" или "whatsminer"
MINERS = [(f"192.168.1.{i}", "antminer") for i in range(101, 115)]  # .101 - .114
# Пример смешанной фермы:
# MINERS[0] = ("192.168.1.101", "whatsminer")
API_PORT = 4028
SOCKET_TIMEOUT = 3.0
TG_BOT_TOKEN = os.environ.get("TG_BOT_TOKEN", "")
TG_CHAT_ID = os.environ.get("TG_CHAT_ID", "")
TEMP_THRESHOLD = float(os.environ.get("TEMP_THRESHOLD", "85"))
HASHRATE_WARN_TH = float(os.environ.get("HASHRATE_WARN_TH", "170"))
POLL_INTERVAL_SEC = int(os.environ.get("POLL_INTERVAL_SEC", "60"))
REPEAT_MINUTES = int(os.environ.get("REPEAT_MINUTES", "60"))
CONFIRM_CYCLES = int(os.environ.get("CONFIRM_CYCLES", "2"))
STATE_FILE = os.environ.get("STATE_FILE", "asic_monitor_state.json")
# Префиксы ключей температуры чипов в ответе `stats` у Antminer.
# Сверьте со своей прошивкой: выполните `stats` и посмотрите реальные ключи.
ANTMINER_TEMP_PREFIXES = ("temp2_", "temp_chip")
logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s %(levelname)s %(message)s",
    datefmt="%Y-%m-%d %H:%M:%S",
)
log = logging.getLogger("asic_monitor")
# --------------------------------------------------------------------------
# Telegram
# --------------------------------------------------------------------------
def send_telegram(text: str) -> bool:
    """Шлёт сообщение без parse_mode (динамический текст не ломает разметку).
    Возвращает True только если Telegram принял сообщение."""
    if not TG_BOT_TOKEN or not TG_CHAT_ID:
        log.error("TG_BOT_TOKEN / TG_CHAT_ID не заданы, алерт не отправлен: %s", text)
        return False
    url = f"https://api.telegram.org/bot{TG_BOT_TOKEN}/sendMessage"
    try:
        r = requests.post(url, json={"chat_id": TG_CHAT_ID, "text": text}, timeout=10)
        if not r.ok:
            log.error("Telegram вернул %s: %s", r.status_code, r.text[:200])
        return r.ok
    except requests.RequestException as e:
        log.error("Ошибка отправки в Telegram: %s", e)
        return False
# --------------------------------------------------------------------------
# Работа с CGMiner API
# --------------------------------------------------------------------------
def query_miner(ip: str, kind: str, command: str) -> dict:
    """Отправляет команду в CGMiner API. При ошибке возвращает {"error": "..."}."""
    key = "cmd" if kind == "whatsminer" else "command"
    try:
        with socket.create_connection((ip, API_PORT), timeout=SOCKET_TIMEOUT) as s:
            s.settimeout(SOCKET_TIMEOUT)
            s.sendall(json.dumps({key: command}).encode("utf-8"))
            chunks = []
            while True:
                chunk = s.recv(4096)
                if not chunk:
                    break
                chunks.append(chunk)
        text = b"".join(chunks).decode("utf-8", errors="ignore").replace("\x00", "")
        # Некоторые прошивки отдают "}{" без запятой между объектами
        text = text.replace("}{", "},{")
        return json.loads(text)
    except Exception as e:  # сеть, таймаут, невалидный JSON
        return {"error": f"{type(e).__name__}: {e}"}
def to_float(value):
    """Число или строка с числом -> float, иначе None."""
    try:
        return float(value)
    except (TypeError, ValueError):
        return None
def get_hashrate_th(summary: dict, kind: str):
    """Хэшрейт в TH/s или None, если поле не найдено."""
    try:
        s = summary["SUMMARY"][0]
    except (KeyError, IndexError, TypeError):
        return None
    if kind == "whatsminer":
        # MH/s -> TH/s. 5-минутное среднее, если есть, иначе среднее за всё время.
        for key in ("MHS 5m", "MHS av"):
            v = to_float(s.get(key))
            if v is not None:
                return v / 1_000_000.0
        return None
    # Antminer: GH/s -> TH/s. Не используем "GHS 5s" (слишком шумный).
    for key in ("rate_30m", "GHS av"):
        v = to_float(s.get(key))
        if v is not None:
            return v / 1000.0
    return None
def get_max_chip_temp(ip: str, kind: str, summary: dict):
    """Максимальная температура чипов или None, если поля не найдены."""
    if kind == "whatsminer":
        try:
            s = summary["SUMMARY"][0]
        except (KeyError, IndexError, TypeError):
            return None
        temps = [to_float(s.get(k)) for k in ("Chip Temp Max", "Temperature")]
        temps = [t for t in temps if t]
        return max(temps) if temps else None
    stats = query_miner(ip, kind, "stats")
    try:
        info = stats["STATS"][1]
    except (KeyError, IndexError, TypeError):
        return None
    temps = []
    for k, v in info.items():
        if k.startswith(ANTMINER_TEMP_PREFIXES):
            t = to_float(v)
            if t:  # 0 = плата не отдаёт значение
                temps.append(t)
    return max(temps) if temps else None
# --------------------------------------------------------------------------
# Проверка одного устройства
# --------------------------------------------------------------------------
def check_miner(ip: str, kind: str) -> dict:
    """Возвращает {issue_key: текст_алерта} для активных проблем."""
    issues = {}
    summary = query_miner(ip, kind, "summary")
    if "error" in summary:
        # Нет связи: остальные проверки бессмысленны
        return {"offline": f"⚠️ {ip}: нет ответа по API ({summary['error']})"}
    th = get_hashrate_th(summary, kind)
    if th is None:
        issues["parse"] = f"❌ {ip}: не удалось получить хэшрейт из summary (проверьте прошивку/тип)"
    elif th < HASHRATE_WARN_TH:
        issues["hashrate"] = f"📉 {ip}: хэшрейт {th:.1f} TH/s (порог {HASHRATE_WARN_TH:.0f})"
    temp = get_max_chip_temp(ip, kind, summary)
    if temp is None:
        issues["temp_keys"] = f"❓ {ip}: не найдены поля температур, проверьте ключи в stats"
    elif temp > TEMP_THRESHOLD:
        issues["temp"] = f"🔥 {ip}: перегрев, чипы {temp:.0f}°C (порог {TEMP_THRESHOLD:.0f})"
    return issues
# --------------------------------------------------------------------------
# Состояние и дедупликация
# --------------------------------------------------------------------------
def load_state() -> dict:
    try:
        with open(STATE_FILE, encoding="utf-8") as f:
            return json.load(f)
    except (OSError, ValueError):
        return {"sent": {}, "streak": {}}
def save_state(state: dict) -> None:
    try:
        tmp = STATE_FILE + ".tmp"
        with open(tmp, "w", encoding="utf-8") as f:
            json.dump(state, f)
        os.replace(tmp, STATE_FILE)
    except OSError as e:
        log.error("Не удалось сохранить состояние: %s", e)
def run_cycle(state: dict) -> None:
    sent, streak = state["sent"], state["streak"]
    now = time.time()
    with ThreadPoolExecutor(max_workers=len(MINERS)) as pool:
        results = list(pool.map(lambda m: (m[0], check_miner(*m)), MINERS))
    for ip, issues in results:
        # 1) активные проблемы
        for key, text in issues.items():
            sid = f"{ip}|{key}"
            streak[sid] = streak.get(sid, 0) + 1
            if streak[sid] < CONFIRM_CYCLES:
                continue
            last = sent.get(sid)
            if last is None or now - last >= REPEAT_MINUTES * 60:
                if send_telegram(text):
                    sent[sid] = now
        # 2) устранённые проблемы
        prefix = f"{ip}|"
        for sid in [s for s in list(streak) if s.startswith(prefix)]:
            key = sid[len(prefix):]
            if key in issues:
                continue
            streak.pop(sid, None)
            if sid in sent:  # уведомляем о восстановлении, только если был алерт
                if send_telegram(f"✅ {ip}: проблема «{key}» устранена"):
                    sent.pop(sid, None)
    ok = sum(1 for _, i in results if not i)
    log.info("Опрос завершён: %d/%d без проблем", ok, len(results))
    save_state(state)
# --------------------------------------------------------------------------
def main() -> None:
    state = load_state()
    state.setdefault("sent", {})
    state.setdefault("streak", {})
    if "--once" in sys.argv:
        run_cycle(state)
        return
    log.info("Старт мониторинга: %d устройств, период %d c", len(MINERS), POLL_INTERVAL_SEC)
    while True:
        try:
            run_cycle(state)
        except Exception:
            log.exception("Необработанная ошибка в цикле опроса")
        time.sleep(POLL_INTERVAL_SEC)
if __name__ == "__main__":
    main()

7. Чек-лист перед запуском (Инженерная приемка)

  • 1. Испытание сети под нагрузкой: Запустить тепловую пушку 50 кВт на 4 часа до установки майнеров. Проверить пирометром нагрев контактных групп на вводном автомате и шинах. Температура контактов не должна превышать 65°C.
  • 2. Замер заземления: Вызвать электролабораторию, измерить петлю «фаза-ноль» и сопротивление растеканию тока контур заземления (должно быть < 4 Ом).
  • 3. Проверка притока: Убедиться, что плотность фильтра G4 не создает вакуум в помещении (дверь в холодный коридор должна открываться без значительного усилия при работающей вытяжке).
  • 4. Настройка Watchdog: Включить встроенные функции Hardware Auto-Reboot в прошивках майнеров (LUXOS, VNISH или Stock) на случай отвала пула или потери IP.

Запуск:

export TG_BOT_TOKEN="..." TG_CHAT_ID="..."
python3 asic_monitor.py

8. Юридическое оформление, договор PPA и международный фискальный учет

Запуск площадки на 50 кВт в любой юрисдикции требует официального статуса коммерческого потребителя. Майнинг «на черную» с питанием от бытовой розетки неизбежно приведет к предписаниям от энергосбытовой компании, штрафам за превышение лимитов мощности и нецелевое использование сетей.

Схема оформления и юридическая структура

  • Регистрация операционной компании (LLC / Sp. z o.o. / Inc.): Площадка оформляется на стандартное юридическое лицо с ограниченной ответственностью. Это необходимо для легального заключения коммерческого договора аренды площади и договора на технологическое присоединение к электрическим сетям.
  • Договор PPA (Power Purchase Agreement): Ключевой документ площадки — коммерческий договор поставки электроэнергии (PPA) с гарантирующим поставщиком или собственником подстанции (ТП). В договоре фиксируются:
    • Выделенная активная мощность: 50 кВт по III категории надежности (с разрешенной непрерывной круглосуточной нагрузкой).
    • Точка балансовой принадлежности: 0.4 кВ на низковольтных губах трансформатора.
    • Тарифная сетка: зафиксированная стоимость кВт·ч (target < $0.065–0.07).
  • Ввоз оборудования (Таможенный код HS 8471): Закупка ASIC-майнеров производится по прямому контракту ВЭД. Международный код ТН ВЭД (HS Code) для оборудования — 8471 50 000 0 (вычислительные блоки). При белой таможенной очистке уплачивается ввозной НДС (VAT/GST) и пошлина. На руках остаются грузовые таможенные декларации (GTD) и коммерческие инвойсы, закрывающие происхождение балансовых активов.
  • Фискальный учет и конвертация (Off-ramping): Прибыль от майнинга генерируется в BTC на пуле. Для покрытия ежемесячных расходов (OPEX: электричество, аренда) используется институциональный учетная запись (Corporate Account) на криптовалютной бирже или OTC-деске с пройденной процедурой KYB (Know Your Business). Вырученная фиатная валюта зачисляется на расчетный счет юрлица по безналичному расчету для регулярной оплаты счетов за ЭЭ.

9. Логистика и приемка оборудования

Масса 14 единиц Antminer S21 в заводской упаковке составляет около 230–250 кг.

Регламент входного контроля (QC при получении)

  • 1. Визуальный осмотр упаковки: проверка индикаторных наклеек вскрытия и повреждений коробок.
  • 2. Шейк-тест (Проверка радиаторов): при транспортировке из Китая от сильной вибрации могут срываться крепежные винты или отваливаться индивидуальные радиаторы чипов (особенно на б/у оборудовании). Устройство аккуратно встряхивается — внутри не должно быть звука болтающихся элементов.
  • 3. Замер сопротивления (Cold Test): перед подачей 220 В мультиметром проверяется отсутствие короткого замыкания на шинах питания хэш-плат (сопротивление линии VDD должно соответствовать паспорту, порядка десятков Ом).
  • 4. Тестовый стенд (15 минут): поочередное включение в изолированной цепи. Контроль выхода на целевой хэшрейт (200 TH/s), отклика всех 3 планок (3/3 Boards detected) и отсутствия битых чипов (HW Errors < 0.5%).

10. Безопасность и сетевая изоляция

Ферма на 50 кВт привлекательна как для физического похищения, так и для сетевых атак (перехват stratum-трафика, внедрение вирусов-майнеров).

Схема сетевого контура:
[ Интернет (WAN) ]
          &│
     [ 4G/LTE Резерв ]
           &│
   ┌───────┴────────┐
   │ Router / WAF │ (MikroTik / OPNsense)
   │ Firewall │ ── WireGuard VPN (Только удаленный доступ)
   └───────┬────────┘
           │ (Изолированная VLAN 10.0.10.0/24)
  ┌────────┼─────────────────┬─────────────────┐
  │        │                 │                 │
[ASIC 1] [ASIC 2] ...    [ASIC 14]     [Node Скрипта]
10.0.10.101 10.0.10.102  10.0.10.114    10.0.10.250 (Python Watchdog)

Параметры сетевого контура

  • Полная изоляция от WAN: Асики находятся в закрытом сегменте VLAN без белого IP-адреса.
  • Закрытый порт 4028 (CGMiner API): Доступ к порту сбора метрик разрешен только для IP-адреса внутреннего сервера мониторинга.
  • Stratum/TLS шифрование: Направление трафика на пул (Stratum V2 или Stratum over TLS) исключает возможность подмены адреса кошелька атакой Man-in-the-Middle (MitM) на уровне провайдера.

11. Резюме инженера (Checklist для деплоя)

  • 1. Электрика: Проверить сечение ВВГнг-LS 3х2.5 мм² на каждую розетку C19, протянуть динамометрическим ключом все клеммы в ГРЩ спустя 48 часов работы под нагрузкой.
  • 2. Вентиляция: Замерить разницу температур между притоком и вытяжкой. При ΔT > 18°C вытяжные вентиляторы переводятся на повышенную частоту через инвертор (VFD).
  • 3. Мониторинг: Развернуть автоматический скрипт контроля асиков с алертингом при падении хэшрейта ниже 170 TH/s.
  • 4. Финансовый риск-менеджмент: Закладывать точки безубыточности с учетом возможного роста сложности сети на 15–20% в год.
Сделать краткую выжимку этой статьи с помощью:

FAQ

Установка мощностью 50 кВт при круглосуточной непрерывной работе потребляет 36 000 кВт·ч в месяц на питающие ASIC-майнеры, плюс около 1 000 кВт·ч на работу промышленных вентиляторов и сетевого оборудования, суммарно расходуя порядка 37 000 кВт·ч ежемесячно. Для подключения необходим трех вводной распределительный щит с трехполюсным автоматическим выключателем номиналом не менее 100А на фазу (с запасом 20% по току). Каждое устройство запитывается через отдельный автомат 2P 20А медным кабелем ВВГнг-LS сечением 3х2.5 мм² с оконечением в PDU-C19, при этом контур заземления должен иметь сопротивление растеканию тока не более 4 Ом.

Развертывание площадки на 50 кВт на базе 14 единиц актуальных ASIC-майнеров производительностью по 200 TH/s (вроде Antminer S21) требует стартового CAPEX в диапазоне от 55 000 до 62 000 долларов США, куда входит закупка вычислительного железа, вводной щит ГРЩ, система приточно-вытяжной вентиляции и коммутационное сетевое оборудование. При средней стоимости электроэнергии 0.05–0.065 доллара за 1 кВт·ч и текущей сложности сети чистая операционная прибыль составляет от 500 до 1 200 долларов в месяц, что обеспечивает расчетный период возврата инвестиций ROI в пределах 30–42 месяцев.

Отвод 49–50 кВт тепловой мощности требует организации принудительного воздухообмена с производительностью от 12 000 до 14 000 м³/ч, рассчитываемого при допустимом температурном перепаде (Delta T) между холодным и горячим коридором не более 15°C. Охлаждение строится на базе мощных осевых вентиляторов с регулировкой оборотов, фильтрующих панелей класса G4 для удержания пыли и жесткой герметизации горячего коридора, исключая применение классических кондиционеров, которые неспособны справиться с таким тепловым потоком и многократно увеличивают паразитное энергопотребление.
Sying Yu

I am a blockchain developer specializing in building secure, scalable, and innovative decentralized solutions. My expertise covers smart contracts, payment systems, and integrating crypto with fiat to optimize financial workflows. I thrive on creating modern, efficient tools for the evolving digital economy....

Поделитесь своим мнением

Ваш e-mail не будет опубликован. Обязательные поля отмечены *