Jan Čapek est un ingénieur tchèque qui a fondé Braiins avec Pavel Moravec. Miner du bitcoin ne consiste pas seulement à acheter une machine puissante : un logiciel doit lui fournir du travail et piloter son fonctionnement. C’est à ce niveau que Čapek intervient. Il a participé à Braiins OS, le logiciel des appareils de minage, et conçu Stratum V2 avec Moravec et Matt Corallo. Ce protocole définit les échanges entre appareils et autres services de minage. Son parcours montre comment le logiciel peut modifier ce que le propriétaire d’une machine contrôle réellement.
Čapek et Pavel Moravec ont créé Braiins pour développer des logiciels embarqués, c’est-à-dire des programmes qui fonctionnent à l’intérieur d’appareils. À côté existait Bitcoin.cz Mining Pool, fondé en 2010 par Marek Palatinus, connu sous le nom de Slush. Un pool permet aux mineurs de réunir leur travail et de partager les revenus selon ses règles, au lieu d’attendre chacun de trouver un bloc seul. Ces histoires se sont ensuite rejointes. Čapek a cofondé la société qui a repris le pool ; Palatinus reste le créateur du pool initial. [1]
En 2013, Braiins a acquis une participation majoritaire et repris toute l’exploitation du pool. Palatinus a ainsi pu se consacrer à Trezor. L’entreprise a acheté la participation restante le premier septembre 2020. L’annonce porte la date de publication du 29 décembre 2021, mais son texte situe la transaction plus tôt. Cette distinction compte pour comprendre la chronologie : la publication tardive d’un article ne signifie pas que l’entreprise a commencé à exploiter le pool à ce moment-là. La reprise de l’exploitation et le changement complet de propriétaire étaient deux étapes distinctes. [1]
Prenons un Antminer S9. Ses puces répètent des calculs, mais un programme doit préparer leur travail et les piloter. Ce logiciel interne s’appelle un firmware. L’histoire de l’entreprise décrit comment une équipe dirigée par Čapek a vérifié la compatibilité avec AsicBoost, une méthode pour mieux exploiter les calculs de minage, puis développé Braiins OS, publié en code ouvert en 2018. Un code accessible permet aux développeurs d’examiner ce que fait le programme. La contribution documentée de Čapek concerne ici le logiciel, pas la conception de la puce elle-même. [1] [2]
Dans un entretien publié en 2020, Čapek explique l’autotuning : rechercher automatiquement une fréquence et une tension adaptées à chaque puce pour une puissance choisie. La fréquence est liée au rythme du travail, la tension au fonctionnement électrique ; le but est de mieux utiliser l’énergie disponible. Le mineur s’intéresse donc aux coûts de fonctionnement autant qu’au chiffre de performance. Čapek envisageait une couche propriétaire payante au-dessus de la base ouverte de Braiins OS. Cet entretien explique l’idée commerciale de l’époque, pas la licence ou le prix de chaque version actuelle. [2]
Au-delà du programme interne, il faut un langage commun pour transmettre le travail et les résultats. C’est le rôle d’un protocole de minage : des règles de messages comprises par les deux parties. Jan Čapek, Pavel Moravec et Matt Corallo ont conçu Stratum V2 ensemble. Son site officiel attribue sa maintenance à une communauté open source indépendante. La contribution de Čapek dépasse donc les produits Braiins. Ce standard partagé permet à différents développeurs de créer des programmes capables de fonctionner ensemble ; il n’appartient pas à une seule entreprise. [3]
Un mineur qui envoie ses résultats par internet ne veut pas qu’un tiers puisse les lire ou les modifier en chemin. Stratum V2 utilise un chiffrement qui contrôle aussi l’intégrité des messages et vérifie l’identité du serveur. La spécification impose une négociation sécurisée pour les connexions distantes aux services en amont, avec une exception possible pour cette négociation sur le réseau local, par exemple entre une machine et un intermédiaire local. Cela protège le trajet du message. Cela ne vérifie pas la comptabilité du pool et ne garantit pas un paiement futur : transport sécurisé et opérateur fiable restent deux questions différentes. [4]
Il faut aussi savoir qui prépare la proposition du prochain bloc, transactions comprises. Cette proposition s’appelle un modèle de bloc. Job Declaration permet au client, le programme côté mineur, de coordonner son propre travail avec un pool compatible. Template Distribution fournit les modèles, tandis que Mining Protocol transmet le travail et les résultats. Ces noms désignent les composants d’une installation qui doivent fonctionner ensemble. La mention Stratum V2 sur un firmware ne prouve donc pas à elle seule que le mineur choisit réellement les transactions. Tout dépend des composants pris en charge et activés. [5]
La spécification prévoit aussi le refus : DeclareMiningJob.Error désigne le rejet d’une déclaration de tâche de minage. Le client doit alors passer à un autre pool disposant d’un JDS, un Job Declarator Server, ou, en dernier recours, au solo mining. En minant seul, on ne partage plus les revenus comme dans un pool. Le changement exige aussi une configuration de secours opérationnelle ; le nom d’un protocole ne garantit pas la continuité. Le principe est de permettre au mineur de partir tout en conservant le modèle qu’il a choisi. Sa capacité réelle à le faire dépend de toute l’installation. [5]
Pour une vision complète, lisez aussi Braiins, Stratum V2, Mining Firmware. Cette entrée est également citée par Stratum V2.