Mining
Mining adalah proses yang mengumpulkan, memverifikasi, dan mencatat transaksi
mata uang kripto ke dalam buku besar digital yang disebut
blockchain. Pekerjaan yang dilakukan oleh para miner ini penting untuk mempertahankan integritas jaringan dan merupakan cara menghadirkan koin baru ke dalam sistem.
Dalam sistem perbankan pada umumnya,
mata uang fiat dicetak dan didistribusikan oleh institusi keuangan dan otoritas pemerintah - tetapi untuk sebagian besar mata uang kripto, penerbitan koin baru tidak ditangani oleh entitas tersentralisasi. Unit mata uang kripto baru justru dihasilkan melalui proses mining yang mengikuti serangkaian aturan yang ditetapkan oleh protokol dasar. Protokol menentukan aturan utamanya, sedangkan
algoritma konsensus menguraikan cara mengikuti aturan tersebut (misalnya, selama validasi transaksi).
Dalam contoh Bitcoin, peserta yang terlibat dalam proses mining disebut sebagai
node mining (atau miner) dan mereka berperan penting dalam keamanan jaringan blockchain. Pekerjaan seorang miner adalah mengumpulkan transaksi yang belum dikonfirmasi dari pool memori dan menatanya ke dalam
blok kandidat yang akan berusaha divalidasi.
Saat membuat blok kandidat, miner menyertakan transaksi untuk mengirim
reward blok kepada diri sendiri. Transaksi ini disebut transaksi coinbase dan sering kali menjadi yang pertama kali dicatatkan dalam sebuah blok.
Setelah daftar transaksi yang belum dikonfirmasi terbentuk, setiap transaksi akan menjalani hashing dan output-nya ditata menjadi pasangan. Kemudian, pasangan tersebut akan menjalani hashing sehingga menghasilkan output baru yang juga ditata menjadi pasangan, lalu menjalani hashing sekali lagi. Proses ini diulang hingga terbentuk satu hash yang disebut sebagai root hash atau
Merkle tree root.
Kemudian, root hash digabungkan dengan hash dari blok sebelumnya yang sudah dikonfirmasi beserta dengan nomor semu acak yang disebut
nonce (ditambah beberapa parameter lainnya). Kemudian, elemen tersebut menjalani hashing sehingga menghasilkan hash blok untuk blok kandidat tersebut.
Namun, miner hanya akan berhasil jika output yang dihasilkan (hash blok) untuk blok kandidat berada di bawah nilai yang ditentukan (target). Oleh karena itu, proses ini didasarkan pada trial & error dan harus menjalani sejumlah fungsi hashing dengan berbagai nonce untuk menemukan hasil yang valid. Miner pertama yang menemukan hash yang valid akan memvalidasi blok kandidatnya dan mendapatkan reward blok. Seluruh proses ini memerlukan waktu rata-rata sepuluh menit.
Setelah divalidasi, blok ditambahkan ke blockchain dan miner mulai mengerjakan blok berikutnya. Hash valid yang dihasilkan oleh para miner berfungsi sebagai bukti pekerjaan mereka. Inilah alasan algoritma konsensus Bitcoin disebut
Proof of Work. Setiap blok yang dikonfirmasi memiliki hash blok unik yang berfungsi sebagai pengenal.
Reward blok ditentukan oleh protokol Bitcoin dan jumlah berkurang setiap 210.000 blok (sekitar empat tahun). Awalnya, reward blok adalah sebesar 50 BTC. Kini, jumlahnya adalah 6,25 BTC.