Apa Itu Menambang Bitcoin ?

Apa Itu Menambang Bitcoin ?

Apa Itu Menambang Bitcoin ? – Jadi jelas ya, bahwa menambang itu bukan dimaknai seperti pada mencari Bitcoin di faucet, giveaway atau yang lain.

Namun, menambang disini ya artinya menggunakan alat tertentu, yang dalam prosesnya mengerjakan keenam hal yang sudah kita bahas di artikel sebelum nya Apa Itu Bitcoin ?

Mari kita lanjutkan kembali.

Dari keenam hal itu, kita bisa mengklasifikasikan dalam dua hal.

1. Beberapa tugas itu untuk memvalidasi transaksi

Berfungsi untuk membantu jaringan Bitcoin sebagai sebuah fungsi yang paling penting agar sistem Bitcoin dan Blockchain bisa terus berjalan dan ada.

Sehingga penambang, adalah hal utama yang akan menjalankan semua protokol Bitcoin.

2. Tugas lainnya untuk saling berlomba mencari blok baru dan memperoleh keuntungan

Mengapa saling berlomba?

karena pada dasarnya, hal ini yang paling sulit.

Selain itu, terkait juga dengan insentif reward blok yang akan diterima.

Bagi yang berhasil menemukan blok baru.

Makanya diibaratkan sebagai sebuah perlombaan untuk mencari dan menemukan blok baru.

Dan insentif yang diberikan itu, digunakan sebagai stimulus para penambang dalam melakukan pekerjaannya.

Lalu bagaimana bisa menemukan blok yang valid? untuk menjawab pertanyaan ini, akan berkaitan dengan Nonce yang harus di temukan agar bisa menjadi blok yang valid.

Yang perlu kita pahami, bahwa di setiap blok header, akan menunjuk ke header blok sebelumnya.

Dan di dalam setiap blok, akan terdapat merkle tree dari semua transaksi yang ada di dalam blok itu.

Penambang, terlebih dahulu mengkompilasi satu set transaksi yang valid, yang dimiliki dari pool pending transaction (pool transaksi tertunda atau yang biasa disebut dengan mempool), kemudian di masukkan kedalam merkle tree.

Nah, dalam hal ini, seorang penambang bisa memasukkan banyak transaksi, hingga keseluruhannya mencapai total kurang dari 1megabyte (batas ukuran blok yang masih berlaku saat ini).

Kemudian, membuat header blok yang menunjukkan blok sebelumnya.

Pada header blok ini, ada ruang nonce berukuran 32 bit.

Sehingga penambang bisa mencoba nonce ini berkali-kali.

Tujuannya untuk mencari satu yang bisa menyebabkan hash blok itu bisa berada di bawah target.

Biasanya untuk memulai mencoba nonce tersebut, bisa diawali dengan nilai nonce 0.

Lalu penambang pun bisa mencoba secara berturut-turut dengan kenaikan angka tersebut sampai berhasil mencari nonce yang akan bisa membuat blok menjadi valid.

Umumnya penambang akan mencoba setiap kemungkinan nilai dari bit 32 untuk nonce tersebut.

Namun mungkin juga tidak ada satupun yang bisa menghasilkan hash yang valid.

Nah, pada kasuistis seperti ini, biasanya penambang akan membuat sebuah perubahan.

Perubahan itu adalah perubahan pada transaksi Coinbase, yang memungkinkan penambang untuk merubah nilai dari 32 bit.

Karena ada sebuah nonce tambahan dalam transaksi coinbase.

Setelah mengubah nonce tambahan di transaksi coinbase tadi, penambang bisa mulai mencari lagi nonce di header blok.

Jika telah melakukan perubahan nonce dalam transaksi coinbase, maka seluruh merkle tree juga harus berubah.

Mengapa demikian? Karena perubahan nonce tersebut akan menyebar ke semua jalur di merkle tree.

Sehingga, bisa dikatakan pengubahan nonce tambahan tersebut, sifatnya seolah-olah lebih sulit daripada mengubah nonce di header bloknya.

Mengapa lebih sulit? karena penambang jadi banyak menghabiskan waktunya untuk mengubah nonce di header blok.

Bisa jadi juga, ketika sudah selesai mengubah nonce di header blok, mereka pun belum bisa menemukan blok yang valid.

Itulah mengapa justru pengubahan nonce tambahan ini justru lebih sulit.

Meskipun bisa dilakukan sebagai jalan alternatif, jika belum bisa menemukan kemungkinan nilai di 32 bit tadi.

Walaupun sulit dan sebagian besar mungkin tidak akan berhasil, namun jika penambang berusaha untuk terus mencoba, mungkin akan bisa menemukan sebuah kombinasi yang tepat dari nonce tambahan di transaksi coinbase itu.

Sehingga nonce di header blok bisa menghasilkan hash yang tepat dibawah target.

Kalau penambang berhasil menemukan, penambang itu bisa secepatnya untuk mengumumkan, dan berharap bisa diterima untuk mendapat reward.

Lalu ada pertanyaan yang muncul:

  1. Target apa sebenarnya yang menjelaskan target hash itu harus berada di bawah target?
  2. Apakah semua penambang memecahkan puzzle yang sama?
  3. Jika satu penambang berhasil memecahkan, apakah penambang yang tercepat itu akan selalu menang untuk menemukan blok berikutnya?

Jawaban nomor 2 dan 3 adalah “Tidak”.

Tidak mungkin penambang akan bekerja pada blok yang sama persis.

Karena blok satu dengan yang lain, tentu di dalamnya akan terdapat urutan transaksi yang berbeda.

Jadi tentu saja puzzle nya juga tidak sama.

Dan yang paling utama, jika ada dua penambang yang bekerja pada blok yang transaksinya identik sekalipun, bloknya akan tetap berbeda.

Dalam transaksi coinbase, penambang akan menentukan alamat mereka sendiri di dalam transaksi coinbase.

Alamat ini yang akan membuat perubahan hingga sampai ke akar merkle tree.

Sehingga bisa dipastikan bahwa tidak ada dua penambang yang sedang mengerjakan puzzle yang sama.

Kecuali jika mereka berbagi (sharing) public key.

Berbagi atau sharing public key ini, dalam pertambangan bisa dilakukan jika kedua penambang tersebut adalah bagian dari pool mining yang sama.

Sehingga antara keduanya akan bisa berkomunikasi satu sama lain, terkait apakah mereka termasuk nonce yang berbeda di transaksi coinbase tersebut.

Tujuannya juga untuk menghindari duplikasi pengerjaan.

Nah pada jawaban nomer 1 tentang target, ini akan berkaitan dengan tingkat kesulitan. Mari kita membahasnya.

Tingkat Kesulitan

Bagaimana tingkat kesulitan untuk menemukan blok yang valid?

Yang harus kita ingat adalah bahwa penambang akan berusaha untuk mendapatkan yang diiginkan.

Yakni nilai hash harus lebih rendah dari target.

Katakanlah, penambang berusaha untuk menemukan hash bloknya + angka acak di base16, yang nilainya lebih rendah dari target.

Target –> seperti yang dijelaskan di awal, berkaitan dengan tingkat kesulitan.

Sementara target ini adalah bit 256 pada base16.

Jadi target ini akan semakin rendah nilainya, sehingga tingkat kesulitannya juga akan bertambah.

Maka artinya, tingkat kesulitan tersebut adalah makin rendahnya nilai dari target. Sampai di sini jelas ya?

Mari kita lanjutkan kembali secara lebih detail.

Kita ambil contoh, misalkan pada satu waktu tingkat kesulitan dalam hexadesimal adalah:

0000000000000000172EC0000000000000000000000000000000000000000000 (base16)

atau jika dalam dikonvert jadi base10 adalah:

568436119447114618883887501211268589217582000336195813376

Jika penambang mendapatkan hashnya di dalam base10:

568436119447114618883887501211268589217582000336195813376+ 1,

maka artinya penambang itu tidak berhasil, dan harus mencoba lagi, coba lagi, dan lagi, hingga berhasil menemukan nilai yang lebih rendah dari targetnya.

Penentuan Tingkat Kesulitan

Tingkat kesulitan akan berubah setiap mencapai 2016 blok.

Kisaran waktunya kurang lebih selama 2 minggu.

Perubahan tingkat kesulitan, disesuaikan dari seberapa efisien para penambang selama periode 2016 blok sebelumnya.

Jadi seperti ini perhitungan tingkat kesulitan dalam menambang Bitcoin:

x = (y * 2016 * 10 menit) / (z)

x = Tingkat Kesulitan Berikutnya
y = Tingkat Kesulitan Sebelumnya
z = Waktu yang dibutuhkan untuk menambang 2016 blok terakhir
10 menit = waktu rata-rata penciptaan 1 blok

Pada perhitungan di atas, 2016 * 10 menit akan menghasilkan waktu tepat 2 minggu.

Sehingga 2016 blok yang akan diciptakan nantinya akan membutuhkan waktu kurang lebih 2 minggu.

Efek dari perhitungan perubahan tingkat kesulitan diatas, menentukan skala tingkat kesulitan yang bisa memperhitungkan sebuah blok bisa ditemukan di dalam jaringan.

Yaitu dalam rata-rata waktu 10 menit.

Setiap penambang Bitcoin akan menghitung tingkat kesulitan tersebut.

Dan hanya akan menerima blok yang memenuhi kriteria di tingkat kesulitan yang bisa mereka hitung.

Penambang yang berada di cabang berbeda, mungkin tidak menghitung nilai kesulitan yang sama.

Namun pada dasarnya setiap penambang di penambangan diatas blok yang sama akan menyetujui tingkat kesulitannya.

Sehingga memungkinkan pencapaian konsensus di dalam jaringan.

Tingkat kesulitan pertambangan Bitcoin akan terus meningkat.

Namun kenaikan itu tidak akan selalu stabil dan linier, tapi bergantung pada aktifitas para penambangnya, juga pada situasi di pasar.

Ada beberapa faktor misalnya berapa banyak penambang baru yang bergabung.

Sehingga bisa mempengaruhi nilai tukar Bitcoin pada saat itu.

Karena penambang yang baru bergabung banyak, dan tingkat pertambangan semakin ditunjang dengan munculnya perangkat-perangkat yang lebih efisien, maka blok akan bisa ditemukan dengan lebih cepat.

Sehingga tingkat kesulitan pun jadi meningkat.

Maka waktu yang dibutuhkan akan selalu berkisar rata-rata dalam 10 menit untuk menemukan dan menciptakan blok baru.

baca artikel  Alat Mining Bitcoin Terbaru 2018 !

Apa Itu Menambang Bitcoin ?

[Total: 1    Average: 5/5]

Be the first to comment

Leave a Reply

Your email address will not be published.


*