Jan Čapek adalah insinyur Ceko yang mendirikan Braiins bersama Pavel Moravec. Menambang Bitcoin bukan sekadar membeli mesin bertenaga: perangkat lunak harus memasok tugas dan mengendalikan operasinya. Di bagian inilah Čapek bekerja. Ia berkontribusi pada Braiins OS, perangkat lunak di dalam mesin penambangan, serta merancang Stratum V2 bersama Moravec dan Matt Corallo. Protokol itu mengatur komunikasi perangkat dan layanan penambangan lainnya. Kisahnya menunjukkan bagaimana perangkat lunak mengubah hal yang benar-benar berada dalam kendali pemilik mesin.
Čapek dan Pavel Moravec mendirikan Braiins untuk mengembangkan perangkat lunak tertanam, yaitu program yang berjalan di dalam perangkat. Di sisi lain ada Bitcoin.cz Mining Pool, yang didirikan pada 2010 oleh Marek Palatinus, dikenal sebagai Slush. Pool memungkinkan penambang menggabungkan pekerjaan dan berbagi pendapatan menurut aturannya, alih-alih menunggu menemukan blok sendiri-sendiri. Kedua kisah ini kemudian bertemu. Čapek ikut mendirikan perusahaan yang mengambil alih pool; Palatinus tetap pendiri pool awalnya. [1]
Pada 2013, Braiins membeli saham mayoritas dan mengambil alih seluruh operasi pool, sehingga Palatinus dapat berfokus pada Trezor. Perusahaan membeli sisa saham pada hari pertama September 2020. Halaman pengumuman bertanggal publikasi 29 Desember 2021, tetapi isinya menyebut tanggal transaksi yang lebih awal. Perbedaan ini penting saat mengikuti sejarah: artikel yang terbit belakangan tidak berarti perusahaan baru mulai mengoperasikan pool saat itu. Mengambil alih operasi dan menyelesaikan perubahan kepemilikan adalah dua langkah berbeda. [1]
Bayangkan Antminer S9. Cipnya berulang kali melakukan perhitungan, tetapi program harus menyiapkan tugas dan mengendalikan operasinya. Perangkat lunak internal ini disebut firmware. Sejarah perusahaan menjelaskan bahwa tim yang dipimpin Čapek memverifikasi dukungan AsicBoost, cara memanfaatkan perhitungan penambangan dengan lebih efisien, dan mengembangkan Braiins OS terbuka yang diluncurkan pada 2018. Kode terbuka memungkinkan pengembang memeriksa apa yang dilakukan program. Kontribusi Čapek yang terdokumentasi di sini menyangkut perangkat lunak, bukan perancangan cip itu sendiri. [1] [2]
Dalam wawancara yang diterbitkan pada 2020, Čapek menjelaskan autotuning: mencari frekuensi dan tegangan yang cocok bagi setiap cip secara otomatis pada pengaturan daya tertentu. Frekuensi terkait dengan kecepatan kerja, sedangkan tegangan dengan operasi listriknya; tujuannya memakai energi yang tersedia dengan lebih efektif. Penambang memperhatikan biaya operasi selain angka kinerja. Čapek saat itu mempertimbangkan komponen proprieter berbayar di atas dasar terbuka Braiins OS. Wawancara tersebut menjelaskan gagasan bisnis saat itu, bukan lisensi atau harga setiap versi sekarang. [2]
Selain program di dalam mesin, diperlukan bahasa bersama untuk mengirim tugas dan hasil. Protokol penambangan menyediakannya: aturan pesan yang disepakati dan dipahami kedua pihak. Jan Čapek, Pavel Moravec, dan Matt Corallo merancang Stratum V2 bersama. Situs resminya menyebut komunitas sumber terbuka independen sebagai pemeliharanya. Kontribusi Čapek dengan demikian melampaui produk Braiins. Ini standar bersama yang memungkinkan pengembang berbeda membuat program yang dapat bekerja sama, bukan protokol milik satu perusahaan. [3]
Penambang yang mengirim hasil melalui internet tidak ingin orang lain membaca atau mengubahnya di perjalanan. Stratum V2 menggunakan enkripsi yang juga memeriksa keutuhan pesan serta memastikan identitas server. Spesifikasi mewajibkan proses pembentukan koneksi aman untuk layanan hulu jarak jauh, tetapi mengizinkan pengecualian bagi proses itu di jaringan lokal, misalnya antara mesin dan perantara setempat. Perlindungan ini menyangkut perjalanan pesan. Ini tidak mengaudit pembukuan pool atau menjamin pembayaran kelak: pengiriman aman dan operator tepercaya merupakan dua persoalan berbeda. [4]
Pertanyaan berikutnya adalah siapa menyusun calon blok berikutnya beserta transaksinya. Rancangan ini disebut templat blok. Job Declaration memungkinkan klien, program di sisi penambang, mengoordinasikan pekerjaan pilihannya dengan pool yang mendukungnya. Template Distribution memasok templat, sementara Mining Protocol membawa tugas dan hasil penambangan. Nama-nama ini menunjukkan bagian suatu sistem yang harus bekerja bersama. Label Stratum V2 pada firmware saja tidak membuktikan bahwa penambang benar-benar memilih transaksi. Yang menentukan adalah komponen yang didukung dan diaktifkan. [5]
Spesifikasi juga mengatur penolakan: DeclareMiningJob.Error menunjukkan deklarasi tugas penambangan yang ditolak. Klien kemudian harus beralih ke pool lain dengan JDS, yakni Job Declarator Server, atau ke solo mining sebagai jalan terakhir. Menambang sendiri tidak lagi berbagi pendapatan seperti di pool. Peralihan juga memerlukan konfigurasi cadangan yang berfungsi; nama protokol tidak menjamin operasi tanpa henti. Rancangannya bertujuan memungkinkan penambang pergi sambil mempertahankan templat pilihannya. Keberhasilannya bergantung pada keseluruhan sistem. [5]
Untuk gambaran yang lebih utuh, baca entri ini bersama Braiins, Stratum V2, Mining Firmware. Entri ini juga dirujuk dari Stratum V2.