93 / 736SV1

Stratum V1

Cara mesin penambangan berkomunikasi dengan pool

Stratum V1 adalah bahasa bersama mesin penambangan dan pool: mengirim tugas, mengembalikan hasil, dan memungkinkan kontribusi kerja diukur. Marek Palatinus, yang dikenal sebagai Slush, memperkenalkannya pada 2012.

Stratum V1 adalah protokol komunikasi untuk penambangan Bitcoin bersama. Pool mengirim tugas melalui koneksi yang terus terbuka, lalu perangkat mengembalikan hasil. Protokol ini sendiri tidak menentukan besarnya imbalan maupun aturan keabsahan blok Bitcoin.

Eva menyalakan ASIC, mesin khusus untuk menambang Bitcoin, dan menghubungkannya ke pool. Pool mengoordinasikan penambang yang mencari blok berikutnya, yaitu sekumpulan transaksi untuk ditambahkan ke riwayat Bitcoin. Daya komputasi saja belum cukup: mesin memerlukan tugas, dan pool perlu mengetahui kontribusi Eva. Stratum V1 mengatur percakapan ini. Pool mengirim pekerjaan untuk mencari blok berikutnya; mesin menghitung dan mengembalikan hasil antara. Seperti bahasa dalam percakapan telepon, protokol membuat kedua pihak saling memahami. Namun, protokol tidak menentukan harga pekerjaan. Imbalan mengikuti aturan pembayaran pool, sedangkan node Bitcoin memeriksa keabsahan blok yang ditemukan. [4] [2]

Ketika mesin semakin cepat, metode lama getwork menjadi kurang sesuai. Pekerjaan diberikan sedikit demi sedikit sehingga perangkat harus sering meminta tambahan. Marek Palatinus mengumumkan usulan baru pada 11 September 2012. Stratum menjaga koneksi tetap terbuka agar pool dapat mengirim perubahan tugas tanpa menunggu permintaan berikutnya. Beban komunikasi pun berkurang. Ini tidak menggantikan seluruh bagian penambangan: pool tetap dapat mengambil rancangan blok dari node Bitcoin memakai getblocktemplate yang dijelaskan dalam BIP 22. [11] [3] [5]

Perangkat lunak pengendali biasanya lebih dahulu mengirim mining.subscribe untuk meminta pekerjaan. Balasannya memuat informasi koneksi serta data untuk membedakan perhitungannya. mining.authorize kemudian mengaitkan perangkat dengan akun. Di sini worker berarti pengenal mesin atau koneksi, bukan pegawai. Eva dapat membedakan beberapa mesin dalam satu akun. Kata sandi yang mungkin dikirim dalam pesan itu tidak dengan sendirinya membuktikan keaslian server atau mengenkripsi komunikasi. Berhasil masuk ke akun belum membuktikan bahwa koneksinya aman. [2] [13]

mining.notify membawa tugas baru dengan pengenal job_id. Isinya mencakup rujukan blok sebelumnya, data terkait transaksi, waktu, dan informasi lain untuk header blok, yaitu ringkasan data tentang blok tersebut. Penanda clean_jobs penting: true memerintahkan perangkat meninggalkan tugas lama; false mengizinkan pekerjaan sebelumnya berlanjut sambil beralih ke tugas baru. Jadi, tidak setiap pesan baru otomatis membuat seluruh hasil yang sedang dikerjakan tidak berguna. Tugas itu pun baru calon untuk dihitung, bukan blok yang sudah sah. [2] [13]

Bagian ini bersifat teknis; menghubungkan perangkat biasa tidak menuntut pengetahuan setiap kolom. Pool menyediakan dua bagian transaksi coinbase, yang membayarkan imbalan blok dan tidak terkait bursa bernama sama. Perangkat lunak menyisipkan extranonce1 dari pool dan extranonce2 miliknya sendiri di antara kedua bagian, sehingga tersedia lebih banyak variasi pekerjaan. Dari transaksi tersebut dan Merkle branches yang diterima, yaitu nilai antara pada ringkasan transaksi berbentuk pohon, perangkat menghitung Merkle root. Bersama rujukan blok sebelumnya, versi, waktu, dan batas hash yang dikodekan, nilai ini membentuk dasar header sepanjang 80 byte. ASIC berulang kali menghitung hash-nya, sidik jari numerik, sambil mengubah nonce, angka untuk mencoba kandidat berikutnya. [2] [4] [13] [14]

Menemukan satu blok utuh jarang terjadi. Karena itu, pool menetapkan ambang hasil yang lebih mudah, disebut target. Hasil yang memenuhinya adalah mining share, bukti pekerjaan yang sudah dilakukan. Sebagian besar shares tidak memenuhi ambang jaringan Bitcoin yang lebih ketat; sesekali suatu hasil juga memenuhinya dan dapat membantu menghasilkan blok sah. mining.set_difficulty serta penyesuaian otomatis vardiff mengubah kesulitan shares agar hasil datang dalam frekuensi yang wajar. Keduanya tidak mengubah kesulitan jaringan. Memenuhi syarat yang lebih sulit rata-rata membutuhkan lebih banyak perhitungan, sehingga hasilnya memiliki bobot lebih besar saat mengukur pekerjaan. Shares yang lebih sedikit tetapi lebih sulit tidak otomatis berarti imbalan lebih kecil: bobot dan aturan pembayaran pool juga menentukan. [2] [4] [13]

Melalui mining.submit, perangkat mengirim pengenal worker, job_id, extranonce2, nTime (waktu yang tercatat di header), dan nonce. Pool menyusun ulang hasil lalu memeriksanya. duplicate berarti pekerjaan yang sama dikirim kembali, low difficulty berarti hasil belum memadai, dan stale berarti pekerjaan berasal dari tugas yang sudah tidak diterima. Eva karena itu memantau penolakan dan keterlambatan koneksi, bukan hanya kecepatan mesin. Share yang diterima pun belum merupakan pembayaran ke dompet: Stratum menangani pekerjaan, sedangkan pencatatan dan pembayaran imbalan mengikuti aturan terpisah. [2] [13]

BIP 310 dari 2018 menjelaskan perundingan kemampuan tambahan melalui mining.configure. Dokumen yang diperiksa pada 17 Oktober 2026 masih berstatus Draft, atau rancangan. Version-rolling hanya mengizinkan perubahan bit versi header yang disepakati; setelah disetujui, mining.submit mendapat kolom keenam. Ini bukan izin mengubah aturan Bitcoin sesuka hati. minimum-difficulty dan subscribe-extranonce membahas permintaan kesulitan minimum shares serta pemberitahuan nilai extranonce baru. Kesepakatan kemampuan mencegah salah paham antarprogram, tetapi tidak mengenkripsi koneksi dengan sendirinya. [6]

V1 lazim memakai TCP tanpa enkripsi. Tanpa perlindungan tambahan, pihak di jalur komunikasi dapat membaca atau mengubah pesan dan mencoba mengalihkan pekerjaan. Penelitian Hardening Stratum pada 2017 menguji risiko tersebut secara praktis. Masalahnya adalah hubungan mesin dengan pool, bukan pembobolan Bitcoin. Dalam pengaturan umum, pool juga memilih transaksi untuk blok. Memiliki mesin tidak berarti Eva menentukan isi blok. Node Bitcoin tetap menolak blok yang melanggar aturan, sekalipun dibuat oleh pool besar. [7] [4]

Stratum V2 menghadirkan pesan biner yang lebih ringkas serta koneksi yang dilindungi kriptografi. Komponen terpisah Job Declaration dapat memungkinkan penambang mengusulkan transaksi pilihannya sendiri jika kedua pihak mendukung dan memakainya. Penerjemah V1/V2 maupun label V2 saja tidak membuktikan kemampuan tersebut. Eva perlu memeriksa dukungan firmware, alamat server yang benar, perlindungan koneksi, hasil yang ditolak, dan koneksi cadangan. Inti V1 sederhana: menyampaikan pekerjaan, membuktikan perhitungan, lalu membedakannya dari pemilihan isi blok dan pembayaran. [8] [12] [10]

Untuk gambaran yang lebih utuh, baca entri ini bersama Bitcoin, Penambangan, Mining Pool, Braiins, Braiins Pool, Marek ‘Slush’ Palatinus. Entri ini juga dirujuk dari Mining Pool, Marek ‘Slush’ Palatinus, Braiins, Braiins Pool.

DOC · 001Original Stratum mining protocol announcementSumber primer DOC · 002Bitcoin Wiki — Stratum mining protocolDokumentasi DOC · 003Braiins — Past and future of mining protocolsSumber primer DOC · 004Bitcoin Developer Guide — Pooled MiningDokumentasi DOC · 005BIP 22 — getblocktemplate fundamentalsSumber primer DOC · 006BIP 310 — Stratum protocol extensionsSumber primer DOC · 007Hardening Stratum research paperSumber primer DOC · 008Stratum V2 Mining Protocol specificationSumber primer DOC · 009Galaxy Research — Future of Bitcoin mining protocolsDokumentasi DOC · 010Braiins Academy — Stratum V2 ManualDokumentasi DOC · 011Slush — Stratum proposal, 11 September 2012Sumber primer DOC · 012Stratum V2 — Job Declaration ProtocolSumber primer DOC · 013Original Stratum protocol specification (archived)Sumber primer DOC · 014Bitcoin Developer Reference — Block HeadersSumber primer
Direvisi: Utamakan sumber · Bukan nasihat investasi