Mining adalah istilah yang digunakan untuk berpartisipasi dalam melakukan proses perhitungan valid block.
Kita bahas menggunakan ethereum, karena ide dasarnya sama dengan coin lainnya yang menggunakan PoW.
Seperti yang telah dibahas pada modul sebelumnya, PoW sulit untuk mencari block valid, tetapi untuk melakukan verifikasi mudah, karena sudah ada jawaban pembandingnya, yaitu block dififculty.
Contoh ada 3 miner, node A, B dan C yang melakukan perhitungan. Katakanlah node A berhasil menemukan jawaban.
Maka block tersebut akan di broadcast ke network. Participant yang lain, akan melakukan verifikasi. Jika valid, maka block baru akan ditambahkan.
System dari Ethereum kemudian akan menentukan difficulty selanjutnya berdasarkan waktu yang digunakan dalam menyelesaikan perhitungan.
Jika terlalu cepat, maka tingkat kesulitan akan ditambah, jika terlalu lama, tingkat kesulitan dikurangi.
Block hasil perhitungan dari node A akan berisi data
- List transaksi, yang akan diupdate ke system.
- Hash terakhir dari hasil perhitungan.
- Angka random yang disebut nonce (number used once).
- Reward untuk miner.