Mining Share adalah hasil perhitungan penambangan yang memenuhi syarat pool untuk tugas tertentu. Pool menggunakan sampel yang bisa diverifikasi ini untuk memperkirakan pekerjaan yang disumbangkan. Syaratnya biasanya lebih mudah daripada syarat blok Bitcoin yang valid, sehingga kebanyakan shares bukan blok baru.
Mesin Petr melakukan sangat banyak percobaan. Pool tidak memerlukan pesan untuk setiap percobaan; hanya hasil terpilih yang memenuhi syarat tertentu yang dikirim. Pool memverifikasinya dan memperkirakan pekerjaan secara statistik dari frekuensi serta tingkat kesulitannya. Jadi Mining Share bukan bagian blok yang belum selesai atau kepemilikan bitcoin yang bisa dipindahtangankan. Ia juga bukan transaksi yang dicatat dalam blockchain, riwayat publik transaksi Bitcoin yang disusun dalam blok-blok yang saling terhubung. Ini cara penambang menunjukkan kontribusi perhitungannya kepada pool. [1]
Penambangan mencari hash, hasil perhitungan yang dibaca sebagai angka, tidak lebih tinggi daripada target tertentu. Pool biasanya menetapkan target yang secara numerik lebih tinggi daripada jaringan: lebih banyak hasil lolos, sehingga syaratnya lebih mudah. Hasil yang cukup bagi pool biasanya belum cukup untuk blok. Secara kebetulan, sebagian juga memenuhi target jaringan yang lebih ketat. Hasil itu dapat menghasilkan blok baru apabila seluruh blok juga mengikuti aturan lain. Pool tidak melonggarkan aturan Bitcoin; ia menetapkan ambangnya sendiri untuk bukti pekerjaan berkelanjutan. [1]
Petr tidak harus merakit pesan ini sendiri; perangkat lunak penambangan melakukannya. Stratum V2 adalah protokol, aturan komunikasi antara perangkat dan pool. Pesan SubmitSharesStandard memuat job_id untuk mengenali tugas, nonce sebagai nilai yang diubah selama pencarian, ntime untuk penanda waktu dalam header blok, dan version untuk versi header, bagian data ringkas dari blok. Pesan itu juga memuat identitas kanal komunikasi. Pool memerlukan konteks ini untuk memeriksa perhitungan; nonce tanpa tugas yang benar bukan bukti pekerjaan mandiri. [2]
Bayangkan Petr membandingkan mesin dengan tingkat kesulitan tugas berbeda. Tingkat kesulitan berfungsi sebagai bobot: hasil yang memenuhi syarat lebih ketat dihitung sebagai pekerjaan yang lebih banyak. Jika dihitung dengan skala yang sama, dua kiriman diterima pada kesulitan 1024 memiliki bobot total sama dengan satu kiriman pada kesulitan 2048. Jumlah pesan berbeda, tetapi bobot pekerjaan yang dicatat sama. Bahkan jumlah bobot ini bukan catatan persis seluruh perhitungan sebenarnya: keberhasilan individual bersifat acak. Periksa apakah penghitung bernama shares menampilkan hasil diterima atau bobot yang sudah dihitung dengan skala yang sama. [3]
Pool kadang mengonfirmasi beberapa kiriman sekaligus. Stratum V2 memakai respons SubmitShares.Success untuk itu. Kolom new_submits_accepted_count menghitung kiriman yang baru dikonfirmasi, sedangkan new_shares_sum menjumlahkan kesulitan tugas terkait. Yang pertama menghitung hasil, yang kedua bobotnya. Keduanya berlaku untuk kelompok yang sedang dikonfirmasi, bukan otomatis total sepanjang aktivitas penambang. Jadi, saat membaca protokol, tidak perlu mengharapkan konfirmasi terpisah untuk setiap hasil terkirim. [2]
Mesin Petr dapat melaporkan hasil sudah dikirim sementara pool masih memvalidasinya. Stratum V2 memakai SubmitShares.Error untuk kiriman yang salah; sequence_number menunjukkan kiriman yang terkait dengan kesalahan tersebut. Jika validasi tidak bisa langsung dilakukan, respons kesalahan dapat tiba belakangan. Pisahkan hasil terkirim dari yang sudah dikonfirmasi diterima, dan perhatikan penolakan. Naiknya penghitung kiriman lokal saja tidak membuktikan pool telah mengakui semuanya. [2]
Pekerjaan yang dikonfirmasi masuk ke aturan imbalan pool masing-masing. Contohnya, FPPS, Full Pay Per Share, di Braiins menghitung imbalan dari pekerjaan yang diserahkan serta data jaringan, termasuk kesulitan dan imbalan blok; komponen biaya transaksi juga disertakan. Pool memotong biayanya, dan transfer mengikuti pengaturan pembayaran. Konfirmasi share sendiri tidak mengirim BTC (bitcoin) ke dompet. Karena itu Petr memantau pekerjaan diterima, imbalan terhitung, dan pembayaran sebenarnya secara terpisah. [4]
Penghitung shares mungkin tampak seperti kemajuan unduhan, tetapi penambangan tidak bekerja begitu. Shares dan blok muncul dari pencarian hash yang cukup rendah, dengan hasil acak. Lebih banyak pekerjaan terbukti memberi dasar statistik lebih baik untuk memperkirakan kapasitas, bukan kepastian keberhasilan berikutnya. Deretan panjang shares diterima tidak menjamin blok pada percobaan selanjutnya. Penghitung memberi tahu Petr tentang pekerjaan dan penerimaannya, bukan bahwa tinggal bagian terakhir blok yang belum selesai. [3]
Untuk gambaran yang lebih utuh, baca entri ini bersama Mining Pool, Share Difficulty, Proof of Work, Mining Target, Bitcoin. Entri ini juga dirujuk dari ASIC Miner, Mining Pool, Braiins Pool, Stratum V1.