Ян Чапек — чеський інженер, який заснував 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.