Kesulitan penambangan Bitcoin: cara kerja penyesuaian setiap 2,016 blok
Bitcoin dirancang agar para penambang tidak bisa mempercepatnya. Jika jumlah mesin yang bergabung besok menjadi dua kali lipat, jaringan tetap dirancang untuk menemukan satu blok rata-rata setiap sepuluh menit. Kesulitan adalah pengatur yang menjaga agar hal itu tetap terjadi.
Berikut penjelasan tentang apa yang diukur oleh kesulitan, kaitannya dengan target, cara kerja penyesuaian setiap 2,016 blok, alasan penyesuaian ini ada, serta arti dan bukan arti dari perubahan tersebut. Artikel ini tidak menyebutkan nilai kesulitan saat ini atau memprediksi penyesuaian berikutnya, karena keduanya bergantung pada kecepatan blok ditemukan.
Yang diukur oleh kesulitan penambangan
Bitcoin Wiki menjelaskan kesulitan sebagai ukuran seberapa sulit menemukan hash di bawah target tertentu. Penambangan tidak begitu mirip dengan memecahkan soal panjang yang sudah ditentukan; penambangan lebih mirip undian. Setiap hash menghasilkan angka yang pada dasarnya acak, dan jika angkanya di bawah target, penambang memenangkan blok. Jika tidak, penambang mengubah nonce dan mencoba lagi.
Jadi, kesulitan bukan tentang seberapa rumit matematikanya. Kesulitan mengukur berapa banyak percobaan yang rata-rata diperlukan penambang sebelum berhasil. Dokumentasi pengembang Bitcoin menetapkan kesulitan minimum yang diizinkan, yang disebut kesulitan 1, dan kesulitan saat ini dinyatakan relatif terhadap nilai tersebut.
Target dan kesulitan
Target adalah angka 256-bit yang digunakan bersama oleh semua perangkat lunak Bitcoin. Hash dari header blok harus lebih kecil dari atau sama dengan target agar blok diterima, dan Bitcoin Wiki mencatat bahwa semakin rendah target, semakin sulit menghasilkan blok. Kesulitan adalah konsep yang sama jika dilihat dari sisi sebaliknya: kesulitan yang lebih tinggi berarti target yang lebih rendah. Seperti dibahas dalam artikel tentang hash rate, Bitcoin Wiki juga memberikan aturan praktis bahwa rata-rata diperlukan hash sebanyak kesulitan dikalikan 2 pangkat 32 untuk menemukan satu blok.
Cara kerja penyesuaian setiap 2,016 blok
Aturan ini dihitung berdasarkan blok, bukan hari. Setiap 2,016 blok—yang akan memakan waktu dua minggu jika blok muncul tepat setiap sepuluh menit—setiap node Bitcoin membandingkan waktu yang sebenarnya diperlukan untuk menghasilkan blok-blok tersebut dengan target dua minggu, seperti dijelaskan Bitcoin Wiki. Target diubah sebesar selisih persentasenya. Jika blok muncul lebih cepat dari perkiraan, target diturunkan dan penambangan menjadi lebih sulit. Jika blok muncul lebih lambat, target dinaikkan dan penambangan menjadi lebih mudah.
Satu kali penyesuaian tidak dapat mengubah target lebih dari faktor empat ke arah mana pun, sehingga mencegah perubahan yang sangat besar. Tidak ada pihak yang menetapkan kesulitan. Setiap node menghitungnya sendiri dari blockchain dengan aturan yang sama, dan perangkat lunak Bitcoin Core mengodekan target dua minggu serta interval 2,016 blok.
Karena pemicunya adalah jumlah blok, “dua minggu” hanyalah perkiraan dan penyesuaian berikutnya tidak dapat ditentukan berdasarkan tanggal kalender. Penyesuaian terjadi lebih cepat ketika blok ditemukan lebih cepat, dan lebih lambat ketika blok ditemukan lebih lambat.
Alasan Bitcoin menyesuaikan kesulitan
White paper Bitcoin menjelaskan tujuannya. Untuk mengimbangi peningkatan kecepatan perangkat keras dan perubahan minat untuk menjalankan node dari waktu ke waktu, kesulitan ditentukan oleh rata-rata bergerak yang menargetkan jumlah rata-rata blok per jam. Jika blok dihasilkan terlalu cepat, kesulitan meningkat. Bitcoin Wiki menambahkan bahwa laju yang stabil, sekitar satu blok setiap sepuluh menit, memberikan stabilitas jaringan dan latensi rendah untuk transaksi.
Laju blok yang stabil juga menjaga jadwal penerbitan tetap stabil. Subsidi blok Bitcoin dibagi dua setiap 210,000 blok, menurut dokumentasi pengembang. Dengan demikian, menjaga jumlah blok per tahun tetap kurang lebih konstan membuat jadwal halving tetap sekitar empat tahun, apa pun perangkat keras yang digunakan penambang.
Arti dan bukan arti dari perubahan kesulitan
Ketika kesulitan meningkat, 2,016 blok sebelumnya muncul lebih cepat dari perkiraan, yang biasanya berarti lebih banyak daya komputasi bergabung ke jaringan. Ketika kesulitan turun, blok-blok tersebut muncul lebih lambat. Karena penyesuaian hanya terjadi sekali per periode, kesulitan mengikuti hash rate dengan jeda hingga satu periode.
Perubahan kesulitan tidak mengubah hadiah blok atau jadwal pasokan, karena keduanya dihitung berdasarkan blok. Perubahan ini mengubah jumlah percobaan yang diperlukan untuk setiap blok, sehingga perkiraan porsi hadiah bagi setiap penambang ikut berubah. Kesulitan menggambarkan kondisi penambangan, bukan sinyal tentang harga Bitcoin.
Pengingat WEEX: angka kesulitan bukan prediksi keuntungan
WEEX mengingatkan pengguna bahwa kesulitan dan penyesuaiannya menggambarkan tingkat persaingan dalam penambangan, bukan apakah seseorang akan mendapat untung atau ke mana harga akan bergerak. Berhati-hatilah terhadap promosi yang mengutip kesulitan atau “daya jaringan” untuk membenarkan imbal hasil yang dijanjikan, karena tidak ada yang dapat menjamin keuntungan dari penambangan. Jangan pernah membagikan frasa seed atau kode verifikasi kepada siapa pun yang menawarkan untuk “menambang” bagi Anda. Informasi di sini bukan nasihat keuangan.
Kesimpulan
Kesulitan penambangan mengukur rata-rata jumlah percobaan yang diperlukan untuk menemukan blok yang valid. Setiap 2,016 blok, setiap node membandingkan waktu yang diperlukan untuk menghasilkan blok-blok tersebut dengan target dua minggu, lalu menyesuaikan target hingga faktor empat, agar blok terus muncul kira-kira setiap sepuluh menit. Kesulitan mengikuti hash rate dengan jeda dan tidak memberi tahu apa pun tentang harga.
FAQ
1. Apa itu kesulitan penambangan Bitcoin?
Kesulitan adalah ukuran seberapa sulit menemukan hash blok di bawah target saat ini. Kesulitan yang lebih tinggi berarti penambang membutuhkan lebih banyak percobaan, secara rata-rata, untuk menemukan blok yang valid.
2. Seberapa sering kesulitan disesuaikan?
Setiap 2,016 blok. Jumlah ini setara dengan sekitar dua minggu jika blok muncul setiap sepuluh menit, tetapi penghitungannya berdasarkan blok, bukan hari.
3. Apakah kesulitan disesuaikan tepat setiap dua minggu?
Tidak. Bagian yang tetap adalah 2,016 blok, sedangkan waktu yang diperlukan bergantung pada kecepatan blok ditemukan. Karena itu, tanggal penyesuaian berikutnya tidak dapat diketahui sebelumnya.
4. Apa yang terjadi pada kesulitan jika para penambang berhenti?
Blok akan muncul lebih lambat, dan pada penyesuaian berikutnya kesulitan akan turun. Satu kali penyesuaian dapat mengubahnya paling banyak sebesar faktor empat.
5. Apakah kesulitan yang lebih tinggi berarti harga Bitcoin lebih tinggi?
Tidak. Kesulitan menggambarkan aktivitas penambangan dan kecepatan blok ditemukan. Kesulitan bukan sinyal harga.