Blockchain: Misteri kesulitan menambang dan memblokir waktu

Kesulitan penambangan adalah derajat yang menentukan seberapa sulit bagi penambang dalam hal waktu dan hashing daya untuk menemukan hash (tanda tangan) yang memenuhi syarat untuk blok mereka (blok transaksi membutuhkan hash yang memenuhi syarat untuk diverifikasi dan ditambahkan ke blockchain). Di blockchain Bitcoin, penambang mencoba menemukan hash yang memenuhi syarat dengan hashing angka acak.



Bagaimana cara kerja penambangan dan transaksi diproses”, Anda tahu bahwa blok transaksi hanya akan diterima oleh seluruh jaringan jika memiliki tanda tangan (hash) yang memenuhi persyaratan tertentu (misalnya Bitcoin, tanda tangan harus dimulai dengan angka nol tertentu). Untuk menemukan tanda tangan ini, penambang menghabiskan daya komputasi (hashing power) untuk melakukan serangkaian operasi yang ditentukan sebelumnya pada angka acak hingga mereka menemukan nomor yang mengarah ke nomor output yang memenuhi persyaratan. Menemukan output yang dimulai dengan hanya satu nol jauh lebih mudah (umumnya lebih umum) daripada menemukan nomor output yang dimulai dengan lima nol berturut-turut (ini sangat jarang sehingga akan membutuhkan lebih banyak waktu untuk menemukan nomor yang mengarah ke output seperti itu) .

Tanda tangan yang memenuhi syarat (hash) - alias kesulitan penambangan
Jadi jumlah nol yang diperlukan tanda tangan untuk memulai dengan berturut-turut menentukan seberapa sulit bagi penambang (berapa banyak daya hashing atau waktu yang dibutuhkan rata-rata) untuk menemukannya. Ini adalah kesulitan penambangan. Semakin banyak nol yang dibutuhkan, semakin sulit untuk menemukan tanda tangan yang memenuhi syarat (= kesulitan lebih tinggi). Tetapi apa yang menentukan kesulitan penambangan?

Apa yang menentukan kesulitan penambangan?
Kesulitan penambangan disesuaikan secara otomatis pada jaringan setiap dua minggu berdasarkan tingkat produksi blok. Ketika lebih banyak penambang bergabung dalam jaringan untuk menambang Bitcoin, total kekuatan hashing meningkat dan oleh karena itu dapat diasumsikan bahwa jaringan secara bersamaan akan menemukan tanda tangan yang memenuhi syarat lebih cepat, artinya mereka akan menambahkan blok ke blockchain lebih cepat. Berikut ini sebuah contoh:

Asumsikan bahwa semua penambang dalam contoh ini memiliki kekuatan komputasi yang sama (tingkat hash). Rata-rata, dibutuhkan penambang 1 jam untuk menemukan hash yang memenuhi syarat. Satu penambang menemukan 1 hash yang memenuhi syarat per jam, tetapi sepuluh penambang menemukan 10 hash yang memenuhi syarat per jam. Tingkat produksi blok untuk 1 penambang adalah 1 blok per jam, tetapi untuk sepuluh penambang adalah 10 blok per jam, yang jauh lebih cepat!

Kesulitan penambangan pada blockchain Bitcoin disesuaikan setiap dua minggu sehingga total daya hashing pada jaringan rata-rata menghasilkan 1 blok per 10 menit. Jika banyak penambang bergabung dengan blockchain Bitcoin dan daya hashing kumulatif naik, maka tingkat produksi blok dapat meningkat dari 1 blok per 10 menit menjadi 1 blok per 9 menit. Setelah beberapa saat, ini akan memicu kesulitan penambangan untuk naik juga, sehingga bahkan dengan kekuatan hashing ekstra ini, tingkat produksi blok akan mempertahankan kecepatan tetap 1 blok per 10 menit. Hal yang sama berlaku untuk kebalikannya, ketika penambang berhenti menambang di blockchain dan tingkat hashing kumulatif turun, kesulitan penambangan juga akan turun. Pertanyaan besarnya adalah: mengapa 1 blok per 10 menit?

Tetapi mengapa hanya satu blok per sepuluh menit ?!
Anda mungkin tidak langsung menyadarinya, tetapi ini benar-benar pertanyaan yang sangat bagus. Saya pribadi harus menghabiskan banyak waktu untuk mencari tahu ini, dan ternyata saya bukan satu-satunya.

Tetapi mengapa kesulitan penambangan harus meningkat sama sekali? Ini membutuhkan lebih banyak listrik untuk memproses jumlah transaksi yang sama. Mengapa tidak hanya menurunkan tingkat kesulitan penambangan dan mempercepat laju produksi blok? Ini juga berarti bahwa transaksi Bitcoin diproses lebih cepat.

Untuk waktu yang lama saya tidak bisa menjawab pertanyaan ini, tetapi setelah beberapa waktu seseorang di Reddit akhirnya menemukan jawabannya. Satoshi Nakamoto (penemu Bitcoin) sendiri memutuskan bahwa tingkat produksi blok harus mempertahankan kecepatan rata-rata yang stabil dari 1 blok per 10 menit, karena: blockchain diperkirakan akan membutuhkan 10 menit untuk menyebarkan blok terbaru ke semua node secara global, di memesan agar blockchain tetap tersinkronisasi dengan benar. Jika blok diproduksi pada kecepatan yang lebih cepat, beberapa node di sisi lain dunia mungkin tidak dapat mengejar cukup cepat dengan data transaksi terakhir, dan ini dapat menyebabkan node tidak lagi disejajarkan dengan benar, yang mengarah ke “Uncle Block ”(chain splits), yang pada dasarnya adalah sesuatu yang harus dihindari sebanyak mungkin oleh blockchain agar tetap aman. Jawaban yang agak sederhana memang, tetapi itu masuk akal.

blokir kesulitan
Jadi, untuk meringkas; Kesulitan blok didasarkan pada kekuatan hashing total jaringan, dan disesuaikan setiap dua minggu untuk mempertahankan tingkat produksi blok mantap 1 blok per 10 menit. Ini memberikan waktu jaringan untuk menyinkronkan dan memperbarui buku besar blockchain secara global, dan sangat penting untuk menjaga keamanan pada buku besar (Uncle Blockmengurangi tingkat keamanan jaringan karena mereka dapat menjadi tidak valid bahkan setelah mereka divalidasi).

Semakin banyak penambang bergabung dengan jaringan, semakin banyak daya komputasi kumulatif yang dihabiskan untuk menemukan tanda tangan yang memenuhi syarat, dan blok yang lebih cepat ditambahkan ke blockchain jika kesulitan tidak berubah. Kesulitan karena itu naik ketika daya hashing naik, dan kesulitan turun ketika daya hashing turun. Seperti yang Anda lihat di bawah, daya hashing kumulatif (hash rate) saat ini di 51 miliar GH / s. Semakin tinggi tingkat hash, semakin tinggi kesulitan blok.

Seperti yang Anda lihat di bawah, blok 100 (tahun 2009) hanya membutuhkan tanda tangan yang dimulai dengan delapan nol berurutan, sedangkan blok terakhir hari ini (blok 542865) membutuhkan tanda tangan yang dimulai dengan setidaknya 18 nol berturut-turut. Jumlah nol adalah yang mencerminkan tingkat kesulitan. Menemukan output dengan banyak nol berturut-turut membutuhkan lebih banyak waktu atau lebih banyak daya hashing, dan ini jauh lebih tinggi hari ini karena ada jauh lebih banyak daya hashing (lebih banyak penambang) yang dihabiskan di blockchain Bitcoin.



Seperti yang Anda lihat, kekuatan hashing kumulatif pada blockchain Bitcoin pada tahun 2018 sangat banyak, berkali-kali lebih banyak daripada yang pernah terjadi pada tahun 2009. Sebuah catatan kecil: grafik di bawah ini menunjukkan satu-satunya kesulitan penambangan Bitcoin yang terus meningkat hingga Maret 2018, tetapi telah menurun sejak Oktober 2018 karena para penambang terpaksa menghentikan penambangan karena biaya operasional mereka mulai melebihi keuntungan penambangan karena harga Bitcoin turun dengan cepat.



OK - Jadi bagaimana jika kita meningkatkan blocksize?

Ya, ini telah menjadi topik yang banyak dibahas. Jika ukuran blok bertambah, terlepas dari kesulitannya, lebih banyak transaksi akan masuk ke dalam blok, yang berarti lebih banyak transaksi diproses dalam jangka waktu tertentu. Meskipun ini terdengar seperti solusi, itu sebenarnya tidak. Ada beberapa argumen yang menentang peningkatan blocksize, salah satunya adalah bahwa waktu propagasi yang lebih lama antara node akan menyebabkan tingkat uncle block yang lebih tinggi. Pada dasarnya, ini merupakan tradeoff antara skalabilitas dan keamanan, dan itu hanya akan menjadi perbaikan sementara dengan mengorbankan integritas jaringan.
Related Posts

Tambahkan Komentar Sembunyikan