Mengenal lebih dekat tentang mining bitcoin
Pertambangan Bitcoin yang memang, yaitu satu aktivitas menambang memakai piranti spesifik. Akhirnya lewat memecahkan rangkaian masalah matematis (puzzle) menurut tingkat kesusahan spesifik. Nah aktivitas berikut yang dimaksud dengan “Menambang” atau arti kerennya yaitu “Bitcoin Mining”.baca juga :Apa itu bitcoin? dan apa kegunaannya
Jadi tuturnya, jika seorang menambang Bitcoin, berarti orang itu memakai piranti pertambangan. Dapat memakai CPU, GPU, FPGA, ataupun ASIC. Keterangan mengenai piranti ini juga akan dibicarakan dibagian setelah itu.
Aktor pertambangan, dimaksud dengan arti “penambang”, atau bhs kerennya yaitu “Miner”. Nah, kadang waktu, kita juga masih tetap tersisa pertanyaan, apa memang yang ditunaikan oleh penambang Bitcoin ini?
Mari kita membahasnya. Sistem pertambangan Bitcoin serupa seperti dengan pertambangan logam mulia seperti emas. Cuma saja ketidaksamaannya, bila Bitcoin pertambangannya ditunaikan dengan digital untuk memecahkan puzzle, serta pertambangan emas lewat sistem pertambangan emas.
Jadi serupa, karna kadang-kadang penambang ada yang terasa rugi, karna tidak dapat serta susah temukan emas, serta ada pula yang berhasil. Tetapi, deskripsi kenyataannya yaitu, juga akan terdapat banyak kesusahan waktu melaksanakan sistem pertambangan itu.
Begitu juga perihal dengan pertambangan Bitcoin. Ada sederet kesusahan serta tantangan yang dihadapi. Sedangkan untuk jadi seseorang penambang, jadi kita mesti tersambung kedalam jaringan Bitcoin. Setelah tersambung, jadi kita juga akan jadi “node”. Arti node ini memaparkan mengenai seluruhnya piranti yang tersambung kedalam jaringan Bitcoin.
Lalu apa sajakah yang ditunaikan oleh penambang? Saat seorang tersambung kedalam jaringan Bitcoin memakai satu piranti, jadi node itu juga akan melaksanakan rangkaian pekerjaan. Tugas-tugas yang ditunaikan itu yaitu :
Mendengarkan transaksi
Semua node yang sudah tersambung didalam jaringan Bitcoin, mesti dengarkan seluruhnya transaksi yang berjalan. Dilanjutkan dengan memvalidasi transaksi yang didengar itu. Dengan melaksanakan kontrol pada sinyal tangan digitalnya (digital signature). Hal itu berkaitan kebenaran sinyal tangan digital serta output yang di sertakan dalam transaksi itu mesti betul-betul belum juga di habiskan (belum juga di keluarkan di transaksi lain-memastikan tak ada double spending).
Melindungi Blockchain serta dengarkan blok baru yang terwujud.
Seseorang penambang, memang bermanfaat untuk melindungi blockchain. Berkaitan dalam perlakuan seluruhnya transaksi yang berjalan. Penambang juga, juga akan menjaga Blockchain yang sudah menaruh seluruhnya transaksi. Penambang, dapat memohon seluruhnya histori blok pada node beda yang sudah masuk sebelumnya ia masuk ke dalam jaringan. Mendengarkan blok baru yang di broadcast didalam jaringan, selanjutnya memvalidasi blok yang diterima. Karna didalam blok ada rangkaian transaksi, jadi tiap-tiap transaksi yang ada pada dalam blok itupun harus juga divalidasi, serta valid.
Buat calon blok baru
Setelah kita punyai salinan lengkap rantai blok (blockchain), jadi kita dapat mulai membuat blok. Untuk mengerjakannya, dengan mengelompokkan seluruhnya transaksi yang kita dengar ke blok baru, yang nanti dapat memperluas pada blok yang kita mengerti. Tetapi, kita juga mesti dapat menegaskan kalau seluruhnya transaksi didalam blok itu yaitu valid.
Mencari Nonce supaya jadi blok yang valid
Setelah kita memvalidasi seluruhnya transaksi pada calon blok barusan, setelah itu yaitu mencari nonce supaya dapat buat blok itu jadi valid. Langkah di sini yaitu langkah yang paling susah yang dihadapi oleh banyak penambang.
Mengharapkan Blok diterima
Ini yaitu kesusahan ke-2 yang dihadapi. Jadi, misalnya kita temukan satu blok baru, tak ada jaminan kalau blok itu juga akan dapat jadi sisi dari konsensus blockchain. Penambang memerlukan keberuntungan di sini. Mengharapkan supaya penambang beda terima saran blok itu. Hingga kita dapat mulai menambang di atas blok itu. Jadi bukanlah pada blok penambang beda.
Terima Keuntungan
Jika nyatanya penambang beda terima blok kita jadi blok yang valid, jadi berikut waktu yang buat penambang tersenyum senang sesudah melaksanakan pekerjaan beratnya. Karna misalnya blok kita di terima, jadi juga akan peroleh reward sebesar 25 Bitcoin (yang masih tetap berlaku di sekarang). Terkecuali itu, misalnya lebih dari satu transaksi didalam blok itu tercantum cost transaksi, penambang juga dapat menyatukan seluruhnya cost transaksi itu.
Nah, ke enam hal itu yaitu hal yang penting dijalankan oleh banyak penambang. Jadi terang ya, kalau menambang itu bukanlah dimaknai seperti pada mencari Bitcoin di faucet, giveaway atau yang beda. Tetapi, menambang di sini ya berarti memakai alat spesifik, yang dalam akhirnya lakukan ke enam hal tertulis diatas.
Mari kita teruskan kembali. Dari ke enam hal tersebut, kita dapat mengklasifikasikan dalam dua hal.
1. Beberapa pekerjaan itu untuk memvalidasi transaksi
Bermanfaat untuk menolong jaringan Bitcoin jadi satu peranan yang paling utama supaya system Bitcoin serta Blockchain dapat selalu jalan serta ada. Hingga penambang, yaitu hal paling utama yang juga akan menggerakkan seluruhnya protokol Bitcoin.
2. Pekerjaan yang lain untuk sama-sama berlomba mencari blok baru serta peroleh keuntungan
Kenapa sama-sama berlomba? karna pada intinya, hal semacam ini yang paling susah. Terkecuali itu, berkaitan dengan juga insentif reward blok yang juga akan di terima. Untuk yang berhasil temukan blok baru. Maka dari itu di umpamakan jadi satu perlombaan untuk mencari serta temukan blok baru. Serta insentif yang didapatkan itu, dipakai jadi stimulus banyak penambang dalam melaksanakan pekerjaannya.
Lalu bagaimana dapat temukan blok yang valid? untuk menjawab pertanyaan ini, juga akan berkenaan dengan Nonce yang penting di dapatkan supaya dapat jadi blok yang valid. Yang butuh kita mengerti, kalau di tiap-tiap blok header, juga akan menunjuk ke header blok diawalnya. Serta didalam tiap-tiap blok, juga akan ada merkle tree dari seluruhnya transaksi yang ada pada dalam blok itu.
Penambang, terlebih dulu mengkompilasi satu set transaksi yang valid, yang dipunyai dari pool pending transaction (pool transaksi terlambat atau yang umum dimaksud dengan mempool), lalu di masukan ke dalam merkle tree.
Nah, dalam hal semacam ini, seseorang penambang dapat memasukkan banyak transaksi, sampai keseluruhannya capai keseluruhan kurang dari 1megabyte (batas ukuran blok yang masih tetap berlaku sekarang). Lalu, buat header blok yang memperlihatkan blok diawalnya.
Pada header blok ini, ada ruangan nonce mempunyai ukuran 32 bit. Hingga penambang dapat coba nonce ini berulang-kali. Maksudnya adalah untuk mencari satu yang dapat mengakibatkan hash blok itu dapat ada dibawah tujuan. Biasanya untuk mulai coba nonce itu, dapat dengan terlebih dulu diawali nilai nonce 0. Lalu penambang juga dapat coba dengan berturut-turut dengan kenaikan angka itu hingga berhasil mencari nonce yang juga akan dapat buat blok jadi valid.
Biasanya penambang juga akan coba tiap-tiap peluang nilai dari bit 32 untuk nonce itu. Tetapi kemungkinan juga tak ada satupun yang dapat hasilkan hash yang valid. Nah, pada kasuistis mirip ini, rata-rata penambang juga akan buat satu perubahan.
Perubahan itu yaitu perubahan pada transaksi Coinbase, yang sangat mungkin penambang untuk membuat perubahan nilai dari 32 bit. Karna ada satu nonce penambahan dalam transaksi coinbase. Setelah merubah nonce penambahan di transaksi coinbase barusan, penambang dapat mulai mencari sekali lagi nonce di header blok.
Jika sudah melaksanakan perubahan nonce dalam transaksi coinbase, jadi semua merkle tree harus juga beralih. Kenapa sekian? Karna perubahan nonce itu juga akan menebar ke seluruhnya jalur di merkle tree. Hingga, dapat disebutkan pengubahan nonce penambahan itu, sifatnya seakan-akan lebih susah dari pada merubah nonce di header bloknya.
Kenapa lebih susah? karna penambang jadi banyak menggunakan saatnya untuk merubah nonce di header blok. Mungkin saja juga, saat telah usai merubah nonce di header blok, mereka juga belum juga dapat temukan blok yang valid. Tersebut kenapa malah pengubahan nonce penambahan ini malah lebih susah. Meskipun dapat ditunaikan jadi jalan alternatif, misalnya belum juga dapat temukan peluang nilai di 32 bit barusan.
Walaupunpun susah serta beberapa besar kemungkinan akan tidak berhasil, tetapi misalnya penambang mengusahakan untuk selalu coba, kemungkinan juga akan dapat temukan satu paduan yang pas dari nonce penambahan di transaksi coinbase itu. Hingga nonce di header blok dapat hasilkan hash yang pas di bawah tujuan. Kalau penambang berhasil temukan, penambang itu dapat selekas mungkin untuk menginformasikan, serta mengharapkan dapat di terima untuk mendapatkan reward.
Lalu ada pertanyaan yang keluar :
Tujuan apa memang yang memaparkan tujuan hash itu mesti ada dibawah tujuan?
Apakah seluruhnya penambang memecahkan puzzle yang sama?
Jika satu penambang berhasil memecahkan, apakah penambang yang paling cepat itu juga akan senantiasa menang untuk temukan blok selanjutnya?
Jawaban nomor 2 serta 3 yaitu “Tidak”. Mustahil penambang juga akan bekerja pada blok yang sama persis. Karna blok satu dengan yang beda, pasti di dalamnya juga akan ada posisi transaksi yang tidak sama. Jadi sudah pasti puzzle nya juga berbeda. Serta yang paling penting, misalnya ada dua penambang yang bekerja pada blok yang transaksinya identik meski, bloknya juga akan tetaplah tidak sama.
Dalam transaksi coinbase, penambang juga akan tentukan alamat mereka sendiri didalam transaksi coinbase. Alamat ini yang juga akan mengubah sampai hingga ke akar merkle tree. Hingga dapat di pastikan kalau tak ada dua penambang yang tengah lakukan puzzle yang sama. Terkecuali misalnya mereka sharing (share) public key. Sharing atau share public key ini, dalam pertambangan dapat ditunaikan misalnya ke-2 penambang itu yaitu sisi dari pool mining yang sama. Hingga pada keduanya juga akan dapat berkomunikasi keduanya, berkaitan apakah mereka termasuk juga nonce yang tidak sama di transaksi coinbase itu. Maksudnya juga untuk jauhi duplikasi pelaksanaan.
Nah pada jawaban nomor 1 mengenai tujuan, ini juga akan berkenaan dengan tingkat kesusahan. Mari kita membahasnya.
Tingkat Kesulitan
Bagaimana tingkat kesusahan untuk temukan blok yang valid? Yang mesti kita ingat yaitu kalau penambang juga akan mengusahakan untuk memperoleh yang diiginkan. Yaitu nilai hash mesti lebih rendah dari tujuan. Katakanlah, penambang mengusahakan untuk temukan hash bloknya + angka acak di base16, yang nilainya lebih rendah dari tujuan.
Tujuan – seperti yang diterangkan diawal, berkenaan dengan tingkat kesusahan. Sesaat tujuan ini yaitu bit 256 pada base16. Jadi tujuan ini juga akan makin rendah nilainya, hingga tingkat kesulitannya akan juga jadi bertambah. Jadi berarti, tingkat kesusahan itu yaitu semakin rendahnya nilai dari tujuan