Ян Чапек — чешский инженер, основавший Braiins вместе с Павлом Моравцем. Для майнинга Bitcoin недостаточно купить мощное устройство: программа должна передавать ему задания и управлять работой. Именно этим занимается Чапек. Он участвовал в разработке Braiins OS, программного обеспечения майнинговых устройств, и проектировал Stratum V2 вместе с Моравцем и Мэттом Коралло. Этот протокол определяет обмен данными между устройствами и другими майнинговыми сервисами. Его история показывает, как программа меняет то, что владелец оборудования действительно контролирует.
Чапек и Павел Моравец создали Braiins для разработки встроенного программного обеспечения — программ, работающих внутри устройств. Рядом уже существовал Bitcoin.cz Mining Pool, основанный в 2010 году Мареком Палатинусом, известным как Slush. Пул позволяет майнерам объединять работу и делить поступления по его правилам, вместо того чтобы каждому ждать собственного найденного блока. Позже эти истории соединились. Чапек стал сооснователем компании, которая приобрела пул, а создателем первоначального пула остаётся Палатинус. [1]
В 2013 году Braiins приобрела контрольную долю и полностью взяла на себя работу пула. Палатинус смог сосредоточиться на Trezor. Оставшуюся долю компания купила первого сентября 2020 года. Объявление на сайте датировано 29 декабря 2021 года, но в самом тексте указана более ранняя дата сделки. Это важно для понимания истории: поздняя публикация не означает, что компания лишь тогда начала управлять пулом. Передача операционной работы и завершение смены собственности были отдельными шагами. [1]
Представьте Antminer S9. Его чипы снова и снова выполняют вычисления, но программа должна подготовить им работу и управлять ею. Такое внутреннее программное обеспечение называют прошивкой, или firmware. История компании описывает, как команда под руководством Чапека проверила поддержку AsicBoost, способа эффективнее использовать майнинговые вычисления, и разработала открытую Braiins OS, выпущенную в 2018 году. Открытый код позволяет разработчикам изучить действия программы. Подтверждённый вклад Чапека здесь относится к программам, а не к проектированию самого чипа. [1] [2]
В интервью, опубликованном в 2020 году, Чапек объясняет autotuning: автоматический подбор частот и напряжений отдельных чипов при выбранной потребляемой мощности. Частота связана с темпом работы, напряжение — с электрическим режимом; цель состоит в более эффективном использовании энергии. Майнеру важна не только большая цифра производительности, но и стоимость работы. Чапек тогда рассматривал платный закрытый компонент поверх открытой основы Braiins OS. Интервью объясняет тот бизнес-замысел, а не лицензию или цену каждой современной версии. [2]
Помимо программы внутри устройства, нужен общий язык передачи заданий и результатов. Его предоставляет майнинговый протокол — согласованные правила сообщений, понятные обеим сторонам. Stratum V2 совместно проектировали Ян Чапек, Павел Моравец и Matt Corallo. Официальный сайт указывает, что его поддерживает независимое сообщество открытого кода. Вклад Чапека поэтому выходит за пределы продуктов Braiins. Общий стандарт позволяет разным разработчикам создавать совместимые программы; это не протокол в собственности одной компании. [3]
Отправляя результаты через интернет, майнер не хочет, чтобы кто-то читал или менял их по пути. Stratum V2 использует шифрование с проверкой целостности сообщений и подтверждением личности сервера. Спецификация требует защищённого установления удалённых соединений с вышестоящими сервисами, допуская исключение для этой процедуры в локальной сети, например между устройством и местным посредником. Так защищается путь сообщения. Это не проверяет бухгалтерию пула и не гарантирует будущую выплату: безопасная передача и надёжный оператор остаются разными вопросами. [4]
Отдельный вопрос — кто готовит предложение следующего блока вместе с транзакциями. Такое предложение называют шаблоном блока. Job Declaration позволяет клиенту, программе на стороне майнера, согласовывать собственную работу с поддерживающим эту возможность пулом. Template Distribution поставляет шаблоны, а Mining Protocol передаёт задания и результаты. Это части системы, которые должны работать вместе. Одна надпись Stratum V2 на прошивке ещё не доказывает, что майнер действительно выбирает транзакции. Решают поддерживаемые и включённые компоненты. [5]
Спецификация предусматривает отказ: DeclareMiningJob.Error означает отклонённую декларацию майнингового задания. Клиент должен переключиться на другой пул с JDS, то есть Job Declarator Server, либо в крайнем случае на solo mining. При самостоятельном майнинге поступления уже не делятся так, как в пуле. Переход также требует рабочей запасной конфигурации; название протокола не обеспечит непрерывность работы. Замысел позволяет майнеру уйти и продолжить использовать выбранный шаблон. Получится ли это на практике, зависит от всей системы. [5]
Для полной картины прочитайте эту статью вместе с Braiins, Stratum V2, Mining Firmware. На эту статью также ссылаются Stratum V2.