Stratum V2: Протокол нового поколения
Stratum V1 служит индустрии майнинга с 2012 года. Он работает, он прост, и его понимает каждый майнер и каждый пул. Но он проектировался в эпоху, когда весь хешрейт сети измерялся в терахешах. С тех пор масштабы выросли на порядки, и трещины стали заметны.
Stratum V2 — это переработка с нуля, устраняющая три главные проблемы V1: отсутствие шифрования, расточительный трафик и неудобную централизацию, при которой пулы единолично решают, что попадает в блоки.
Проблемы V1
Заголовок раздела «Проблемы V1»Нет шифрования
Заголовок раздела «Нет шифрования»V1 передаёт всё открытым текстом. Любой, кто видит трафик между вашим майнером и пулом, может узнать:
- Имя воркера и учётные данные
- Каждую отправленную шару
- Ваш хешрейт
Хуже того, атакующий может перенаправить ваш хешрейт на свой пул — hashrate hijacking.
JSON — это расточительно
Заголовок раздела «JSON — это расточительно»Каждое сообщение обёрнуто в JSON: кавычки, скобки, имена полей. Типичный mining.notify занимает 300-500 байт. Полезных данных там — около 150. Более 50% — это накладные расходы формата.
Пулы контролируют содержимое блоков
Заголовок раздела «Пулы контролируют содержимое блоков»В V1 пул строит весь шаблон блока. Пул решает, какие транзакции включить. Майнер — просто машина для хеширования, без права голоса. Это значит, что несколько крупных пулов являются фактическими привратниками: они могут цензурировать транзакции, и отдельные майнеры ничего не могут с этим сделать.
Что исправляет V2
Заголовок раздела «Что исправляет V2»Бинарный протокол
Заголовок раздела «Бинарный протокол»V2 заменяет JSON компактным бинарным форматом. Каждое сообщение имеет фиксированный заголовок и бинарную полезную нагрузку. Никаких кавычек, никаких имён полей.
Результат: сообщения на 50-70% меньше. Для крупных ферм с тысячами майнеров это ощутимая экономия трафика.
Шифрование
Заголовок раздела «Шифрование»V2 использует Noise Protocol Framework для установления зашифрованного, аутентифицированного канала:
- Конфиденциальность — трафик нельзя прочитать
- Аутентификация — майнер может убедиться, что общается с настоящим пулом
- Целостность — сообщения нельзя подменить
Три канала
Заголовок раздела «Три канала»V1 использует одно соединение для всего. V2 разделяет коммуникацию на три канала:
1. Mining Channel — аналог основного цикла V1: получение заданий, отправка шар. Но в бинарном формате и зашифрованный.
2. Job Negotiation Channel — революционная часть. Майнеры могут согласовывать с пулом, какие транзакции включить в блок.
3. Template Distribution Channel — прямое подключение к Bitcoin-узлу для получения шаблонов блоков.
Согласование заданий: прорыв в децентрализации
Заголовок раздела «Согласование заданий: прорыв в децентрализации»Это главная фича для здоровья Bitcoin. С V2:
- Майнер запускает свой Bitcoin-узел
- Узел строит шаблон блока с выбранными транзакциями
- Майнер предлагает этот шаблон пулу
- Пул может принять или отклонить (но отклонение = потеря хешрейта)
- Если принято, майнер работает над своим шаблоном
Индивидуальные майнеры получают право выбирать транзакции. Пулы становятся координаторами хешрейта, а не привратниками. Если пул начнёт цензурировать транзакции, майнеры могут это обойти.
V1 vs V2
Заголовок раздела «V1 vs V2»| Параметр | Stratum V1 | Stratum V2 |
|---|---|---|
| Формат | JSON (текст) | Бинарный |
| Шифрование | Нет | AEAD (Noise framework) |
| Размер сообщений | 300-500 байт | 100-150 байт |
| Аутентификация | Нет (пароли открытым текстом) | На основе сертификатов |
| Контроль шаблона блока | Только пул | Майнер может предлагать |
| Каналы | Один | 3 (mining, job negotiation, template distribution) |
| Защита от hijacking | Нет | Шифрование предотвращает MITM |
| Свой Bitcoin-узел | Не поддерживается | Поддерживается |
Текущий статус
Заголовок раздела «Текущий статус»Поддержка пулов: Braiins Pool (разработчики V2) — полная поддержка. Другие пулы постепенно добавляют.
Прошивки: Braiins OS — нативная поддержка V2. Стоковые прошивки Antminer/Whatsminer — только V1.
Прокси-подход: Не нужно ждать новой прошивки. Translation proxy конвертирует V1-трафик от майнера в V2 для пула:
[V1 Майнер] <-> [Translation Proxy] <-> [V2 Пул] V1 трафик V2 зашифрованный трафикStratum Reference Implementation (SRI) — открытый проект с компонентами V2: прокси, пул, согласователь заданий, поставщик шаблонов.